:root{--bg:#3c4448;--ink:#f3e4de;--acc:#e9c9c0;--line:rgba(243,228,222,.35)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{background:#394146;color:var(--ink);font-family:Inter,-apple-system,"Helvetica Neue",sans-serif;overflow-x:hidden}
#fishbg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.script{font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive}
#burger{position:fixed;top:18px;left:18px;z-index:50;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(40,46,50,.55);backdrop-filter:blur(14px);cursor:pointer}
#burger i{position:absolute;left:14px;width:20px;height:2px;background:var(--ink);transition:.4s cubic-bezier(.2,.8,.2,1)}
#burger i:nth-child(1){top:17px}#burger i:nth-child(2){top:23px}#burger i:nth-child(3){top:29px}
#burger.on i:nth-child(1){top:23px;transform:rotate(45deg)}#burger.on i:nth-child(2){opacity:0}#burger.on i:nth-child(3){top:23px;transform:rotate(-45deg)}
nav#drawer{position:fixed;inset:0;z-index:40;background:rgba(30,35,38,.82);backdrop-filter:blur(26px) saturate(150%);display:flex;align-items:center;gap:4vw;padding:0 9vw;opacity:0;visibility:hidden;transition:.5s;overflow-y:auto}
nav#drawer.on{opacity:1;visibility:visible}
nav#drawer .dnav{display:flex;flex-direction:column;justify-content:center;flex:0 1 auto;min-width:0}
nav#drawer a{font-size:clamp(2rem,6vw,3.6rem);font-weight:600;color:var(--ink);text-decoration:none;padding:.35rem 0;opacity:0;transform:translateY(24px);transition:.6s cubic-bezier(.2,.8,.2,1);letter-spacing:-.02em}
nav#drawer.on a{opacity:1;transform:none}
nav#drawer a:hover{color:var(--acc);padding-left:14px}
/* marchio nell'area sfocata del menu */
nav#drawer .dmark{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:24px;opacity:0;transform:translateY(26px) scale(.97);transition:.8s cubic-bezier(.2,.8,.2,1) .12s;pointer-events:none}
nav#drawer.on .dmark{opacity:1;transform:none}
nav#drawer .dmark img{width:min(100%,440px);height:auto;display:block;filter:drop-shadow(0 10px 40px rgba(0,0,0,.55))}
nav#drawer .dmark p{margin:0;max-width:440px;text-align:center;font-size:clamp(1rem,1.5vw,1.45rem);line-height:1.3;color:var(--acc);opacity:.92}
@media(min-width:901px){nav#drawer a{font-size:clamp(1.7rem,2.9vw,2.9rem)}}
@media(max-width:900px){nav#drawer{flex-direction:column;justify-content:center;gap:0;padding:34px 10vw}
 nav#drawer .dnav{flex:none;width:100%}
 nav#drawer .dmark{flex:none;order:-1;width:100%;margin-bottom:28px;gap:14px}
 nav#drawer .dmark img{width:min(74vw,320px)}
 nav#drawer .dmark p{font-size:.98rem;max-width:min(88vw,380px)}}
@media(max-height:620px) and (max-width:900px){nav#drawer .dmark p{display:none}nav#drawer .dmark img{width:min(54vw,230px)}}
#hero{height:100vh;min-height:520px;background:url(img/hero.jpg) center/cover;position:relative;display:flex;align-items:center;justify-content:center}
#hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:46%;background:linear-gradient(transparent,rgba(57,65,70,.5) 42%,#394146);z-index:1}
#hero small{position:absolute;bottom:26px;z-index:2;letter-spacing:.3em;font-size:.75rem;animation:b 2s infinite}
@keyframes b{50%{transform:translateY(8px)}}
section.s{border-top:1px solid var(--line);padding:110px 8vw;min-height:80vh;scroll-margin-top:0}
h2{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.03em;margin-bottom:2rem;font-weight:700}
.rv{opacity:0;transform:translateY(46px);transition:1s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}
@media(max-width:800px){.grid{grid-template-columns:1fr}}
.box{background:rgba(20,25,28,.55);border:1px solid var(--line);border-radius:22px;padding:34px;backdrop-filter:blur(10px)}
.box.prova{font-size:clamp(2.4rem,5vw,3.6rem);text-align:center;display:flex;align-items:center;justify-content:center;min-height:300px}
iframe{width:100%;height:100%;min-height:340px;border:0;border-radius:22px;filter:grayscale(.3)}
.rev{margin-top:60px;border:1px solid var(--line);border-radius:22px;padding:28px 0;overflow:hidden;background:rgba(20,25,28,.4)}
.track{display:flex;gap:20px;width:max-content;animation:sl 50s linear infinite}.rev:hover .track{animation-play-state:paused}
@keyframes sl{to{transform:translateX(-50%)}}
.card{width:320px;padding:22px;border-radius:16px;background:rgba(243,228,222,.09);border:1px solid var(--line);font-size:.92rem;line-height:1.5}
.card b{display:block;margin-top:10px;color:var(--acc)}
a.lk,a.lk:link,a.lk:visited,a.lk:hover,a.lk:active,a.lk:focus{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:.3s}
a.lk:hover{text-decoration-thickness:2px}
details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:600}
summary:after{content:"⌄";transition:.4s}details[open] summary:after{transform:rotate(180deg)}
details p{margin-top:10px;opacity:.8}
input,textarea,select{width:100%;padding:14px 16px;margin:6px 0 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--ink);font:inherit}
label{font-size:.82rem;opacity:.8}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.btn{display:inline-block;padding:15px 34px;border-radius:99px;border:0;background:var(--ink);color:#2b3236;font-weight:600;cursor:pointer;text-decoration:none;transition:.4s;font-size:1rem}
.btn:hover{transform:scale(1.05);background:#fff}
.send{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.send small{font-size:.68rem;opacity:.7;max-width:300px}
#msg{margin-top:14px;font-weight:600}.err{color:#ffb3a7}
.big{display:grid;grid-template-columns:1fr 1fr;gap:34px}.big a{padding:80px 20px;text-align:center;font-size:2rem;border:1px solid var(--line);border-radius:26px;color:var(--ink);text-decoration:none;background:rgba(20,25,28,.55);transition:.5s cubic-bezier(.2,.8,.2,1)}.big a:hover{transform:translateY(-8px) scale(1.02);background:rgba(243,228,222,.14)}
@media(max-width:800px){.big{grid-template-columns:1fr}}
.gal{columns:3 240px;gap:16px}.gal figure{position:relative;margin-bottom:16px;overflow:hidden;border-radius:16px}
.gal img{width:100%;display:block;transition:.8s cubic-bezier(.2,.8,.2,1)}.gal figure:hover img{transform:scale(1.06)}
.gal a{position:absolute;right:10px;bottom:10px;background:rgba(20,25,28,.7);color:var(--ink);padding:8px 14px;border-radius:99px;font-size:.8rem;text-decoration:none;opacity:0;transition:.4s}.gal figure:hover a{opacity:1}
footer{border-top:1px solid var(--line);padding:26px 8vw;background:rgba(20,25,28,.75);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;font-size:.85rem}
footer nav a{color:var(--ink);margin-right:16px;text-decoration:none;opacity:.8}footer nav a:hover{opacity:1}
#pend .it{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}
.st{float:right;padding:2px 12px;border-radius:99px;background:#e9c96a;color:#222;font-size:.75rem}
#hero{height:100svh;overflow:hidden;background:#394146}
.sl{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transform:scale(1.07);transition:opacity 1.4s ease}
.sl.on{opacity:1;transform:scale(1);transition:opacity 1.4s ease,transform 8s linear}
#hero:before{content:"";position:absolute;inset:0;z-index:1;background:rgba(20,25,28,.3);opacity:0;transition:1s}#hero.txt:before{opacity:1}
#hero h1{position:relative;z-index:2;margin:0;width:min(74vw,700px);opacity:0;transition:1.2s}#hero.txt h1{opacity:1}
#hero h1 img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 38px rgba(0,0,0,.6))}
#dots{position:absolute;bottom:62px;z-index:3;display:flex;gap:10px}#dots i{width:8px;height:8px;border-radius:9px;background:#fff5;cursor:pointer;transition:.5s}#dots i.on{width:28px;background:#fff}
.hq{position:absolute;left:max(26px,5vw);bottom:clamp(92px,13vh,128px);z-index:3;margin:0;max-width:min(560px,calc(100% - 52px));text-align:left;font-size:clamp(.85rem,2.3vw,1.7rem);line-height:1.2;color:#fff;text-shadow:0 3px 24px #000c,0 0 6px #0009;pointer-events:none}
.hq:after{content:"";display:block;margin:clamp(10px,1.4vh,16px) auto 0 0;width:clamp(50px,9vw,110px);height:2px;background:linear-gradient(90deg,var(--acc),transparent);opacity:.85}
@media(max-width:600px){#dots{bottom:92px}.hq{bottom:126px;font-size:clamp(.78rem,3vw,1.05rem);max-width:calc(100% - 40px)}}
.cards{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ev{background:rgba(20,25,28,.55);border:1px solid var(--line);border-radius:22px;overflow:hidden}.ev img{width:100%;height:220px;object-fit:cover}.ev div{padding:24px}.ev h3{margin:6px 0}.ev p{opacity:.8}
.st.Confermata{background:#9ad6a4}.st.Rifiutata{background:#f0a49a}
.carta{max-width:820px;margin:0 auto;padding:30px 5vw 80px}.carta h1{font-size:3.4rem;font-weight:400;text-align:center;margin:30px 0}
.bar{display:flex;justify-content:space-between;align-items:center}.bar a{color:var(--ink)}
.carta h2{margin:50px 0 6px;border-bottom:1px solid var(--line);padding-bottom:10px;font-family:Georgia,serif;letter-spacing:.06em}.note{opacity:.7;font-style:italic}
.dish{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #fff1}.dish img,.ph{width:84px;height:84px;border-radius:14px;object-fit:cover;flex:none}
.ph{background:url(img/pattern.jpg) center/300px;opacity:.6}.tx{flex:1}.tx b,.tx em,.tx small{display:block}.tx em{opacity:.75}.tx small{opacity:.55;font-size:.75rem}.pr{font-weight:600;white-space:nowrap}
@media print{#fishbg,.bar,#lb{display:none}body{background:#fff;color:#222}.carta h2,.dish{border-color:#999}.dish{break-inside:avoid}.ph{display:none}.carta{max-width:none}}

/* galleria / eventi / menu: foto apribili */
.zoom,.gal figure,.ev img,.dish img{cursor:zoom-in}
.gal figure:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
#lb{position:fixed;inset:0;z-index:100;background:rgba(14,18,20,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
#lb.on{opacity:1;visibility:visible}
#lb img{max-width:94vw;max-height:86vh;border-radius:12px;box-shadow:0 20px 80px #000a;transform:scale(.96);transition:transform .4s cubic-bezier(.2,.8,.2,1);cursor:default}
#lb.on img{transform:none}
#lb button{position:absolute;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(40,46,50,.7);color:var(--ink);font-size:1.4rem;cursor:pointer;line-height:1}
#lb button:hover{background:rgba(243,228,222,.2)}
#lb .x{top:18px;right:18px}#lb .pv{left:16px;top:50%;margin-top:-23px}#lb .nx{right:16px;top:50%;margin-top:-23px}
#lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:.85rem;opacity:.8;margin:0;padding:0 70px}
#lb.one .pv,#lb.one .nx{display:none}
/* carta dei vini: righe compatte */
.dish.nl{padding:10px 0}
.pr small{display:block}
.st[data-s="Confermata"]{background:#9ad6a4}.st[data-s="Rifiutata"]{background:#f0a49a}.st[data-s="In attesa"]{background:#e9c96a}
.carta{background:rgba(26,31,34,.62);backdrop-filter:blur(4px);border-radius:24px;margin:24px auto}
@media print{.carta{background:none;backdrop-filter:none}}

/* ---------- banner cookie ---------- */
#ckb{position:fixed;left:50%;bottom:18px;z-index:95;width:min(760px,calc(100vw - 32px));transform:translate(-50%,calc(100% + 40px));opacity:0;transition:.45s cubic-bezier(.2,.8,.2,1);display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:20px 24px;border-radius:20px;border:1px solid var(--line);background:rgba(22,27,30,.94);backdrop-filter:blur(18px);box-shadow:0 20px 60px #0008}
#ckb.on{transform:translate(-50%,0);opacity:1}
#ckb .ckt{flex:1 1 330px;min-width:0}#ckb b{font-size:1rem}#ckb p{margin:6px 0 0;font-size:.82rem;opacity:.78;line-height:1.5}
#ckb .cka{display:flex;gap:10px;flex-wrap:wrap}
.btn.gh{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.gh:hover{background:rgba(243,228,222,.14)}
@media(max-width:560px){#ckb{padding:18px;gap:14px}#ckb .cka{width:100%}#ckb .cka .btn{flex:1}}
@media print{#ckb,#lang{display:none}}

/* ---------- selettore lingua ---------- */
#lang{position:fixed;top:18px;right:18px;z-index:50;display:flex;align-items:center;gap:6px;padding:0 6px 0 14px;height:48px;border-radius:99px;border:1px solid var(--line);background:rgba(40,46,50,.55);backdrop-filter:blur(14px)}
#lang b{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75;font-weight:600}
#lang select{width:auto;margin:0;padding:8px 10px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.86rem;cursor:pointer;-webkit-appearance:none;appearance:none}
#lang select option{background:#2b3236;color:var(--ink)}
#lang:after{content:"⌄";margin-right:8px;opacity:.7;pointer-events:none}
#lang.inbar{position:static;height:40px;padding:0 4px 0 12px;order:3}
.carta .bar{gap:12px;flex-wrap:wrap}
@media(max-width:560px){#lang{height:42px;padding:0 4px 0 10px}#lang b{display:none}}
.tr-busy{opacity:.45;transition:opacity .2s}
