/* XAN Office v1.3.10.4 — mobile hamburger, portrait desktop media, PWA/assistant interaction + contrast guard */
:root{
  --xan-v13104-corporate:#055970;
  --xan-v13104-corporate-dark:#194552;
  --xan-v13104-deep:#041F40;
}

/* 1) Mobile/tablet header: always render a real three-line hamburger. */
@media (max-width:1024px){
  body .xan-header .xan-nav-toggle,
  body .xan-header-v124 .xan-nav-toggle{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    padding:0!important;
    overflow:visible!important;
  }
  body .xan-header .xan-nav-toggle>span,
  body .xan-header-v124 .xan-nav-toggle>span{
    display:block!important;
    position:static!important;
    flex:0 0 2px!important;
    width:24px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
    background:#055970!important;
  }
  body.xan-home .xan-header .xan-nav-toggle>span,
  body.xan-home .xan-header-v124 .xan-nav-toggle>span{background:#fff!important}
}

/* 2) Desktop portrait content video: never crop and never scale above native pixel height.
      The existing poster/backdrop fills the horizontal canvas; the real portrait media remains sharp and complete. */
@media (min-width:1025px){
  body.xan-home .xan-secondary-video-frame.is-xan-video-portrait-v13102,
  body.xan-home .xan-video-showcase-card.is-xan-video-portrait-v13102{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    aspect-ratio:16/9!important;
    width:100%!important;
    overflow:hidden!important;
    background:var(--xan-v13104-deep)!important;
  }
  body.xan-home .xan-secondary-video-frame.is-xan-video-portrait-v13102 .xan-secondary-video-backdrop,
  body.xan-home .xan-video-showcase-card.is-xan-video-portrait-v13102 .xan-video-showcase-backdrop{
    display:block!important;
    opacity:.82!important;
    filter:blur(26px) brightness(.38) saturate(.82)!important;
    transform:scale(1.13)!important;
    pointer-events:none!important;
  }
  body.xan-home .xan-secondary-video-frame.is-xan-video-portrait-v13102 .xan-secondary-video,
  body.xan-home .xan-video-showcase-card.is-xan-video-portrait-v13102 .xan-video-showcase-media{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:auto!important;
    height:min(100%,var(--xan-video-native-height-v13104,100%))!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
    background:transparent!important;
    box-shadow:0 14px 42px rgba(4,31,64,.22)!important;
  }
}

/* 3) Hero decorative layers must never block floating controls. */
body.xan-home :where(.xan-hero-video,.xan-hero-video-backdrop,.xan-hero-overlay){pointer-events:none!important}
body.xan-home :where(.xan-hero-video-control,.xan-video-control){pointer-events:auto!important}

/* 4) XAN Mobil install surface: corporate dark surface means white text/icons. */
.xan-pwa-desktop-install-v13102{
  z-index:2147483440!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  isolation:isolate!important;
  color:#fff!important;
}
.xan-pwa-desktop-install-v13102 :where(span,strong,small,b,svg){color:#fff!important;stroke:currentColor!important}
.xan-pwa-install-label-v13102{background:var(--xan-v13104-deep)!important;color:#fff!important}
.xan-mobile-pwa-link-v13102,
.xan-mobile-pwa-link-v13102 :where(span,strong,small,b){color:#fff!important}

/* Install guide itself is now a corporate XAN surface. */
.xan-pwa-guide-v13102{z-index:2147483600!important;pointer-events:auto!important}
.xan-pwa-guide-backdrop-v13102{pointer-events:auto!important}
.xan-pwa-guide-card-v13102{
  background:linear-gradient(145deg,var(--xan-v13104-corporate),var(--xan-v13104-corporate-dark))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
}
.xan-pwa-guide-card-v13102 :where(strong,p,ol,li,b,span){color:#fff!important;opacity:1!important}
.xan-pwa-guide-card-v13102 p{color:rgba(255,255,255,.9)!important}
.xan-pwa-guide-card-v13102 img{background:#fff!important;padding:4px!important}
.xan-pwa-guide-close-v13102{color:#fff!important;background:rgba(255,255,255,.10)!important}

/* 5) XAN Assistant: keep launcher/shell above public media and make the real controls explicitly interactive. */
body:not(.xan-customer-ai-standalone-v196) .xan-customer-ai-v180{
  z-index:2147483420!important;
  pointer-events:none!important;
}
body:not(.xan-customer-ai-standalone-v196) .xan-customer-ai-v180 :where(.xcai-launch,.xcai-shell,[data-xcai-open],[data-xcai-close],button,a,input,textarea){
  pointer-events:auto!important;
}
body:not(.xan-customer-ai-standalone-v196) .xan-customer-ai-v180 .xcai-launch{
  z-index:2147483430!important;
  isolation:isolate!important;
  touch-action:manipulation!important;
}
body:not(.xan-customer-ai-standalone-v196) .xan-customer-ai-v180 .xcai-shell{
  z-index:2147483435!important;
  pointer-events:auto!important;
}

/* Standalone/PWA dark surfaces: white copy. Light cards retain their deliberate dark text. */
html.xan-pwa-standalone-v13102 body :where(.xan-pwa-desktop-install-v13102,.xan-mobile-pwa-link-v13102,.xan-hero-nav-strip) :where(a,button,span,strong,small,b){
  color:#fff!important;
}
