/* DAH'VEED — FINAL MOBILE STABILITY HOTFIX 2026-09-09
   Unique filename intentionally bypasses prior immutable browser/CDN cache.
   Functional mobile overrides only. No desktop redesign. */

html,body{max-width:100%;overflow-x:clip!important}
.site-header{-webkit-position:sticky;position:sticky!important;top:0!important;z-index:500!important}

/* Reading progress: fixed above the sticky header. */
.scroll-progress{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:3px!important;z-index:900!important;pointer-events:none!important;background:transparent!important}
.scroll-progress>span{display:block!important;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet),var(--magenta));box-shadow:0 0 12px rgba(61,232,255,.4)}

/* Back to top. */
.back-to-top{position:fixed!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(14px,env(safe-area-inset-bottom))!important;z-index:480!important;width:46px!important;height:46px!important;border-radius:16px!important;border:1px solid rgba(171,221,255,.28)!important;background:linear-gradient(145deg,rgba(40,91,164,.20),rgba(33,20,91,.18)),rgba(8,18,42,.88)!important;color:var(--text)!important;display:grid!important;place-items:center!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 36px rgba(0,0,0,.35)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important;transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important}
.back-to-top.show{opacity:1!important;visibility:visible!important;transform:none!important}
.back-to-top svg{width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* Stable full-screen mobile drawer. */
.mobile-panel{position:fixed!important;inset:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important;z-index:700!important;pointer-events:none}
.mobile-panel.open{pointer-events:auto!important}
.mobile-backdrop{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.mobile-sheet{position:absolute!important;top:max(8px,env(safe-area-inset-top))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;left:auto!important;width:min(430px,calc(100vw - 16px))!important;max-width:calc(100vw - 16px)!important;height:auto!important;max-height:calc(100dvh - 16px)!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;transform:translate3d(110%,0,0)!important}
.mobile-panel.open .mobile-sheet{transform:translate3d(0,0,0)!important}
.mobile-head,.mobile-head .brand,.mobile-head .brand>span,.mobile-nav,.mobile-utilities,.mobile-quote{min-width:0!important;max-width:100%!important}
.mobile-head .brand-sub,.mobile-quote p{white-space:normal!important;overflow-wrap:anywhere!important}

/* Prevent the locked page from jumping when the drawer/search is open. */
body.dv-mobile-locked{position:fixed!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important;touch-action:none!important}

/* Cookie consent must remain entirely inside the phone viewport. */
@media(max-width:680px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:clip!important}
  .container{width:calc(100% - 22px)!important;max-width:calc(100vw - 22px)!important;margin-inline:auto!important}
  .site-header{top:0!important;padding-top:max(7px,env(safe-area-inset-top))!important;padding-bottom:7px!important}
  .nav-shell{min-width:0!important;gap:7px!important}
  .nav-shell>.brand{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}
  .nav-shell>.brand>span{min-width:0!important;overflow:hidden!important}
  .nav-shell>.brand .brand-name,.nav-shell>.brand .brand-sub{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .nav-tools{flex:0 0 auto!important;gap:5px!important}
  .menu-button{display:grid!important;flex:0 0 44px!important;width:44px!important;height:44px!important}

  .mobile-sheet{border-radius:22px!important;padding:14px!important}
  .mobile-head{gap:8px!important;margin-bottom:12px!important}
  .mobile-head .brand img{width:38px!important;height:38px!important;flex:0 0 38px!important}
  .mobile-head .brand-name{font-size:1rem!important}
  .mobile-head .brand-sub{font-size:.5rem!important;letter-spacing:.10em!important}
  .mobile-utilities{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:8px 0 12px!important}
  .mobile-utilities .utility-button{width:100%!important;min-width:0!important}
  .mobile-nav{gap:4px!important}
  .mobile-nav a{display:block!important;width:100%!important;padding:11px 12px!important;box-sizing:border-box!important}
  .mobile-quote{margin-top:14px!important;padding:13px!important}

  /* Hero: keep artwork present, but remove the oversized empty mobile gap. */
  .hero{min-height:auto!important;padding-top:22px!important;padding-bottom:36px!important}
  .hero-grid{gap:10px!important}
  .hero-art{height:min(76vw,300px)!important;min-height:250px!important;max-height:300px!important;width:100%!important;max-width:100%!important;margin:4px auto 0!important;overflow:visible!important}

  .cookie-banner,.cookie-banner.show{
    left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;top:auto!important;
    transform:none!important;width:auto!important;min-width:0!important;max-width:calc(100vw - 20px)!important;
    box-sizing:border-box!important;border-radius:18px!important;padding:12px!important;
    grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:stretch!important;
    max-height:min(48dvh,330px)!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important
  }
  .cookie-copy{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:start!important;gap:9px!important;width:100%!important;min-width:0!important}
  .cookie-copy img{width:34px!important;height:34px!important;max-width:34px!important;flex:none!important}
  .cookie-copy>div{min-width:0!important;max-width:100%!important}
  .cookie-copy strong{font-size:.92rem!important;line-height:1.25!important;overflow-wrap:anywhere!important}
  .cookie-copy span{display:block!important;font-size:.76rem!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;max-width:100%!important}
  .cookie-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .cookie-actions .btn{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px 12px!important;white-space:normal!important;line-height:1.15!important}
  .cookie-banner.show~.back-to-top,.cookie-banner.show~.toast + .back-to-top{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

  .back-to-top{right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important}
}

/* Old Android fallback. Chrome/modern Android supports clip; this is only defensive. */
@supports not (overflow:clip){html,body{overflow-x:hidden!important}}

/* Legal final: compact privacy notice on phones. */
@media(max-width:680px){
  .cookie-banner,.cookie-banner.show{max-height:min(42dvh,280px)!important}
  .cookie-actions{grid-template-columns:1fr 1fr!important}
  .cookie-actions .btn{min-height:44px!important;text-align:center!important;justify-content:center!important}
}
@media(max-width:390px){.cookie-actions{grid-template-columns:1fr!important}}
