/* Sito di Casa Santé · Il bistrot della piazza (Piazza Santa Giulia 9/A, Vanchiglia).
   Colori e caratteri del kit immagine (9/11/2026): nero bistrot, rame, oro, corten, pietra;
   Cormorant Garamond corsivo (come il menu), Jost per le etichette (le lettere del logo), Instrument Sans per i testi. */
/* Caratteri ospitati sul sito (11/11/2026, prima da Google Fonts): woff2 in assets/fonts/, licenza OFL (fonts/LICENZE.txt). */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500 600;font-display:swap;src:url(fonts/cormorant-garamond-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/instrument-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/instrument-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/jost-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Jost';font-style:normal;font-weight:500 600;font-display:swap;src:url(fonts/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{
  --stone:#ECEBE6; --paper:#F7F5F0; --ink:#1E1814; --muted:#625750; --faint:#6E645B; --line:#DAD3C8;
  --brand:#15110E; --brand-2:#2A221C; --on-brand:#E9E2D6;
  --gold:#8C4A2A; --gold-light:#D4AE55; --rame:#C27A47;
  --night:#15110E;
  --display:"Cormorant Garamond",Georgia,serif;
  --label:Jost,Futura,"Avenir Next",sans-serif;
  --body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gutter:max(16px,env(safe-area-inset-left,0px));
  --gutter-r:max(16px,env(safe-area-inset-right,0px));
  --wide:74rem;
  color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px;}
h1,h2,h3{text-wrap:balance;margin:0;}
p{margin:0;}

.container{max-width:var(--wide);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter-r);}
.eyebrow{font-family:var(--label);font-size:.76rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);}
.section{padding-block:clamp(4rem,10vw,7rem);}
.section-head{display:grid;gap:.8rem;max-width:40rem;margin-bottom:clamp(2rem,5vw,3rem);}
.section-head h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.1rem,5.6vw,3.3rem);line-height:1.04;letter-spacing:-.01em;}
.section-head p{color:var(--muted);font-size:1.08rem;}
.bozza-note{margin-top:1.4rem;font-size:.85rem;color:var(--faint);display:flex;gap:.5rem;align-items:baseline;}
.bozza-note::before{content:"Bozza";flex:none;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid currentColor;border-radius:100px;padding:.05rem .45rem;}

/* Pulsanti */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:.5rem;min-height:2.9rem;padding:.7rem 1.3rem;border-radius:100px;font:600 .95rem/1 var(--body);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.btn-gold{background:var(--gold-light);color:var(--night);}
.btn-gold:hover{background:#E2C173;}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-brand{background:var(--brand);color:var(--on-brand);}
.btn-brand:hover{background:var(--brand-2);}
.btn-line{border-color:var(--line);color:var(--ink);background:transparent;}
.btn[aria-disabled="true"]{opacity:.6;cursor:default;}

/* Testata */
.top{position:absolute;inset:0 0 auto;z-index:20;padding-top:env(safe-area-inset-top,0px);}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.6rem;}
.wordmark{display:block;line-height:0;text-decoration:none;}
.wordmark img{height:2.8rem;width:auto;}
.nav{display:flex;align-items:center;gap:1.6rem;}
.nav a{color:rgba(255,255,255,.88);text-decoration:none;font-size:.95rem;font-weight:500;}
.nav a:hover{color:#fff;}
.nav .btn{min-height:2.5rem;padding:.55rem 1.05rem;}
.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:100px;min-height:2.5rem;padding:0 1rem;font:600 .9rem var(--body);cursor:pointer;}
@media (max-width:760px){
  .nav-toggle{display:inline-flex;align-items:center;}
  .nav{position:absolute;top:calc(100% - .4rem);right:var(--gutter-r);left:var(--gutter);flex-direction:column;align-items:stretch;gap:0;background:var(--night);border:1px solid rgba(233,226,214,.16);border-radius:14px;padding:.6rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.6);}
  .nav[hidden]{display:none!important;}
  .nav a{padding:.8rem .9rem;border-radius:10px;}
  .nav a:hover{background:rgba(255,255,255,.06);}
  .nav .btn{margin-top:.4rem;}
}
@media (min-width:761px){ .nav[hidden]{display:flex!important;} }

/* Apertura */
.hero{position:relative;min-height:min(46rem,92svh);display:flex;align-items:flex-end;color:#fff;background:var(--night);overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,17,14,.82) 0%,rgba(21,17,14,.6) 36%,rgba(21,17,14,.1) 66%,rgba(21,17,14,0) 80%),linear-gradient(to top,rgba(21,17,14,.6) 0%,rgba(21,17,14,0) 45%),linear-gradient(to bottom,rgba(21,17,14,.55) 0%,rgba(21,17,14,0) 20%);}
@media (max-width:760px){.hero::after{background:linear-gradient(to top,rgba(21,17,14,.92) 0%,rgba(21,17,14,.78) 45%,rgba(21,17,14,.25) 75%,rgba(21,17,14,.5) 100%);}}
.hero-in{position:relative;z-index:2;width:100%;padding-block:7rem clamp(2.5rem,7vw,4.5rem);display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem;}
.hero .eyebrow{color:var(--gold-light);}
.hero-name{margin:.2rem 0 .3rem;line-height:0;}
.hero-logo{width:clamp(13rem,38vw,22rem);height:auto;filter:drop-shadow(0 2px 18px rgba(21,17,14,.45));}
.hero-tag{font-size:clamp(1.05rem,2.6vw,1.3rem);max-width:34rem;color:rgba(255,255,255,.9);}
.day{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1.1rem;width:fit-content;max-width:100%;min-width:0;padding:.7rem 1.1rem;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(21,17,14,.42);backdrop-filter:blur(4px);}
.day span{font-family:var(--label);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);}
.day .main{font-family:var(--display);font-size:clamp(1.5rem,4.5vw,1.9rem);font-weight:500;letter-spacing:0;text-transform:none;color:#fff;}
.day-note{display:flex;flex-wrap:wrap;gap:.1rem 1.1rem;font-size:.86rem;color:rgba(255,255,255,.75);}
.day-note span{white-space:nowrap;}   /* un gruppo di giorni non si spezza mai a metà */
.day-note .day-notte{flex-basis:100%;color:rgba(255,255,255,.6);}
.day-a-capo{display:none;}   /* sul telefono la riga va a capo 3 + 2, sempre simmetrica */
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem;}
@media (max-width:560px){
  .hero-cta{display:grid;grid-template-columns:1fr 1fr;}
  .hero-cta .btn-gold{grid-column:1/-1;}
  .day{width:100%;justify-content:center;text-align:center;}
  .day-a-capo{display:block;flex-basis:100%;height:0;}
  .day-note{justify-content:center;text-align:center;}
}

/* Pranzo e cena */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);}
.service{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;}
.service img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.service-body{padding:clamp(1.2rem,3vw,1.9rem);display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;}
.service-when{font-family:var(--label);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.service h3{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.4rem,5.5vw,3.2rem);line-height:1;}
.service p{color:var(--muted);}
.service .btn{margin-top:auto;}
.service p:not(.service-when){margin-bottom:.4rem;}
@media (max-width:760px){ .services{grid-template-columns:1fr;} }
.extras-title{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.5rem,3.6vw,1.9rem);margin:clamp(2.6rem,6vw,3.6rem) 0 1.2rem;}
.extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem);}
.extra{display:grid;gap:.85rem;align-content:start;}
.extra img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;}
.extra-body{display:grid;gap:.35rem;}
.extra h4{margin:0;font-family:var(--display);font-style:italic;font-weight:600;font-size:1.65rem;line-height:1.05;}
.extra p:not(.service-when){color:var(--muted);}
@media (max-width:820px){ .extras{grid-template-columns:1fr;gap:2.2rem;} .extra img{aspect-ratio:3/2;} }

/* Capodanno */
.nye{position:relative;color:#fff;background:var(--night);overflow:hidden;}
.nye-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.nye::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,17,14,.9) 0%,rgba(21,17,14,.66) 45%,rgba(21,17,14,.2) 100%);}
.nye-in{position:relative;z-index:2;padding-block:clamp(4.5rem,11vw,7rem);display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;justify-items:start;}
.nye .eyebrow{color:var(--gold-light);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;}
.tag-tbd{font-size:.66rem;letter-spacing:.14em;border:1px solid currentColor;border-radius:100px;padding:.08rem .5rem;}
.nye h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.5rem,7.5vw,4.4rem);line-height:1;max-width:14ch;}
.nye-text{max-width:34rem;color:rgba(255,255,255,.86);font-size:1.08rem;}
.nye .btn{margin-top:.4rem;}
@media (max-width:760px){ .nye::after{background:linear-gradient(to top,rgba(21,17,14,.92) 0%,rgba(21,17,14,.72) 60%,rgba(21,17,14,.45) 100%);} }

/* Menu */
.menu-band{background:var(--brand);color:var(--on-brand);}
.menu-band .section-head p{color:rgba(233,226,214,.75);}
.menu-band .eyebrow{color:var(--gold-light);}
.menu-band .bozza-note{color:rgba(233,226,214,.6);}
.menu-band .bozza-note::before{color:var(--gold-light);}
.dishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.6rem);}
.dish{display:grid;gap:.8rem;align-content:start;}
.dish picture{display:block;}
.dish img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px;}
.dish h3{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.55rem;line-height:1.1;color:var(--gold-light);}
.dish p{color:rgba(233,226,214,.8);}
.menu-cta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;}
.menu-band .btn-line{border-color:rgba(233,226,214,.35);color:var(--on-brand);}
@media (max-width:820px){ .dishes{grid-template-columns:1fr;gap:2.2rem;} .dish img{aspect-ratio:3/2;} }

/* Eventi */
.events{display:grid;gap:1rem;}
.event{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(1rem,3vw,2rem);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.8rem;}
.event img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;}
.event-body{display:grid;gap:.4rem;padding-right:.6rem;}
.event-when{font-family:var(--label);display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}
.tag-esempio{font-size:.66rem;letter-spacing:.14em;color:var(--faint);border:1px solid var(--line);border-radius:100px;padding:.05rem .45rem;}
.event h3{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.5rem;line-height:1.15;}
.event p{color:var(--muted);}
.events-cta{margin-top:2rem;}
@media (max-width:640px){ .event{grid-template-columns:1fr;padding:.7rem;} .event-body{padding:.3rem .3rem .5rem;} }

/* Storia */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,5rem);align-items:center;}
.story figure{margin:0;display:grid;gap:.6rem;}
.story img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px;}
.story figcaption{font-size:.85rem;color:var(--faint);}
.story-text{display:grid;gap:1rem;}
.story-text h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.1rem,5.6vw,3.3rem);line-height:1.04;}
.story-text p{font-size:1.08rem;}
.story-text .pron{color:var(--faint);font-style:italic;font-size:.95rem;}
.story-text .quartiere{color:var(--muted);padding-top:1rem;border-top:1px solid var(--line);}
@media (max-width:820px){ .story{grid-template-columns:1fr;} .story img{aspect-ratio:3/2;} }

/* Prenota */
.strip{width:100%;height:clamp(12rem,32vw,22rem);object-fit:cover;}
.book{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,4.5rem);align-items:start;}
.info{display:grid;gap:0;margin:0;}
.info div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);}
.info dt{font-family:var(--label);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:.2rem;}
.info dd{margin:0;min-width:0;overflow-wrap:anywhere;}
.info .tbd{color:var(--faint);font-style:italic;}
.info a{color:var(--gold);font-weight:600;text-underline-offset:3px;}
.info a[aria-disabled="true"],.foot a[aria-disabled="true"]{color:inherit;font-weight:500;text-decoration:none;}
.form{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:clamp(1.2rem,3vw,1.8rem);display:grid;gap:1rem;}
.form h3{font-family:var(--display);font-style:italic;font-weight:600;font-size:1.6rem;line-height:1.1;}
.form > p{color:var(--muted);font-size:.97rem;}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;}
.field{display:grid;gap:.35rem;min-width:0;}
.field.full{grid-column:1/-1;}
.field label{font-size:.82rem;font-weight:600;color:var(--muted);}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;min-height:2.8rem;}
.field textarea{min-height:6rem;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand);}
.form-foot{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;}
.form-foot small{color:var(--faint);font-size:.82rem;flex:1 1 14rem;}
.form-status{font-size:.92rem;color:var(--brand);font-weight:500;}
@media (max-width:820px){ .book{grid-template-columns:1fr;} }
@media (max-width:480px){ .fields{grid-template-columns:1fr;} .info div{grid-template-columns:1fr;gap:.15rem;} }

/* Collabora */
.collab{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.collab-in{display:flex;flex-wrap:wrap;gap:1.5rem 3rem;align-items:center;justify-content:space-between;}
.collab-in > div{display:grid;gap:.6rem;max-width:40rem;}
.collab h2{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.9rem,4.6vw,2.7rem);line-height:1.08;}
.collab p{color:var(--muted);}

/* Piede */
.foot{background:var(--night);color:rgba(233,226,214,.75);padding-block:3.5rem calc(3rem + env(safe-area-inset-bottom,0px));}
.foot-in{display:grid;gap:1.6rem;}
.foot-logo{width:min(13rem,60vw);height:auto;}
.foot-cols{display:flex;flex-wrap:wrap;gap:1rem 3rem;font-size:.95rem;}
.foot a{color:var(--on-brand);text-underline-offset:3px;}
.foot-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.8rem;color:rgba(233,226,214,.62);border-top:1px solid rgba(233,226,214,.12);padding-top:1.2rem;}

/* Pagina del menu: lo stile della carta stampata (menu B, rame e oro) */
.pagina-menu{background:var(--night);color:var(--on-brand);}
.carta-page{padding:calc(5.2rem + env(safe-area-inset-top,0px)) 0 clamp(3rem,8vw,5rem);}
.carta{position:relative;max-width:44rem;margin:0 auto;padding:clamp(2.2rem,7vw,4.2rem) clamp(1.3rem,6vw,3.6rem) clamp(2rem,5vw,3rem);
  background:radial-gradient(120% 60% at 50% 0%,#241A13 0%,#15110E 62%);border-radius:4px;text-align:center;}
.carta::before{content:"";position:absolute;inset:clamp(.6rem,1.8vw,1rem);border:1px solid rgba(212,174,85,.45);pointer-events:none;}
.carta-logo{width:min(14rem,62%);height:auto;margin:0 auto clamp(1.6rem,5vw,2.4rem);}
.carta .eyebrow{color:var(--rame);}
.carta h1{margin-top:.6rem;font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.5rem,8vw,3.6rem);line-height:1;color:var(--gold-light);}
.carta-what{margin-top:.8rem;font-family:var(--label);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--rame);}
.voci{list-style:none;margin:clamp(1.8rem,5vw,2.6rem) 0 0;padding:0;display:grid;gap:clamp(1.15rem,3vw,1.5rem);text-align:left;}
.voci li{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.2rem;align-items:baseline;}
.voci .n{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.45rem,4.4vw,1.75rem);line-height:1.1;color:#F1E6CF;}
.voci .p{font-family:var(--label);font-weight:500;font-size:1.05rem;letter-spacing:.06em;color:var(--gold-light);}
.voci .d{grid-column:1/-1;margin-top:.2rem;font-size:.98rem;line-height:1.5;color:#B9AE9E;}
.carta-nota{margin-top:clamp(1.8rem,5vw,2.4rem);font-size:.82rem;line-height:1.55;color:#9C9182;}
.pagina-menu .bozza-note{max-width:44rem;margin:1.2rem auto 0;justify-content:center;color:rgba(233,226,214,.6);}
.pagina-menu .bozza-note::before{color:var(--gold-light);}
.carta-cta{max-width:44rem;margin:1.6rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}
.nav a[aria-current="page"]{color:var(--gold-light);}

/* Pagina del QR del biglietto (/qr, 11/11/2026): per il telefono, scura come il biglietto e la carta, uguale col telefono in chiaro o in scuro.
   Una colonna sola a ogni larghezza: bottoni tutti uguali, larghi e alti uguali anche con WhatsApp acceso. */
.pagina-qr{min-height:100svh;background:radial-gradient(120% 50% at 50% 0%,#241A13 0%,#15110E 62%) no-repeat,var(--night);color:var(--on-brand);color-scheme:dark;}
.pagina-qr :focus-visible{outline-color:var(--gold-light);}
.qr{max-width:27rem;margin:0 auto;padding:calc(2.1rem + env(safe-area-inset-top,0px)) var(--gutter-r) calc(2.4rem + env(safe-area-inset-bottom,0px)) var(--gutter);display:grid;gap:1.3rem;}
.qr-h1{margin:0;line-height:0;}
.qr-logo{display:block;width:min(15rem,70%);margin:0 auto .2rem;line-height:0;border-radius:6px;}
.qr-logo img{width:100%;height:auto;}
.qr-orari{border:1px solid rgba(212,174,85,.3);border-radius:14px;padding:.95rem 1.15rem 1rem;background:rgba(233,226,214,.035);}
.qr-orari h2{margin:0 0 .55rem;font-family:var(--label);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);}
.qr-orari dl{margin:0;display:grid;gap:.4rem;}
.qr-orari dl div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.qr-orari dt{font-family:var(--label);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rame);white-space:nowrap;}
.qr-orari dd{margin:0;font-size:1.05rem;font-variant-numeric:tabular-nums;color:#F1E6CF;text-align:right;white-space:nowrap;}
.qr-orari dd small{font-size:.8rem;color:rgba(233,226,214,.62);}
.qr-btns{display:grid;grid-auto-rows:1fr;gap:.7rem;}
.qr-btn{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 1.1rem;align-items:center;column-gap:.9rem;min-height:4.3rem;padding:.7rem .95rem .7rem .85rem;
  border:1px solid rgba(212,174,85,.32);border-radius:14px;background:rgba(233,226,214,.05);color:#F1E6CF;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s;}
.qr-btn[hidden]{display:none;}
.qr-btn:hover,.qr-btn:active{background:rgba(212,174,85,.12);border-color:rgba(212,174,85,.6);}
.qr-ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:rgba(212,174,85,.13);color:var(--gold-light);}
.qr-ico svg,.qr-va svg{width:1.25rem;height:1.25rem;}
.qr-txt{display:grid;gap:.12rem;min-width:0;}
.qr-txt b{font-weight:600;font-size:1.05rem;line-height:1.2;}
.qr-txt small{font-size:.86rem;line-height:1.3;color:rgba(233,226,214,.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qr-va{display:grid;place-items:center;color:rgba(212,174,85,.7);}

/* ---- Hardening (11/11/2026) ---- */
/* Focus visibile anche sui fondi scuri (il corten sul nero era 2,8:1, l'oro chiaro 8,9:1) */
.top :focus-visible,.hero :focus-visible,.nye :focus-visible,.menu-band :focus-visible,.foot :focus-visible,.pagina-menu :focus-visible{outline-color:var(--gold-light);}
/* «Salta al contenuto»: compare solo con la tastiera */
.salta{position:absolute;left:var(--gutter);top:.6rem;z-index:50;transform:translateY(-200%);background:var(--gold-light);color:var(--night);font-weight:600;
  text-decoration:none;padding:.6rem 1rem;border-radius:100px;}
.salta:focus{transform:none;}
/* Interruttore bozza/pubblico (sito.py, BOZZA): le note «Bozza» si vedono solo nella bozza */
html:not(.bozza) .bozza-note{display:none;}
/* Dati che mancano (P.IVA, sede): evidenti finché non arrivano */
mark.manca{background:#D4AE55;color:#15110E;padding:0 .3em;border-radius:3px;font-weight:600;white-space:nowrap;}
.foot-legal a{color:inherit;}
/* Modulo: la trappola per i robot (honeypot) non si vede */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-foot small a{color:var(--gold);font-weight:600;text-underline-offset:3px;}
/* Pagine di testo (Privacy, Cookie): fondo chiaro, testata scura */
.pagina-testo .top{position:relative;background:var(--night);}
.testo{max-width:46rem;margin:0 auto;padding:clamp(2.4rem,7vw,4.2rem) var(--gutter-r) clamp(3rem,8vw,5rem) var(--gutter);}
.testo h1{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(2.3rem,7vw,3.3rem);line-height:1.04;margin:.5rem 0 1rem;}
.testo h2{font-family:var(--label);font-size:.8rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:2.2rem 0 .6rem;}
.testo p,.testo li{color:var(--ink);}
.testo p+p,.testo ul+p{margin-top:.8rem;}
.testo ul{margin:.4rem 0 0;padding-left:1.2rem;display:grid;gap:.45rem;}
.testo a{color:var(--gold);font-weight:600;text-underline-offset:3px;overflow-wrap:anywhere;}
.testo .lede{font-size:1.12rem;color:var(--muted);}
.testo .agg{margin-top:2.4rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--faint);}
/* 404 e «Richiesta inviata»: la carta del menu */
.carta-avviso p{color:#D8CFC0;margin-top:1rem;}
.carta-avviso .carta-cta{margin-top:1.8rem;}
