/* Phase 9 — Oloropa immersive + accessibility polish. Shared, lightweight, no schema dependency. */
:root{
  --ol-p9-forest:#123529;
  --ol-p9-forest-2:#1F3A2D;
  --ol-p9-gold:#C6A24A;
  --ol-p9-ivory:#fbf6ea;
  --ol-p9-paper:#fffaf0;
  --ol-p9-ink:#102019;
  --ol-p9-touch:44px;
  --ol-p9-safe-bottom:env(safe-area-inset-bottom,0px);
  --ol-p9-bottom-reserve:calc(92px + var(--ol-p9-safe-bottom));
  --ol-p9-chat-offset:calc(22px + var(--ol-p9-safe-bottom));
}
html{scroll-behavior:smooth;scroll-padding-top:92px;} 
body.ol-phase9-ready{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.ol-phase9-ready *{box-sizing:border-box;}
.ol-phase9-skip-link{position:fixed;left:14px;top:12px;z-index:99999;transform:translateY(-150%);padding:12px 16px;border-radius:999px;background:var(--ol-p9-forest);color:#fff;text-decoration:none;font:800 12px/1.1 Inter,system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 18px 50px rgba(0,0,0,.22);}
.ol-phase9-skip-link:focus{transform:none;outline:3px solid var(--ol-p9-gold);outline-offset:3px;}
body.ol-phase9-keyboard :focus{outline:3px solid var(--ol-p9-gold)!important;outline-offset:3px!important;}
body:not(.ol-phase9-keyboard) :focus{outline:none;}
body.ol-phase9-ready a,body.ol-phase9-ready button,body.ol-phase9-ready input,body.ol-phase9-ready select,body.ol-phase9-ready textarea,body.ol-phase9-ready [role="button"],body.ol-phase9-ready summary{touch-action:manipulation;}
body.ol-phase9-ready button,body.ol-phase9-ready [role="button"],body.ol-phase9-ready input[type="button"],body.ol-phase9-ready input[type="submit"],body.ol-phase9-ready input[type="reset"],body.ol-phase9-ready .btn,body.ol-phase9-ready .ol-admin-btn{min-height:var(--ol-p9-touch);}
body.ol-phase9-ready input,body.ol-phase9-ready select,body.ol-phase9-ready textarea{font-size:max(16px,1rem);}
body.ol-phase9-ready img{max-width:100%;height:auto;}
body.ol-phase9-ready video{max-width:100%;}
body.ol-phase9-ready [hidden]{display:none!important;}
body.ol-phase9-ready [aria-disabled="true"],body.ol-phase9-ready .is-disabled{cursor:not-allowed;opacity:.58;}
.ol-phase9-live-region{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.ol-phase9-toast-stack{position:fixed;right:18px;top:88px;z-index:9990;display:grid;gap:10px;width:min(380px,calc(100vw - 36px));pointer-events:none;}
.ol-phase9-toast{pointer-events:auto;border-radius:20px;border:1px solid rgba(255,255,255,.18);background:rgba(18,53,41,.94);color:#fff;padding:13px 15px;box-shadow:0 24px 70px rgba(0,0,0,.28);font:700 13px/1.45 Inter,system-ui,sans-serif;transform:translateY(-10px);opacity:0;transition:opacity .24s ease,transform .24s ease;}
.ol-phase9-toast.show{opacity:1;transform:none;}
.ol-phase9-media-control{display:none!important;position:absolute;right:18px;bottom:18px;z-index:8;align-items:center;gap:8px;min-height:44px;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 14px;background:rgba(7,17,13,.58);color:#fff;backdrop-filter:blur(16px);font:900 10px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 48px rgba(0,0,0,.24);}
.ol-phase9-media-control:hover{background:rgba(18,53,41,.86);}
.ol-phase9-media-control[aria-pressed="true"]{background:linear-gradient(135deg,#e7cc8e,var(--ol-p9-gold));color:#201407;}
.ol-phase9-gallery{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.ol-phase9-gallery>*{scroll-snap-align:start;}
.ol-phase9-gallery:focus-within{outline:2px solid rgba(198,162,74,.55);outline-offset:4px;}
.ol-phase9-modal-open{overflow:hidden!important;}
[role="dialog"],[aria-modal="true"],.modal,.drawer,.ol-modal,.ol-drawer{scroll-margin:24px;}
.ol-phase9-backdrop{position:fixed;inset:0;z-index:9980;background:rgba(7,17,13,.55);backdrop-filter:blur(10px);}
.ol-phase9-touch-safe{padding-bottom:var(--ol-p9-bottom-reserve)!important;}
.ol-es-sound-dock,#oloropa-sitewide-sound-dock{right:18px!important;bottom:var(--ol-p9-chat-offset)!important;z-index:170!important;}
.oloropa-chat-widget,.ol-chat-widget,#oloropa-chat-widget,[data-ol-public-chat],.public-chat-bubble{right:18px!important;bottom:calc(86px + var(--ol-p9-safe-bottom))!important;z-index:168!important;}
.ol-user-bottom-nav,.ol-admin-mobile-bottom-nav,#mobile-nav{padding-bottom:max(8px,var(--ol-p9-safe-bottom));}
body[data-ol-user-portal-app="true"],body.ol-admin-shell-active,body.has-mobile-bottom-nav{padding-bottom:var(--ol-p9-bottom-reserve);}
body[data-ol-user-portal-app="true"] .ol-es-sound-dock,body[data-ol-user-portal-app="true"] #oloropa-sitewide-sound-dock{bottom:calc(96px + var(--ol-p9-safe-bottom))!important;}
body[data-ol-user-portal-app="true"] .oloropa-chat-widget,body[data-ol-user-portal-app="true"] .ol-chat-widget,body[data-ol-user-portal-app="true"] #oloropa-chat-widget{bottom:calc(156px + var(--ol-p9-safe-bottom))!important;}
.ol-phase9-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:24px;}
.ol-phase9-table-wrap table{min-width:720px;}
.ol-phase9-empty-state{border:1px dashed rgba(31,58,45,.24);border-radius:24px;background:rgba(255,250,240,.7);padding:22px;color:rgba(16,32,25,.72);}
.ol-phase9-empty-state strong{display:block;color:var(--ol-p9-forest);margin-bottom:4px;}
.ol-phase9-form-error{border-color:#B75B45!important;box-shadow:0 0 0 3px rgba(183,91,69,.12)!important;}
.ol-phase9-field-hint{display:block;margin-top:5px;color:rgba(16,32,25,.62);font-size:12px;line-height:1.4;}
.ol-phase9-required::after{content:" *";color:#B75B45;font-weight:900;}
@media(max-width:780px){
  html{scroll-padding-top:76px;}
  .ol-phase9-toast-stack{top:auto;right:12px;left:12px;bottom:calc(96px + var(--ol-p9-safe-bottom));width:auto;}
  .ol-phase9-media-control{right:12px;bottom:12px;}
  .ol-es-sound-dock,#oloropa-sitewide-sound-dock{right:12px!important;bottom:calc(16px + var(--ol-p9-safe-bottom))!important;}
  .oloropa-chat-widget,.ol-chat-widget,#oloropa-chat-widget,[data-ol-public-chat],.public-chat-bubble{right:12px!important;bottom:calc(82px + var(--ol-p9-safe-bottom))!important;}
  body[data-ol-user-portal-app="true"] .ol-es-sound-dock,body[data-ol-user-portal-app="true"] #oloropa-sitewide-sound-dock{bottom:calc(104px + var(--ol-p9-safe-bottom))!important;}
  body[data-ol-user-portal-app="true"] .oloropa-chat-widget,body[data-ol-user-portal-app="true"] .ol-chat-widget,body[data-ol-user-portal-app="true"] #oloropa-chat-widget{bottom:calc(166px + var(--ol-p9-safe-bottom))!important;}
  body.ol-admin-shell-active .ol-es-sound-dock,body.has-mobile-bottom-nav .ol-es-sound-dock{bottom:calc(94px + var(--ol-p9-safe-bottom))!important;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
  video[autoplay],.section-bg-video,.morph-layer{animation:none!important;}
  body.ol-phase9-reduce-motion video[data-ol-phase9-auto-paused="true"]{filter:saturate(.95) contrast(1.02);}
}
@media print{
  .ol-phase9-skip-link,.ol-phase9-toast-stack,.ol-phase9-media-control,.ol-es-sound-dock,#oloropa-sitewide-sound-dock,.oloropa-chat-widget,.ol-chat-widget,#oloropa-chat-widget,.ol-user-bottom-nav,.ol-admin-mobile-bottom-nav,#mobile-nav{display:none!important;}
  body{padding-bottom:0!important;background:#fff!important;color:#000!important;}
}
