#menuTabs{
--brand-green:#015E33;
--brand-gold:#D1A433;
--brand-gold-2:#FFC107;
--ink:#111214;
--paper:#fff;
--paper-edge:#E7E4D8;
--cream:#FFF6E6;
border-radius:20px;
background:var(--paper); color:var(--ink); font-family:"Mulish",sans-serif;
}
@media(min-width:1024px){ #menuTabs{ background:#fff; } }
#menuTabs .wrap{ max-width:1200px; margin:20px auto; padding:30px; }
#menuTabs .num{ font-family:"Mulish",system-ui,Segoe UI,Roboto,Arial; font-weight:800; letter-spacing:.2px; } #menuTabs .filters{ position:relative; background:#fff; border:2px solid #ffc107; border-radius:16px; padding:10px; margin-bottom:14px; }
#menuTabs .filters::before,#menuTabs .filters::after{ content:""; position:absolute; top:10px; bottom:10px; width:22px; pointer-events:none; z-index:2; }
#menuTabs .filters::before{ left:10px; background:transparent; }
#menuTabs .filters::after{ right:10px; background:linear-gradient(90deg, rgba(252,251,247,0), rgba(252,251,247,1)); }
#menuTabs .filter-rail{ position:relative; z-index:3; border-radius:12px; padding:6px 0; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; scrollbar-width:none; display:flex; gap:6px; align-items:center; justify-content:flex-start; scroll-snap-type:x proximity; }
#menuTabs .filter-rail::-webkit-scrollbar{ display:none; }
#menuTabs .filter{ appearance:none; border:0; background:transparent; scroll-snap-align:center; color:var(--brand-green); font-family:"Bright Melody", Georgia, serif; font-weight:800; letter-spacing:.2px; padding:10px 16px; border-radius:14px; cursor:pointer; transition:.15s; font-size:16px; line-height:1; min-height:40px; }
#menuTabs .filter:hover{ transform:translateY(-1px); }
#menuTabs .filter:focus-visible{ outline:3px solid rgba(255,193,7,.35); outline-offset:2px; }
#menuTabs .filter.active{ background:var(--cream); color:var(--brand-gold); border:1px solid #ffc107; }
@media (max-width:767.98px){
#menuTabs .filter-rail{ justify-content:flex-start; gap:0; }
#menuTabs .filter{ font-size:16px; padding:8px 12px; min-height:36px; }
#menuTabs .wrap{ margin:20px auto; padding:20px; }
} #menuTabs .section-title{ font-family:"Bright Melody", Georgia, serif; color:var(--brand-gold); font-size:1.9rem; line-height:1.1; letter-spacing:.4px; margin:22px 6px 10px; text-transform:none; }
@media(min-width:1024px){ #menuTabs .section-title{ font-size:2.1rem; margin:26px 6px 12px; } }
#menuTabs .section-title.sub{ margin-top:30px; } #menuTabs .section-note{ margin:2px 6px 10px; font-size:.95rem; color:#3b3c3c; }
#menuTabs .section-note em{ font-style:normal; font-weight:700; color:var(--brand-green); } #menuTabs .menu-list{ display:grid; grid-template-columns:1fr; gap:8px; }
@media(min-width:1024px){ #menuTabs .menu-list{ grid-template-columns:1fr 1fr; gap:10px 24px; } }
#menuTabs .row{ background:#fff; border:1px solid var(--paper-edge); border-radius:10px; padding:10px 14px; }
#menuTabs .line{ display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:16px; padding:2px 0 6px; border-bottom:1px solid #E9ECEF; }
#menuTabs .name{ font-family:"Bright Melody", Georgia, serif; color:var(--brand-green); font-size:1.3rem; line-height:1.2; letter-spacing:.3px; margin:0; text-transform:none; }
#menuTabs .price{ font-weight:800; color:#06603A; font-feature-settings:"tnum" 1,"lnum" 1; white-space:nowrap; }
#menuTabs .desc{ margin:0; font-size:1rem; color:#252626; padding:10px 0; } #menuTabs .ruota{ display:inline-flex; align-items:center; gap:6px; margin-top:8px; padding:4px 10px; border-radius:999px; font-size:.82rem; font-weight:800; line-height:1; color:var(--brand-green); background:var(--cream); border:1px solid #ffc107; }
#menuTabs .ruota i{ color:var(--brand-gold); }
#menuTabs .ruota + .allergens{ margin-top:8px; } #menuTabs .tab{ display:none !important; }
#menuTabs .tab.active{ display:block !important; } #menuTabs .filter.special{ color:var(--brand-gold); }
#menuTabs .filter.special.active{ background:var(--cream); color:var(--brand-gold); border:1px solid #ffc107; } #menuTabs .degu-wrap{ max-width:100%; margin:0 auto; border-radius:14px; overflow:hidden; }
#menuTabs .degu-top{ background:#C69B2A; padding:clamp(20px,4vw,32px) clamp(16px,4vw,32px) clamp(18px,3vw,26px); text-align:center; }
#menuTabs .degu-top .degu-top-title{ font-family:"Bright Melody",Georgia,serif; font-size:clamp(2rem,6vw,3.2rem); color:#fff; line-height:1; text-transform:uppercase; letter-spacing:1px; margin:0 0 8px; font-weight:400; }
#menuTabs .degu-top .degu-top-title strong{ display:block; font-weight:900; letter-spacing:2px; }
#menuTabs .degu-top .degu-top-sub{ font-size:clamp(.85rem,2vw,1rem); color:#fff; opacity:.92; font-style:italic; margin:0; }
#menuTabs .degu-menu-body{ background:#fff; padding:clamp(18px,4vw,28px) clamp(16px,5vw,48px) clamp(20px,4vw,30px); text-align:center; }
#menuTabs .degu-menu-body h3{ font-family:"Bright Melody",Georgia,serif; color:var(--brand-green); font-size:clamp(1.6rem,4vw,2rem); margin:0 0 16px; }
#menuTabs .degu-portate{ display:flex; flex-direction:column; gap:0; margin:0 auto; padding:0; list-style:none; max-width:460px; }
#menuTabs .degu-portata{ padding:10px 0; border-bottom:1px solid #f0ece0; }
#menuTabs .degu-portata:last-child{ border-bottom:0; }
#menuTabs .degu-portata .p-label{ font-size:.72rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:#111; margin:0 0 2px; }
#menuTabs .degu-portata .p-name{ font-size:clamp(.9rem,2vw,1rem); color:#444; margin:0; }
#menuTabs .degu-esperienza{ background:#C69B2A; padding:clamp(18px,4vw,26px) clamp(16px,4vw,32px); text-align:center; }
#menuTabs .degu-esperienza h2{ font-family:"Bright Melody",Georgia,serif; font-size:clamp(1.6rem,4vw,2.1rem); color:#fff; margin:0 0 8px; font-style:italic; }
#menuTabs .degu-esperienza p{ font-size:clamp(.85rem,2vw,.95rem); color:#fff; opacity:.93; margin:0; line-height:1.6; }
#menuTabs .degu-incluso{ background:#fff; padding:clamp(18px,4vw,26px) clamp(16px,4vw,32px) clamp(16px,3vw,22px); text-align:center; }
#menuTabs .degu-incluso h4{ font-family:"Bright Melody",Georgia,serif; color:var(--brand-green); font-size:clamp(1.3rem,3.5vw,1.7rem); margin:0 0 10px; }
#menuTabs .degu-incluso ul{ list-style:none; margin:0 0 18px; padding:0; display:flex; flex-direction:column; gap:5px; }
#menuTabs .degu-incluso li{ font-size:clamp(.88rem,2vw,.95rem); color:#444; }
#menuTabs .degu-prezzo{ font-family:"Bright Melody",Georgia,serif; color:#C69B2A; font-size:clamp(1.4rem,4vw,2rem); margin:0 0 12px; line-height:1.2; }
#menuTabs .degu-prezzo span{ font-family:"Mulish",sans-serif; font-weight:900; }
#menuTabs .degu-fine{ font-size:clamp(.72rem,1.8vw,.8rem); font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#333; line-height:1.8; margin:0; } #menuTabs .allergens{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
#menuTabs .allergens:empty{ display:none; }
#menuTabs .alg{ display:inline-flex; align-items:center; gap:6px; padding:4px 8px; border-radius:999px; font-size:.85rem; line-height:1; background:var(--cream); border:1px solid #F2D9A6; color:#7a5d00; }
#menuTabs .alg .fa-solid{ width:16px; height:16px; display:inline-grid; place-items:center; }
@media (max-width:767.98px){ #menuTabs .alg{ font-size:.78rem; padding:3px 6px; } #menuTabs .alg .fa-solid{ font-size:.85rem; } }
@media (max-width:420px){ #menuTabs .alg .lbl{ display:none; } } #menuTabs .bev-row{ display:grid; grid-template-columns:64px 1fr; column-gap:14px; align-items:start; }
#menuTabs .bev-media{ display:flex; justify-content:center; align-items:flex-start; padding-top:4px; }
#menuTabs .bev-img{ display:block; height:150px; width:auto; max-width:100%; object-fit:contain; filter:drop-shadow(0 4px 6px rgba(0,0,0,.18)); }
#menuTabs .bev-img.wide{ height:auto; width:64px; }
#menuTabs .bev-brand{ display:block; font-size:.72rem; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; color:var(--brand-gold); margin-bottom:2px; }
#menuTabs .bev-style{ display:block; font-size:.9rem; font-style:italic; color:#555; margin-top:2px; }
#menuTabs .bev-body .desc{ font-size:.95rem; font-style:italic; }
#menuTabs .bev-meta{ display:flex; gap:6px; flex-wrap:wrap; margin-top:2px; }
#menuTabs .chip{ display:inline-block; padding:4px 9px; border-radius:999px; font-size:.8rem; font-weight:700; line-height:1; background:var(--cream); border:1px solid #ffc107; color:var(--brand-green); }
#menuTabs .chip.soft{ border-color:#F2D9A6; color:#7a5d00; font-weight:600; }
#menuTabs .price small{ font-size:.75rem; font-weight:700; color:#7a5d00; margin-right:4px; }
@media (max-width:420px){
#menuTabs .bev-row{ grid-template-columns:52px 1fr; column-gap:10px; }
#menuTabs .bev-img{ height:125px; }
#menuTabs .bev-img.wide{ width:52px; }
}