/* Shared support control
   Purpose: consistent support options across public demo pages.
   Opens to GitHub Sponsors and Buy Me a Coffee.
*/

.demo-support-widget {
  position: fixed;
  right: 16px;
  bottom: 54px;
  z-index: 9998;
  display: grid;
  gap: 0.45rem;
  justify-items: end;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.demo-support-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  min-height: 34px;
  padding: 0.48rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(211, 108, 255, 0.38);
  background: rgba(5, 12, 18, 0.84);
  color: #f0dcff;
  font: 900 0.78rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.26), 0 0 18px rgba(211, 108, 255, 0.13);
  backdrop-filter: blur(12px);
}

.demo-support-pill::before {
  content: "♥";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
}

.demo-support-pill:hover,
.demo-support-pill:focus {
  color: #17031d;
  background: linear-gradient(135deg, #d36cff, #ffc8ff);
  border-color: rgba(211, 108, 255, 0.62);
  outline: none;
}

.demo-support-menu {
  display: none;
  min-width: 210px;
  padding: 0.5rem;
  border: 1px solid rgba(211, 108, 255, 0.30);
  border-radius: 1rem;
  background: rgba(5, 12, 18, 0.92);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.34), 0 0 26px rgba(211, 108, 255, 0.13);
  backdrop-filter: blur(14px);
}

.demo-support-widget.is-open .demo-support-menu {
  display: grid;
  gap: 0.42rem;
}

.demo-support-option {
  display: grid;
  gap: 0.18rem;
  padding: 0.68rem 0.72rem;
  border-radius: 0.78rem;
  color: #f5e8ff;
  text-decoration: none;
  border: 1px solid transparent;
}

.demo-support-option:hover,
.demo-support-option:focus {
  outline: none;
  background: rgba(211, 108, 255, 0.14);
  border-color: rgba(211, 108, 255, 0.30);
}

.demo-support-option strong {
  font-size: 0.88rem;
  line-height: 1.1;
}

.demo-support-option span {
  color: rgba(245, 232, 255, 0.70);
  font-size: 0.72rem;
  line-height: 1.25;
}

.demo-support-option.coffee:hover,
.demo-support-option.coffee:focus {
  background: rgba(255, 176, 64, 0.14);
  border-color: rgba(255, 176, 64, 0.32);
}

@media (max-width: 700px) {
  .demo-support-widget {
    right: 12px;
    bottom: 78px;
    max-width: calc(100vw - 24px);
  }

  .demo-support-pill {
    font-size: 0.72rem;
  }

  .demo-support-menu {
    min-width: min(230px, calc(100vw - 24px));
  }
}
/* Mobile compact shared controls v1 */
@media (max-width: 700px) {
  .demo-support-widget {
    right: 10px;
    bottom: 42px;
    max-width: calc(100vw - 20px);
  }

  .demo-support-pill {
    min-height: 30px;
    padding: 0.36rem 0.56rem;
    font-size: 0.68rem;
    gap: 0.32rem;
  }

  .demo-support-pill::before {
    width: 0.82rem;
    height: 0.82rem;
  }

  .demo-support-menu {
    min-width: min(198px, calc(100vw - 20px));
    padding: 0.4rem;
    border-radius: 0.85rem;
  }

  .demo-support-option {
    padding: 0.54rem 0.6rem;
    border-radius: 0.68rem;
  }

  .demo-support-option strong {
    font-size: 0.78rem;
  }

  .demo-support-option span {
    font-size: 0.66rem;
  }
}
