:root{--ink:#201813;--paper:#f5f0e7;--white:#fff;--gold:#d7b564;--line:rgba(32,24,19,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1200px,calc(100% - 48px));margin:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;color:#fff;transition:.3s}.site-header.scrolled{background:rgba(26,19,14,.96);box-shadow:0 8px 30px rgba(0,0,0,.16)}.admin-bar .site-header{top:32px}.header-shell{width:min(1500px,calc(100% - 56px));height:150px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:34px}.desktop-nav{display:flex;align-items:center;gap:34px}.nav-right{justify-content:flex-end}.desktop-nav>a{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.brand{width:190px}.brand img{width:100%;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}.social-link{width:22px;height:22px}.social-link svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8}.social-link.fb svg{fill:currentColor;stroke:none}.order-link{border:1px solid var(--gold);color:var(--gold)!important;padding:17px 22px}.menu-toggle,.mobile-menu{display:none}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:#1a120d;color:#fff}.hero-slides,.hero-slide,.hero-shade{position:absolute;inset:0}.hero-slide{opacity:0;background-size:cover;background-position:center;transform:scale(1.05);transition:opacity 1.4s ease,transform 8s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero-shade{background:linear-gradient(180deg,rgba(10,7,5,.54),rgba(10,7,5,.5)),linear-gradient(90deg,rgba(0,0,0,.26),transparent 50%,rgba(0,0,0,.26))}.hero-content{position:relative;z-index:2;text-align:center;width:min(1450px,calc(100% - 60px));padding:190px 0 120px}.hero h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,6vw,96px);line-height:1.03;font-weight:400;letter-spacing:-.035em;text-shadow:0 4px 25px rgba(0,0,0,.45)}.hero h1 span{display:block;white-space:nowrap}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:28px 0 22px;color:var(--gold)}.ornament i{width:84px;height:1px;background:currentColor}.ornament b{font-weight:400}.hero p{font-size:clamp(17px,1.5vw,22px);line-height:1.55;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.4)}.hero-actions{display:flex;justify-content:center;gap:16px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:17px 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;border:1px solid transparent}.button-gold{background:var(--gold);border-color:var(--gold);color:#201813}.button-outline{border-color:#fff;color:#fff;background:rgba(0,0,0,.12)}.button-dark{background:var(--ink);color:#fff}.hero-dots{position:absolute;z-index:3;bottom:52px;left:50%;transform:translateX(-50%);display:flex;gap:11px}.hero-dots button{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent}.hero-dots button.active{background:var(--gold);border-color:var(--gold)}.scroll-cue{position:absolute;z-index:3;bottom:14px;left:50%;width:28px;height:28px;transform:translateX(-50%)}.scroll-cue span{display:block;width:18px;height:18px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(45deg)}
.section{padding:110px 0}.eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:#8b713d}.section h2,.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.intro h2{font-size:clamp(44px,5vw,72px);line-height:1.02;margin:0}.intro-grid>div:last-child{font-size:19px;line-height:1.75;padding-top:28px}.text-link{display:inline-block;margin-top:18px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}.products{background:#211914;color:#fff}.products .eyebrow{color:var(--gold)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:54px}.section-heading h2{font-size:clamp(44px,5vw,72px);margin:0}.section-heading p{max-width:390px;line-height:1.6;color:rgba(255,255,255,.7)}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.2)}.product-grid article{padding:34px 28px 16px 0;border-right:1px solid rgba(255,255,255,.2);min-height:250px}.product-grid article+article{padding-left:28px}.product-grid article:last-child{border-right:0}.product-grid span{color:var(--gold);font-size:12px;letter-spacing:.18em}.product-grid h3{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;line-height:1.15;margin:48px 0 16px}.product-grid p{color:rgba(255,255,255,.68);line-height:1.65}.visit-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:620px}.visit-card{background:#e7ddcc;padding:80px;display:flex;flex-direction:column;justify-content:center}.visit-card h2{font-size:clamp(42px,4.2vw,66px);line-height:1.05;margin:0 0 24px}.visit-card p{line-height:1.7;margin-bottom:30px}.visit-card .button{align-self:flex-start}.visit-image img{width:100%;height:100%;object-fit:cover}.site-footer{background:#18120e;color:#fff;padding:70px 0 22px}.footer-shell{width:min(1200px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:150px 1fr 1fr;gap:70px;align-items:center;line-height:1.7}.footer-shell img{width:130px}.footer-shell a{color:var(--gold)}.footer-bottom{width:min(1200px,calc(100% - 48px));margin:50px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:12px;color:rgba(255,255,255,.55)}
.page-main{padding-top:150px}.page-hero{background:#211914;color:#fff;text-align:center;padding:100px 24px}.page-hero h1{font-size:clamp(58px,8vw,110px);margin:0}.page-hero p:last-child{max-width:650px;margin:22px auto 0;line-height:1.6}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.contact-grid h2,.order-box h2{font-family:Georgia,'Times New Roman',serif;font-size:52px;font-weight:400;margin-top:0}.contact-grid p{line-height:1.7}.stack-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.map iframe{width:100%;height:560px;border:0}.order-box{text-align:center;max-width:780px}.order-box p{font-size:19px;line-height:1.7;margin-bottom:30px}.prose{max-width:850px;line-height:1.75}
@media(max-width:1100px){.header-shell{height:125px}.desktop-nav{gap:18px}.desktop-nav>a{font-size:10px}.brand{width:160px}.hero h1{font-size:clamp(48px,6.3vw,72px)}.product-grid{grid-template-columns:repeat(2,1fr)}.product-grid article:nth-child(2){border-right:0}.product-grid article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.2)}}
@media(max-width:820px){.admin-bar .site-header{top:46px}.header-shell{height:92px;width:calc(100% - 30px);grid-template-columns:48px 1fr 48px}.desktop-nav{display:none}.brand{width:118px;justify-self:center}.menu-toggle{display:block;width:38px;height:30px;padding:0;border:0;background:transparent}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:7px 0}.mobile-menu{position:absolute;top:92px;left:0;right:0;background:#1b140f;padding:22px 28px;flex-direction:column;gap:18px}.mobile-menu.open{display:flex}.mobile-menu a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.hero-content{padding-top:150px}.hero h1 span{white-space:normal}.intro-grid,.visit-grid,.contact-grid{grid-template-columns:1fr}.intro-grid{gap:30px}.section-heading{display:block}.section-heading p{max-width:none}.visit-card{padding:60px 38px}.visit-image{min-height:420px}.footer-shell{grid-template-columns:1fr;gap:26px}.footer-shell img{width:110px}}
@media(max-width:560px){.container{width:calc(100% - 30px)}.hero-content{width:calc(100% - 28px);padding-top:145px}.hero h1{font-size:41px}.hero p{font-size:15px}.hero p br{display:none}.hero-actions{flex-direction:column;align-items:center}.section{padding:78px 0}.product-grid{grid-template-columns:1fr}.product-grid article,.product-grid article+article{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.product-grid article:last-child{border-bottom:0}.visit-card{padding:52px 28px}.page-main{padding-top:92px}.page-hero{padding:70px 20px}.footer-shell,.footer-bottom{width:calc(100% - 30px)}.map iframe{height:420px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-slide{transition:none}}

/* Contatti e Google Maps */
.contact-details a{font-weight:700}.map-card{background:#fff;padding:24px;box-shadow:0 18px 50px rgba(32,24,19,.10)}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.map-heading .eyebrow{margin:0}.map-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:38px;font-weight:400;margin:0}.map{position:relative;overflow:hidden;background:#e7ddcc;min-height:560px}.map iframe{display:block;width:100%;height:560px;border:0}.map-fallback{margin:16px 0 0;font-size:14px}.map-fallback a{font-weight:700;text-decoration:underline}
@media(max-width:820px){.map-heading{display:block}.map-heading h2{margin-top:6px}.map-card{padding:16px}.map,.map iframe{min-height:460px;height:460px}}
@media(max-width:560px){.map,.map iframe{min-height:380px;height:380px}.stack-buttons .button{width:100%}}


/* Pagina Contatti compatta: contenuti principali visibili in una schermata desktop */
@media(min-width:821px){
  .contact-page{padding-top:150px}
  .contact-page .contact-hero{padding:34px 24px 30px}
  .contact-page .contact-hero .eyebrow{margin-bottom:8px}
  .contact-page .contact-hero h1{font-size:clamp(54px,5vw,76px);line-height:1}
  .contact-page .contact-hero p:last-child{margin-top:12px;line-height:1.4}
  .contact-page .contact-section{padding:34px 0 42px}
  .contact-page .contact-grid{grid-template-columns:.72fr 1.28fr;gap:42px;align-items:stretch}
  .contact-page .contact-details{display:flex;flex-direction:column;justify-content:center}
  .contact-page .contact-details h2{font-size:38px;line-height:1.05;margin:0 0 18px}
  .contact-page .contact-details p{line-height:1.45;margin:0 0 13px}
  .contact-page .stack-buttons{margin-top:10px;gap:10px}
  .contact-page .stack-buttons .button{min-width:0;padding:14px 17px;font-size:11px}
  .contact-page .map-card{padding:18px}
  .contact-page .map-heading{margin-bottom:12px}
  .contact-page .map-heading h2{font-size:32px}
  .contact-page .map,.contact-page .map iframe{min-height:390px;height:390px}
  .contact-page .map-fallback{margin-top:10px;font-size:13px}
}
@media(min-width:821px) and (max-height:820px){
  .contact-page .contact-hero{padding:22px 24px 20px}
  .contact-page .contact-hero h1{font-size:56px}
  .contact-page .contact-section{padding:24px 0 30px}
  .contact-page .map,.contact-page .map iframe{min-height:330px;height:330px}
  .contact-page .contact-details h2{font-size:34px;margin-bottom:12px}
  .contact-page .contact-details p{margin-bottom:9px;line-height:1.35}
  .contact-page .stack-buttons .button{padding:12px 14px}
}

/* Contatti v13.2 — scheda recapiti e orari */
.contact-page .contact-details{background:rgba(255,255,255,.42);border:1px solid rgba(181,139,67,.25);padding:26px 28px;box-shadow:0 16px 42px rgba(32,24,19,.06)}
.contact-page .contact-details-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(32,24,19,.14)}
.contact-page .contact-details-heading .eyebrow{margin:0;order:2}
.contact-page .contact-details-heading h2{font-size:42px;margin:0}
.contact-page .contact-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.contact-page .contact-item{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:14px 16px;background:#fff;border-left:3px solid #c99a45}
.contact-page .contact-item-label{font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#98702f;margin-bottom:7px}
.contact-page .contact-item-value{font-size:15px;line-height:1.4;color:#211914;text-decoration:none}
.contact-page .contact-phone{font-size:19px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.contact-page .opening-hours{background:#211914;color:#fff;padding:14px 16px}
.contact-page .opening-hours-title{margin:0 0 8px!important;color:#d9ad59;font-size:10px!important;line-height:1.2!important;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.contact-page .opening-hours-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:8px 0;border-top:1px solid rgba(255,255,255,.13);font-size:14px;line-height:1.3}
.contact-page .opening-hours-times{display:flex;gap:14px;text-align:right}
.contact-page .opening-hours-times strong{font-weight:500;white-space:nowrap}
.contact-page .opening-hours-closed span:last-child{color:#d9ad59;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.contact-page .contact-details .stack-buttons{margin-top:14px}
@media(max-width:1100px){.contact-page .contact-summary{grid-template-columns:1fr}.contact-page .opening-hours-times{display:block}.contact-page .opening-hours-times strong{display:block}}
@media(max-width:820px){.contact-page .contact-details{padding:22px}.contact-page .contact-summary{grid-template-columns:1fr 1fr}.contact-page .opening-hours-times{display:flex}}
@media(max-width:560px){.contact-page .contact-details{padding:18px}.contact-page .contact-details-heading{align-items:flex-start;flex-direction:column-reverse;gap:5px}.contact-page .contact-details-heading h2{font-size:36px}.contact-page .contact-summary{grid-template-columns:1fr}.contact-page .opening-hours-row{grid-template-columns:1fr;gap:4px}.contact-page .opening-hours-times{display:flex;text-align:left}.contact-page .opening-hours-closed{grid-template-columns:1fr auto}.contact-page .contact-item{min-height:auto}}

/* Contatti v13.3 — dicitura estesa dei giorni di apertura */

/* v13.4 — leggibilità del menu sulle pagine interne */
body:not(.home) .site-header:not(.scrolled){background:var(--paper);color:var(--ink)}
body:not(.home) .site-header:not(.scrolled) .desktop-nav>a:not(.order-link){color:var(--ink)}
body:not(.home) .site-header:not(.scrolled) .desktop-nav>a:not(.order-link):hover,
body:not(.home) .site-header:not(.scrolled) .desktop-nav>a:not(.order-link):focus-visible{color:#9a742d}
body:not(.home) .site-header:not(.scrolled) .menu-toggle span{background:var(--ink)}

/* v13.4.1 — titolo coerente con la tipografia del logo, senza elementi aggiuntivi */
.contact-page .contact-details-heading h2{font-family:"Josefin Sans",sans-serif;font-size:32px;font-weight:500;letter-spacing:.22em;line-height:1;text-transform:uppercase;white-space:nowrap}

/* v13.4.1 — recapiti nella scheda Contatti */
.contact-page .contact-item-label{display:flex;align-items:center;gap:7px}
.contact-page .contact-item-label span[aria-hidden="true"]{font-size:13px;line-height:1;letter-spacing:0}
@media(max-width:560px){.contact-page .contact-details-heading h2{font-size:28px;letter-spacing:.17em}}


/* v13.4.2 — azioni Contatti sulla stessa linea */
.contact-page .contact-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;}
.contact-page .contact-actions .button{width:100%;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap;}
@media(max-width:560px){
  .contact-page .contact-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;}
  .contact-page .contact-actions .button{width:100%;padding:12px 4px;font-size:9px;letter-spacing:.08em;}
}
/* Il Raviolo v13.4.5: rifiniture pagina Contatti */
@media (min-width:821px){
  .contact-page .contact-hero{padding-top:44px;}
}
.contact-page .contact-phone-icon{color:#d62f2f;}
.contact-page .contact-details-heading h2{font-family:"Josefin Sans",sans-serif;font-weight:400;}

/* v13.4.7 — cornetta vettoriale rossa, indipendente dal rendering emoji */
.contact-page .contact-phone-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:#d62f2f;flex:0 0 14px;}
.contact-page .contact-phone-icon svg{display:block;width:14px;height:14px;fill:currentColor;}
