/* White-violet glass feedback, scoped to the public website. */
.bm-glow-control {
  isolation: isolate;
  transition: box-shadow .28s ease, transform .28s ease, border-color .28s ease, background-color .28s ease;
}
.bm-glow-control:not(.floating-cta, .zalo-contact, .ai-fab, .dialog-close) { position: relative; }
.bm-glow-control::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(ellipse 75% 115% at var(--bm-glow-x, 50%) 115%, rgba(241, 247, 255, .72), rgba(187, 157, 255, .36) 40%, transparent 76%), linear-gradient(180deg, rgba(255, 255, 255, .12), transparent 60%);
  box-shadow: inset 0 0 0 1px rgba(224, 212, 255, .7), inset 0 -2px 9px rgba(225, 236, 255, .55);
  transition: opacity .28s ease;
}
.desktop-nav > a.bm-glow-control, .nav-group > button.bm-glow-control { padding: 10px 8px; border-radius: 10px; }
.nav-group:has(> .bm-glow-control) .nav-submenu { top: 100%; }
.mobile-panel a.bm-glow-control { border-radius: 10px; }
.text-link.bm-glow-control, .idol-card-copy > a.bm-glow-control, .subpage-back.bm-glow-control { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 10px; }
.bm-glow-control:focus-visible:not(:disabled, [aria-disabled="true"]),
.bm-glow-control:active:not(:disabled, [aria-disabled="true"]) {
  box-shadow: 0 0 0 1px rgba(205, 182, 255, .6), 0 0 22px rgba(168, 132, 255, .38), 0 8px 28px rgba(123, 117, 255, .25);
}
.bm-glow-control:focus-visible:not(:disabled, [aria-disabled="true"])::before,
.bm-glow-control:active:not(:disabled, [aria-disabled="true"])::before { opacity: 1; }
.bm-glow-control:focus-visible { outline: 3px solid #c4b5fd; outline-offset: 4px; }
.bm-glow-control:active:not(:disabled, [aria-disabled="true"]) { transform: scale(.985); }
.bm-glow-control:disabled, .bm-glow-control[aria-disabled="true"] { cursor: not-allowed; transform: none; box-shadow: none; }
.bm-glow-control:disabled::before, .bm-glow-control[aria-disabled="true"]::before { opacity: 0; }

.bm-glow-card {
  position: relative;
  isolation: isolate;
  transition: box-shadow .3s ease, border-color .3s ease;
}
.bm-glow-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  background: radial-gradient(ellipse 240px 180px at var(--bm-glow-x, 50%) var(--bm-glow-y, 90%), rgba(209, 184, 255, .14), transparent 75%);
  box-shadow: inset 0 0 0 1px rgba(192, 161, 255, .7), inset 0 -2px 16px rgba(185, 153, 255, .15);
  transition: opacity .3s ease;
}
.bm-glow-card:focus-within, .bm-glow-card:active {
  border-color: #b79aff;
  box-shadow: 0 0 24px rgba(156, 114, 255, .25), 0 14px 35px rgba(85, 62, 152, .14);
}
.bm-glow-card:focus-within::before, .bm-glow-card:active::before { opacity: 1; }

@media (hover: hover) and (pointer: fine) {
  .bm-glow-control:hover:not(:disabled, [aria-disabled="true"]) {
    box-shadow: 0 0 0 1px rgba(205, 182, 255, .6), 0 0 22px rgba(168, 132, 255, .38), 0 8px 28px rgba(123, 117, 255, .25);
  }
  .bm-glow-control:hover:not(:disabled, [aria-disabled="true"])::before { opacity: 1; }
  .bm-glow-card:hover { border-color: #b79aff; box-shadow: 0 0 24px rgba(156, 114, 255, .25), 0 14px 35px rgba(85, 62, 152, .14); }
  .bm-glow-card:hover::before { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .bm-glow-control, .bm-glow-card, .bm-glow-control::before, .bm-glow-card::before { transition: none; }
  .bm-glow-control:hover, .bm-glow-control:active { transform: none; }
}
@media (forced-colors: active) {
  .bm-glow-control::before, .bm-glow-card::before { display: none; }
  .bm-glow-control:focus-visible { outline-color: Highlight; }
}
