/* Mobile correction pass: dark card text + reliable menu control */

@media(max-width:700px){
  /* PM / Night card always stays light on the dark treatment. */
  .visual-world-card.visual-world-dark,
  .visual-world-card.visual-world-dark small,
  .visual-world-card.visual-world-dark strong,
  .visual-world-card.visual-world-dark div{
    color:#f2ebe2!important;
  }
  .visual-world-card.visual-world-dark small{color:#aaa297!important}

  /* Keep product-card copy clearly separated from the bottle art on phones. */
  .visual-world-card>div{position:relative!important;z-index:5!important}
  .visual-world-card img{bottom:8px!important;height:58%!important;max-height:205px!important}
  .visual-world-card:nth-child(2) img{height:54%!important;max-height:190px!important}

  /* Draw our own menu icon so iOS does not render the glyph inconsistently. */
  .mobile{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    font-size:0!important;
    line-height:1!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile:before,.mobile:after{
    content:"";
    position:absolute;
    left:13px;
    width:18px;
    height:1.5px;
    border-radius:999px;
    background:currentColor;
    transition:transform .22s ease,box-shadow .22s ease,top .22s ease;
  }
  .mobile:before{top:16px;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}
  .mobile:after{top:22px;opacity:0}
  .header.mobile-open .mobile:before{top:21px;box-shadow:none;transform:rotate(45deg)}
  .header.mobile-open .mobile:after{top:21px;opacity:1;transform:rotate(-45deg)}

  /* Safari can treat a fixed child inside a backdrop-filtered header as if it is
     trapped inside the header. Remove that containing block while the menu is open
     and explicitly size the menu to the viewport. */
  .header.mobile-open{
    z-index:1400!important;
    overflow:visible!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:none!important;
    contain:none!important;
  }
  .header.mobile-open .nav{
    position:fixed!important;
    top:76px!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    width:100vw!important;
    height:calc(100dvh - 76px)!important;
    max-height:none!important;
    padding:18px 18px calc(24px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    background:#111!important;
    z-index:1399!important;
    transform:none!important;
    clip-path:none!important;
  }
  .header.mobile-open .nav button{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:56px!important;
    color:#f4f1eb!important;
    pointer-events:auto!important;
  }
}

/* Frosted glass header + larger SOCIUS wordmark */
.header{
  position:fixed!important;
  top:12px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  width:min(96vw,1440px)!important;
  height:62px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#f7f4ef!important;
  mix-blend-mode:normal!important;
  background:rgba(17,17,17,.28)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:18px!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.08)!important;
  z-index:1000!important;
}
.header .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  height:50px!important;
  flex:0 0 auto!important;
}
.header .brand img{
  height:42px!important;
  width:auto!important;
  max-width:220px!important;
  object-fit:contain!important;
}
.header .nav{gap:22px!important}
.header .nav button{color:inherit!important}

@media(max-width:900px) and (min-width:701px){
  .header .brand img{height:38px!important;max-width:190px!important}
  .header .nav{gap:14px!important}
  .header .nav button{font-size:10px!important}
}

@media(max-width:700px){
  .header{
    top:10px!important;
    width:94vw!important;
    height:56px!important;
    padding:0 12px 0 14px!important;
    border-radius:16px!important;
  }
  .header .brand{height:46px!important}
  .header .brand img{height:32px!important;max-width:168px!important}
  .header.mobile-open{
    top:10px!important;
    left:3vw!important;
    width:94vw!important;
    height:56px!important;
    transform:none!important;
    background:#111!important;
  }
}
