:root{
  --navy:#07111d;
  --navy2:#10283a;
  --navy3:#173b4e;
  --gold:#d5a72a;
  --gold2:#f0d473;
  --cream:#f6f1e9;
  --paper:#fff;
  --ink:#18222d;
  --muted:#64717d;
  --line:#e6ded2;
  --green:#1f7a4d;
  --shadow:0 18px 50px rgba(7,17,29,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:#f8f4ee;line-height:1.5;padding-bottom:calc(78px + env(safe-area-inset-bottom));overflow-x:hidden}
body.cart-open{overflow:hidden}
button,input,select,textarea{font:inherit}
button{touch-action:manipulation}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 34px));margin:auto}

.menu-header{color:#fff;background:radial-gradient(circle at 18% 28%,rgba(240,212,115,.35),transparent 17%),linear-gradient(135deg,var(--navy),var(--navy3));padding-bottom:60px}
.menu-nav{min-height:86px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding-top:max(0px,env(safe-area-inset-top))}
.brand{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand span{font:italic 600 2rem "Cormorant Garamond",serif;white-space:nowrap}
.brand small{margin-top:7px;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap}
.back-home,.lang-switch{border:1px solid rgba(255,255,255,.25);min-height:44px;padding:10px 14px;background:rgba(0,0,0,.18);color:#fff;border-radius:2px}
.lang-switch{cursor:pointer}
.menu-hero{text-align:center;padding:42px 0 10px}
.menu-hero>p:first-child{color:var(--gold2);letter-spacing:.25em;text-transform:uppercase;font-size:.72rem;margin:0}
.menu-hero h1{font:600 clamp(3rem,8vw,6rem)/.92 "Cormorant Garamond",serif;margin:10px 0 12px}
.lead{max-width:760px;margin:auto;color:#dbe3e8;font-size:.95rem}

.controls{margin-top:-28px;background:#fff;padding:18px;box-shadow:var(--shadow);position:relative;z-index:5;border:1px solid rgba(213,167,42,.12)}
.type-tabs{display:flex;gap:8px}
.type-tab{min-height:44px;border:1px solid #d7dce0;background:#fff;padding:10px 22px;text-transform:uppercase;font-weight:700;cursor:pointer;border-radius:2px}
.type-tab.active{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.search-box{margin-top:12px;display:flex;align-items:center;gap:10px;border:1px solid #d7dce0;padding:0 13px;background:#fff}
.search-box>span{font-size:1.2rem;color:#6d7881}
.search-box input{width:100%;min-width:0;border:0;outline:0;padding:13px 0;font-size:16px;background:transparent}
.category-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 0 1px;scrollbar-width:thin;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.category-strip button{white-space:nowrap;border:0;background:#eef1f3;min-height:38px;padding:8px 13px;cursor:pointer;border-radius:999px;font-size:.8rem}
.category-strip button.active{background:var(--navy);color:#fff}

.menu-content{padding:44px 0 88px}
.menu-section{scroll-margin-top:18px;margin-bottom:52px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;border-bottom:1px solid #d9d0c3;padding-bottom:10px;margin-bottom:16px}
.section-head h2{font:600 clamp(2rem,4vw,3.2rem) "Cormorant Garamond",serif;margin:0;line-height:1}
.section-price{color:#987016;font-weight:700;white-space:nowrap;font-size:.9rem}
.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.menu-item{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0;overflow:hidden;box-shadow:0 8px 24px rgba(7,17,29,.055)}
.item-media{position:relative;height:128px;background:linear-gradient(145deg,#10283a,#6c4931);overflow:hidden;flex:0 0 auto}
.item-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.item-placeholder{height:100%;display:grid;place-items:center;color:var(--gold2);font-size:1.7rem;background:radial-gradient(circle at 35% 20%,rgba(240,212,115,.2),transparent 30%),linear-gradient(145deg,#10283a,#6c4931)}
.item-main{display:flex;flex-direction:column;gap:8px;padding:13px 13px 10px;flex:1;min-height:0}
.item-copy{min-width:0}
.item-copy h3{margin:0;font:600 1.28rem/1.04 "Cormorant Garamond",serif;color:#17212b}
.item-copy p{margin:6px 0 0;color:var(--muted);font-size:.74rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.item-price-label{margin-top:auto;color:#8b6510;font-weight:700;font-size:.82rem;line-height:1.35}
.option-label{display:block;color:#64717d;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.price-select{width:100%;height:40px;border:1px solid #d9d0c3;background:#fff;color:#17212b;border-radius:2px;padding:0 30px 0 9px;font-size:.78rem;outline:none}
.add-button{width:100%;min-height:44px;border:0;background:var(--navy);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;cursor:pointer;padding:10px;margin-top:1px}
.add-button:active{transform:translateY(1px)}
.add-button.added{background:var(--green)}
.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}

.menu-footer{background:#06131f;color:#fff;text-align:center;padding:40px 0 54px}
.menu-footer strong{font:italic 600 2rem "Cormorant Garamond",serif}
.menu-footer p{font-size:.82rem;color:#d8e0e5}

.cart-bar{position:fixed;z-index:50;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 24px));min-height:64px;border:1px solid rgba(240,212,115,.55);background:var(--navy);color:#fff;box-shadow:0 18px 42px rgba(0,0,0,.28);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px 8px 14px;cursor:pointer;border-radius:5px;text-align:left}
.cart-bar-icon{font-size:1.25rem}
.cart-bar-copy{display:flex;flex-direction:column;min-width:0}
.cart-bar-copy strong{font-size:.82rem}
.cart-bar-copy small{color:#dbe3e8;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-bar-action{background:var(--gold);color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;min-height:44px;display:grid;place-items:center;padding:0 15px;border-radius:2px}
.cart-bar.has-items{border-color:var(--gold)}

.cart-overlay{position:fixed;inset:0;z-index:70;background:rgba(2,8,14,.58);backdrop-filter:blur(2px)}
.cart-drawer{position:fixed;z-index:80;top:0;right:0;width:min(520px,100%);height:100dvh;background:#fff;box-shadow:-24px 0 60px rgba(0,0,0,.22);display:grid;grid-template-rows:auto 1fr auto;transform:translateX(105%);transition:transform .24s ease;visibility:hidden}
.cart-drawer.open{transform:translateX(0);visibility:visible}
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:calc(18px + env(safe-area-inset-top)) 20px 16px;border-bottom:1px solid var(--line);background:#fff}
.cart-kicker{margin:0;color:#987016;text-transform:uppercase;font-size:.66rem;letter-spacing:.16em;font-weight:700}
.cart-head h2{margin:2px 0 0;font:600 2rem "Cormorant Garamond",serif;line-height:1}
.cart-close{width:46px;height:46px;border:1px solid #ddd4c8;background:#fff;font-size:2rem;line-height:1;cursor:pointer;color:#26333e}
.cart-body{overflow:auto;overscroll-behavior:contain;padding:16px 20px 24px;background:#fbf8f3}
.cart-items{display:flex;flex-direction:column;gap:10px}
.cart-item{background:#fff;border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px 12px}
.cart-item-name{min-width:0}
.cart-item-name strong{display:block;font:600 1.13rem/1.05 "Cormorant Garamond",serif}
.cart-item-name small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}
.cart-item-price{font-size:.78rem;color:#8b6510;font-weight:700;white-space:nowrap}
.cart-item-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:5px}
.qty-control{display:inline-grid;grid-template-columns:38px 38px 38px;align-items:center;border:1px solid #ddd4c8;background:#fff}
.qty-control button{height:38px;border:0;background:#f1eee8;font-size:1.15rem;cursor:pointer}
.qty-control span{display:grid;place-items:center;font-size:.8rem;font-weight:700}
.remove-item{min-height:38px;border:0;background:transparent;color:#9a3939;text-decoration:underline;cursor:pointer;font-size:.72rem;padding:0 4px}
.cart-empty{text-align:center;padding:28px 10px 22px;color:var(--muted)}
.cart-empty>span{display:block;color:var(--gold);font-size:1.5rem}
.cart-empty p{margin:7px 0 2px;color:var(--ink);font-weight:600}
.cart-empty small{font-size:.74rem}
.cart-form{border-top:1px solid #ddd4c8;margin-top:16px;padding-top:18px}
.order-mode{margin:0 0 14px;border:0;padding:0}
.order-mode legend{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.order-mode>label{display:inline-flex;align-items:center;gap:7px;margin:0 8px 8px 0;background:#fff;border:1px solid #ddd4c8;min-height:44px;padding:8px 11px;font-size:.78rem;cursor:pointer}
.order-mode input{width:18px;height:18px;accent-color:var(--gold)}
.form-field{display:block;margin:0 0 13px}
.form-field>span{display:block;font-size:.72rem;font-weight:700;margin-bottom:6px}
.form-field input,.form-field textarea{display:block;width:100%;border:1px solid #d8d0c5;background:#fff;color:var(--ink);border-radius:2px;padding:11px 12px;outline:none;font-size:16px}
.form-field textarea{resize:vertical;min-height:80px}
.form-field input:focus,.form-field textarea:focus,.price-select:focus{border-color:#b98c21;box-shadow:0 0 0 2px rgba(213,167,42,.12)}
#tableField[hidden]{display:none!important}

.cart-footer{border-top:1px solid var(--line);padding:13px 20px calc(14px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -8px 24px rgba(7,17,29,.06)}
.cart-total-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.cart-total-line span{font-size:.82rem;font-weight:600}
.cart-total-line strong{font-size:1.15rem;color:#8b6510}
.cart-validation{min-height:18px;margin:0 0 7px;color:#a03b3b;font-size:.7rem;font-weight:600}
.whatsapp-order{width:100%;min-height:50px;border:0;background:#1e7b4d;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.035em;font-size:.77rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px}
.whatsapp-order:disabled{opacity:.48;cursor:not-allowed}
.continue-shopping{width:100%;min-height:42px;margin-top:7px;border:1px solid #d8d0c5;background:#fff;color:var(--ink);font-size:.74rem;font-weight:700;cursor:pointer}

@media(max-width:980px){
  .item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .item-media{height:118px}
}

@media(max-width:760px){
  .container{width:min(100% - 20px,1180px)}
  body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .menu-header{padding-bottom:46px}
  .menu-nav{min-height:74px;grid-template-columns:1fr auto;gap:8px}
  .back-home{display:none}
  .brand span{font-size:1.55rem}
  .brand small{font-size:.48rem;letter-spacing:.2em}
  .lang-switch{min-width:72px;padding:8px 10px;font-size:.77rem}
  .menu-hero{padding:24px 0 5px}
  .menu-hero h1{font-size:clamp(2.7rem,13vw,4rem)}
  .lead{font-size:.78rem;line-height:1.45;max-width:92%}
  .controls{margin-top:-20px;padding:11px;box-shadow:0 14px 34px rgba(0,0,0,.11)}
  .type-tabs{gap:6px}
  .type-tab{flex:1;padding:8px 10px;font-size:.76rem}
  .search-box{margin-top:9px}
  .search-box input{padding:11px 0;font-size:16px}
  .category-strip{gap:6px;padding-top:9px}
  .category-strip button{min-height:36px;padding:7px 11px;font-size:.72rem}
  .menu-content{padding:31px 0 76px}
  .menu-section{margin-bottom:38px}
  .section-head{margin-bottom:10px;padding-bottom:8px;align-items:center}
  .section-head h2{font-size:1.8rem;line-height:1.02}
  .section-price{font-size:.69rem}
  .item-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .menu-item{box-shadow:none}
  .item-media{height:94px}
  .item-placeholder{font-size:1.25rem}
  .item-main{padding:9px 8px 8px;gap:6px}
  .item-copy h3{font-size:1.03rem;line-height:1.03;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .item-copy p{font-size:.64rem;line-height:1.32;-webkit-line-clamp:2}
  .item-price-label{font-size:.69rem;line-height:1.25}
  .option-label{font-size:.57rem;margin-bottom:3px}
  .price-select{height:38px;font-size:.68rem;padding-left:6px;padding-right:22px}
  .add-button{min-height:42px;font-size:.65rem;padding:8px 5px}
  .cart-bar{width:calc(100% - 14px);bottom:max(7px,env(safe-area-inset-bottom));min-height:62px;padding-left:11px;gap:8px}
  .cart-bar-action{min-height:42px;padding:0 12px;font-size:.67rem}
  .cart-bar-copy strong{font-size:.76rem}
  .cart-bar-copy small{font-size:.66rem}
  .cart-drawer{width:100%;height:100dvh}
  .cart-head{padding-left:15px;padding-right:15px}
  .cart-body{padding:13px 14px 20px}
  .cart-footer{padding-left:14px;padding-right:14px}
  .menu-footer{padding-bottom:64px}
}

@media(max-width:330px){
  .item-grid{grid-template-columns:1fr}
  .item-media{height:145px}
  .item-copy h3{font-size:1.18rem}
}

@media(min-width:1280px){
  .item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}
