/* PLUMBING_V 1 — reset tecnico canonico (Toolkit/boilerplate/plumbing.css) */
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ══════════ L'ANTICO FORNO — Caffè · Pane & Dolci ══════════
   Via Ettore Ponti 33, alla Barona. La pagina cammina lungo le pareti del loro negozio, un materiale per capitolo: il muro grigio col
   logo nero, il mattone con la scala e le lampadine, le piastrelle bianche con le mensole di ferro e le lavagne nere, il banco di
   marmo con le cementine grigie. La firma è «la scala delle lampadine» (_afb_firma.mjs): scendono sulle corde di juta, oscillano e
   si accendono. */
:root {
  --muro: #B4B6B1;
  --muro-2: #C6C8C3;
  --nero: #1E1D1B;
  --grafite: #2F2E2B;
  --mattone: #5E2A1C;
  --mattone-2: #A8543A;
  --mattone-testo: #6E3222;
  --piastrella: #F4F2EC;
  --fuga: #DDD9D0;
  --ferro: #232323;
  --legno: #A36B3A;
  --luce: #FFC45A;
  --crema: #FAF6EE;
  --crema-2: #F1EADD;
  --cementina: #5F6669;
  --verde: #134826;
  --f-titoli: 'Montserrat Alternates', 'Trebuchet MS', Arial, sans-serif;
  --f-testo: 'Spline Sans', 'Segoe UI', Arial, sans-serif;
  --gutter: 16px;
  --testata-h: 60px;
}
@media (min-width: 760px) { :root { --gutter: 24px; } }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--nero); font: 400 1.06rem/1.65 var(--f-testo); background: var(--crema); }
a { color: var(--mattone-testo); }
b, strong { font-weight: 700; }
.salta { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; background: #fff; color: #111; font-weight: 700; text-decoration: none; }
.salta:focus { top: 10px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
section[id] { scroll-margin-top: calc(var(--testata-h) + 14px); }
.intero { white-space: nowrap; }
:focus-visible { outline: 3px solid #E08A12; outline-offset: 2px; }
/* finché i caratteri non arrivano il ripiego è più largo: una parola lunga va a capo invece di uscire (riserva-check, #233) */
h1, h2, h3, .marchio__nome, .logo-piede { overflow-wrap: anywhere; }

/* ── la testata: nera come il loro logo, il filo della luce ── */
.testata { position: sticky; top: 0; z-index: 50; background: var(--nero); border-bottom: 3px solid var(--luce); }
.testata__dentro { display: flex; align-items: center; gap: 10px; max-width: 1220px; margin: 0 auto; padding: 8px var(--gutter); }
.marchio { display: inline-flex; min-width: 0; flex: 0 1 auto; color: #FFFFFF; text-decoration: none; }
.marchio__nome { font: 700 1.14rem/1.2 var(--f-titoli); letter-spacing: .03em; text-transform: uppercase; color: #FFFFFF; white-space: nowrap; }
.voci { display: none; }
.testata__azioni { margin-left: auto; display: flex; align-items: center; gap: 6px; flex: none; }
.lingue { display: flex; }
.lingue button { min-width: 34px; min-height: 38px; padding: 0 5px; border: 1px solid rgba(255, 255, 255, .5); background: transparent; color: #FFFFFF; font: 700 .88rem var(--f-testo); cursor: pointer; }
.lingue button + button { border-left: 0; }
.lingue button.is-on { background: #FFFFFF; border-color: #FFFFFF; color: var(--nero); }
.chiama { display: none; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 4px; background: var(--luce); color: var(--nero); font: 700 1rem var(--f-testo); text-decoration: none; }
.chiama:hover { background: #FFD58A; }
.burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(255, 255, 255, .5); border-radius: 4px; background: transparent; cursor: pointer; }
.burger span { display: block; height: 2px; background: #FFFFFF; transition: transform .2s, opacity .2s; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-mobile { position: fixed; top: var(--testata-h); left: 0; right: 0; z-index: 49; max-height: calc(100vh - var(--testata-h)); overflow-y: auto; padding: 10px var(--gutter) 22px; background: var(--nero); box-shadow: 0 10px 24px rgba(0, 0, 0, .35); }
.menu-mobile a { display: block; padding: 12px 2px 10px; border-bottom: 1px solid rgba(255, 255, 255, .16); color: #FFFFFF; font: 600 1.4rem/1.3 var(--f-titoli); text-decoration: none; }
.menu-mobile__tel { display: flex !important; justify-content: center; gap: 8px; margin-top: 14px; border: 0 !important; border-radius: 4px; background: var(--luce); color: var(--nero) !important; font: 700 1.08rem var(--f-testo) !important; }

/* ── il muro grigio: il loro logo ── */
.apertura { display: grid; gap: 30px; padding: 34px max(var(--gutter), calc((100% - 1220px) / 2)) 52px; background: var(--muro); }
.apertura__sopra { margin: 0; font: 600 .95rem/1.5 var(--f-testo); letter-spacing: .05em; color: var(--grafite); }
/* il logo del muro: quattro righe centrate, come l'hanno dipinto loro */
.logo-muro { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; margin: 20px 0 22px; color: var(--nero); font-family: var(--f-titoli); text-transform: uppercase; text-align: center; }
.logo-muro__nome { font-size: clamp(2.1rem, 1.3rem + 3.4vw, 3.8rem); font-weight: 600; line-height: 1.12; letter-spacing: .01em; }
.logo-muro__caffe, .logo-muro__pane { font-size: clamp(1.5rem, 1.05rem + 1.9vw, 2.4rem); font-weight: 700; line-height: 1.15; }
.logo-muro__tazza { display: block; width: clamp(48px, 36px + 3vw, 76px); height: auto; margin: 8px 0 6px; }
.apertura__frase { max-width: 33em; margin: 0 0 18px; font-size: 1.14rem; }
.apertura__citazione { max-width: 32em; margin: 0 0 20px; padding: 2px 0 2px 16px; border-left: 4px solid var(--nero); }
.apertura__citazione span:first-child { display: block; font: 600 1.35rem/1.35 var(--f-titoli); color: var(--nero); }
.apertura__chi { display: block; margin-top: 4px; font-size: .96rem; color: var(--grafite); }
.voti { display: flex; flex-wrap: wrap; gap: 6px 30px; }
.voto { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 0; }
.voto__n { font: 700 2.5rem/1 var(--f-titoli); color: var(--nero); }
.voto__su { font-size: 1rem; }
.voti--centro { margin: -8px 0 30px; }
.stato { display: inline-flex; align-items: center; gap: 8px; margin: 16px 0 0; font-weight: 700; color: var(--grafite); }
.stato::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: currentColor; opacity: .5; flex: none; }
.stato.is-aperto { color: var(--verde); }
.stato.is-aperto::before { background: var(--verde); opacity: 1; box-shadow: 0 0 0 3px rgba(19, 72, 38, .2); }
.apertura__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.bottone { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border: 2px solid var(--nero); border-radius: 4px; background: transparent; color: var(--nero); font: 700 1.04rem/1.1 var(--f-testo); text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.bottone:hover { background: var(--nero); color: #FFFFFF; }
.bottone--pieno { background: var(--nero); color: #FFFFFF; }
.bottone--pieno:hover { background: #000; border-color: #000; }
.apertura__foto { align-self: center; }
.apertura__foto img { display: block; width: 100%; border: 8px solid var(--ferro); border-radius: 4px; }
.apertura__foto figcaption { color: var(--grafite); }

/* ── il muro di mattoni: la mensola sotto la scala (la firma) ── */
.capitolo { padding: 70px max(var(--gutter), calc((100% - 1180px) / 2)) 66px; }
.capitolo--mattone { display: grid; gap: 30px; align-items: center; background: var(--mattone); color: #FFF6EC; }
.capitolo--mattone .capitolo__titolo { color: #FFFFFF; }
.mensola-testo p:not(.etichetta) { max-width: 32em; margin: 0 0 14px; font-size: 1.1rem; }
/* la loro colazione vera, accanto a quella disegnata */
.mensola-foto { max-width: 26em; margin-top: 24px; }
.mensola-foto img { border: 6px solid var(--ferro); border-radius: 4px; }
.mensola-foto figcaption { color: #FFE9CF; }
.lampade { width: 100%; max-width: 560px; margin: 0 auto; -webkit-user-select: none; user-select: none; }
.lampade__svg { border-radius: 22px; box-shadow: 0 22px 40px -24px rgba(0, 0, 0, .8); }
.lampade__didascalia { min-height: 3em; margin: 12px 0 0; font-size: 1rem; line-height: 1.45; color: #FFE9CF; text-align: center; }
.lampade__d { display: none; }
.lampade[data-modo="0"] .lampade__d[data-m="0"], .lampade[data-modo="1"] .lampade__d[data-m="1"], .lampade[data-modo="2"] .lampade__d[data-m="2"] { display: inline; }
.lampade__modi { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.lampade__modi button { min-height: 44px; padding: 0 20px; border: 2px solid var(--luce); border-radius: 4px; background: transparent; color: var(--luce); font: 600 1rem/1 var(--f-titoli); cursor: pointer; }
.lampade__modi button:hover { background: rgba(255, 196, 90, .12); }
.lampade__modi button[aria-pressed="true"] { background: var(--luce); color: var(--nero); }
/* senza JS le lampadine non cambiano: i bottoni restano nascosti col loro posto (#240) */
.no-js .lampade__modi { visibility: hidden; }

/* ── i capitoli ── */
.capitolo--piastrelle { background-color: var(--piastrella); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='36'%3E%3Crect width='72' height='36' fill='%23F4F2EC'/%3E%3Cpath d='M0 .5H72M0 18.5H72M.5 0V18M36.5 18V36' stroke='%23DDD9D0' stroke-width='1'/%3E%3C/svg%3E"); }
.capitolo--muro { background: var(--muro-2); }
.capitolo--crema { background: var(--crema-2); }
.etichetta { margin: 0; font: 700 .95rem/1.3 var(--f-testo); letter-spacing: .16em; text-transform: uppercase; color: var(--mattone-testo); }
.etichetta--chiara { color: var(--luce); }
.capitolo__titolo { max-width: 18em; margin: 8px 0 22px; font: 700 clamp(1.9rem, 1.4rem + 2vw, 2.9rem)/1.22 var(--f-titoli); color: var(--nero); text-wrap: balance; }
.capitolo__sotto { max-width: 42em; margin: -6px 0 30px; font-size: 1.1rem; }
figure { margin: 0; }
figcaption { margin-top: 8px; font-size: .98rem; color: var(--grafite); }
.foto { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.foto img { display: block; width: 100%; height: auto; }

/* le lavagne nere sopra il banco */
.lavagne { display: grid; gap: 18px; margin: 0 0 22px; }
.lavagna { padding: 20px 22px 16px; background: var(--nero); color: #FFFFFF; border: 5px solid #111; border-radius: 3px; box-shadow: 0 16px 28px -20px rgba(0, 0, 0, .7); }
.lavagna__titolo { margin: 0 0 10px; font: 700 1.45rem/1.2 var(--f-titoli); letter-spacing: .08em; text-transform: uppercase; text-align: center; color: #FFFFFF; }
.lavagna__voci { margin: 0; padding: 0; list-style: none; }
.lavagna__voci li { padding: 5px 0 4px; border-bottom: 1px dotted rgba(255, 255, 255, .28); font-weight: 500; color: #FFFFFF; }
.lavagna__voci li:last-child { border-bottom: 0; }
.lavagne__feste { max-width: 46em; margin: 0 0 30px; font-weight: 600; }
/* le mensole di ferro: le foto dentro le celle */
.ferro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border: 6px solid var(--ferro); background: var(--ferro); gap: 6px; align-items: stretch; }
.ferro li { padding: 12px 12px 10px; background: var(--piastrella); }
.ferro__largo { grid-column: 1 / -1; }

/* il negozio: le foto a colonne (nessun ritaglio) */
.negozio { columns: 2; column-gap: 14px; margin: 0; padding: 0; list-style: none; }
.negozio li { break-inside: avoid; margin: 0 0 18px; }
.negozio img { border-radius: 4px; }

/* dicono */
.recensioni { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; align-items: start; }
.recensione { padding: 20px 22px 18px; background: #FFFFFF; border-top: 6px solid var(--mattone-2); border-radius: 4px; box-shadow: 0 12px 26px -20px rgba(30, 29, 27, .5); }
.recensione__testo { margin: 0 0 12px; font-size: 1.03rem; line-height: 1.6; }
.recensione__chi { margin: 0; font-size: .95rem; color: var(--grafite); }
.recensione__chi b { display: block; font-size: 1.04rem; color: var(--nero); }
.dicono__nota { max-width: 46em; margin: 26px 0 0; font-size: .98rem; color: var(--grafite); }
.dicono__nota a { font-weight: 700; }

/* orari: i sette giorni sulle cementine del banco */
.stato--settimana { margin: -6px 0 18px; font-size: 1.05rem; }
.cementine { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; max-width: 1080px; margin: 0 0 14px; border-top: 10px solid #E9E7E2; border-radius: 3px; box-shadow: 0 -2px 0 #CFCCC5; }
.cementina { display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1.5; padding: 10px; background-color: #F3F1EC; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Crect width='60' height='60' fill='%23F3F1EC'/%3E%3Cg fill='%235F6669'%3E%3Ccircle cx='30' cy='20' r='8'/%3E%3Ccircle cx='30' cy='40' r='8'/%3E%3Ccircle cx='20' cy='30' r='8'/%3E%3Ccircle cx='40' cy='30' r='8'/%3E%3Ccircle cx='0' cy='0' r='11'/%3E%3Ccircle cx='60' cy='0' r='11'/%3E%3Ccircle cx='0' cy='60' r='11'/%3E%3Ccircle cx='60' cy='60' r='11'/%3E%3C/g%3E%3Crect x='26' y='26' width='8' height='8' transform='rotate(45 30 30)' fill='%23F3F1EC'/%3E%3C/svg%3E"); background-size: 60px 60px; outline: 1px solid #D5D1C8; }
.cementina__g, .cementina__ore { display: block; min-width: 7.4em; padding: 2px 10px; background: #FFFFFF; color: var(--nero); text-align: center; }
.cementina__g { padding-top: 6px; border-radius: 3px 3px 0 0; font: 700 .9rem/1.3 var(--f-titoli); letter-spacing: .05em; text-transform: uppercase; }
.cementina__ore { padding-bottom: 6px; border-radius: 0 0 3px 3px; font: 700 1.2rem/1.35 var(--f-testo); }
.cementina--chiuso .cementina__ore { font-weight: 500; color: var(--grafite); }
.cementina.is-today .cementina__g, .cementina.is-today .cementina__ore { background: var(--nero); color: #FFFFFF; }
.cementine__nota { max-width: 46em; margin: 0 0 36px; color: var(--grafite); }
.dove { display: grid; gap: 26px; align-items: start; }
.cartina { overflow: hidden; border: 6px solid var(--ferro); border-radius: 4px; }
.cartina iframe { display: block; width: 100%; height: 320px; border: 0; }
.indirizzo { margin: 0 0 18px; }
.indirizzo div { display: grid; grid-template-columns: 7em minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid #DCD6CB; }
.indirizzo dt { font: 700 .9rem/1.8 var(--f-testo); letter-spacing: .06em; text-transform: uppercase; color: var(--grafite); }
.indirizzo dd { margin: 0; overflow-wrap: anywhere; }
.dove__azioni { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }

/* domande */
.domande { max-width: 840px; }
.domande details { border-bottom: 1px solid #D8CFBF; }
.domande summary { padding: 14px 4px 12px; font: 600 1.2rem/1.35 var(--f-titoli); color: var(--nero); cursor: pointer; }
.domande details p { max-width: 46em; margin: 0 0 16px; padding: 0 4px; }

/* ── la chiusura ── */
.piede { background: var(--nero); color: #EDE9E1; border-top: 3px solid var(--luce); }
.piede__dentro { max-width: 900px; margin: 0 auto; padding: 44px var(--gutter) 96px; text-align: center; }
.logo-piede { display: flex; flex-direction: column; align-items: center; margin: 0 0 16px; font: 700 1.25rem/1.25 var(--f-titoli); letter-spacing: .04em; text-transform: uppercase; color: #FFFFFF; }
.logo-piede span:first-child { font-weight: 600; font-size: 1.5rem; }
.piede__dove, .piede__orario { margin: 0 0 8px; }
.piede a { color: #FFFFFF; }
.piede__cred { max-width: 54em; margin: 18px auto 10px; font-size: .95rem; color: #D2CCC1; }
.piede__su { font-weight: 700; }

/* ── reveal (plumbing) ── */
.js .reveal { opacity: 0; }
.js .reveal.in-view { opacity: 1; }
html:not(.js) .reveal { opacity: 1; }
.reduced-motion .reveal { opacity: 1 !important; }

/* ── la barra e la lightbox ── */
.action-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr; background: var(--nero); transform: translateY(100%); transition: transform .25s; }
.action-bar.is-visible { transform: translateY(0); }
.action-bar a { display: flex; align-items: center; justify-content: center; min-height: 54px; color: #fff; font: 700 1.06rem var(--f-testo); text-decoration: none; }
.action-bar a:first-child { background: var(--luce); color: var(--nero); }
#lightbox { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(20, 18, 16, .96); }
#lightbox[hidden] { display: none !important; }
#lightbox img { width: auto; max-width: min(1400px, 100%); max-height: 88vh; }
#lightboxClose { position: absolute; top: 14px; right: 16px; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, .6); border-radius: 50%; background: transparent; color: #fff; font-size: 32px; line-height: 1; cursor: pointer; }

/* ── le larghezze ── */
@media (max-width: 359px) {
  .testata__dentro { gap: 6px; }
  .lingue button { min-width: 31px; }
  .marchio__nome { font-size: 1rem; }
}
@media (max-width: 599px) {
  .lampade__modi button { padding: 0 16px; }
}
@media (min-width: 560px) {
  .chiama { display: inline-flex; }
}
@media (min-width: 600px) {
  .lavagne { grid-template-columns: 1fr 1fr; }
  .cementine { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cementina { aspect-ratio: 1; }
}
@media (min-width: 760px) {
  .action-bar { display: none; }
  .piede__dentro { padding-bottom: 50px; }
  .ferro { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ferro__largo { grid-column: span 2; }
  .negozio { columns: 3; column-gap: 18px; }
  .recensioni { grid-template-columns: 1fr 1fr; gap: 22px 20px; }
  .dove { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 36px; }
  .cartina iframe { height: 360px; }
}
@media (min-width: 1040px) {
  :root { --testata-h: 62px; }
  .testata__dentro { gap: 16px; }
  .voci { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-left: 30px; }
  .voci a { padding: 4px 1px 2px; color: #FFFFFF; font: 600 1rem var(--f-testo); text-decoration: none; }
  .voci a:hover, .voci a[aria-current="true"] { color: var(--luce); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 7px; }
  .burger { display: none; }
  .apertura { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 44px; padding-top: 40px; }
  .capitolo--mattone { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 50px; }
  .lavagne { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cementine { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .cementina__g, .cementina__ore { min-width: 0; width: 100%; padding-left: 4px; padding-right: 4px; }
  .negozio { columns: 4; }
  .recensioni { grid-template-columns: repeat(3, 1fr); }
}

/*LAMPADE*/
/* la scala delle lampadine — generato da _afb_firma.mjs: non modificare a mano */
.lampade__svg { display: block; width: 100%; height: auto; }
.muro { fill: url(#lampadeMattoni); }
.soffitto { fill: #EAE6DF; }
.griglia { fill: none; stroke: #262422; stroke-width: 1.3; opacity: .6; }
.scala__montante { fill: #8A6440; stroke: #5E4128; stroke-width: 1.2; }
.scala__piolo { fill: #7A5636; stroke: #5E4128; stroke-width: 1; }
.nicchia { fill: #4A2317; }
.nicchia__bordo { fill: none; stroke: #7C3A26; stroke-width: 4; }
.mensola__piano { fill: #A36B3A; }
.mensola__bordo { fill: #7A4E28; }
.mensola__venatura { fill: none; stroke: #8A5A2E; stroke-width: 1.4; stroke-linecap: round; opacity: .7; }
.mensola__gamba { fill: #232323; }
.sgabello__seduta { fill: #B57C45; stroke: #7A4E28; stroke-width: 1.5; }
.sgabello__gamba { fill: none; stroke: #2A2A2A; stroke-width: 3.2; stroke-linecap: round; }
.tovagliolo { fill: #FBFAF6; stroke: #DAD5CB; stroke-width: 1; }
.brioche > path:first-child { fill: #C98A3E; stroke: #93561E; stroke-width: 1.8; stroke-linejoin: round; }
.brioche__piega { fill: none; stroke: #93561E; stroke-width: 1.6; stroke-linecap: round; opacity: .8; }
.brioche__lucido { fill: none; stroke: #EDC17A; stroke-width: 3; stroke-linecap: round; }
.brioche__semi { fill: #3B2A1E; }
.piattino { fill: #FBFAF7; stroke: #D8D4CC; stroke-width: 1.4; }
.tazza { fill: #FFFFFF; stroke: #D5D0C7; stroke-width: 1.6; }
.tazza__manico { fill: none; stroke: #F2EFE9; stroke-width: 7; stroke-linecap: round; }
.tazza__caffe { fill: #B9834F; }
.tazza__schiuma { fill: #F3E6D2; }
.tazza__cuore { fill: #C99A68; }
.cucchiaino { fill: none; stroke: #B9BDC2; stroke-width: 3.4; stroke-linecap: round; }
.tagliere { fill: #B98A55; stroke: #8A6034; stroke-width: 1.2; }
.pizza__crosta { fill: #D9A45A; stroke: #A9742F; stroke-width: 1.4; }
.pizza__pomodoro { fill: #C8362A; }
.pizza__mozzarella { fill: #FFF4DC; }
.pizza__basilico { fill: #3F7D3A; }
.focaccia { fill: #E2B25F; stroke: #B9823A; stroke-width: 1.8; }
.focaccia__lucido { fill: none; stroke: #F3D08C; stroke-width: 3; stroke-linecap: round; }
.focaccia__fossette { fill: #C98F45; }
.focaccia__rosmarino { fill: none; stroke: #4E7A3A; stroke-width: 1.8; stroke-linecap: round; }
.pagnotta { fill: #B9793F; stroke: #7A4A22; stroke-width: 2; }
.pagnotta__crepa { fill: none; stroke: #6E3F1C; stroke-width: 3; stroke-linecap: round; }
.pagnotta__farina { fill: #F4EBDD; opacity: .55; }
.tartaruga > path:first-child { fill: #D29A55; stroke: #9A6128; stroke-width: 1.8; }
.tartaruga__guscio { fill: none; stroke: #9A6128; stroke-width: 1.6; stroke-linecap: round; }
.buio { fill: #140C08; }
.corda { fill: none; stroke: #C9A56B; stroke-width: 5; }
.corda__giro { fill: none; stroke: #8E6D3C; stroke-width: 5; stroke-dasharray: 1.6 3.4; }
.filo { fill: none; stroke: #1E1B18; stroke-width: 2.2; }
.attacco { fill: #B8893E; stroke: #7E5B22; stroke-width: 1; }
.attacco--juta { fill: #EDE6D8; stroke: #B9AE98; }
.attacco__anelli { fill: none; stroke: #7E5B22; stroke-width: 1.2; }
.vetro { fill: rgba(255, 246, 228, .28); stroke: rgba(255, 255, 255, .55); stroke-width: 1.4; }
.filamento { fill: none; stroke: #6B5537; stroke-width: 1.4; stroke-linecap: round; }
.alone { fill: url(#lampadeAlone); }
.vetro--acceso { fill: url(#lampadeVetro); stroke: rgba(255, 244, 214, .9); }
.filamento--acceso { stroke: #FFF6D8; stroke-width: 1.8; }
.vetro__riflesso { fill: none; stroke: rgba(255, 255, 255, .8); stroke-width: 2; stroke-linecap: round; }
.piatto { display: none; }
.lampade[data-modo="0"] .piatto[data-m="0"], .lampade[data-modo="1"] .piatto[data-m="1"], .lampade[data-modo="2"] .piatto[data-m="2"] { display: inline; }
.firma-attesa .lampada__filo { transform: scale(1, 0); }
.firma-attesa .lampada__bulbo { transform: translate(0px, 0px); }
.firma-attesa .lampada__luce { opacity: 0; }
.firma-attesa .buio { opacity: 0.5; }
/*/LAMPADE*/

/*MAPPACLIC*/
/* la mappa Google si carica solo al clic (giro privacy 1/10/2026) */
.mappa-clic { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: var(--mappa-h, 320px); box-sizing: border-box; padding: 24px; text-align: center; background: repeating-linear-gradient(0deg, rgba(127, 127, 127, 0.14) 0 1px, transparent 1px 28px), repeating-linear-gradient(90deg, rgba(127, 127, 127, 0.14) 0 1px, transparent 1px 28px); }
.mappa-clic__velo { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 32em; }
.mappa-clic__btn { display: inline-block; padding: 0.75em 1.4em; border: 2px solid currentColor; border-radius: 999px; color: inherit; font: inherit; font-weight: 600; line-height: 1.2; text-decoration: none; background: transparent; cursor: pointer; }
.mappa-clic__btn:hover, .mappa-clic__btn:focus-visible { text-decoration: underline; }
.mappa-clic__nota { margin: 0; font-size: 0.85em; line-height: 1.45; }
/*/MAPPACLIC*/
