/* Cerbo — aggiunte della demo: logo, scritta del piè di pagina, mappa, prenotazione d'esempio, ritocchi tipografici */
:root{--cb-amber:#fa8b51;--cb-amber-hi:#ffc7a6;--cb-ink:#0b0b0c;--cb-g2:#111112;--cb-g3:#19191b;--cb-ivory:#eeede8;--cb-grey:#93928e}

/* ---------- tipografia: Space Grotesk al posto del Cormorant ---------- */
.display,.h1,.h2,.h3,h1,h2,h3{font-family:var(--f-display);font-weight:500;letter-spacing:-.025em}
.gold-text,em,.display em,.h2 em{font-style:normal}
.hero-title{font-weight:600;letter-spacing:-.045em;font-size:clamp(68px,13vw,190px)!important;line-height:.95}
.pullquote{font-style:normal;letter-spacing:-.01em}
.eyebrow{font-family:var(--f-body);font-weight:500}
body{font-weight:400}

/* ---------- logo ---------- */
.cb-logo{display:inline-flex;flex-direction:column;align-items:center;gap:5px;line-height:1;color:var(--cream);width:auto;height:auto!important;filter:none;transition:transform .6s var(--ease)}
.cb-logo .cb-knight{display:block;height:34px;width:auto;fill:var(--cb-amber);filter:drop-shadow(0 4px 14px rgba(250,139,81,.28));transition:height .5s var(--ease)}
.cb-logo__word{font-family:var(--f-display);font-weight:700;font-size:21px;letter-spacing:.34em;margin-right:-.34em}
.cb-logo__sub{font-family:var(--f-body);font-weight:500;font-size:8.5px;letter-spacing:.36em;margin-right:-.36em;text-transform:uppercase;color:var(--cream-dim);transition:opacity .4s var(--ease),max-height .4s var(--ease);max-height:12px;overflow:hidden}
.site-header.scrolled .cb-logo .cb-knight{height:24px}
.site-header.scrolled .cb-logo__sub{opacity:0;max-height:0}
.brand:hover .cb-logo{transform:scale(1.04)}
.footer-logo .cb-logo{align-items:flex-start}
.footer-logo .cb-logo .cb-knight{height:44px}
.footer-logo .cb-logo__word{font-size:26px}
.nav-aside__logo.cb-logo{align-items:flex-start;margin-bottom:.8rem}
.nav-aside__logo .cb-knight{height:46px}
.nav-aside__logo .cb-logo__word{font-size:26px}
.nav-overlay__logo.cb-logo{display:none}
@media (max-width:1000px){.nav-overlay__logo.cb-logo{display:flex;align-items:flex-start;position:absolute;top:22px;left:var(--gutter);z-index:2}}
@media (max-width:560px){.cb-logo .cb-knight{height:26px}.cb-logo__word{font-size:17px}.cb-logo__sub{font-size:7.5px}
  .site-header.scrolled .cb-logo .cb-knight{height:20px}}

/* ---------- scritta grande nel piè di pagina ---------- */
.cb-footword{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(84px,21vw,330px);line-height:.78;letter-spacing:.04em;margin-right:-.04em;text-align:center;
  background:linear-gradient(180deg,rgba(250,139,81,.6) 0%,rgba(250,139,81,.18) 55%,rgba(250,139,81,0) 92%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-top:.06em}
.cb-footword.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.cb-footword.reveal.in{opacity:1;transform:none}

/* ---------- credito CerboSolutions ---------- */
.footer-bar a[href*="cerbosolutions"]{color:var(--cb-amber);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(250,139,81,.4)}
.footer-bar a[href*="cerbosolutions"]:hover{text-decoration-color:var(--cb-amber)}
.footer-bar{gap:12px 32px;flex-wrap:wrap}
.footer-bar>span:last-child{max-width:640px;line-height:1.6}

/* ---------- mappa d'esempio ---------- */
.cb-map{position:relative;background:#121214;min-height:340px}
.cb-map svg{position:absolute;inset:0;width:100%;height:100%}
.cb-map .m-bg{fill:#121214}
.cb-map .m-river{fill:none;stroke:rgba(250,139,81,.16);stroke-width:26;stroke-linecap:round}
.cb-map .m-road path{fill:none;stroke:rgba(238,237,232,.07);stroke-width:7}
.cb-map .m-road--main path{stroke:rgba(238,237,232,.13);stroke-width:13}
.cb-map .m-block rect{fill:rgba(238,237,232,.035)}
.cb-map .m-pin path{fill:var(--cb-amber)}
.cb-map .m-pin .m-dot{fill:var(--cb-ink)}
.cb-map .m-pulse{fill:rgba(250,139,81,.18);transform-origin:0 -32px;animation:cbPulse 2.4s var(--ease) infinite}
@keyframes cbPulse{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.6);opacity:0}}
.cb-map__card{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-radius:12px;
  background:rgba(11,11,12,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(238,237,232,.1);font-size:.9rem}
.cb-map__card b{font-family:var(--f-display);font-size:1.1rem;font-weight:600;color:var(--cream)}
.cb-map__card span{color:var(--cream-dim)}
.cb-map__note{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cb-amber)!important;margin-top:4px}

/* ---------- prenotazione d'esempio ---------- */
.cb-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;pointer-events:none}
.cb-modal.open{visibility:visible;pointer-events:auto}
.cb-modal__bg{position:absolute;inset:0;background:rgba(5,5,6,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .4s var(--ease)}
.cb-modal.open .cb-modal__bg{opacity:1}
.cb-modal__box{position:relative;width:min(560px,100%);max-height:min(760px,calc(100dvh - 40px));overflow:auto;overscroll-behavior:contain;
  background:linear-gradient(180deg,#151517,#0e0e0f);border:1px solid rgba(238,237,232,.1);border-radius:20px;padding:30px 30px 26px;
  box-shadow:0 40px 120px rgba(0,0,0,.6);transform:translateY(24px) scale(.98);opacity:0;transition:transform .5s var(--ease),opacity .4s var(--ease)}
.cb-modal.open .cb-modal__box{transform:none;opacity:1}
.cb-modal__x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--cream-dim);border:1px solid rgba(238,237,232,.12)}
.cb-modal__x:hover{color:var(--cream);border-color:rgba(238,237,232,.3)}
.cb-modal__eyebrow{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cb-amber);display:flex;align-items:center;gap:10px}
.cb-modal__eyebrow svg{height:18px;width:auto;fill:var(--cb-amber)}
.cb-modal h2{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.1;margin:.5rem 0 1.2rem;color:var(--cream)}
.cb-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:rgba(238,237,232,.05);border:1px solid rgba(238,237,232,.08);margin-bottom:1.3rem}
.cb-tabs button{padding:10px 12px;border-radius:999px;font-size:.86rem;font-weight:500;color:var(--cream-dim);transition:background .3s,color .3s}
.cb-tabs button[aria-selected="true"]{background:var(--cb-amber);color:#1c0c03}
.cb-field{margin-bottom:1.1rem}
.cb-label{display:block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:.55rem}
.cb-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin:0 -2px;padding-inline:2px}
.cb-chips::-webkit-scrollbar{display:none}
.cb-chips.wrap{flex-wrap:wrap;overflow:visible}
.cb-chip{flex:0 0 auto;min-width:62px;padding:9px 12px;border-radius:12px;border:1px solid rgba(238,237,232,.12);color:var(--cream);font-size:.86rem;line-height:1.2;text-align:center;transition:border-color .25s,background .25s,color .25s}
.cb-chip small{display:block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:2px}
.cb-chip:hover:not(:disabled){border-color:rgba(250,139,81,.6)}
.cb-chip[aria-pressed="true"]{background:rgba(250,139,81,.14);border-color:var(--cb-amber);color:var(--cb-amber-hi)}
.cb-chip[aria-pressed="true"] small{color:var(--cb-amber)}
.cb-chip:disabled{opacity:.32;cursor:not-allowed;text-decoration:line-through}
.cb-stepper{display:inline-flex;align-items:center;border:1px solid rgba(238,237,232,.12);border-radius:999px}
.cb-stepper button{width:44px;height:44px;font-size:1.2rem;color:var(--cream)}
.cb-stepper output{min-width:96px;text-align:center;font-weight:500}
.cb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cb-input{width:100%;padding:13px 14px;border-radius:12px;border:1px solid rgba(238,237,232,.12);background:rgba(238,237,232,.03);color:var(--cream);font:inherit;font-size:16px}
.cb-input:focus{outline:none;border-color:var(--cb-amber);background:rgba(250,139,81,.05)}
.cb-input.err{border-color:#ff6b5a}
textarea.cb-input{min-height:78px;resize:vertical}
.cb-hide{display:none!important}
.cb-submit{width:100%;justify-content:center;margin-top:.4rem}
.cb-fine{font-size:.74rem;color:var(--cream-faint);margin-top:.9rem;text-align:center;line-height:1.5}
.cb-done{text-align:center;padding:10px 0 4px}
.cb-done__ic{width:68px;height:68px;border-radius:50%;margin:6px auto 1rem;display:grid;place-items:center;background:rgba(250,139,81,.14);border:1px solid rgba(250,139,81,.5);color:var(--cb-amber)}
.cb-done__ic svg{width:30px;height:30px}
.cb-done h2{margin-bottom:.6rem}
.cb-done p{color:var(--cream-dim)}
.cb-done .cb-sum{margin:1.2rem auto;padding:14px 16px;border-radius:14px;background:rgba(238,237,232,.04);border:1px solid rgba(238,237,232,.08);text-align:left;font-size:.92rem;display:grid;gap:6px;max-width:380px}
.cb-done .cb-sum span{display:flex;justify-content:space-between;gap:16px}
.cb-done .cb-sum b{font-weight:500;color:var(--cream);text-align:right}
@media (max-width:560px){
  .cb-modal{align-items:flex-end;padding:0}
  .cb-modal__box{border-radius:22px 22px 0 0;max-height:94dvh;padding:26px 18px calc(22px + env(safe-area-inset-bottom));transform:translateY(100%)}
  .cb-row{grid-template-columns:1fr}
}
html.cb-lock,html.cb-lock body{overflow:hidden}

/* ---------- avvisi (form e social d'esempio) ---------- */
.cb-toast{position:fixed;left:50%;bottom:24px;z-index:1100;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:calc(100vw - 32px);
  padding:12px 18px;border-radius:999px;background:rgba(20,20,22,.94);border:1px solid rgba(250,139,81,.35);color:var(--cream);font-size:.86rem;
  box-shadow:0 18px 50px rgba(0,0,0,.5);transition:opacity .35s var(--ease),transform .35s var(--ease);text-align:center}
.cb-toast.show{opacity:1;transform:translate(-50%,0)}
.wpcf7-response-output.cb-ok{display:block!important;margin-top:1rem;padding:12px 14px;border-radius:12px;border:1px solid rgba(250,139,81,.4)!important;background:rgba(250,139,81,.08);color:var(--cream);font-size:.9rem}
.wpcf7-form .cb-err{border-color:#ff6b5a!important}

/* ---------- niente corsivi finti: Space Grotesk e Inter non hanno il corsivo ---------- */
*,*::before,*::after{font-style:normal!important}

/* ---------- parti nascoste dei moduli (prima le nascondeva il foglio di stile del plugin) ---------- */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;padding:0;border:0}
.wpcf7 .hidden-fields-container{display:none}
.wpcf7 form .wpcf7-response-output:not(.cb-ok){display:none}

/* ---------- articoli del diario: margini laterali su telefono e tablet ---------- */
.article__meta{flex-wrap:wrap;gap:6px 12px}
@media (max-width:820px){.article,.article-foot{padding-inline:var(--gutter)}}

/* ---------- telefono: foto dei drink in un carosello, galleria su due colonne ---------- */
@media (max-width:560px){
  .drinks-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .drinks-gallery::-webkit-scrollbar{display:none}
  .drink-card{flex:0 0 68%;scroll-snap-align:start}
  .drink-card__name{font-size:1.15rem}
  .masonry{columns:2;column-gap:10px}
  .masonry__item{margin-bottom:10px;border-radius:10px}
  .masonry__item::after{opacity:1}
  .masonry__item figcaption{opacity:1;transform:none;left:10px;right:10px;bottom:8px;font-size:.68rem;line-height:1.3}
}

/* ---------- ripasso 20/10/2026 ---------- */

/* menu a tutto schermo: l'iride si apre dal centro (il pulsante Menu è a sinistra, il Chiudi a destra) */
.nav-overlay{clip-path:circle(0% at 50% 50%)}
.nav-overlay.open{clip-path:circle(150% at 50% 50%)}

/* focus da tastiera: anello ambra ovunque, anche nel campo newsletter */
:focus-visible{outline:2px solid var(--cb-amber);outline-offset:3px}
.cb-input:focus-visible,.newsletter input:focus-visible{outline:none}
.newsletter:focus-within{border-color:var(--cb-amber);box-shadow:0 0 0 3px rgba(250,139,81,.25)}

/* contrasto: riga in fondo e etichetta dell'apertura sulle foto chiare */
.footer-bar,.footer-bar a{color:var(--cb-grey)}
.hero__eyebrow{text-shadow:0 1px 14px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.5)}
.hero__inner::before{content:"";position:absolute;inset:-4% -8%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(7,7,8,.42),rgba(7,7,8,0))}
@media (max-width:560px){.hero__eyebrow{font-size:12px}}

/* newsletter: 16 px, così Safari su iPhone non ingrandisce la pagina al tocco */
.newsletter input:not([type=submit]){font-size:16px}

/* menu: la sezione scelta non finisce sotto la barra delle categorie */
.menu-cat{scroll-margin-top:220px}
@media (max-width:560px){.menu-cat{scroll-margin-top:190px}}

/* schermi grandi: caratteri un po' più grandi */
@media (min-width:1920px){html{font-size:17px}}
@media (min-width:2400px){html{font-size:18px}}
