/* Identità Civico 27 — questo foglio è l'ultimo owner di palette e proporzioni. */
:root{--black:#101010;--panel:#f7f5f1;--wine:#ad1027;--gold:#ad1027;--ivory:#fffdf9;--muted:#706d69;--line:rgba(255,253,249,.2)}

/* Testata: una misura stabile; la sola marca in transito può cambiare scala. */
.header,.header.solid{height:76px!important;padding:0 clamp(24px,4vw,64px)!important;background:rgba(255,253,249,.98)!important;color:var(--black)!important;border-bottom:1px solid rgba(16,16,16,.14)!important;backdrop-filter:blur(12px)}
.header::before{display:none!important}.header,.header.solid{grid-template-columns:1fr auto 1fr!important;align-items:center!important}.header nav,.header.solid nav{justify-self:center!important;align-self:center!important;gap:clamp(22px,2.3vw,38px)!important;margin:0!important;padding:0!important;position:static!important;translate:none!important}.header nav a,.header.solid nav a{padding:9px 0!important;font:700 10px/1 var(--sans)!important;letter-spacing:.13em!important;color:var(--black)!important;transition:border-color .2s ease!important}.header nav a::before{display:none!important}.header nav a:hover,.header nav a:focus-visible{border-color:var(--wine)!important}.header .head-book,.header.solid .head-book{justify-self:end!important;align-self:center!important;min-width:132px!important;height:40px!important;margin:0!important;padding:0 13px!important;position:static!important;translate:none!important;font:700 10px/1 var(--sans)!important;letter-spacing:.13em!important;color:var(--black)!important;border:1px solid rgba(16,16,16,.5)!important;transition:background .2s ease,color .2s ease!important}.header .head-book:hover{background:var(--black)!important;color:var(--ivory)!important}.header .head-book span{color:inherit!important}.header-place{display:none!important}.header .logo,.header.solid .logo{width:76px!important;transition:none!important}
.hero-brand-mark,.brand-in-header .hero-brand-mark{width:var(--logo-scroll-width)!important}.brand-in-header .hero-brand-mark{filter:none!important}

/* Nero, bianco caldo e rubino: il rosso è un accento, non una superficie dominante. */
.hero{background:var(--panel)!important}.hero-image,.hero-tile-main{background-image:url('assets/civico-27/facciata.jpg')!important;filter:saturate(.78) contrast(1.02) brightness(1.18)!important}.hero-tile-left{background-image:url('assets/civico-27/sala-riservata.jpg')!important;filter:saturate(.72) brightness(1.1)!important}.hero-tile-right{background-image:url('assets/civico-27/filetto.jpg')!important;filter:saturate(.72) brightness(1.08)!important}.hero-shade{background:linear-gradient(180deg,rgba(255,253,249,.58),rgba(255,253,249,.06) 46%,rgba(16,16,16,.38))!important}.hero-copy{background:rgba(255,253,249,.92)!important;border-color:rgba(16,16,16,.34)!important;color:var(--black)!important}.hero-copy .eyebrow,.hero-ritual,.hero-note{color:var(--black)!important}.hero-copy .eyebrow{border-bottom-color:rgba(16,16,16,.4)!important}.hero-copy .book{border-color:rgba(16,16,16,.5)!important}.hero-copy .book:hover{background:var(--black)!important;color:var(--ivory)!important}
main>.intro.section{background:var(--panel)!important;color:var(--black)!important}.intro-logo{background:#e9e5dd!important}.intro-logo .intro-photo{filter:saturate(.76) brightness(1.05)!important}.intro-logo::after{background:linear-gradient(90deg,transparent,rgba(16,16,16,.12))!important}.intro-copy::before{color:var(--wine)!important}.intro-copy h2,.intro-copy>p:not(.eyebrow),.intro-copy .text-link{color:var(--black)!important}.intro-copy h2 em,.intro-copy .eyebrow{color:var(--wine)!important}
.photos{background:var(--black)!important;color:var(--ivory)!important}.menu{background:var(--wine)!important;color:var(--ivory)!important}.menu-trigger>span,.menu-trigger b{color:var(--ivory)!important}.menu-trigger p,.menu-copy>p:not(.eyebrow),.menu-info span,.menu-info small{color:#ffe8ec!important}.location{background:var(--panel)!important;color:var(--black)!important}.location .eyebrow{color:var(--wine)!important}.location .location-copy a,.location .text-link{color:var(--black)!important}.location .map-wrap{border-color:rgba(16,16,16,.18)!important}.location .map-wrap:before{content:'Civico 27 Novara'!important;background:var(--ivory)!important;color:var(--black)!important}
.menu .eyebrow{color:var(--ivory)!important}.menu h2 em{color:var(--black)!important}.menu-info span,.menu-info small,.menu-card-copy li span,.menu-card-copy .menu-card-note{color:var(--ivory)!important}.menu-list .menu-trigger b{color:var(--ivory)!important;border-color:rgba(255,253,249,.7)!important}.menu-list .menu-trigger:hover h3,.menu-list .menu-trigger:focus-visible h3{color:var(--ivory)!important}.menu-list .menu-trigger:hover b,.menu-list .menu-trigger:focus-visible b{background:var(--ivory)!important;color:var(--black)!important;border-color:var(--ivory)!important}.menu-card,.menu-card-copy{background:var(--wine)!important;color:var(--ivory)!important}.menu-card-close{background:var(--black)!important;color:var(--ivory)!important}.menu-card-copy .eyebrow{color:var(--ivory)!important}.menu-card-copy .book{border-color:rgba(255,253,249,.72)!important}.menu-card-copy .menu-card-note{border-top-color:rgba(255,253,249,.28)!important}

/* Recensioni: due livelli leggibili, senza elementi che si sovrappongono. */
main>.reviews.section{display:grid!important;grid-template-columns:minmax(210px,.58fr) minmax(0,1.42fr)!important;grid-template-rows:auto auto!important;align-items:start!important;gap:0 clamp(42px,7vw,104px)!important;height:auto!important;min-height:0!important;max-height:none!important;padding:clamp(68px,8vw,118px) clamp(28px,8vw,130px)!important;background:var(--black)!important;color:var(--ivory)!important;overflow:visible!important}.reviews-heading{grid-row:span 2!important;padding-top:3px}.reviews-heading h2{margin:0!important;font-size:clamp(64px,7vw,108px)!important;line-height:.76!important}.reviews-heading h2 em{color:var(--wine)!important}.review-feature{padding:24px 0 30px!important;border-top:1px solid rgba(255,253,249,.24)!important;border-bottom:1px solid rgba(255,253,249,.24)!important}.review-score{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:10px 14px!important}.review-score strong{font:500 clamp(52px,5vw,70px)/.8 var(--serif)!important}.review-score span{color:#e64157!important;letter-spacing:2px!important;font-size:13px!important}.review-score p{margin:0!important;color:#bcb8b2!important;font-size:10px!important}.review-feature blockquote{max-width:19ch!important;margin:clamp(28px,4vw,52px) 0!important;font:400 clamp(33px,3.7vw,58px)/.96 var(--serif)!important;letter-spacing:-.055em!important}.review-feature-foot{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:20px!important}.review-feature-foot>span,.review-rail footer{color:#bcb8b2!important;font:10px/1 var(--sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important}.review-rail{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding-top:14px!important;border:0!important}.review-rail article,.review-rail article:first-child{min-height:176px!important;padding:24px!important;border:1px solid rgba(255,253,249,.2)!important;background:rgba(255,255,255,.035)!important}.review-rail article>span{color:#e64157!important;font-size:10px!important;letter-spacing:.1em!important}.review-rail p{margin:19px 0 auto!important;font-size:clamp(20px,1.8vw,28px)!important}.review-rail footer{padding:0!important;background:transparent!important}

/* Footer raccolto, allineato e coerente con il resto del sito. */
footer{min-height:0!important;padding:28px clamp(24px,4vw,64px)!important;grid-template-columns:112px 1fr auto!important;align-items:center!important;gap:28px!important;background:var(--ivory)!important;color:var(--black)!important;border-top:1px solid rgba(16,16,16,.14)!important}footer img{width:82px!important}footer div{gap:16px!important;font-size:9px!important}footer div a{border-bottom-color:var(--wine)!important}footer p{color:var(--muted)!important;font-size:8px!important}

@media(max-width:760px){.header,.header.solid{height:68px!important;padding:0 20px!important}.header nav,.header .head-book{display:none!important}.header .logo{width:68px!important}.menu-toggle{color:var(--black)!important}.header.solid .menu-toggle{color:var(--black)!important}.mobile-menu{inset:68px 0 auto!important;background:var(--ivory)!important;color:var(--black)!important;border-bottom-color:var(--wine)!important}
main>.reviews.section{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:34px!important;padding:66px 20px!important}.reviews-heading{grid-row:auto!important}.reviews-heading h2{font-size:clamp(66px,19vw,94px)!important}.review-feature{padding:20px 0 27px!important}.review-feature blockquote{font-size:clamp(36px,10.5vw,52px)!important;margin:36px 0!important}.review-feature-foot{align-items:flex-start!important;flex-direction:column!important;gap:21px!important}.review-rail{grid-template-columns:1fr!important;gap:10px!important}.review-rail article,.review-rail article:first-child{min-height:0!important;padding:22px!important}footer{padding:26px 20px!important;grid-template-columns:1fr!important;gap:18px!important;align-items:start!important}footer img{width:74px!important}footer p{margin-top:4px!important}}

@media(prefers-reduced-motion:reduce){.header,.header.solid,.header nav a,.header .head-book{transition:none!important}}
/* Risto Ponti: palette e atmosfera, sopra l'impostazione visiva Civico27. */
:root{--risto-nero:#171816;--risto-ottone:#caa45c;--risto-pietra:#b9aa95;--risto-avorio:#f6f2e9}
.header:not(.solid){background:linear-gradient(180deg,rgba(17,18,16,.88),rgba(17,18,16,0))!important}.header.solid{background:rgba(23,24,22,.96)!important}.hero{background:var(--risto-nero)!important}.hero-image,.hero-tile-main{filter:saturate(.78) contrast(1.08) brightness(.54)!important}.hero-shade{background:linear-gradient(180deg,rgba(13,14,13,.5),rgba(13,14,13,.06) 37%,rgba(13,14,13,.84))!important}.hero::before{background:linear-gradient(90deg,rgba(14,15,14,.42),transparent 38%,transparent 62%,rgba(14,15,14,.34))!important}.hero-copy{background:rgba(23,24,22,.78)!important;border-color:rgba(202,164,92,.54)!important;color:var(--risto-avorio)!important;backdrop-filter:blur(10px)!important;padding:25px 28px!important}.hero-copy .eyebrow{color:var(--risto-avorio)!important;border-bottom-color:rgba(246,242,233,.44)!important}.hero-copy .book{border-color:rgba(246,242,233,.62)!important}.hero-copy .book:hover{background:var(--risto-ottone)!important;color:var(--risto-nero)!important}
.intro{background:var(--risto-pietra)!important;color:#24231f!important}.intro-copy h2{color:#24231f!important}.intro-copy h2 em,.intro-copy .eyebrow,.location .eyebrow{color:#72552d!important}.intro-copy>p:not(.eyebrow),.intro-copy .text-link{color:#39352e!important}.intro-logo{background:#22231f!important}.intro-logo::after{background:linear-gradient(0deg,rgba(15,16,14,.56),transparent 60%)!important}.photos{background:var(--risto-nero)!important}.menu{background:#30322f!important}.menu-copy>p:not(.eyebrow),.menu-info span,.menu-info small{color:#ded7cc!important}.menu-trigger>span,.menu-trigger b,.review-score span,.reviews-heading h2 em,.review-rail article>span{color:#d7b56f!important}.reviews{background:#22231f!important}.location{background:#e9e3d8!important;color:#24231f!important}.location .location-copy a,.location .text-link{color:#24231f!important}.location .map-wrap:before{content:'Risto Ponti · Trecate'!important;background:#24231f!important;color:#f6f2e9!important}footer{background:var(--risto-nero)!important}
@media(max-width:760px){.hero-copy{left:20px!important;right:20px!important;width:auto!important;padding:21px 20px!important}.hero-image,.hero-tile-main{filter:saturate(.7) contrast(1.08) brightness(.5)!important}}

/* Correzione contrasto e rimozione definitiva della precedente tinta vinaccia. */
:root{--black:#171816;--panel:#282a27;--wine:#30322f;--gold:#caa45c;--ivory:#f6f2e9;--muted:#bdb7ae;--line:rgba(246,242,233,.2)}
.header,.header.solid,.header:not(.solid){background:#171816!important;color:var(--ivory)!important;border-bottom-color:rgba(246,242,233,.18)!important}.header nav a,.header.solid nav a,.header .head-book,.header.solid .head-book{color:var(--ivory)!important;border-color:rgba(246,242,233,.5)!important}.header nav a:hover,.header nav a:focus-visible{border-color:var(--gold)!important}.header .head-book:hover{background:var(--gold)!important;color:var(--black)!important}.header .logo{filter:none!important}.menu-toggle,.header.solid .menu-toggle{color:var(--ivory)!important}
.menu,.menu-card,.menu-card-copy,.menu-card-content,.menu-card-inner{background:#30322f!important}.menu-card-close{background:#171816!important}.menu-trigger,.menu-card-copy,.menu-card-copy li,.menu-card-copy .menu-card-note{border-color:rgba(246,242,233,.28)!important}.menu-trigger>span,.menu-trigger b,.menu-card-copy .eyebrow{color:#d7b56f!important}.mobile-menu{background:#282a27!important;color:var(--ivory)!important;border-bottom-color:var(--gold)!important}

/* Contrasto leggibile: testo chiaro sui fondi scuri, testo grafite sui fondi chiari. */
main > .intro.section,.intro,.intro.section{background:#e6dfd3!important;color:#20211f!important}.intro .eyebrow,.intro-copy .eyebrow{color:#765a31!important}.intro-copy h2,.intro-copy h2 em{color:#20211f!important}.intro-copy>p:not(.eyebrow),.intro-copy .text-link{color:#302f2b!important}.intro-copy .text-link{border-color:#302f2b!important}.intro-copy .text-link span{color:#765a31!important}
.photo-card::after{content:'';position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.76));pointer-events:none}.photo-card span{z-index:1;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.9)}
.menu .eyebrow,.menu-copy>p:not(.eyebrow),.menu-info span,.menu-info small,.menu h2,.menu-list h3{color:#f6f2e9!important}.menu h2 em,.menu-trigger>span,.menu-trigger b{color:#dfbd79!important}.menu-list article{border-color:rgba(246,242,233,.34)!important}.reviews .eyebrow,.reviews p,.reviews small,.review-rail article small,.review-rail article p{color:#d9d4cb!important}.reviews .review-score small,.review-rail article>span{color:#dfbd79!important}.review-rail article{border-color:rgba(246,242,233,.26)!important}
.location,.location.section{background:#f1ece2!important;color:#20211f!important}.location .eyebrow{color:#765a31!important}.location-copy address,.location-copy p,.location-copy .hours li,.location-copy .hours span,.location-copy .hours small,.location-copy a,.location .text-link{color:#20211f!important}.location .hours span,.location .hours small{opacity:1!important}.location .map-wrap{border-color:rgba(32,33,31,.25)!important}.location .map-wrap:before{color:#f6f2e9!important}.location .book,.location .text-link{border-color:rgba(32,33,31,.62)!important}
.location-copy dl,.location-copy dl dt,.location-copy dl dd{color:#20211f!important;opacity:1!important}.location-copy dl dd{font-weight:600!important}

/* Hero video: il fotogramma resta come fallback per browser lenti o reduced motion. */
.hero-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.08) brightness(.55)}
@media(prefers-reduced-motion:reduce){.hero-video{display:none!important}}
footer,footer p,footer a{color:#f6f2e9!important}footer p{opacity:.82}
