/*
Theme Name: Acquedotto43
Theme URI: https://acquedotto43.it
Author: uSocial
Description: Tema custom per la pizzeria Acquedotto43 — La pizza secondo Michele Maresca — sistema di prenotazione a due sale e tre turni serali.
Version: 6.5.1
License: GNU General Public License v2 or later
Text Domain: a43
*/


:root{
	--bg:#04142e;          /* blu scuro profondo */
	--bg2:#062044;         /* blu scuro secondario */
	--bg3:#0a2f5e;         /* blu medio */
	--text:#ffffff;
	--dim:rgba(255,255,255,.68);
	--dim2:rgba(255,255,255,.42);
	--line:rgba(255,255,255,.14);
	--line2:rgba(255,255,255,.3);
	--flame:#5fb8ff;       /* azzurro accento */
	--azzurro:#5fb8ff;
	--azzurro-soft:#a8d8ff;
	--r:14px;--r2:22px;--pill:100px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;z-index:900;display:grid;grid-template-columns:1fr auto 1fr;
	align-items:center;padding:24px clamp(18px,4vw,48px);transition:.4s;border-bottom:1px solid transparent}
header.sc{background:rgba(7,10,16,.88);backdrop-filter:blur(20px);padding:14px clamp(18px,4vw,48px);border-bottom-color:var(--line)}
.h-book{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;font-weight:600;color:var(--text);
	background:none;border:none;cursor:pointer;padding:0;position:relative;justify-self:start}
.h-book::after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--flame);
	transform:scaleX(0);transform-origin:left;transition:transform .3s}
.h-book:hover::after{transform:scaleX(1)}
.h-brand{text-align:center;line-height:1}
.logo-img{display:block;height:auto;width:clamp(150px,17vw,230px);margin:0 auto}
header.sc .logo-img{width:clamp(130px,14vw,190px);transition:width .4s}
.logo-img.foot{width:210px;margin:0 0 12px}
.logo-img.ov-logo{width:clamp(130px,15vw,220px);margin:0 0 clamp(14px,3vh,34px)}
.h-brand .n{font-size:clamp(14px,2vw,19px);font-weight:700;letter-spacing:5px;text-transform:uppercase}
.h-brand .s{font-size:8.5px;letter-spacing:3.4px;text-transform:uppercase;color:var(--flame);margin-top:5px}
.h-right{display:flex;justify-content:flex-end;align-items:center;gap:20px}
.h-phone{font-size:11px;letter-spacing:1.6px;color:var(--dim);text-transform:uppercase}
.burger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;width:26px;padding:6px 0}
.burger i{height:1.5px;background:var(--text);display:block;border-radius:2px;
	transition:width .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}
.burger i:nth-child(1){width:26px}
.burger i:nth-child(2){width:17px;margin-left:auto}
.burger-wrap:hover .burger i:nth-child(2){width:26px}
.burger-wrap:hover .burger i:nth-child(1){transform:translateX(2px)}
/* stato aperto: le due linee diventano una X */
body.menu-open .burger i{width:26px}
body.menu-open .burger i:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){transform:translateY(-3.5px) rotate(-45deg);margin-left:0}

/* ===== MENU SPLIT ===== */
.ov{position:fixed;inset:0;z-index:1500;display:grid;grid-template-columns:1.15fr .85fr;
	opacity:0;visibility:hidden;transition:.5s}
.ov.open{opacity:1;visibility:visible}
.ov-l{background:var(--bg);display:flex;flex-direction:column;justify-content:center;
	padding:clamp(28px,5vw,80px);position:relative;overflow:hidden}
.ov-eye{font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--flame);margin-bottom:clamp(12px,2.4vh,28px)}
.ov-l ul{list-style:none}
.ov-l li{overflow:hidden;margin:0}
.ov-l li a{display:block;font-size:clamp(24px,min(4.4vw,6.2vh),48px);font-weight:500;letter-spacing:-1.2px;
	padding:clamp(3px,.7vh,8px) 0;line-height:1.12;
	transform:translateY(100%);transition:transform .6s cubic-bezier(.2,.8,.2,1),color .25s}
.ov.open .ov-l li a{transform:translateY(0)}
.ov.open li:nth-child(1) a{transition-delay:.1s}
.ov.open li:nth-child(2) a{transition-delay:.16s}
.ov.open li:nth-child(3) a{transition-delay:.22s}
.ov.open li:nth-child(4) a{transition-delay:.28s}
.ov.open li:nth-child(5) a{transition-delay:.34s}
.ov-l li a:hover{color:var(--flame)}
.ov-l li a span{font-size:10px;color:var(--dim2);letter-spacing:1px;vertical-align:super;margin-right:12px;font-weight:400}
.ov-r{background:radial-gradient(ellipse at 60% 30%,rgba(217,139,74,.16),transparent 60%),linear-gradient(155deg,#0a1020,#0d1c34);
	border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;
	padding:clamp(34px,5vw,64px);gap:26px;opacity:0;transition:opacity .6s .25s}
.ov.open .ov-r{opacity:1}
.ov-b .l{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--flame);margin-bottom:10px}
.ov-b .v{font-size:15px;line-height:1.75}
.ov-b .v small{color:var(--dim);font-size:13.5px}
.ov-x{position:fixed;top:22px;right:22px;z-index:1600;
	display:flex;align-items:center;gap:9px;
	background:rgba(255,255,255,.07);border:1px solid var(--line2);
	color:var(--text);font-size:11px;letter-spacing:2.4px;text-transform:uppercase;
	cursor:pointer;padding:11px 18px;border-radius:var(--pill);
	backdrop-filter:blur(10px);transition:background .22s}
.ov-x:hover{background:rgba(255,255,255,.16)}
.ov-x i{font-style:normal;font-size:17px;line-height:1}

/* ===== PAGES ===== */
/* NOTA: le regole .page{display:none} della demo sono state rimosse:
   WordPress assegna la classe "page" al <body>, quindi nascondevano tutto il sito. */
@keyframes fd{from{opacity:0}to{opacity:1}}

/* ===== FULLSCREEN SECTION SYSTEM ===== */
.fs{position:relative;min-height:100vh;display:flex;overflow:hidden;padding:clamp(90px,12vh,130px) clamp(20px,5vw,80px)}
.fs-media{position:absolute;inset:0;z-index:0}
.fs-media::after{content:'';position:absolute;inset:0}
.fs-in{position:relative;z-index:3;width:100%;max-width:1400px;margin:0 auto;display:flex;flex-direction:column}
/* allineamenti */
.al-bl{justify-content:flex-end;align-items:flex-start;text-align:left}
.al-bc{justify-content:flex-end;align-items:center;text-align:center}
.al-cl{justify-content:center;align-items:flex-start;text-align:left}
.al-cc{justify-content:center;align-items:center;text-align:center}
.al-cr{justify-content:center;align-items:flex-end;text-align:right}

.tag{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:3.8px;text-transform:uppercase;
	color:var(--flame);margin-bottom:24px}
.tag::before{content:'';width:36px;height:1px;background:var(--flame)}
.al-cr .tag,.al-bc .tag,.al-cc .tag{justify-content:center}
.al-cr .tag{flex-direction:row-reverse}

.ttl{font-size:clamp(38px,8vw,102px);font-weight:500;line-height:.98;letter-spacing:-3.4px;max-width:16ch}
.ttl em{font-style:italic;font-weight:300;color:var(--flame)}
.ttl.sm{font-size:clamp(32px,6vw,76px);letter-spacing:-2.6px}
.txt{font-size:clamp(14px,1.55vw,17.5px);color:var(--dim);max-width:48ch;line-height:1.8;margin-top:26px}
.al-cc .txt,.al-bc .txt{margin-left:auto;margin-right:auto}
.al-cr .txt{margin-left:auto}

.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.al-cc .cta-row,.al-bc .cta-row{justify-content:center}
.al-cr .cta-row{justify-content:flex-end}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--text);color:var(--bg);border:none;
	padding:17px 36px;border-radius:var(--pill);font-size:12.5px;font-weight:600;letter-spacing:1.2px;
	text-transform:uppercase;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px);opacity:.92}
.btn-o{background:transparent;color:var(--text);border:1px solid var(--line2)}
.btn-o:hover{background:rgba(255,255,255,.08)}

/* dati inline (niente box) */
.inline-data{display:flex;gap:clamp(28px,5vw,68px);flex-wrap:wrap;margin-top:44px;
	border-top:1px solid var(--line);padding-top:28px;width:100%;max-width:900px}
.al-cc .inline-data,.al-bc .inline-data{justify-content:center}
.al-cr .inline-data{justify-content:flex-end;margin-left:auto}
.idt .k{font-size:clamp(26px,3.6vw,42px);font-weight:500;letter-spacing:-1.6px;color:var(--flame);line-height:1}
.idt .v{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--dim);margin-top:10px}

/* elenco piatti inline */
.dish-lines{width:100%;max-width:940px;margin-top:44px}
.dl{display:flex;justify-content:space-between;align-items:baseline;gap:24px;
	padding:20px 0;border-bottom:1px solid var(--line)}
.dl:first-child{border-top:1px solid var(--line)}
.dl .a{font-size:clamp(19px,2.6vw,30px);font-weight:500;letter-spacing:-.8px}
.dl .b{font-size:13.5px;color:var(--dim);margin-top:6px;line-height:1.6;max-width:46ch}
.dl .c{font-size:clamp(17px,2vw,24px);color:var(--flame);font-weight:500;white-space:nowrap}

/* placeholder label */
.phl{position:absolute;bottom:18px;right:22px;z-index:4;font-size:9.5px;letter-spacing:2px;
	text-transform:uppercase;color:rgba(255,255,255,.28)}

/* scroll cue */
.cue{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:4;font-size:9.5px;
	letter-spacing:3px;text-transform:uppercase;color:var(--dim2);display:flex;flex-direction:column;align-items:center;gap:10px}
.cue i{width:1px;height:34px;background:linear-gradient(var(--dim2),transparent);animation:cu 2s infinite}
@keyframes cu{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* MEDIA BACKGROUNDS (placeholder) */
.m1{background:radial-gradient(ellipse at 70% 35%,rgba(95,184,255,.3),transparent 55%),radial-gradient(ellipse at 15% 80%,rgba(10,47,94,.7),transparent 60%),linear-gradient(160deg,#04142e,#062044 50%,#0a2f5e)}
.m1::after{background:linear-gradient(90deg,rgba(4,20,46,.92),rgba(4,20,46,.5) 58%,rgba(4,20,46,.8))}
.m2{background:radial-gradient(ellipse at 30% 50%,rgba(95,184,255,.24),transparent 58%),linear-gradient(150deg,#04142e,#083055 60%,#04142e)}
.m2::after{background:linear-gradient(to right,rgba(4,20,46,.9),rgba(4,20,46,.35) 70%)}
.m3{background:radial-gradient(circle at 52% 46%,rgba(120,200,255,.36),transparent 50%),linear-gradient(160deg,#04142e,#0a2f5e)}
.m3::after{background:radial-gradient(ellipse at 50% 50%,transparent 22%,rgba(4,20,46,.86) 74%)}
.m4{background:radial-gradient(ellipse at 40% 55%,rgba(95,184,255,.26),transparent 55%),linear-gradient(150deg,#04142e,#082a50)}
.m4::after{background:linear-gradient(to top,rgba(4,20,46,.94),rgba(4,20,46,.4) 60%)}
.m5{background:radial-gradient(ellipse at 72% 40%,rgba(95,184,255,.32),transparent 56%),linear-gradient(150deg,#04142e,#0a2f5e)}
.m5::after{background:linear-gradient(to left,rgba(4,20,46,.92),rgba(4,20,46,.35) 65%)}
.m6{background:radial-gradient(ellipse at 30% 40%,rgba(168,216,255,.24),transparent 55%),radial-gradient(ellipse at 75% 70%,rgba(10,47,94,.7),transparent 58%),linear-gradient(160deg,#04142e,#062044)}
.m6::after{background:linear-gradient(to top,rgba(4,20,46,.9),rgba(4,20,46,.45))}
.m7{background:linear-gradient(150deg,#04142e,#082a50)}
.m7::after{background:linear-gradient(to top,rgba(4,20,46,.88),rgba(4,20,46,.4))}

/* split fullscreen (immagine metà schermo, senza card) */
.fs-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.fs-half{position:relative;overflow:hidden;min-height:52vh}
.fs-half.txtside{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,96px);background:var(--bg)}
.fs-half .phl{color:rgba(255,255,255,.3)}

/* menu page tabs */
.mtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.tb{background:none;border:1px solid var(--line);color:var(--dim);padding:10px 20px;border-radius:var(--pill);
	font-size:12.5px;cursor:pointer;transition:.22s}
.tb:hover{color:var(--text);border-color:var(--line2)}
.tb.on{background:var(--text);color:var(--bg);border-color:var(--text);font-weight:600}
.vtag{display:inline-block;font-size:9px;letter-spacing:1.4px;text-transform:uppercase;border:1px solid var(--line);
	color:var(--dim2);padding:3px 9px;border-radius:var(--pill);margin-left:10px;vertical-align:middle}

/* faq inline */
.fq{border-bottom:1px solid var(--line)}
.fq-q{width:100%;background:none;border:none;color:var(--text);text-align:left;padding:24px 0;
	font-size:clamp(16px,2vw,21px);font-weight:500;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center}
.fq-q i{color:var(--flame);font-style:normal;font-size:22px;transition:transform .3s;flex-shrink:0}
.fq.op i{transform:rotate(45deg)}
.fq-a{max-height:0;overflow:hidden;transition:max-height .35s,padding .35s}
.fq.op .fq-a{max-height:260px;padding-bottom:24px}
.fq-a p{font-size:15px;color:var(--dim);line-height:1.8;max-width:62ch}

/* ===== BOOKING ===== */
.bk{min-height:100vh;padding:clamp(120px,16vh,170px) clamp(18px,5vw,80px) 90px;display:flex;justify-content:center}
.bkc{width:100%;max-width:620px}
.pg{display:flex;gap:6px;margin-bottom:32px}
.pg i{flex:1;height:2.5px;border-radius:var(--pill);background:rgba(255,255,255,.1);transition:background .45s}
.pg i.on{background:var(--flame)}
.sc2{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;color:var(--flame);margin-bottom:12px}
.stt{font-size:clamp(26px,4.4vw,42px);font-weight:500;letter-spacing:-1.6px;margin-bottom:10px}
.sdd{font-size:14px;color:var(--dim);line-height:1.7;margin-bottom:30px}
.stp{display:none}
.stp.on{display:block;animation:si .45s cubic-bezier(.3,.8,.3,1)}
.stp.out{animation:so .3s cubic-bezier(.3,.8,.3,1) forwards}
@keyframes si{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}
@keyframes so{from{opacity:1}to{opacity:0;transform:translateX(-26px)}}
.zn{display:grid;gap:0}
.zc{border-bottom:1px solid var(--line);padding:26px 4px;cursor:pointer;display:flex;justify-content:space-between;
	align-items:center;gap:16px;transition:.22s}
.zc:first-child{border-top:1px solid var(--line)}
.zc:hover{padding-left:14px}
.zc.on{border-color:var(--flame)}
.zc.on .a{color:var(--flame)}
.zc .a{font-size:clamp(22px,3vw,30px);font-weight:500;letter-spacing:-1px;margin-bottom:6px;transition:color .2s}
.zc .b{font-size:13.5px;color:var(--dim)}
.zc .c{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--dim2);white-space:nowrap}
.pp{display:flex;align-items:center;justify-content:center;gap:30px;margin:20px 0 6px}
.pb{width:56px;height:56px;border-radius:50%;background:none;border:1px solid var(--line);color:var(--text);
	font-size:24px;cursor:pointer;transition:.2s}
.pb:hover:not(:disabled){border-color:var(--flame);color:var(--flame)}
.pb:disabled{opacity:.2;cursor:not-allowed}
.pn{font-size:64px;font-weight:500;min-width:90px;text-align:center;letter-spacing:-3px}
.pl{text-align:center;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.cm{font-size:16px;font-weight:500}
.cn{display:flex;gap:8px}
.cn button{width:38px;height:38px;border-radius:50%;background:none;border:1px solid var(--line);
	color:var(--text);cursor:pointer;transition:.2s}
.cn button:hover:not(:disabled){border-color:var(--flame);color:var(--flame)}
.cn button:disabled{opacity:.2;cursor:not-allowed}
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cd{text-align:center;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--dim2);padding-bottom:10px}
.cday{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:rgba(255,255,255,.035);
	color:var(--text);font-size:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;
	justify-content:center;gap:3px;transition:.18s}
.cday:hover:not(:disabled){background:rgba(255,255,255,.11);border-color:var(--line2)}
.cday.emp{background:none;pointer-events:none}
.cday:disabled{opacity:.2;cursor:not-allowed}
.cday.on{background:var(--flame);color:#0b0d12;font-weight:600}
.cday u{width:4px;height:4px;border-radius:50%;background:#6fbf8f;display:block}
.cday.few u{background:var(--flame)}
.cday.on u{background:rgba(11,13,18,.5)}
.lg{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap}
.lg span{font-size:11.5px;color:var(--dim);display:flex;align-items:center;gap:7px}
.lg i{width:6px;height:6px;border-radius:50%;display:block}
.sg{margin-bottom:26px}
.sgl{font-size:10px;letter-spacing:2.4px;text-transform:uppercase;color:var(--dim2);margin-bottom:12px}
.turni{display:grid;gap:12px}
.turno{background:none;border:1px solid var(--line);border-radius:14px;color:var(--text);
	padding:26px 24px;cursor:pointer;transition:.2s;text-align:left;display:flex;
	justify-content:space-between;align-items:center;gap:16px}
.turno:hover:not(:disabled){border-color:var(--flame)}
.turno.on{border-color:var(--flame);background:rgba(217,139,74,.1)}
.turno:disabled{opacity:.3;cursor:not-allowed}
.turno b{font-size:clamp(20px,2.8vw,27px);font-weight:500;letter-spacing:-1px;display:block}
.turno em{font-size:11px;font-style:normal;letter-spacing:1.8px;text-transform:uppercase;color:var(--dim);
	white-space:nowrap}
.turno.on em{color:var(--flame)}
.sl{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:9px}
.slot{background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:14px 6px;
	cursor:pointer;transition:.18s;text-align:center}
.slot:hover:not(:disabled){border-color:var(--flame)}
.slot.on{background:var(--flame);color:#0b0d12;border-color:var(--flame)}
.slot:disabled{opacity:.24;cursor:not-allowed}
.slot b{font-size:15px;font-weight:500;display:block}
.slot em{font-size:10px;font-style:normal;color:var(--dim);display:block;margin-top:4px}
.slot.on em{color:rgba(11,13,18,.6)}
.fl2{margin-bottom:16px}
.fl2 label{display:block;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--dim2);margin-bottom:8px}
.fl2 input{width:100%;background:none;border:none;border-bottom:1px solid var(--line);padding:10px 0;
	color:var(--text);font-size:17px;font-family:inherit;transition:.2s}
.fl2 input::placeholder{color:var(--dim2)}
.fl2 input:focus{outline:none;border-bottom-color:var(--flame)}
.fl2 input.bad{border-bottom-color:#c96a6a}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0;margin-bottom:26px}
.rr{display:flex;justify-content:space-between;padding:13px 0;font-size:14.5px;gap:16px}
.rr+.rr{border-top:1px solid var(--line)}
.rr .k{color:var(--dim)}
.rr .v{font-weight:500}
.wn{display:flex;gap:10px;margin-top:30px}
.wn .btn{flex:1;justify-content:center}
.bkk{background:none;border:1px solid var(--line);color:var(--dim);padding:17px 26px;border-radius:var(--pill);
	cursor:pointer;font-size:12.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:.2s}
.bkk:hover{color:var(--text);border-color:var(--line2)}
.er{font-size:13px;color:#e39a9a;margin-top:14px;min-height:16px}
.suc{text-align:center;padding:20px 0}
.tick{width:78px;height:78px;border-radius:50%;margin:0 auto 26px;border:1px solid rgba(217,139,74,.5);
	display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--flame)}
.suc h2{font-size:32px;font-weight:500;letter-spacing:-1.4px;margin-bottom:12px}
.suc p{color:var(--dim);font-size:14.5px;line-height:1.7;margin-bottom:28px}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--line);padding:clamp(56px,7vw,86px) clamp(20px,5vw,80px) 32px;background:var(--bg2)}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:38px;max-width:1400px;margin:0 auto 48px}
.fbr .n{font-size:20px;font-weight:700;letter-spacing:5px;text-transform:uppercase;margin-bottom:8px}
.fbr .s{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--flame);margin-bottom:20px}
.fbr p{font-size:14px;color:var(--dim);line-height:1.8;max-width:32ch}
.flb{font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:var(--flame);margin-bottom:15px}
.fg p:not(.flb):not(.s):not(.n){font-size:14px;line-height:1.95;color:var(--dim)}
.fg a:hover{color:var(--text)}
.fb{max-width:1400px;margin:0 auto;border-top:1px solid var(--line);padding-top:26px;display:flex;
	justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--dim2)}



@media(max-width:900px){
	.ov{grid-template-columns:1fr}
	.ov-r{display:none}
	/* su mobile la chiusura è un tondo grande, facile da centrare col pollice */
	.ov-x{width:52px;height:52px;padding:0;justify-content:center;gap:0;
		top:16px;right:16px;background:rgba(255,255,255,.12)}
	.ov-x span{display:none}
	.ov-x i{font-size:23px}
	.ov-l{padding-top:86px;justify-content:flex-start}
	.logo-img.ov-logo{margin-top:0}
	.fs-split{grid-template-columns:1fr}
	.fg{grid-template-columns:1fr 1fr}
	.h-phone{display:none}
	.ttl{max-width:none}
	.al-cr{align-items:flex-start;text-align:left}
	.al-cr .txt,.al-cr .inline-data{margin-left:0}
	.al-cr .cta-row,.al-cr .inline-data{justify-content:flex-start}
	.al-cr .tag{flex-direction:row;justify-content:flex-start}
}
@media(max-width:560px){
	.fg{grid-template-columns:1fr}
	.f2{grid-template-columns:1fr;gap:0}
	.h-brand .n{font-size:12.5px;letter-spacing:3px}
	.h-book{font-size:10px;letter-spacing:1.4px}
	.pn{font-size:48px}
	.inline-data{gap:26px}
}

/* ---- aggiunte tema WP ---- */
.fs-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.fs-media.veil{background:linear-gradient(90deg,rgba(7,10,16,.9),rgba(7,10,16,.45) 60%,rgba(7,10,16,.8))}
.quote-ttl{max-width:20ch;font-weight:300;font-style:italic}
.quote-who{margin-top:36px}
.idt .k.sm2{font-size:clamp(17px,2vw,22px);letter-spacing:-.5px}
.idt .k.sm3{font-size:clamp(16px,1.9vw,21px);letter-spacing:-.4px}
a.btn{text-decoration:none}
.a43-note{width:100%;background:none;border:none;border-bottom:1px solid var(--line);padding:10px 0;
	color:var(--text);font-size:16px;font-family:inherit;resize:vertical;min-height:52px}
.a43-note:focus{outline:none;border-bottom-color:var(--flame)}
.menu-sec{min-height:auto;padding-top:clamp(60px,8vh,90px)}
.menu-sec .dish-lines{margin-top:26px}
.faq-sec{min-height:auto}
.faq-wrap{width:100%;max-width:900px;margin-top:20px}
.map-sec{min-height:60vh;padding:0}
.a43-map{position:relative;width:100%;min-height:60vh}
.a43-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cal-load{grid-column:1/-1;text-align:center;color:var(--dim);font-size:13px;padding:30px 0}

/* la barra admin di WordPress non deve coprire l'header fisso */
/* Barra di amministrazione: sotto i 600px WordPress la rende scorrevole
   (non più fissa), quindi lì l'header deve stare a zero — altrimenti resta
   una fascia vuota sopra quando si scorre. Sopra i 600px la barra è fissa
   e l'header va spostato della sua altezza reale. */
header{top:0}
@media screen and (min-width:601px){
	body.admin-bar header{top:46px}
}
@media screen and (min-width:783px){
	body.admin-bar header{top:32px}
}

/* pulsante di disdetta */
.btn-danger{background:transparent;color:#e39a9a;border:1px solid rgba(217,128,128,.5)}
.btn-danger:hover{background:rgba(217,128,128,.12);color:#f0b8b8}
.tick-off{color:#e39a9a;border-color:rgba(217,128,128,.45)}
.rc .rr .v strong{font-weight:500}

/* ============ v2.0 ============ */
/* header: sottotitolo più grande */
.h-brand .s{font-size:11.5px;letter-spacing:2.4px;color:var(--azzurro)}
/* burger con scritta "clicca" */
.burger-wrap{display:flex;align-items:center;gap:10px;cursor:pointer;background:none;border:none;padding:0}
.burger-lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--dim);
	transition:color .25s;white-space:nowrap}
body.menu-open .burger-lbl{color:var(--azzurro)}
.burger-wrap:hover .burger-lbl{color:var(--azzurro)}
.burger-arrow{font-size:13px;line-height:1;transform:translateY(-.5px)}
.burger-wrap .burger{pointer-events:none}

/* foto reali nelle sezioni */
.fs-photo{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.fs-photo::after{content:'';position:absolute;inset:0}
/* overlay direzionale: quasi nero dal lato del testo, trasparente dall'altro */
.fs-photo::after{background:none}
.fs-photo::before{content:'';position:absolute;inset:0;z-index:1}
.ph-left::before{background:linear-gradient(90deg,
	rgba(2,7,16,.96) 0%,rgba(2,7,16,.9) 24%,rgba(2,7,16,.66) 48%,rgba(2,7,16,.28) 72%,rgba(2,7,16,0) 100%)}
.ph-right::before{background:linear-gradient(270deg,
	rgba(2,7,16,.96) 0%,rgba(2,7,16,.9) 24%,rgba(2,7,16,.66) 48%,rgba(2,7,16,.28) 72%,rgba(2,7,16,0) 100%)}
.ph-bottom::before{background:linear-gradient(to top,
	rgba(2,7,16,.96) 0%,rgba(2,7,16,.86) 26%,rgba(2,7,16,.5) 55%,rgba(2,7,16,.12) 80%,rgba(2,7,16,0) 100%)}
.ph-center::before{background:radial-gradient(ellipse at 50% 50%,rgba(2,7,16,.72) 0%,rgba(2,7,16,.93) 78%)}
/* split: velo leggerissimo, la foto occupa già metà schermo */
.fs-half .fs-photo::before{background:linear-gradient(to top,rgba(2,7,16,.5),rgba(2,7,16,0) 60%)}

/* HERO VIDEO: scuro a sinistra, aperto a destra */
.hero-video-veil{position:absolute;inset:0;z-index:1;
	background:linear-gradient(90deg,
		rgba(2,7,16,.95) 0%,rgba(2,7,16,.88) 25%,rgba(2,7,16,.6) 50%,rgba(2,7,16,.22) 76%,rgba(2,7,16,0) 100%)}
.hero-video-veil::after{content:'';position:absolute;inset:0;
	background:linear-gradient(to top,rgba(2,7,16,.85) 0%,rgba(2,7,16,.2) 45%,rgba(2,7,16,0) 100%)}

/* ombra morbida sul testo: rete di sicurezza su qualsiasi sfondo */
.fs-in .ttl,.fs-in .claim{text-shadow:0 2px 24px rgba(4,20,46,.75)}
.fs-in .txt,.fs-in .tag{text-shadow:0 1px 14px rgba(4,20,46,.8)}

/* striscia foto verticali */
.vstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;width:100%;margin-top:44px}
.vshot{aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
	background-size:cover;background-position:center;transition:transform .35s}
.vshot:hover{transform:translateY(-6px)}

/* griglia certificazioni */
.certs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%;margin-top:40px}
.cert{aspect-ratio:1;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
	background-size:cover;background-position:center;transition:transform .3s}
.cert:hover{transform:scale(1.03)}

/* frase manifesto */
.claim{font-size:clamp(22px,3.4vw,40px);font-weight:300;font-style:italic;line-height:1.35;
	letter-spacing:-1px;max-width:22ch}
.al-cc .claim{margin:0 auto}

/* badge anno */
.since{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:3px;
	text-transform:uppercase;color:var(--azzurro);border:1px solid var(--line);
	padding:9px 20px;border-radius:var(--pill);margin-bottom:22px}

/* footer uSocial */
.by-uso{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--dim2);
	letter-spacing:.4px;transition:opacity .25s}
.by-uso:hover{opacity:.7}
.by-uso img{width:74px;height:auto;display:block}

/* menu page: categorie */
.mcat-title{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--azzurro);
	margin:0 0 6px}
.mcat-sub{font-size:13.5px;color:var(--dim);margin-bottom:24px;font-style:italic}
.dl .c{color:var(--azzurro)}
.menu-note{font-size:12.5px;color:var(--dim2);font-style:italic;margin-top:20px}

/* ============ v2.2 ============ */

/* --- MENU PIATTI SU PIÙ COLONNE --- */
.dish-lines{width:100%;max-width:1240px;
	display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));
	column-gap:clamp(28px,4vw,64px);row-gap:0}
.dish-lines .dl:first-child{border-top:1px solid var(--line)}
/* con più colonne serve il bordo sopra su ogni prima riga */
.dish-lines .dl{border-top:1px solid var(--line);border-bottom:none;
	padding:16px 0;gap:18px;align-items:center}
.dl .a{font-size:clamp(17px,1.9vw,21px);letter-spacing:-.4px;line-height:1.25}
.dl .b{font-size:13px;margin-top:4px}
.dl .c{font-size:clamp(16px,1.8vw,20px)}
/* nella home resta a colonna singola: sono solo 3 piatti */
.home-dishes .dish-lines{grid-template-columns:1fr;max-width:760px}
.menu-note{grid-column:1/-1}

/* --- CAROSELLO CERTIFICAZIONI --- */
.cert-car{position:relative;width:100%;margin-top:36px}
.cert-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
	scroll-behavior:smooth;padding-bottom:6px;
	scrollbar-width:none;-ms-overflow-style:none}
.cert-track::-webkit-scrollbar{display:none}
.cert-slide{flex:0 0 clamp(210px,26vw,300px);aspect-ratio:1;scroll-snap-align:start;
	border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
	background-size:cover;background-position:center;transition:border-color .3s,transform .3s}
.cert-slide:hover{border-color:var(--line2);transform:translateY(-4px)}
.cert-nav{display:flex;align-items:center;gap:10px;margin-top:22px}
.cert-nav button{width:46px;height:46px;border-radius:50%;background:none;
	border:1px solid var(--line);color:var(--text);font-size:17px;cursor:pointer;
	transition:.22s;display:flex;align-items:center;justify-content:center}
.cert-nav button:hover:not(:disabled){border-color:var(--azzurro);color:var(--azzurro)}
.cert-nav button:disabled{opacity:.22;cursor:not-allowed}
.cert-count{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--dim2);margin-left:8px}

/* ritratti: inquadratura verso l'alto, il viso non viene tagliato */
.fs-half .fs-photo{background-position:center 22%}

/* hero pagina Michele: soggetto a destra, testa sempre visibile */

/* ritratto in hero full-screen: soggetto verso destra e testa sempre visibile */
.hero-michele{background-position:76% 14%}
@media(max-width:1100px){.hero-michele{background-position:70% 11%}}
@media(max-width:760px){.hero-michele{background-position:60% 8%}}

/* la foto di Michele col panetto, quando è centrata, va inquadrata sul viso */
.ph-center.hero-michele{background-position:center 16%}

/* ============ MOBILE ============ */
@media(max-width:820px){
	/* header: logo a sinistra, menu a destra, niente "Prenota ora" */
	header{grid-template-columns:1fr auto;padding:14px 18px}
	header.sc{padding:11px 18px}
	.h-book{display:none}
	.h-brand{text-align:left;justify-self:start}
	.logo-img{margin:0;width:clamp(132px,40vw,180px)}
	header.sc .logo-img{width:clamp(120px,34vw,160px)}
	.h-brand .s{font-size:9px;letter-spacing:1.8px;margin-top:4px}
	.h-right{justify-self:end}
	.burger-lbl{font-size:10px;letter-spacing:2.2px}

	/* elenco piatti: nome a sinistra, prezzo a destra, mai centrati */
	.dish-lines{grid-template-columns:1fr}
	.dl{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;
		gap:14px;text-align:left;padding:15px 0}
	.dl>div{flex:1;min-width:0;text-align:left}
	.dl .a{text-align:left;font-size:17px}
	.dl .b{text-align:left;font-size:12.5px;line-height:1.5}
	.dl .c{text-align:right;flex-shrink:0;font-size:16px}
}
/* su mobile "Prenota ora" è nascosto: il brand prende la prima colonna */
@media(max-width:820px){.h-brand{grid-column:1}.h-right{grid-column:2}}

/* ============ v3.0 — prenotazioni ============ */
.fl-hint{font-size:12.5px;line-height:1.6;color:var(--dim2);margin-top:8px}
.avviso{border:1px solid rgba(95,184,255,.35);border-radius:var(--r);padding:16px 18px;margin-bottom:22px}
.avviso p{font-size:13.5px;line-height:1.65;color:var(--dim);margin:0}
.avviso strong{color:var(--azzurro);font-weight:500}
.walkin{border-top:1px solid var(--line);margin-top:40px;padding-top:26px}
.walkin .wt{font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:var(--azzurro);margin-bottom:10px}
.walkin .wd{font-size:14px;line-height:1.75;color:var(--dim)}
.walkin a{color:var(--text);border-bottom:1px solid var(--line2)}
.zc .c{text-align:right;line-height:1.4}

/* scelta sala: solo nome e descrizione, nessun numero */
.zc{justify-content:flex-start}

/* ============ v4.0 ============ */

/* claim in serif: leggibile ma con più carattere */
.claim-hero{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;
	font-size:clamp(21px,3.1vw,34px);font-weight:400;font-style:italic;line-height:1.28;
	letter-spacing:-.4px;color:var(--text);max-width:20ch;margin:18px 0 0;
	text-shadow:0 2px 20px rgba(2,7,16,.7)}
.claim{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;font-weight:300}
.tag-sotto{margin-top:22px}
.tag-sotto::before{display:none}

/* sezione a sfondo neutro: il menu si legge senza foto sotto */
.sec-neutra{background:linear-gradient(160deg,var(--bg) 0%,var(--bg2) 100%)}
.sec-neutra .dish-lines .dl{border-top-color:rgba(255,255,255,.14)}

/* footer: su mobile via la colonna di navigazione */
@media(max-width:820px){
	.fg .col-nav{display:none}
}

/* pagina Michele: flusso unico, testo e immagini alternati, spazi contenuti */
.racconto{min-height:auto;padding-top:clamp(56px,7vw,90px);padding-bottom:clamp(56px,7vw,90px)}
.racconto .fs-in{gap:0}
.blocco{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);
	align-items:center;width:100%;padding:clamp(26px,3.4vw,44px) 0;
	border-bottom:1px solid var(--line)}
.blocco:last-of-type{border-bottom:none}
.blocco.rev .testo{order:2}
.blocco .testo .ttl{margin-bottom:0}
.blocco .testo .txt{margin-top:18px;max-width:46ch}
.blocco .immagine{aspect-ratio:4/5;border-radius:var(--r2);border:1px solid var(--line);
	background-size:cover;background-position:center 30%}
.firma{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:17px;
	color:var(--azzurro);margin-top:20px}
.dati-riga{display:flex;gap:clamp(24px,5vw,64px);flex-wrap:wrap;width:100%;
	border-top:1px solid var(--line);padding-top:30px;margin-top:10px}
.sec-corta{min-height:auto;padding-top:clamp(50px,6vw,80px);padding-bottom:clamp(60px,7vw,96px)}
@media(max-width:820px){
	.blocco{grid-template-columns:1fr;gap:20px;padding:26px 0}
	.blocco.rev .testo{order:0}
	.blocco .immagine{aspect-ratio:3/2}
}

/* ============ v5.0 — spazi ============ */
/* Le sezioni non devono più occupare per forza tutto lo schermo:
   con poco testo restava una fascia vuota enorme. */
.fs{min-height:auto;padding:clamp(64px,8vh,110px) clamp(20px,5vw,80px)}
.fs.piena{min-height:100vh}                    /* solo hero e sezioni-immagine */
.fs.corta{padding:clamp(44px,5.5vh,72px) clamp(20px,5vw,80px)}
.fs-split{min-height:auto}
.fs-split .fs-half{min-height:clamp(320px,46vh,520px)}
.fs-split .fs-half.txtside{padding:clamp(36px,5vw,72px)}
.racconto{padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(44px,5vw,72px)}
.menu-sec{padding-top:clamp(36px,4.5vw,60px);padding-bottom:clamp(44px,5vw,72px)}
.faq-sec{padding-top:clamp(40px,5vw,64px)}
.sec-corta{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(48px,5.5vw,76px)}
.fs-in .txt:first-of-type{margin-top:20px}
.cta-row{margin-top:28px}
.inline-data{margin-top:32px;padding-top:24px}
.vstrip,.dish-lines{margin-top:30px}

/* counter su una riga sola, ben centrati */
.inline-data{justify-content:flex-start}
.al-cc .inline-data,.al-bc .inline-data{justify-content:center}
.idt{min-width:0}
.dati-riga{justify-content:space-between;gap:clamp(16px,3vw,40px)}
.dati-riga .idt{flex:1;min-width:120px}

/* logo più grande nella tendina */
.logo-img.ov-logo{width:clamp(180px,24vw,320px)}

/* footer più compatto e allineato su mobile */
.fbr .logo-img.foot{width:200px;margin-bottom:8px}
.fbr .s{margin-bottom:12px}
.fg{margin-bottom:34px}
.fb{align-items:center}
@media(max-width:820px){
	/* footer: tutto allineato a sinistra come le colonne */
	.fb{flex-direction:column;align-items:flex-start;text-align:left;gap:12px}
	.by-uso{justify-content:flex-start;margin-left:0}
	.fbr{text-align:left}
	.fbr .logo-img.foot{margin-left:0;margin-right:auto}
	.fbr p{margin-left:0;margin-right:0}
	.fg{gap:26px}
}

/* titolo su un rigo solo dove richiesto */
.ttl.unico{max-width:none;white-space:nowrap}
@media(max-width:700px){.ttl.unico{white-space:normal}}

/* sezione con immagine più contenuta */
.fs.mini{padding:clamp(50px,6vh,84px) clamp(20px,5vw,80px)}
.fs.mini .ttl{font-size:clamp(30px,4.6vw,54px)}

/* varianti di ombreggiatura richieste */
/* vignettatura morbida: scurisce i bordi senza disegnare un riquadro al centro */
.ph-bordi::before{background:
	radial-gradient(ellipse 85% 80% at 50% 50%,
		rgba(2,7,16,.10) 0%, rgba(2,7,16,.30) 45%, rgba(2,7,16,.72) 78%, rgba(2,7,16,.92) 100%)}
.ph-sopra-sotto::before{background:linear-gradient(to bottom,
	rgba(2,7,16,.86) 0%,rgba(2,7,16,.5) 18%,rgba(2,7,16,.34) 50%,rgba(2,7,16,.5) 82%,rgba(2,7,16,.88) 100%)}
.ph-alto::before{background:linear-gradient(to bottom,
	rgba(2,7,16,.94) 0%,rgba(2,7,16,.8) 30%,rgba(2,7,16,.25) 58%,rgba(2,7,16,0) 100%)}
/* testo in alto (per non coprire le tubature dell'acquedotto) */
.al-tc{justify-content:flex-start;align-items:center;text-align:center}
.al-tc .cta-row{justify-content:center}
.al-tc .txt{margin-left:auto;margin-right:auto}
.al-tc .tag{justify-content:center}

/* foto ingrandibili */
.vstrip.zoomabile .vshot{position:relative;cursor:zoom-in}
.vshot .lente{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;
	font-size:10.5px;letter-spacing:2.2px;text-transform:uppercase;color:#fff;
	background:linear-gradient(to top,rgba(2,7,16,.85),transparent);
	opacity:0;transition:opacity .25s}
.vstrip.zoomabile .vshot:hover .lente{opacity:1}
@media(hover:none){.vshot .lente{opacity:1}}
.lb{position:fixed;inset:0;z-index:2000;background:rgba(2,7,16,.96);
	display:flex;align-items:center;justify-content:center;padding:24px;
	opacity:0;visibility:hidden;transition:.3s}
.lb.on{opacity:1;visibility:visible}
.lb img{max-width:94vw;max-height:88vh;border-radius:var(--r);display:block}
.lb-x{position:fixed;top:18px;right:18px;width:52px;height:52px;border-radius:50%;
	background:rgba(255,255,255,.12);border:1px solid var(--line2);color:#fff;
	font-size:26px;cursor:pointer;z-index:2001}
.lb-x:hover{background:rgba(255,255,255,.22)}
.mtabs-hint{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;
	color:var(--azzurro);margin-bottom:14px}
.mtabs{margin-bottom:26px}

/* ============ v5.1 — altezze e respiro ============ */

/* Le hero tornano a schermo pieno: erano diventate basse quando ho tolto
   l'altezza fissa per eliminare gli spazi morti. */
.fs.piena{min-height:100vh}
.page-hero{min-height:100svh;min-height:100vh}

/* Il titolo non deve mai finire sotto l'header fisso (logo + sottotitolo). */
.fs.piena .fs-in,
.page-hero .fs-in{padding-top:clamp(120px,15vh,175px)}
.fs.piena.al-top .fs-in{padding-top:clamp(130px,17vh,190px)}
/* la prima sezione di ogni pagina, anche se non è a schermo pieno */
main > .fs:first-child .fs-in,
.fs:first-of-type .fs-in{padding-top:clamp(110px,13vh,160px)}

/* sezioni intermedie: un filo più d'aria, ma senza vuoti */
.fs{padding:clamp(72px,9vh,120px) clamp(20px,5vw,80px)}
.fs.corta{padding:clamp(40px,5vh,64px) clamp(20px,5vw,80px)}
.fs.mini{padding:clamp(70px,9vh,110px) clamp(20px,5vw,80px);min-height:64vh}

/* le split non devono restare mozze */
.fs-split .fs-half{min-height:clamp(360px,54vh,560px)}
.fs-split .fs-half.txtside{padding:clamp(40px,5vw,80px)}

/* le strisce di foto in Location non devono lasciare buchi */
.fs.corta .fs-in{gap:0}
.vstrip{margin-top:0}
.sec-neutra.corta{padding-top:clamp(26px,3vh,40px);padding-bottom:clamp(34px,4vh,56px)}

/* immagini piccole: evitano la fascia stretta al centro */
.fs-photo{background-size:cover;background-repeat:no-repeat}

/* MENU: linguette che riempiono la riga su mobile */
/* Linguette: griglia a 4 colonne, tutte della stessa misura.
   La seconda riga resta più corta ma le pillole non si allargano. */
@media(max-width:820px){
	.mtabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;
		justify-content:start}
	.tb{width:100%;min-height:40px;padding:8px 6px;font-size:11px;letter-spacing:0;
		line-height:1.2;text-align:center;white-space:normal;
		display:flex;align-items:center;justify-content:center}
}
@media(max-width:400px){
	.mtabs{gap:6px}
	.tb{font-size:10.5px;padding:8px 4px;min-height:38px}
}

/* ============ v5.1.1 ============ */
/* "Una vita dietro al forno": sezione più alta, così la testa non viene tagliata */
.fs.alta{min-height:88vh;padding-top:clamp(80px,10vh,130px);padding-bottom:clamp(80px,10vh,130px)}
.foto-forno{background-position:center 18%}
@media(max-width:900px){
	.fs.alta{min-height:78vh}
	.foto-forno{background-position:62% 12%}
}

/* ============ v5.2 ============ */
/* pulsanti un filo più piccoli, e mai a tutta larghezza su mobile */
@media(max-width:820px){
	.btn,.btn-o{padding:13px 22px;font-size:11.5px;letter-spacing:.9px}
	.cta-row{gap:10px}
	.cta-row .btn{max-width:100%;white-space:nowrap}
}
@media(max-width:420px){
	.btn,.btn-o{padding:12px 18px;font-size:11px}
}

/* firma sotto le citazioni: più leggibile sulle foto chiare */
.fs-in .tag{text-shadow:0 1px 3px rgba(2,7,16,.9),0 2px 18px rgba(2,7,16,.85)}
.al-cc .tag,.al-bc .tag,.al-tc .tag{text-shadow:0 1px 4px rgba(2,7,16,.95),0 2px 22px rgba(2,7,16,.9)}
.claim{text-shadow:0 2px 10px rgba(2,7,16,.75),0 4px 32px rgba(2,7,16,.8)}
.claim-hero{text-shadow:0 2px 10px rgba(2,7,16,.8),0 4px 26px rgba(2,7,16,.75)}

/* ============ v6.0 — slider foto ============ */
.slider{position:relative;width:100%;margin-top:26px}
.slider-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
	scroll-behavior:smooth;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}
.slider-track::-webkit-scrollbar{display:none}
.slide{flex:0 0 clamp(240px,32vw,400px);aspect-ratio:4/5;scroll-snap-align:start;
	border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);
	background-size:cover;background-position:center;position:relative;
	transition:border-color .3s,transform .3s;cursor:zoom-in}
.slide:hover{border-color:var(--line2);transform:translateY(-4px)}
.slide .didascalia{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
	font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:#fff;
	background:linear-gradient(to top,rgba(2,7,16,.9),transparent)}
.slider-nav{display:flex;align-items:center;gap:10px;margin-top:20px}
.slider-nav button{width:46px;height:46px;border-radius:50%;background:none;
	border:1px solid var(--line);color:var(--text);font-size:17px;cursor:pointer;
	transition:.22s;display:flex;align-items:center;justify-content:center}
.slider-nav button:hover:not(:disabled){border-color:var(--azzurro);color:var(--azzurro)}
.slider-nav button:disabled{opacity:.22;cursor:not-allowed}
.slider-hint{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;
	color:var(--dim2);margin-left:6px}
@media(max-width:640px){.slide{flex:0 0 74vw}}

/* footer: logo senza payoff, uSocial affiancato anche su mobile */
.logo-img.foot{width:190px}
@media(max-width:820px){
	.fb{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;
		text-align:left;gap:12px}
	.by-uso{justify-content:flex-start}
}
@media(max-width:420px){
	.fb{font-size:11px}
	.by-uso img{width:64px}
}

/* ombra più leggera dove il testo bianco cade sulla giacca blu */
.ph-left-lieve::before{background:linear-gradient(90deg,
	rgba(2,7,16,.88) 0%,rgba(2,7,16,.7) 30%,rgba(2,7,16,.34) 58%,rgba(2,7,16,.05) 100%)}
.foto-forno{background-position:center 22%}
@media(max-width:900px){.foto-forno{background-position:58% 16%}}

/* citazione: testo più in alto, non copre la pizza */
.cit-alta{padding-top:clamp(120px,17vh,190px)}
.cit-alta .claim{max-width:22ch}

/* sezione finale: testo nella fascia del tetto, sopra le tubature */
.foto-tetto{background-position:center 34%}
.cta-tetto{padding-top:clamp(110px,14vh,165px)}
.ttl.vieni{margin-top:26px}

/* ============ v6.0.1 ============ */
/* foto orizzontali nelle mezze sezioni: inquadratura sulla sala, non sul soffitto */
.foto-sala{background-position:center 58%}

/* Michele: i tre contatori restano su una riga anche da telefono */
@media(max-width:820px){
	.dati-riga{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
	.dati-riga .idt{min-width:0}
	.dati-riga .k{font-size:clamp(22px,6.6vw,30px)}
	.dati-riga .v{font-size:9.5px;letter-spacing:.6px;line-height:1.3}
}
@media(max-width:380px){
	.dati-riga{gap:8px}
	.dati-riga .v{font-size:9px}
}

/* hero del menu: su mobile un po' più bassa e foto più centrata */
@media(max-width:820px){
	.menu-hero{min-height:76vh}
	.menu-hero .fs-photo{background-position:center 46%}
	.menu-hero .fs-in{padding-top:clamp(100px,12vh,140px)}
}

/* ============ v6.1 — social, spazi, CTA ============ */
.social{display:flex;gap:10px;align-items:center}
.social a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);
	display:flex;align-items:center;justify-content:center;transition:.22s;flex-shrink:0}
.social a:hover{border-color:var(--azzurro);background:rgba(95,184,255,.1);transform:translateY(-2px)}
.social img{width:18px;height:18px;display:block;filter:brightness(0) invert(1);opacity:.85}
.social a:hover img{opacity:1}
.ov-social{margin-top:30px}
.foot-social{margin-top:16px}

/* pulsante bianco con testo blu */
.btn-b{background:#fff;color:var(--bg);border:1px solid #fff}
.btn-b:hover{background:rgba(255,255,255,.88);color:var(--bg)}

/* CTA finale: testo in alto, pulsante sotto, acquedotto visibile */
.cta-tetto{padding-top:clamp(96px,12vh,140px);gap:0}
.cta-tetto .ttl{margin-bottom:10px}
.cta-tetto .txt{margin-top:6px}
.cta-tetto .cta-row{margin-top:20px}

/* Location: su desktop lo spazio resta com'era; su mobile solo il minimo */
.fs.corta.attaccata{padding-top:clamp(40px,5vh,64px)}
@media(max-width:900px){
	.fs.corta.attaccata{padding-top:18px;padding-bottom:26px}
	.fs-split + .fs.corta.attaccata{margin-top:-6px}
}

/* Location da mobile: sempre testo sopra, immagine sotto */
@media(max-width:900px){
	.fs-split{display:flex;flex-direction:column}
	.fs-split .fs-half.txtside{order:1;min-height:auto;padding:clamp(32px,7vw,48px) 20px 22px}
	.fs-split .fs-half:not(.txtside){order:2;min-height:clamp(300px,44vh,420px)}
}

/* hero menu ancora più bassa */
@media(max-width:820px){
	.menu-hero{min-height:58vh}
	.menu-hero .fs-photo{background-position:center 50%}
	.menu-hero .fs-in{padding-top:clamp(92px,11vh,125px)}
}
.menu-hero{min-height:62vh}
.menu-hero .fs-photo{background-position:center 50%}

/* mappa: si carica al clic, così la pagina apre subito */
.map-facciata{position:absolute;inset:0;display:flex;flex-direction:column;
	align-items:center;justify-content:center;gap:14px;cursor:pointer;
	background:var(--bg2) center/cover no-repeat;border:0;width:100%}
.map-facciata span{font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--text)}
.map-facciata b{font-size:15px;font-weight:400;color:var(--dim)}
.map-facciata:hover span{color:var(--azzurro)}

/* carosello video: video puliti, senza cornici dei social */
.video-slider .slider-track{align-items:flex-start}
.slide-video{flex:0 0 clamp(230px,25vw,300px);scroll-snap-align:start}
.slide-video .vwrap{position:relative;width:100%;aspect-ratio:9/16;overflow:hidden;
	border-radius:var(--r2);border:1px solid var(--line);background:#000}
.slide-video video{width:100%;height:100%;object-fit:cover;display:block}
/* l'embed è più alto del riquadro: lo ancoriamo in alto così si vede il video,
   non l'intestazione o i pulsanti del social */
.slide-video iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:100%;height:150%;border:0;display:block}
.slide-video .vwrap:hover{border-color:var(--line2)}
.vdida{font-size:12.5px;color:var(--dim);margin-top:10px;line-height:1.5}
.home-social{margin-top:30px}
@media(max-width:640px){.slide-video{flex:0 0 68vw}}

/* ============ v6.4 ============ */
/* "Una vita dietro al forno": su mobile tutto a destra,
   così il testo non finisce sopra il viso nella foto */
@media(max-width:820px){
	.sez-forno{align-items:flex-end;text-align:right;margin-left:auto}
	.sez-forno .ttl,
	.sez-forno .txt{margin-left:auto;margin-right:0}
	.sez-forno .tag{justify-content:flex-end}
	.sez-forno .cta-row{justify-content:flex-end}
	.sez-forno .inline-data{justify-content:flex-end;text-align:right}
	.sez-forno .idt{text-align:right}
	/* l'ombra si sposta di conseguenza: scura a destra dov'è il testo.
	   L'inquadratura della foto resta quella di prima. */
	.fs.alta .ph-left-lieve::before{background:linear-gradient(270deg,
		rgba(2,7,16,.9) 0%,rgba(2,7,16,.72) 34%,rgba(2,7,16,.34) 62%,rgba(2,7,16,.06) 100%)}
}

/* ============ v6.5 — turni più chiari ============ */
.turno{flex-direction:column;align-items:flex-start;gap:3px;padding:16px 18px;text-align:left}
.turno .t-ord{font-size:10px;letter-spacing:2.2px;text-transform:uppercase;color:var(--azzurro)}
.turno b{font-size:19px;font-weight:600;letter-spacing:-.3px;line-height:1.2}
.turno .t-lim{font-size:12px;color:var(--dim);line-height:1.4}
.turno em{font-style:normal;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;
	color:var(--dim2);margin-top:4px}
.turno.on .t-lim{color:var(--text)}
.turno:disabled em{color:#b06a6a}
