/* EMDATE V19.7 — Global Glass Button System
   Extends the V19.5 navigation lens language to public-site buttons. */

:root{
  --v197-glass-edge:rgba(159,226,255,.30);
  --v197-glass-top:rgba(255,255,255,.15);
  --v197-glass-mid:rgba(255,255,255,.065);
  --v197-glass-bottom:rgba(255,255,255,.025);
  --v197-glass-cyan:rgba(20,184,232,.16);
  --v197-glass-blue:rgba(11,120,255,.16);
  --v197-glass-shadow:0 10px 26px rgba(0,0,0,.16),0 0 24px rgba(20,184,232,.07);
  --v197-glass-shadow-hover:0 16px 34px rgba(0,0,0,.20),0 0 30px rgba(20,184,232,.13);
}

/* Public interactive controls only. Navigation/theme controls are intentionally excluded. */
:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions a,
  .ft-actions button,
  .quick a,
  .hero-actions a,
  .current-actions a.btn,
  .future-card a,
  .closing-main a.btn,
  .closing-side a.btn,
  .v16-footer-feature a,
  .reg-card a.btn,
  .event-launch-main a.btn,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn,
  input[type="submit"]
){
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--v197-glass-edge)!important;
  background:
    linear-gradient(180deg,var(--v197-glass-top),var(--v197-glass-mid) 48%,var(--v197-glass-bottom)),
    linear-gradient(135deg,var(--v197-glass-blue),var(--v197-glass-cyan))!important;
  color:#F7FCFF!important;
  -webkit-backdrop-filter:blur(14px) saturate(145%) contrast(1.04);
  backdrop-filter:blur(14px) saturate(145%) contrast(1.04);
  box-shadow:
    var(--v197-glass-shadow),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(20,184,232,.08)!important;
  text-shadow:0 1px 8px rgba(0,0,0,.16);
  transition:
    transform .28s cubic-bezier(.2,.82,.2,1),
    box-shadow .28s ease,
    border-color .28s ease,
    filter .28s ease!important;
  transform:translateZ(0);
}

/* Sliding optical highlight. */
:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions a,
  .ft-actions button,
  .quick a,
  .hero-actions a,
  .current-actions a.btn,
  .future-card a,
  .closing-main a.btn,
  .closing-side a.btn,
  .v16-footer-feature a,
  .reg-card a.btn,
  .event-launch-main a.btn,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn
)::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-55%;
  bottom:-55%;
  left:-48%;
  width:42%;
  transform:translateX(-145%) rotate(13deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(191,238,255,.13),transparent);
  filter:blur(.2px);
  transition:transform .62s cubic-bezier(.2,.82,.2,1);
  pointer-events:none;
}

/* Small lens/refraction bubble on the right edge. */
:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .hero-actions a,
  .future-card a,
  .v16-footer-feature a,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn
)::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-10px;
  top:50%;
  width:34px;
  height:34px;
  border-radius:999px;
  transform:translateY(-50%) scale(.82);
  opacity:.48;
  border:1px solid rgba(204,244,255,.16);
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.30),rgba(255,255,255,.09) 28%,rgba(20,184,232,.08) 55%,transparent 76%);
  -webkit-backdrop-filter:blur(5px) saturate(160%);
  backdrop-filter:blur(5px) saturate(160%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 16px rgba(20,184,232,.08);
  transition:transform .32s cubic-bezier(.2,.82,.2,1),opacity .28s ease;
  pointer-events:none;
}

:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions a,
  .ft-actions button,
  .quick a,
  .hero-actions a,
  .current-actions a.btn,
  .future-card a,
  .closing-main a.btn,
  .closing-side a.btn,
  .v16-footer-feature a,
  .reg-card a.btn,
  .event-launch-main a.btn,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn,
  input[type="submit"]
):not(:disabled):not([aria-disabled="true"]):hover{
  transform:translateY(-2px) scale(1.018);
  border-color:rgba(181,235,255,.46)!important;
  box-shadow:
    var(--v197-glass-shadow-hover),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(20,184,232,.11)!important;
  filter:brightness(1.055) saturate(1.04);
}

:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions a,
  .ft-actions button,
  .quick a,
  .hero-actions a,
  .future-card a,
  .v16-footer-feature a,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn
):not(:disabled):not([aria-disabled="true"]):hover::before{
  transform:translateX(420%) rotate(13deg);
}

:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .hero-actions a,
  .future-card a,
  .v16-footer-feature a,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn
):not(:disabled):not([aria-disabled="true"]):hover::after{
  opacity:.82;
  transform:translateY(-50%) scale(1.03);
}

:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions button,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn,
  input[type="submit"]
):not(:disabled):not([aria-disabled="true"]):active{
  transform:translateY(0) scale(.985);
  box-shadow:0 6px 16px rgba(0,0,0,.16),inset 0 1px 6px rgba(0,0,0,.08)!important;
  transition-duration:.08s!important;
}

:is(
  .btn,
  .event-button,
  .header-login,
  .nav-cta,
  .abstract-alert-cta,
  .sch-btn,
  .kr-btn,
  .ft-actions button,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),
  button[type="button"].btn,
  input[type="submit"]
):focus-visible{
  outline:2px solid rgba(20,184,232,.62)!important;
  outline-offset:3px!important;
}

:is(button,input[type="submit"],.btn)[disabled],
:is(button,input[type="submit"],.btn)[aria-disabled="true"]{
  opacity:.48!important;
  cursor:not-allowed!important;
  filter:saturate(.55)!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Secondary/ghost buttons: clearer, calmer glass rather than bright cyan. */
:is(.btn-ghost-light,.btn-dark,.btn-white,.text-link.btn,.quick a){
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.025))!important;
  border-color:rgba(181,226,245,.20)!important;
  color:var(--pub-white,#EDF6FF)!important;
  box-shadow:0 9px 22px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.11)!important;
}

/* Hero's white discovery CTA becomes frosted white glass, preserving its hierarchy. */
.hero-actions .btn-ghost-light,
.closing-main .btn-white{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(226,242,250,.82))!important;
  color:#0C172A!important;
  border-color:rgba(255,255,255,.68)!important;
  text-shadow:none!important;
  box-shadow:0 12px 30px rgba(0,0,0,.16),inset 0 1px 0 #fff!important;
}

/* Light / clinical themes use translucent pale glass. */
html[data-theme="light"] :is(
  .btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,
  .ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),button[type="button"].btn,input[type="submit"]
),
html[data-theme="clinical"] :is(
  .btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,
  .ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,
  button[type="submit"]:not(.platform-theme-btn):not(.theme-btn):not(.menu-button):not(.mobile-menu-btn),button[type="button"].btn,input[type="submit"]
){
  color:var(--pub-white,#101A2E)!important;
  text-shadow:none!important;
  border-color:rgba(4,124,137,.18)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.42)),
    linear-gradient(135deg,rgba(11,120,255,.08),rgba(20,184,232,.10))!important;
  box-shadow:0 10px 26px rgba(16,26,46,.08),inset 0 1px 0 rgba(255,255,255,.86)!important;
}

html[data-theme="light"] :is(.btn-primary,.event-button,.nav-cta,.abstract-alert-cta),
html[data-theme="clinical"] :is(.btn-primary,.event-button,.nav-cta,.abstract-alert-cta){
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.035)),
    linear-gradient(135deg,#0B78FF,#14B8E8)!important;
}
html[data-theme="clinical"] :is(.btn-primary,.event-button,.nav-cta,.abstract-alert-cta){
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.035)),
    linear-gradient(135deg,#047C89,#06A5B4)!important;
}

@media (max-width:720px){
  :is(.btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,.ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,button[type="submit"],button[type="button"].btn,input[type="submit"]){
    transform:none;
  }
  :is(.btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,.ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,button[type="submit"],button[type="button"].btn,input[type="submit"]):not(:disabled):hover{
    transform:translateY(-1px);
  }
}

@media (prefers-reduced-motion:reduce){
  :is(.btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,.ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,button[type="submit"],button[type="button"].btn,input[type="submit"]),
  :is(.btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,.ft-actions a,.ft-actions button,.quick a,.hero-actions a,.future-card a,.v16-footer-feature a,button[type="submit"],button[type="button"].btn)::before,
  :is(.btn,.event-button,.header-login,.nav-cta,.abstract-alert-cta,.sch-btn,.kr-btn,.hero-actions a,.future-card a,.v16-footer-feature a,button[type="submit"],button[type="button"].btn)::after{
    transition:none!important;
  }
}
