/* HYDOUT ST. — market-ready responsive UX polish */
:root{
  --ui-gold:#e3b84e;
  --ui-gold-2:#f0cf72;
  --ui-ink:#070706;
  --ui-panel:#0d0c0a;
  --ui-border:rgba(231,196,106,.22);
  --ui-muted:#b9b0a3;
  --ui-radius:16px;
  --ui-shadow:0 18px 50px rgba(0,0,0,.34);
}

/* remove legacy competing mobile treatment */
.mobile-actions{display:none!important}

/* polished common button language */
.btn,.nav-cta,.checkout-button{
  border-radius:10px!important;
  letter-spacing:.09em!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.btn.primary,.checkout-button{
  background:linear-gradient(180deg,var(--ui-gold-2),var(--ui-gold))!important;
  color:#090806!important;
  border-color:rgba(255,224,140,.85)!important;
}
.btn:not(.primary){
  background:rgba(7,7,6,.72)!important;
  border-color:rgba(231,196,106,.42)!important;
}
.btn:hover,.nav-cta:hover{transform:translateY(-1px)!important}

/* consistent page rhythm */
.section{padding-block:clamp(70px,7vw,116px)}
.section.compact{padding-block:clamp(52px,5vw,84px)}
.form-shell,.checkout-card{border-radius:18px!important}
.field.full:has(>button),.field.full:has(>.btn){padding-top:14px!important}

/* medium screens: tablet should look like a compact desktop, not a giant phone */
@media (min-width:641px) and (max-width:1024px){
  :root{--header-h:72px}
  body{padding-bottom:0!important}
  .container{width:min(calc(100% - 48px),var(--max))!important}
  .site-header{height:72px!important;background:rgba(5,5,5,.93)!important;backdrop-filter:blur(16px)!important}
  .nav{height:72px!important;min-height:72px!important;gap:12px!important}
  .brand-mark{width:42px!important;height:42px!important;font-size:1.15rem!important}
  .brand-text{display:none!important}
  .nav-links{display:none!important}
  .nav-cta{
    display:inline-flex!important;
    width:auto!important;
    height:42px!important;
    min-height:42px!important;
    margin-left:auto!important;
    padding:0 16px!important;
    border-radius:10px!important;
    font-size:.66rem!important;
    white-space:nowrap!important;
  }
  .nav-cta .cart-badge{width:22px!important;height:22px!important;min-width:22px!important}
  .menu-toggle{display:grid!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border:1px solid rgba(231,196,106,.22)!important;border-radius:10px!important;margin:0!important}

  .page-index .hero{
    min-height:680px!important;
    height:auto!important;
    align-items:center!important;
  }
  .page-index .hero-content{
    padding:132px 0 80px!important;
    max-width:640px!important;
  }
  .page-index .hero-media{background-position:70% center!important}
  .page-index .hero-media::after{
    background:linear-gradient(90deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.72) 43%,rgba(5,5,5,.20) 74%,rgba(5,5,5,.30) 100%)!important;
  }
  .page-index .hero-logo{margin-bottom:20px!important;padding:0!important;background:none!important;border:0!important}
  .page-index .hero-logo .circle{display:none!important}
  .page-index .hero-logo .script{font-size:1.05rem!important}
  .page-index .hero-title{
    font-size:clamp(3.6rem,7.2vw,5rem)!important;
    line-height:.9!important;
    max-width:10ch!important;
    letter-spacing:-.035em!important;
  }
  .page-index .hero-title>span:first-child{font-size:.58em!important;line-height:1.05!important;margin-bottom:10px!important}
  .page-index .hero .lead{font-size:1rem!important;line-height:1.55!important;max-width:42ch!important;margin-top:20px!important}
  .page-index .hero-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin-top:26px!important;
    max-width:510px!important;
  }
  .page-index .hero-actions .btn{
    width:auto!important;
    min-width:190px!important;
    min-height:50px!important;
    padding-inline:20px!important;
    font-size:.68rem!important;
  }
  .page-index .hero-actions .btn.primary{grid-column:auto!important}
  .page-index .hero-actions .btn.ghost{display:none!important}
  .page-index .hero-meta{display:flex!important;margin-top:26px!important;gap:18px!important}

  .page-hero{min-height:560px!important;padding:138px 0 70px!important}
  .page-hero .display{font-size:clamp(3.6rem,7.2vw,5.2rem)!important;max-width:10ch!important}
  .page-hero .lead{max-width:46ch!important}

  .menu-toolbar{top:72px!important}
  .menu-catalog{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .menu-item{border-radius:16px!important}
  .menu-item-media{aspect-ratio:4/3!important}
  .menu-item-body{padding:17px!important}

  .order-layout{width:min(calc(100% - 40px),var(--max))!important;grid-template-columns:minmax(0,1fr) 340px!important;align-items:start!important}
  .order-filter-row{top:72px!important}
  .order-menu-list{grid-template-columns:1fr!important}
  .order-menu-card{grid-template-columns:132px minmax(0,1fr)!important}
  .checkout-card{position:sticky!important;top:94px!important}
}

/* true phone layout */
@media (max-width:640px){
  :root{--mobile-header-h:62px}
  html{scroll-padding-top:72px!important}
  body{padding-bottom:76px!important}
  .container{width:min(calc(100% - 32px),var(--max))!important}
  .section{padding:56px 0!important}
  .section.compact{padding:44px 0!important}

  .site-header{height:62px!important;background:rgba(5,5,5,.96)!important;border-bottom:1px solid rgba(231,196,106,.10)!important}
  .nav{height:62px!important;min-height:62px!important;gap:8px!important}
  .brand-mark{width:36px!important;height:36px!important;font-size:1rem!important}
  .brand-text{display:none!important}
  .nav-cta{
    width:auto!important;
    min-width:0!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 12px!important;
    margin-left:auto!important;
    border-radius:9px!important;
    font-size:.58rem!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
  .nav-cta .cart-badge{width:20px!important;height:20px!important;min-width:20px!important}
  .menu-toggle{
    width:38px!important;height:38px!important;flex:0 0 38px!important;
    border-radius:9px!important;border:1px solid rgba(231,196,106,.20)!important;
  }

  .page-index .hero{
    min-height:0!important;
    height:auto!important;
    align-items:flex-end!important;
    padding:0!important;
  }
  .page-index .hero-media{
    background-position:69% center!important;
    min-height:660px!important;
  }
  .page-index .hero-media::after{
    background:
      linear-gradient(180deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.18) 22%,rgba(5,5,5,.55) 54%,rgba(5,5,5,.96) 88%,#050505 100%)!important;
  }
  .page-index .hero::before{background:linear-gradient(90deg,rgba(5,5,5,.18),transparent 66%)!important}
  .page-index .hero-content{
    min-height:660px!important;
    padding:136px 0 44px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
  }
  .page-index .hero-logo{
    margin:0 0 16px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .page-index .hero-logo .circle{display:none!important}
  .page-index .hero-logo .kicker{font-size:.58rem!important;letter-spacing:.14em!important}
  .page-index .hero-logo .script{display:none!important}
  .page-index .hero-title{
    font-size:clamp(2.75rem,13vw,3.45rem)!important;
    line-height:.88!important;
    letter-spacing:-.035em!important;
    max-width:9.4ch!important;
    margin:0!important;
  }
  .page-index .hero-title>span:first-child{
    font-size:.57em!important;
    line-height:1.08!important;
    letter-spacing:.01em!important;
    margin-bottom:9px!important;
  }
  .page-index .hero .lead{
    font-size:.92rem!important;
    line-height:1.48!important;
    max-width:31ch!important;
    margin:18px 0 0!important;
    color:#e5dccf!important;
  }
  .page-index .hero-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:22px!important;
    max-width:none!important;
  }
  .page-index .hero-actions .btn{
    min-width:0!important;
    width:100%!important;
    min-height:46px!important;
    padding:0 9px!important;
    font-size:.60rem!important;
    letter-spacing:.065em!important;
  }
  .page-index .hero-actions .btn.primary{grid-column:auto!important}
  .page-index .hero-actions .btn.ghost{display:none!important}
  .page-index .hero-meta{display:none!important}

  /* inner heroes */
  .page-hero{min-height:440px!important;padding:116px 0 48px!important;background-position:66% center!important}
  .page-hero .display{font-size:clamp(2.75rem,13vw,3.65rem)!important;line-height:.89!important;max-width:9.5ch!important}
  .page-hero .lead{font-size:.91rem!important;line-height:1.5!important;max-width:31ch!important}
  .page-hero .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;width:100%!important}
  .page-hero .hero-actions .btn{min-height:46px!important;padding:0 8px!important;font-size:.59rem!important}

  /* browse menu */
  .page-menu #menu{padding-bottom:52px!important}
  .menu-toolbar{
    top:62px!important;
    margin:0 -16px 16px!important;
    padding:10px 16px 9px!important;
    background:rgba(7,7,6,.98)!important;
  }
  .menu-toolbar h2{font-size:1.65rem!important}
  .menu-filters{gap:6px!important}
  .menu-filters button{min-height:34px!important;padding:0 12px!important;font-size:.57rem!important;border-radius:999px!important}
  .menu-catalog{grid-template-columns:1fr!important;gap:14px!important}
  .menu-item{border-radius:15px!important;box-shadow:none!important}
  .menu-item-media{aspect-ratio:16/10!important}
  .menu-item-body{padding:14px!important}
  .menu-item h3{font-size:1.18rem!important;line-height:1.04!important}
  .menu-price{font-size:.82rem!important}
  .menu-item-body p{font-size:.79rem!important;line-height:1.45!important;margin:8px 0 12px!important}
  .menu-item-bottom{padding-top:10px!important;gap:8px!important}
  .menu-tags{display:none!important}
  .add-cart{min-height:38px!important;padding:0 12px!important;font-size:.57rem!important;border-radius:8px!important}

  /* order flow */
  .order-page{padding-top:62px!important}
  .order-head{padding:24px 0 16px!important}
  .order-head h1{font-size:2.45rem!important;line-height:.92!important}
  .order-layout{width:min(calc(100% - 24px),var(--max))!important;gap:18px!important;padding-bottom:26px!important}
  .order-filter-row{top:62px!important;margin:0 -12px 10px!important;padding:9px 12px!important}
  .order-filter-row button{min-height:34px!important;padding:0 12px!important;font-size:.57rem!important;border-radius:999px!important}
  .order-menu-list{gap:9px!important}
  .order-menu-card{grid-template-columns:96px minmax(0,1fr)!important;min-height:128px!important;border-radius:13px!important}
  .order-menu-card>img{min-height:128px!important}
  .order-menu-card>div{padding:11px!important}
  .order-menu-card h3{font-size:.98rem!important}
  .order-menu-card p{font-size:.70rem!important;line-height:1.38!important;margin:6px 0 8px!important}
  .order-menu-card .add-cart{min-height:33px!important;padding:0 10px!important;font-size:.53rem!important}
  .checkout-card{padding:16px!important;border-radius:16px!important;margin-top:4px!important}
  .checkout-form{gap:14px!important;padding-top:18px!important}
  .payment-choice{grid-template-columns:1fr!important;gap:8px!important}
  .checkout-button{min-height:52px!important;margin-top:10px!important}

  /* forms */
  .form-shell{padding:18px 15px!important}
  .form-grid{gap:17px!important}
  .field.full:has(>button),.field.full:has(>.btn){padding-top:12px!important}

  /* premium mobile app nav: quiet, one clear primary action */
  .mobile-actions{
    position:fixed!important;
    display:grid!important;
    grid-template-columns:repeat(4,1fr)!important;
    left:8px!important;right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    height:58px!important;
    padding:4px!important;
    border-radius:16px!important;
    background:rgba(8,8,7,.97)!important;
    border:1px solid rgba(231,196,106,.20)!important;
    box-shadow:0 16px 46px rgba(0,0,0,.52)!important;
    backdrop-filter:blur(18px)!important;
    overflow:hidden!important;
    z-index:1150!important;
  }
  .mobile-actions a{
    min-height:48px!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:11px!important;
    background:transparent!important;
    color:#a79f94!important;
    font-size:.55rem!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
    padding:0 2px!important;
    white-space:nowrap!important;
  }
  .mobile-actions a:first-child{background:transparent!important;color:#a79f94!important}
  .mobile-actions a[href="order.html"]{
    background:transparent!important;
    color:var(--ui-gold-2)!important;
  }
  .mobile-actions a.active{
    background:rgba(212,163,59,.11)!important;
    color:var(--ui-gold-2)!important;
    box-shadow:inset 0 0 0 1px rgba(231,196,106,.18)!important;
  }
  .page-order .mobile-actions{display:none!important}

  footer{padding-bottom:30px!important}
}

@media (max-width:380px){
  .nav-cta{padding:0 10px!important;font-size:.54rem!important}
  .page-index .hero-title{font-size:2.7rem!important}
  .page-index .hero-actions{grid-template-columns:1fr!important}
  .page-index .hero-actions .btn{min-height:45px!important}
  .page-hero .hero-actions{grid-template-columns:1fr!important}
  .mobile-actions a{font-size:.51rem!important}
}

/* Component refinements after markup cleanup */
.mobile-order-label{display:none}
.menu-toggle::before,.menu-toggle::after{box-shadow:none!important;height:1.5px!important;left:11px!important;right:11px!important;background:#f3ecdf!important}
.menu-toggle::before{top:15px!important}
.menu-toggle::after{top:25px!important}

@media (max-width:640px){
  .desktop-order-label{display:none!important}
  .mobile-order-label{display:inline!important}

  /* never orphan the multiplication sign or break the cuisine descriptor */
  .page-index .hero-title>span:first-child{
    white-space:nowrap!important;
    max-width:none!important;
    font-size:.50em!important;
  }
  .page-index .hero-title>span:last-child{max-width:7.8ch!important}

  /* bottom bar uses icon + label, with just one dominant commerce action */
  .mobile-actions{height:62px!important}
  .mobile-actions a{
    grid-template-rows:24px 16px!important;
    align-content:center!important;
    gap:2px!important;
    line-height:1!important;
  }
  .mobile-action-icon{width:20px;height:20px;display:grid;place-items:center}
  .mobile-action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-actions a[href="order.html"]{
    background:linear-gradient(180deg,rgba(227,184,78,.18),rgba(227,184,78,.08))!important;
    color:var(--ui-gold-2)!important;
    box-shadow:inset 0 0 0 1px rgba(231,196,106,.14)!important;
  }
  .mobile-actions a.active:not([href="order.html"]){
    background:transparent!important;
    color:var(--ui-gold-2)!important;
    box-shadow:none!important;
  }
  .mobile-actions a.active:not([href="order.html"])::after{
    content:"";position:absolute;bottom:4px;width:18px;height:2px;border-radius:2px;background:var(--ui-gold)
  }
  .mobile-actions a{position:relative}
}
@media (min-width:641px) and (max-width:1024px){
  .page-index .hero-title>span:first-child{white-space:nowrap!important;max-width:none!important}
}

/* v5 — homepage mobile first-fold conversion fix */
@media (max-width:640px){
  .page-index .hero{
    min-height:calc(100svh - 62px)!important;
    height:calc(100svh - 62px)!important;
    max-height:760px!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }
  .page-index .hero-media{
    min-height:100%!important;
    height:100%!important;
    background-position:66% 48%!important;
  }
  .page-index .hero-media::after{
    background:
      linear-gradient(180deg,rgba(5,5,5,.10) 0%,rgba(5,5,5,.18) 22%,rgba(5,5,5,.58) 55%,rgba(5,5,5,.93) 82%,#050505 100%)!important;
  }
  .page-index .hero-content{
    min-height:100%!important;
    height:100%!important;
    padding:clamp(82px,11svh,104px) 0 86px!important;
    justify-content:center!important;
    gap:0!important;
  }
  .page-index .hero-logo{margin:0 0 10px!important}
  .page-index .hero-logo .kicker{
    font-size:.53rem!important;
    letter-spacing:.13em!important;
  }
  .page-index .hero-title{
    font-size:clamp(2.6rem,12vw,3.35rem)!important;
    line-height:.88!important;
    max-width:8.8ch!important;
  }
  .page-index .hero-title>span:first-child{
    font-size:.50em!important;
    line-height:1!important;
    margin-bottom:7px!important;
  }
  .page-index .hero .lead{
    margin-top:13px!important;
    max-width:30ch!important;
    font-size:.86rem!important;
    line-height:1.42!important;
  }
  .page-index .hero-actions{
    margin-top:16px!important;
    gap:8px!important;
    grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr)!important;
  }
  .page-index .hero-actions .btn{
    min-height:44px!important;
    padding:0 10px!important;
    font-size:.58rem!important;
    border-radius:9px!important;
  }
}

@media (max-width:390px){
  .page-index .hero-content{padding-top:78px!important;padding-bottom:82px!important}
  .page-index .hero-title{font-size:clamp(2.42rem,11.8vw,2.9rem)!important}
  .page-index .hero .lead{font-size:.82rem!important;line-height:1.38!important;margin-top:11px!important}
  .page-index .hero-actions{margin-top:14px!important;grid-template-columns:1fr 1fr!important}
  .page-index .hero-actions .btn{min-height:42px!important;font-size:.55rem!important}
}

@media (max-height:690px) and (max-width:640px){
  .page-index .hero-logo{display:none!important}
  .page-index .hero-content{padding-top:72px!important;padding-bottom:78px!important;justify-content:center!important}
  .page-index .hero-title{font-size:clamp(2.25rem,10.8vw,2.75rem)!important}
  .page-index .hero .lead{font-size:.79rem!important;line-height:1.34!important;margin-top:10px!important}
  .page-index .hero-actions{margin-top:12px!important}
  .page-index .hero-actions .btn{min-height:40px!important}
}
