/* Keep original colours; motion and glow provide hover feedback instead. */
.ss-flight-button{transition:translate 180ms ease,filter 180ms ease,box-shadow 180ms ease;isolation:isolate}
.ss-flight-button svg{transition:transform 220ms cubic-bezier(.2,.8,.2,1)}
.ss-flight-button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.ss-flight-button:active{translate:0 2px;filter:brightness(.96)}
.ss-interactive-card{transition:translate 240ms cubic-bezier(.2,.8,.2,1),filter 240ms ease}
.ss-interactive-card:focus-within{filter:drop-shadow(0 0 9px #4FC8E870)}
@media(hover:hover) and (pointer:fine){
 .ss-flight-button:hover{translate:0 -3px;filter:brightness(1.07) drop-shadow(0 4px 9px #4FC8E840)}
 .ss-flight-button:hover svg{transform:translate(3px,-2px) rotate(-8deg)}
 .ss-flight-button:active{translate:0 2px}
 .ss-interactive-card:hover{translate:0 -5px;filter:drop-shadow(0 6px 11px #4FC8E850)}
 .ss-location-track .ss-interactive-card:hover,.gallery-track .ss-interactive-card:hover{translate:0 -3px}
 .site-header nav a{transition:text-shadow 180ms ease}
 .site-header nav a:hover{text-shadow:0 0 15px #4FC8E8}
}
.site-shell details{transition:border-color 180ms ease}
.site-shell details[open]{border-color:#4FC8E8}
.ss-panel-enter{animation:ss-panel-arrive 300ms ease-out}
@keyframes ss-panel-arrive{from{opacity:.4;translate:0 9px}to{opacity:1;translate:0 0}}

/* Hide only carousel scrollbars, never the page or readable pricing tables. */
.ss-82,.gallery-viewport{scrollbar-width:none!important;-ms-overflow-style:none;overscroll-behavior-x:contain}
.ss-82::-webkit-scrollbar,.gallery-viewport::-webkit-scrollbar{display:none;width:0;height:0}
.ss-82.ss-carousel{display:block;padding:12px 4px 20px}
.ss-location-track{display:flex;gap:22px;width:max-content;min-width:100%;position:relative}
.ss-location-track>article{max-width:calc(100vw - 48px)}
.ss-carousel{scroll-padding-left:0}
.ss-carousel:focus-visible{outline-offset:-3px}
.ss-carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;min-height:44px;margin:8px 0 0;padding:0;align-self:center;max-width:100%}
.site-shell .ss-carousel-dots button{position:relative;flex:0 0 40px;width:40px!important;height:44px!important;border:0;border-radius:8px;padding:0;background:transparent!important;box-shadow:none;cursor:pointer}
.ss-carousel-dots button::before{content:'';position:absolute;top:17px;left:15px;width:10px;height:10px;border-radius:999px;background:#C5C8F766;transition:width 180ms ease,left 180ms ease,background 180ms ease,box-shadow 180ms ease}
.ss-carousel-dots button[aria-current=true]::before{left:7px;width:26px;background:#FFD23F;box-shadow:0 0 12px #FFD23F60;animation:ss-beacon 650ms ease-out}
.ss-carousel-dots button:hover::before{background:#4FC8E8}
.ss-carousel-dots button[aria-current=true]:hover::before{background:#FFD23F}
@keyframes ss-beacon{0%{box-shadow:0 0 0 0 #FFD23F90}100%{box-shadow:0 0 0 9px #FFD23F00}}

/* Native document transitions preserve links, history, forms and SEO output. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:ss-launch-out 180ms ease-in both}
::view-transition-new(root){animation:ss-launch-in 360ms cubic-bezier(.16,1,.3,1) both}
@keyframes ss-launch-out{to{opacity:0;transform:translateY(-12px) scale(1.015)}}
@keyframes ss-launch-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.ss-page-arrival #main-content{animation:ss-launch-in 400ms cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){
 .ss-flight-button,.ss-flight-button svg,.ss-interactive-card,.ss-panel-enter,.ss-page-arrival #main-content,.ss-carousel-dots button::before{animation:none!important;transition:none!important;translate:none!important;transform:none!important}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}
