:root{--kraft:#f2e3c6;--wood:#5a3a22;--dark:#2a1710;--gold:#e8a33d;--red:#a3201c;--green:#5c7a2e}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:400 17px/1.6 Barlow,sans-serif;color:var(--dark);background:var(--kraft);overflow-x:hidden}
h1,h2,h3{font-family:'Alfa Slab One',serif;font-weight:400;text-transform:uppercase;line-height:1.05}
.hand{font-family:'Permanent Marker',cursive;color:var(--red)}
img{display:block;max-width:100%}
a{color:inherit}

/* barra e menu */
.top{background:var(--red);color:#fff;font-weight:600;font-size:14px;padding:8px 5vw;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.top a{color:var(--gold);text-decoration:none}
nav{display:flex;justify-content:space-between;align-items:center;padding:8px 5vw;background:var(--dark);position:sticky;top:0;z-index:20}
nav img{height:64px;margin:-4px 0 -18px;filter:drop-shadow(0 3px 4px #0008)}
nav div{display:flex;gap:26px;font-weight:600;text-transform:uppercase;font-size:14px}
nav a{text-decoration:none;color:var(--kraft)}
nav a:hover{color:var(--gold)}

/* hero */
.hero{position:relative;min-height:88vh;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 5vw 160px;
 background:linear-gradient(#0003,#0008),url(img/h/loc-torbiato-03.jpg) center 40%/cover fixed;overflow:hidden}
.sun{position:absolute;width:140vmax;height:140vmax;left:50%;top:50%;translate:-50% -50%;opacity:.07;
 background:repeating-conic-gradient(var(--gold) 0 6deg,transparent 6deg 18deg);animation:spin 120s linear infinite}
@keyframes spin{to{rotate:360deg}}
.hero .in{position:relative;max-width:900px}
.hero .hand{color:var(--gold);font-size:clamp(1.3rem,3vw,2rem);rotate:-3deg;display:inline-block}
.hero h1{font-size:clamp(2.6rem,8vw,6rem);margin:12px 0 20px;text-shadow:0 4px 0 var(--red),0 8px 24px #000a}
.hero p{font-size:1.2rem;max-width:620px;margin:auto}
.btn{display:inline-block;margin-top:28px;background:var(--gold);color:var(--dark);padding:16px 36px;border-radius:6px;font:400 1.05rem 'Alfa Slab One';text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;box-shadow:0 6px 0 var(--wood);transition:.15s;letter-spacing:.03em}
.btn:hover{translate:0 3px;box-shadow:0 3px 0 var(--wood)}
.btn.red{background:var(--red);color:#fff}
/* steccato: dentini a punta */
.fence{position:absolute;left:0;right:0;bottom:-1px;height:50px;background:var(--kraft);
 -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/50px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/50px 100%}

/* nastro scorrevole */
.marq{background:var(--red);color:var(--kraft);overflow:hidden;white-space:nowrap;rotate:-1.2deg;margin:-20px -10px 0;padding:12px 0;position:relative;z-index:3;box-shadow:0 6px 16px #0004}
.marq span{display:inline-block;font:400 1.3rem 'Alfa Slab One';text-transform:uppercase;animation:mq 28s linear infinite;padding-right:0}
@keyframes mq{to{translate:-50%}}

section{padding:96px 5vw;position:relative}
.wrap{max-width:1100px;margin:auto}
h2{font-size:clamp(2rem,5vw,3.4rem);color:var(--wood);margin-bottom:20px}
.eyebrow{font-family:'Permanent Marker';color:var(--red);font-size:1.4rem;rotate:-2deg;display:inline-block;margin-bottom:6px}

/* storia + polaroid */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pol{background:#fff;padding:12px 12px 44px;box-shadow:0 10px 30px #0004;position:relative}
.pol img{width:100%;aspect-ratio:1;object-fit:cover}
.pol::after{content:attr(data-t);position:absolute;bottom:10px;left:0;right:0;text-align:center;font:1.2rem 'Permanent Marker';color:var(--wood)}
.stack{position:relative;min-height:440px}
.stack .pol{position:absolute;width:64%}
.stack .pol:nth-child(1){left:0;top:0;rotate:-6deg}
.stack .pol:nth-child(2){right:0;bottom:0;rotate:5deg}
.tape{position:absolute;top:-14px;left:50%;translate:-50%;width:90px;height:26px;background:#e8d9a066;rotate:3deg}
.split p+p{margin-top:16px}

/* numeri su legno */
.wood{background:repeating-linear-gradient(90deg,#4a2f1c 0 120px,#553520 120px 122px,#4f3220 122px 260px,#5a3a22 260px 262px);color:var(--kraft)}
.wood h2{color:var(--gold);text-align:center}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;text-align:center;margin-top:36px}
.nums div{font:400 clamp(3rem,7vw,4.6rem) 'Alfa Slab One';color:var(--gold);line-height:1}
.nums small{display:block;font:600 .9rem Barlow;letter-spacing:.12em;text-transform:uppercase;color:var(--kraft);margin-top:10px}

/* sfida */
.sfida{background:var(--gold);text-align:center;overflow:hidden}
.sfida h2{color:var(--dark);font-size:clamp(2.4rem,7vw,5rem)}
.sfida .badge{display:inline-grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--red);color:#fff;font:1.5rem/1 'Alfa Slab One';rotate:-12deg;border:6px double var(--kraft);margin-bottom:12px;animation:wob 3s ease-in-out infinite}
@keyframes wob{50%{rotate:-4deg;scale:1.06}}
.sfida p{max-width:600px;margin:auto;font-size:1.15rem}

/* cartelli di legno */
.signs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px;margin-top:48px}
.sign{background:var(--wood);color:var(--kraft);text-align:center;padding:36px 16px 28px;border-radius:8px;position:relative;box-shadow:0 8px 0 var(--dark);border:3px solid #7a5230;transform-origin:top center;animation:sw 5s ease-in-out infinite}
.sign:nth-child(2n){animation-delay:-2s}.sign:nth-child(3n){animation-delay:-3.5s}
@keyframes sw{50%{rotate:1.6deg}}
.sign::before,.sign::after{content:'';position:absolute;top:-34px;width:3px;height:34px;background:var(--dark)}
.sign::before{left:24%}.sign::after{right:24%}
.sign small{display:block;font:600 .85rem Barlow;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.sign b{display:block;font:400 clamp(1.4rem,2.4vw,1.8rem) 'Alfa Slab One';margin-top:6px}
.note{margin-top:36px;text-align:center;font-size:.95rem;color:#7a5c40}

/* passi */
.steps{display:grid;gap:0;margin-top:40px;position:relative;counter-reset:s}
.steps::before{content:'';position:absolute;left:31px;top:0;bottom:0;border-left:4px dashed var(--wood)}
.step{display:flex;gap:28px;align-items:flex-start;padding:0 0 36px;position:relative}
.step::before{counter-increment:s;content:counter(s);flex:none;width:66px;height:66px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font:1.8rem 'Alfa Slab One';border:4px solid var(--kraft);z-index:1}
.step h3{font-size:1.5rem;color:var(--wood);margin-bottom:4px;padding-top:10px}

/* galleria scorrevole */
.gal{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:30px 5vw 50px;margin:0 -5vw}
.gal .pol{flex:none;width:min(300px,75vw);scroll-snap-align:center}
.gal .pol:nth-child(odd){rotate:-3deg}.gal .pol:nth-child(even){rotate:3deg;margin-top:20px}
.gal .pol:hover{rotate:0deg;scale:1.05;z-index:2}
.gal .pol{transition:.25s}

/* contatti */
.contact{background:var(--dark);color:var(--kraft)}
.contact h2{color:var(--gold)}
.contact .box{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.cow{font-size:6rem;line-height:1;display:block;margin-bottom:8px}
form{display:grid;gap:12px}
input,select,textarea{font:inherit;padding:14px;border:2px solid var(--wood);border-radius:6px;width:100%;background:var(--kraft);color:var(--dark)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--gold)}
label.ck{font-size:14px;display:flex;gap:8px;align-items:flex-start}label.ck input{width:auto;margin-top:5px}
#ok{display:none;font:1.3rem 'Permanent Marker';color:var(--gold)}
footer{background:#170b07;color:var(--kraft);padding:48px 5vw;font-size:14px;text-align:center}
footer img{height:100px;margin:0 auto 16px}
footer a{margin:0 10px;color:var(--gold)}


/* app */
.appsec{background:var(--wood);color:var(--kraft);overflow:hidden}
.appsec h2{color:var(--gold)}
.appsec .box{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.phones{position:relative;aspect-ratio:1/1.2}
.phones img{position:absolute;width:48%;border-radius:26px;border:6px solid var(--dark);box-shadow:0 20px 40px #0008;background:#fff}
.phones img:nth-child(1){left:0;top:40px;rotate:-6deg}
.phones img:nth-child(2){left:26%;top:0;rotate:2deg;z-index:2}
.phones img:nth-child(3){right:0;top:60px;rotate:8deg}
.feat{list-style:none;padding:0;margin:20px 0}
.feat li{padding:6px 0 6px 38px;position:relative}
.feat li::before{content:'⭐';position:absolute;left:0}
.stores{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}
.stores a{background:var(--dark);color:var(--kraft);padding:14px 24px;border-radius:10px;text-decoration:none;font:600 16px Barlow;border:2px solid var(--gold)}
.stores img{width:96px;border-radius:8px;background:#fff;padding:4px}
@media(max-width:800px){.appsec .box{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;translate:0 40px;transition:.7s}
.rv.on{opacity:1;translate:0}
@media(max-width:800px){nav div{display:none}.split,.contact .box{grid-template-columns:1fr}.stack{min-height:380px}section{padding:64px 5vw}.hero{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;translate:0}}

/* condivisi nuove pagine */
.page-hero{position:relative;text-align:center;color:#fff;padding:90px 5vw 120px;overflow:hidden;background:linear-gradient(#000a,#000c),var(--bg,url(img/h/burger-tavolo.jpg)) center/cover}
.page-hero h1{font-size:clamp(2.4rem,7vw,4.6rem);text-shadow:0 4px 0 var(--red),0 8px 24px #000a;margin:8px 0 12px}
.page-hero .hand{color:var(--gold);font-size:1.6rem;display:inline-block;rotate:-3deg}
.page-hero p{max-width:620px;margin:auto}
.page-hero .in{position:relative}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px;margin-top:36px}
.card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #0002;display:flex;flex-direction:column;transition:.2s}
.card:hover{translate:0 -4px}
.card .im{aspect-ratio:16/10;background:var(--gold) center/cover}
.card .tx{padding:20px;display:flex;flex-direction:column;flex:1;gap:8px}
.card h3{font-size:1.25rem;color:var(--wood)}
.card .btn{margin-top:auto;align-self:flex-start;padding:10px 22px;font-size:.9rem;box-shadow:0 4px 0 var(--wood)}
.card a.tl{color:var(--red);font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.faq details{background:#fffaf0;border:3px solid var(--wood);border-radius:10px;padding:16px 22px;margin-bottom:14px;box-shadow:0 5px 0 var(--wood)}
.faq summary{font:400 1.15rem 'Alfa Slab One';text-transform:uppercase;color:var(--wood);cursor:pointer}
.faq details p{margin-top:10px}
.prose p+p{margin-top:16px}.prose h2{margin-top:36px}
.hours td{padding:3px 14px 3px 0;vertical-align:top}
.pill{display:inline-block;background:var(--red);color:#fff;border-radius:999px;padding:3px 14px;font-weight:600;font-size:.85rem;text-transform:uppercase}
.bar{display:none}
#menu-toggle{display:none;background:none;border:2px solid var(--gold);color:var(--gold);font:600 14px Barlow;padding:6px 12px;border-radius:6px;text-transform:uppercase;cursor:pointer}
@media(max-width:1000px){nav div{display:none}#menu-toggle{display:block}nav.open div{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--dark);padding:16px 5vw 24px;gap:14px}
.bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--dark);padding:8px;gap:8px;box-shadow:0 -4px 14px #0006}
.bar a{flex:1;text-align:center;padding:12px 6px;border-radius:6px;font:600 14px Barlow;text-transform:uppercase;text-decoration:none;background:var(--kraft);color:var(--dark)}
.bar a+a{background:var(--red);color:#fff}body{padding-bottom:62px}.two{grid-template-columns:1fr}}

/* telefono: niente scorrimento laterale, meno animazioni pesanti */
html,body{overflow-x:clip;max-width:100%;overscroll-behavior-x:none}
.marq{margin:-20px 0 0}
@media(max-width:800px){.sun{animation:none;width:200vw;height:200vw}.hero,.page-hero{background-attachment:scroll}.sign{animation:none}.sfida .badge{animation:none}}

.biglogo{display:block;height:170px;width:auto;margin:0 auto 14px;filter:drop-shadow(0 6px 14px #000a)}
.page-hero .biglogo{height:130px}
@media(max-width:800px){.biglogo{height:130px}.page-hero .biglogo{height:100px}}

.card,.card:hover{text-decoration:none;color:inherit}

.card .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:10px}
.card .btns .btn{margin-top:0;padding:10px 18px;font-size:.85rem;align-self:auto}
.btn.dk{background:var(--dark);color:var(--kraft)}

/* le locandine delle novita si vedono intere, senza tagli */
.card.nv .im{aspect-ratio:1200/666;background-size:cover}

/* foto intere, senza tagli: la foto si vede tutta e ai lati resta una sfocatura dello stesso scatto */
.card .im,.tile .im{position:relative;overflow:hidden;background-color:var(--dark)}
.card .im::before,.tile .im::before,.card .im::after,.tile .im::after{content:'';position:absolute;inset:0;background-image:inherit;background-position:center;background-repeat:no-repeat}
.card .im::before,.tile .im::before{background-size:cover;filter:blur(16px) brightness(.75);transform:scale(1.25)}
.card .im::after,.tile .im::after{background-size:contain}
.pol img{aspect-ratio:auto!important;height:auto;object-fit:contain}
.stack{min-height:520px}
.dish>img{object-fit:contain!important;background:var(--kraft)}
@media(max-width:800px){.stack{min-height:460px}}

.gal{align-items:flex-start}/*album*/

/* popup prenotazione */
.pp{position:fixed;inset:0;background:#000c;z-index:100;display:none;place-items:center;padding:14px}
.pp.on{display:grid}
.pp .bx{background:var(--kraft);border-radius:16px;width:100%;max-width:480px;max-height:94vh;overflow:auto;padding:30px 24px 24px;position:relative;text-align:center;box-shadow:0 20px 60px #000a}
.pp.fr .bx{max-width:600px;padding:44px 10px 12px;background:#1a110c}
.pp .x{position:absolute;right:10px;top:4px;font-size:34px;line-height:1;background:none;border:0;cursor:pointer;color:var(--wood)}
.pp.fr .x{color:#fff}
.pp h3{font-size:1.8rem;color:var(--wood);margin-bottom:6px}
.pp p{color:#5a4636}
.pp .sedi{display:grid;gap:12px;margin-top:20px}
.pp .sedi button{border:3px solid var(--wood);background:#fffaf0;border-radius:12px;padding:16px 14px;cursor:pointer;font:inherit;color:var(--dark);box-shadow:0 5px 0 var(--wood);transition:.15s}
.pp .sedi button:hover{background:var(--gold)}
.pp .sedi b{display:block;font:400 1.5rem 'Alfa Slab One',serif;text-transform:uppercase;color:var(--red)}
.pp .sedi small{display:block;margin-top:4px;font-size:.92rem}
.pp iframe{width:100%;height:calc(94vh - 130px);min-height:420px;border:0;border-radius:10px;background:#1a110c}
.pp .sub{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:14px}
.pp .sub a,.pp .sub button{color:#e8a33d;background:none;border:0;cursor:pointer;font:inherit;text-decoration:underline}
.pp.mn .bx{max-width:560px}
.pp .mnimg{display:block;width:100%;margin-top:12px;border-radius:10px;box-shadow:0 6px 18px #0004}
.pp h3.pt{font-size:1.4rem;margin-top:20px}
.pp .sedi.due{grid-template-columns:1fr 1fr;margin-top:12px}
