:root{--paper:#f5f2eb;--ink:#20231f;--muted:#72766e;--line:#d9d8cf;--accent:#b44b32;--green:#314b3e;--white:#fffdf8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}.topbar{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(32,35,31,.09)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{display:block;width:58px;height:42px;object-fit:contain;object-position:center;border:0;border-radius:0;flex:0 0 auto}.brand b{display:block;font-family:'Playfair Display',serif;font-size:21px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:1.4px;margin-top:3px;color:var(--muted)}.nav{display:flex;align-items:center;gap:30px}.nav a{text-decoration:none;font-size:15px}.nav a:hover{color:var(--accent)}.nav .nav-cta{border:1px solid var(--ink);padding:11px 18px;border-radius:30px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{min-height:620px;height:min(76vh,780px);position:relative;color:#fff;background:#3c4037 url('images/copertina-taverna.jpg') right center/cover no-repeat;display:flex;align-items:center;padding:7vw}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,24,19,.20),rgba(18,24,19,.04) 72%),linear-gradient(0deg,rgba(18,24,19,.08),transparent 35%)}.hero-content{position:relative;max-width:660px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2.1px;font-weight:700}.eyebrow{color:#e6b5a4}.hero h1,.section h2,.callout h2{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-1.5px;font-size:clamp(48px,6.5vw,88px);line-height:1.04;margin:22px 0}.hero h1 em,.section h2 em,.callout h2 em{font-weight:500;color:#d9a28e}.hero-copy{font-size:18px;line-height:1.8;color:#f0eee7;margin-bottom:28px}.button{display:inline-flex;align-items:center;gap:30px;text-decoration:none;padding:15px 20px;border-radius:3px;font-size:12px;font-weight:700}.button span{font-size:18px}.button-light{background:var(--white);color:var(--ink)}.button-dark{background:var(--ink);color:#fff}.hero-bottom{position:absolute;bottom:25px;left:7vw;right:7vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#e4e2da}.section{padding:105px 9vw}.section-kicker{color:var(--accent)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.section h2{font-size:clamp(38px,4.6vw,62px);margin:20px 0}.section h2 em{color:var(--accent)}.intro-grid p,.contact>div:first-child>p{font-size:17px;line-height:1.9;color:#64685f}.menu-section{background:var(--white);padding-top:90px;padding-bottom:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:280px;color:var(--muted);font-size:16px;line-height:1.8}.tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:25px 0 18px;margin-top:22px}.tab{border:1px solid var(--line);background:transparent;border-radius:30px;padding:12px 17px;font:inherit;font-size:15px;cursor:pointer;color:#555a52}.tab:hover,.tab.active{background:var(--green);border-color:var(--green);color:white}.menu-meta{font-size:14px;color:var(--muted);padding:22px 0 8px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5vw}.menu-item{padding:19px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px}.item-copy{min-width:0}.item-name{font-family:'Playfair Display',serif;font-size:21px;font-weight:600;margin:0 0 7px}.item-desc{font-size:16px;line-height:1.65;color:var(--muted);margin:0;max-width:450px}.item-price{font-size:17px;font-weight:700;white-space:nowrap;padding-top:3px}.menu-note{font-size:14px;color:var(--muted);line-height:1.7;margin-top:24px}.callout{background:#d9dfd4;padding:62px 9vw;display:flex;align-items:center;justify-content:space-between;gap:30px}.callout h2{font-size:clamp(34px,4vw,54px);margin:14px 0}.callout h2 em{color:var(--green)}.callout .eyebrow{color:var(--green)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact h2{font-size:clamp(40px,5vw,62px)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;align-content:center}.contact-details span{font-size:9px;letter-spacing:1.6px;color:var(--accent);font-weight:700}.contact-details p{font-size:13px;line-height:1.8}.contact-details small{color:var(--muted);font-size:11px}footer{padding:28px 6vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:20px;color:var(--muted);font-size:13px}.footer-brand{color:var(--ink)}footer>a:last-child{text-decoration:none}.empty-state{padding:35px 0;color:var(--muted)}@media(max-width:760px){.topbar{height:72px;padding:0 5vw}.menu-toggle{display:block}.nav{display:none;position:absolute;top:71px;left:0;right:0;padding:22px 5vw 26px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.nav.open{display:flex}.hero{min-height:590px;height:76vh;padding:8vw 6vw;background-position:58% center}.hero h1{font-size:58px}.hero-bottom{left:6vw;right:6vw;font-size:8px;gap:20px}.section{padding:72px 6vw}.intro-grid,.contact{grid-template-columns:1fr;gap:20px}.intro-grid{margin-top:15px}.section-heading{display:block}.section-heading>p{margin-top:18px}.menu-grid{grid-template-columns:1fr}.menu-item{padding:17px 0}.callout{padding:48px 6vw;display:block}.callout .button{margin-top:12px}.contact-details{margin-top:15px}footer{padding:24px 5vw;flex-wrap:wrap}footer>span{order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Modulo contatti */
.contact-form{background:var(--white);border:1px solid var(--line);padding:clamp(22px,4vw,38px);display:flex;flex-direction:column;gap:10px;align-self:start}
.form-intro h3{font-family:'Playfair Display',serif;font-size:29px;font-weight:500;margin:0 0 8px}
.form-intro p,.form-footnote,.form-privacy-note{font-size:11px;line-height:1.7;color:var(--muted)}
.form-intro p{margin:0 0 16px}
.contact-form>label:not(.privacy-consent){font-size:12px;font-weight:600;margin-top:7px}
.contact-form input:not([type="checkbox"]):not(.honeypot),.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:2px;background:#fffdf8;color:var(--ink);font:inherit;font-size:14px;padding:12px 13px;outline-offset:2px}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--green);border-color:var(--green)}
.privacy-consent{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;margin-top:8px}
.privacy-consent input{margin-top:3px;accent-color:var(--green)}
.form-privacy-note{margin:0;color:#8b4a32}
.form-submit{border:0;cursor:pointer;justify-content:space-between;margin-top:7px;font-family:inherit}
.form-footnote{margin:4px 0 0}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:760px){.contact-form{margin-top:10px;padding:24px 20px}}

/* Miglioria mobile: mantiene la foto originale, ma separa il testo dalle zone scure. */
@media (max-width: 600px) {
  .hero {
    min-height: 0;
    height: auto;
    padding: 30px 5vw 76px;
    align-items: flex-start;
    background-position: 62% center;
  }
  .hero-shade {
    background: linear-gradient(180deg, rgba(18,24,19,.04) 0%, rgba(18,24,19,.12) 100%);
  }
  .hero-content {
    width: 100%;
    max-width: none;
    padding: 25px 20px 26px;
    background: rgba(255,253,248,.97);
    color: var(--ink);
    border-radius: 3px;
    box-shadow: 0 8px 28px rgba(20,24,18,.12);
  }
  .hero .eyebrow { color: var(--accent); line-height: 1.6; font-size: 12px; }
  .hero h1 {
    color: var(--ink);
    font-size: clamp(39px, 11vw, 54px);
    line-height: 1.03;
    margin: 16px 0;
    letter-spacing: -1px;
  }
  .hero h1 em { color: var(--accent); }
  .hero-copy { color: #50544c; font-size: 17px; line-height: 1.7; margin-bottom: 21px; }
  .hero-bottom {
    left: 6vw;
    right: 6vw;
    bottom: 20px;
    color: #fffdf8;
    text-shadow: 0 1px 5px rgba(0,0,0,.7);
    font-size: 7px;
    letter-spacing: 1px;
  }
}

/* Leggibilità e logo aggiornati */
@media(max-width:760px){.brand-mark{width:52px;height:38px}.item-name{font-size:20px}.item-desc{font-size:16px;line-height:1.65}.item-price{font-size:17px}.tab{font-size:14px;padding:11px 14px}.menu-meta,.menu-note{font-size:14px}footer{font-size:12px;line-height:1.7}}

/* Desktop: foto naturale, testo su pannello chiaro dedicato */
@media (min-width: 761px) {
  .hero {
    color: var(--ink);
    background-color: #f5ead9;
  }
  .hero-shade {
    background: none;
  }
  .hero-content {
    max-width: 610px;
    padding: clamp(28px, 3.2vw, 48px);
    background: rgba(255, 250, 242, .94);
    color: var(--ink);
    border-left: 4px solid var(--accent);
  }
  .hero .eyebrow { color: var(--accent); }
  .hero h1 em { color: var(--accent); }
  .hero-copy { color: #505047; }
  .hero-bottom { color: #4c443b; }
}

/* Legenda numerata degli allergeni */
.allergen-legend{margin-top:34px;padding:26px 28px;background:#f5f2eb;border:1px solid var(--line);border-radius:8px}.allergen-legend h3{font-family:'Playfair Display',serif;font-size:25px;margin:0 0 8px;color:var(--ink)}.allergen-legend>p{font-size:15px;line-height:1.65;color:var(--muted)}.allergen-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px;padding-left:24px;margin:18px 0}.allergen-list li{font-size:16px;line-height:1.55;padding-left:3px}.allergen-legend .allergen-disclaimer{font-size:13px;margin-bottom:0}@media(max-width:600px){.allergen-legend{padding:21px 18px}.allergen-list{grid-template-columns:1fr;gap:7px}.allergen-list li{font-size:16px}}
