/* Externalized from inline css in public page bloat-reduction phase. Source marker: assets/css/oloropa-phase10-final-qa.css. */
/* Inlined from assets/css/oloropa-phase10-final-qa.css */
/* Oloropa Phase 10 — Final Mobile, Scroll, Sticky, Audio, Gallery QA
   This layer is intentionally defensive: it does not redesign the site; it prevents final
   motion, sticky, drawer, gallery, audio, and mobile conflicts from returning. */
:root{
  --ol-qa-vh: 1vh;
  --ol-qa-header-height: 88px;
  --ol-qa-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ol-qa-green: #103d2f;
  --ol-qa-ivory: #fffaf0;
  --ol-qa-gold: #c9a96a;
  --ol-qa-shadow: 0 24px 70px rgba(5, 22, 16, .22);
  --ol-qa-radius: 28px;
}
html.ol-phase10-final-qa{scroll-behavior:smooth;overflow-x:clip;}
html.ol-phase10-reduced-motion{scroll-behavior:auto;}
body.ol-phase10-ready{overflow-x:clip;}
.oloropa-final-qa-badge{display:none!important;}
body.ol-drawer-open,body.ol-lightbox-open,body.ol-p10-drawer-open,body.ol-p10-lightbox-open{overflow:hidden;touch-action:none;}
body.ol-audio-softened [data-ol-audio-label]::after,body.ol-audio-softened .ol-qa-audio-note::after{content:' · reduced while typing';opacity:.76;}
[data-ol-story-section]{scroll-margin-top:calc(var(--ol-qa-header-height) + 24px);}
[data-ol-story-section].is-ol-qa-active{--ol-section-active:1;}
[data-ol-story-section].is-ol-qa-seen{--ol-section-seen:1;}
[data-ol-story-section] img{backface-visibility:hidden;}
[data-ol-story-section] video{background:#071d15;}
button,a,input,select,textarea{touch-action:manipulation;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(201,169,106,.9);outline-offset:4px;border-radius:14px;}

/* Route belt final hardening */
#destination-scroll{contain:paint;}
#destination-scroll .ix-route-rail,#destination-scroll [data-ix-route-rail]{will-change:transform;backface-visibility:hidden;transform-style:preserve-3d;}
#destination-scroll .ix-h-card,#destination-scroll [data-route-card],#destination-scroll [data-route-destination]{scroll-snap-align:center;transform-origin:center center;backface-visibility:hidden;}
#destination-scroll .ix-h-card video,#destination-scroll [data-route-card] video{object-fit:cover;inline-size:100%;block-size:100%;}
#destination-scroll .ol-qa-route-live{position:absolute;inset:auto clamp(16px,3vw,38px) clamp(16px,3vw,34px) auto;z-index:8;display:flex;gap:.55rem;align-items:center;padding:.72rem 1rem;border-radius:999px;background:rgba(8,31,23,.76);border:1px solid rgba(255,255,255,.16);color:#fffaf0;backdrop-filter:blur(16px);box-shadow:0 16px 40px rgba(0,0,0,.25);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;}
#destination-scroll .ol-qa-route-live i{width:.54rem;height:.54rem;border-radius:999px;background:var(--ol-qa-gold);box-shadow:0 0 0 7px rgba(201,169,106,.14);}

/* Package theatre final hardening */
#category-rails{contain:paint;}
.pk4t-stage,.pk4-category,.pk-category{scroll-margin-top:calc(var(--ol-qa-header-height) + 22px);}
.pk4t-shell{overscroll-behavior:contain;}
.pk4t-orbit,.pk10-route-carousel{pointer-events:none;}
.pk4t-frame img,.pk10-carousel-frame img{user-select:none;-webkit-user-drag:none;}
.pk4t-orbit [data-pk4t-location],.pk10-route-carousel [data-pk10-carousel-name]{transition:opacity .25s ease, transform .25s ease;}
.pk4t-orbit [data-pk4t-location].is-changing,.pk10-route-carousel [data-pk10-carousel-name].is-changing{opacity:.55;transform:translateY(-2px);}

/* Sticky rail and dock collision fixes */
.pd-rail,.pd5-quote-rail,.pd5-mobile-cta,.sh7-stay-dock,.sh7-brief-dock,[data-sh7-stay-dock],.cct-progress-rail,.ol-qa-progress-rail{transition:opacity .28s ease,transform .28s ease,visibility .28s ease;}
body.ol-footer-near .pd-rail,body.ol-footer-near .pd5-quote-rail,body.ol-footer-near .sh7-stay-dock,body.ol-footer-near .sh7-brief-dock,body.ol-footer-near [data-sh7-stay-dock],body.ol-footer-near .ol-qa-progress-rail{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(24px);}
.pd5-mobile-cta,.pd-mobile-cta,.sh7-stay-dock,.sh7-brief-dock{padding-bottom:calc(.8rem + var(--ol-qa-safe-bottom));}

/* Drawers */
.pk-drawer,.pk4-drawer,.ol-cc-mobile-drawer,[data-oloropa-mobile-drawer]{overscroll-behavior:contain;}
.pk-drawer.is-open,.pk4-drawer.is-open,.ol-cc-mobile-drawer.is-open,[data-oloropa-mobile-drawer].is-open{z-index:9990;}
.pk-drawer-panel,.pk4-drawer-panel,.ol-cc-mobile-panel{max-height:calc((var(--ol-qa-vh) * 100) - 24px);overflow:auto;-webkit-overflow-scrolling:touch;}
.pk-drawer-overlay,.pk4-drawer-overlay{backdrop-filter:blur(8px);}

/* Universal final lightbox */
.ol-qa-lightbox{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;background:rgba(2,12,9,.92);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;}
.ol-qa-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.ol-qa-lightbox__stage{position:relative;inline-size:min(94vw,1180px);block-size:min(86vh,820px);display:grid;place-items:center;}
.ol-qa-lightbox__img{max-inline-size:100%;max-block-size:100%;border-radius:24px;box-shadow:0 34px 100px rgba(0,0,0,.58);object-fit:contain;background:#081f17;}
.ol-qa-lightbox__caption{position:absolute;inset:auto 0 0 0;margin:auto;max-inline-size:min(88vw,900px);padding:.85rem 1rem;border-radius:18px;background:rgba(8,31,23,.76);color:#fffaf0;text-align:center;backdrop-filter:blur(14px);font-size:.95rem;}
.ol-qa-lightbox__btn{position:absolute;border:1px solid rgba(255,255,255,.2);background:rgba(255,250,240,.12);color:#fffaf0;border-radius:999px;min-inline-size:44px;min-block-size:44px;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px);}
.ol-qa-lightbox__close{inset:18px 18px auto auto;font-size:1.35rem;}
.ol-qa-lightbox__prev{inset:50% auto auto 18px;transform:translateY(-50%);}
.ol-qa-lightbox__next{inset:50% 18px auto auto;transform:translateY(-50%);}
.ol-qa-gallery-trigger{cursor:zoom-in;}

/* Forms and concise mobile hit targets */
form input,form select,form textarea{min-height:44px;}
form button,[data-cct-action],.pk-btn,.ix-btn,.pd-btn,.sh7-btn,.p9x-btn{min-height:42px;}
[data-brief-preview],[data-cct-preview],.cct-summary,.booking-summary,.contact-preview{scroll-margin-top:calc(var(--ol-qa-header-height) + 20px);}

/* Mobile and tablet fallbacks */
@media (max-width:900px){
  html,body{overflow-x:clip;}
  [data-ol-reveal="pin-x"],#destination-scroll,#category-rails,.pk4-category,.pk-category{min-height:auto!important;height:auto!important;}
  #destination-scroll .ix-route-rail,#destination-scroll [data-ix-route-rail],.pk4t-stage .pk4-rail,.pk4t-stage .pk-rail,.pk4-rail,.pk-rail{transform:none!important;will-change:auto;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
  #destination-scroll .ix-route-rail > *,#destination-scroll [data-ix-route-rail] > *,.pk4-rail > *,.pk-rail > *{scroll-snap-align:center;}
  .pk4t-stage{position:relative!important;top:auto!important;min-height:auto!important;}
  .pk4t-shell{overflow:visible!important;}
  .pk4t-orbit,.pk10-route-carousel{position:relative!important;inset:auto!important;inline-size:100%;margin:1rem auto 0;transform:none!important;}
  .pd-rail,.pd5-quote-rail{position:static!important;transform:none!important;margin:1rem 0;}
  .pd5-mobile-cta,.pd-mobile-cta{position:sticky;bottom:0;z-index:80;}
  .cct-progress-rail,.ol-qa-progress-rail{display:none!important;}
  .ol-qa-route-live{display:none!important;}
  .ol-qa-lightbox__stage{inline-size:100vw;block-size:100vh;padding:64px 12px 84px;}
  .ol-qa-lightbox__caption{bottom:22px;}
  .ol-qa-lightbox__prev{left:10px;}
  .ol-qa-lightbox__next{right:10px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  [data-ol-reveal="pin-x"],#destination-scroll,#category-rails,.pk4-category,.pk-category{min-height:auto!important;height:auto!important;}
  #destination-scroll .ix-route-rail,#destination-scroll [data-ix-route-rail],.pk4-rail,.pk-rail{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;}
  video{animation:none!important;}
}
