/* Keep the shop CTA in the same yellow and motion system as the rest of the site. */
.shop-view .product-add:is(:hover,:focus-visible,:active){background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.shop-view .product-add{isolation:isolate;overflow:visible}
.snipcart{--bgColor-buttonPrimary-hover:#ffe000;--bgColor-buttonPrimary-active:#ffe000}
.snipcart-button-primary{transition:box-shadow .35s ease,transform .35s ease}
.snipcart-button-primary:is(:hover,:focus-visible){box-shadow:0 5px 22px #ffe00032}
.site-header [data-button-study-nav]{font-size:.82em;letter-spacing:.035em;white-space:nowrap}
.site-header [data-button-study-nav][aria-current=page]{text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:8px}
@media(min-width:1051px) and (max-width:1380px){.site-header .header-nav.right{gap:18px}}
@media(prefers-reduced-motion:reduce){.snipcart-button-primary{transition:none}}

/* Approved soft perimeter glow: 20–50% of the approved 15.4% intensity; first reveal starts at 20%.
   Outer box shadows paint behind the opaque face. No surface opacity changes. */
:is(.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action),.concept-button,.video-play,.lightbox button,.shop-filters button[aria-pressed="true"],.snipcart-button-primary,.study-variant-02) {
 box-shadow:0 0 24px 8px rgba(255,224,0,.0308),0 0 48px 12px rgba(255,224,0,.02002);
 animation:school-soft-glow 4s ease-in-out infinite!important;
 animation-play-state:paused!important;
}
:is(.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action),.concept-button,.video-play,.lightbox button,.shop-filters button[aria-pressed="true"],.snipcart-button-primary,.study-variant-02)::before { content:none!important; display:none!important; animation:none!important; }
:is(.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action),.concept-button,.video-play,.lightbox button,.shop-filters button[aria-pressed="true"],.snipcart-button-primary,.study-variant-02)>.firefly-impact,.study-variant-02>.study-button__spill { display:none!important; }
@keyframes school-soft-glow {
 0%,100% {box-shadow:0 0 24px 8px rgba(255,224,0,.0308),0 0 48px 12px rgba(255,224,0,.02002)}
 50% {box-shadow:0 0 24px 8px rgba(255,224,0,.077),0 0 48px 12px rgba(255,224,0,.05005)}
}
@media(prefers-reduced-motion:reduce){:is(.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action),.concept-button,.video-play,.lightbox button,.shop-filters button[aria-pressed="true"],.snipcart-button-primary,.study-variant-02){animation:none!important;}}

:is(.button:not(.black):not(.white):not(.outline):not(.gold-button):not(.offer-action),.concept-button,.video-play,.lightbox button,.shop-filters button[aria-pressed="true"],.snipcart-button-primary,.study-variant-02).glow-seen { animation-play-state:running!important; }

/* Photos stay opaque: hover must never reveal underlying map artwork. */
.gallery-button img,.gallery-button:is(:hover,:focus-visible) img{opacity:1;transition:transform .3s}

/* Shared form surfaces: same quiet focus and autofill palette as course enrolment.
   Exclude non-text controls; preserve their keyboard indicators and native behavior. */
html body :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),select,textarea){
 --field-surface:#f3f4f0;
 --field-focus-surface:#f8f6e7;
 --field-focus-ring:0 0 0 3px #ffe00035;
 background-color:var(--field-surface)!important;
 color:var(--ink,#101410);
 border:1px solid transparent!important;
 border-radius:5px;
 transition:background-color .2s,box-shadow .2s;
}
html body :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),select,textarea):is(:focus,:focus-visible){
 outline:none!important;
 background-color:var(--field-focus-surface)!important;
 box-shadow:var(--field-focus-ring)!important;
}
@media(forced-colors:none){
 html body :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),select,textarea):is(:autofill,:-webkit-autofill){
  -webkit-text-fill-color:var(--ink,#101410)!important;
  caret-color:var(--ink,#101410);
  box-shadow:inset 0 0 0 100vmax var(--field-surface,#f3f4f0)!important;
 }
 html body :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),select,textarea):is(:autofill,:-webkit-autofill):is(:focus,:focus-visible){
  box-shadow:inset 0 0 0 100vmax var(--field-focus-surface,#f8f6e7),var(--field-focus-ring)!important;
 }
}
@media(forced-colors:active){
 html body :is(input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden])),select,textarea):is(:focus,:focus-visible){outline:2px solid Highlight!important;outline-offset:2px}
}
@media(prefers-reduced-motion:reduce){html body :is(input,select,textarea){transition:none}}
