/* la prenotazione della chiacchierata (/iniziamo/): una carta appena più chiara della pagina.
   A sinistra il mese, a destra gli orari del giorno scelto; poi i dati, poi il fatto con la tazzina. */
.prenota{--pr-riga:color-mix(in srgb,currentColor 16%,transparent);margin-top:clamp(32px,6vh,64px);max-width:1180px}
.prenota [hidden]{display:none!important} /* hidden perde contro display:grid */
.prenota-senza{font-size:18px;line-height:1.5}
.prenota-carta{position:relative;padding:clamp(22px,3.2vw,48px);border-radius:var(--raggio,24px);background:color-mix(in srgb,#fff 42%,var(--c-paper,#f4f0e7));
  border:1px solid var(--pr-riga);box-shadow:0 40px 90px -60px rgba(30,28,26,.45)}

/* i tre passaggi */
.prenota-passi{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 clamp(24px,4vh,40px);padding:0;list-style:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.prenota-passi li{display:inline-flex;align-items:center;gap:10px;opacity:.72;transition:opacity .4s}
.prenota-passi li + li::before{content:"";width:clamp(18px,3vw,40px);height:1px;background:currentColor;opacity:.4;margin-right:4px}
.prenota-passi li span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid currentColor;font-size:12px;letter-spacing:0;transition:background .4s,color .4s,border-color .4s}
.prenota-passi b{font-weight:400}
.prenota-passi li.su{opacity:1}
.prenota-passi li.su span{background:var(--c-ink,#282828);border-color:var(--c-ink,#282828);color:var(--c-paper,#f4f0e7)}
.prenota-passi li.fatto{opacity:.85}
.prenota-passi li.fatto span{background:var(--c-ember,#f79229);border-color:var(--c-ember,#f79229);color:#1e1c1a}

.prenota-avviso{margin:0 0 clamp(20px,3vh,32px);padding:14px 18px;border-radius:14px;background:color-mix(in srgb,#f79229 16%,transparent);font-size:17px;line-height:1.5}
.prenota-avviso.domanda{padding:20px 22px}
.prenota-avviso .prenota-azioni{margin-top:14px}

/* il passaggio che entra */
.prenota-passo.entra{animation:prenota-entra .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes prenota-entra{from{opacity:0;translate:0 14px}}

/* 1 · il mese e gli orari */
.prenota-scelta{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,4.4vw,72px)}
.prenota-cal-testa{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.prenota-mese{font-family:var(--ff-display);font-weight:400;font-size:clamp(2.1rem,3.2vw,3rem);line-height:1;margin:0}
.prenota-mese span{opacity:.62}
.prenota-frecce{display:flex;gap:8px}
.prenota-freccia{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit;cursor:pointer;
  transition:background .3s,color .3s,border-color .3s,opacity .3s}
.prenota-freccia svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.prenota-freccia:hover:not(:disabled){background:var(--c-ink,#282828);border-color:var(--c-ink,#282828);color:var(--c-paper,#f4f0e7)}
.prenota-freccia:disabled{opacity:.25;cursor:default}
.prenota-settimana,.prenota-giorni{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;justify-items:center}
.prenota-settimana{margin-bottom:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.prenota-giorni{min-height:clamp(250px,30vw,330px);align-content:start}
.prenota-g{position:relative;display:grid;place-items:center;width:100%;max-width:54px;aspect-ratio:1;border-radius:50%;border:1px solid transparent;background:none;color:inherit;
  font:inherit;font-size:17px;font-variant-numeric:tabular-nums;opacity:.3}
.prenota-g.passato{opacity:.16}
.prenota-g.oggi{border-color:color-mix(in srgb,currentColor 30%,transparent)}
.prenota-g.libero{opacity:1;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.prenota-g.libero::after{content:"";position:absolute;left:50%;bottom:17%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--c-ember,#f79229);transition:scale .3s}
.prenota-g.libero:hover{background:color-mix(in srgb,currentColor 8%,transparent);border-color:color-mix(in srgb,currentColor 35%,transparent)}
.prenota-g.libero[aria-pressed="true"]{background:var(--c-ink,#282828);border-color:var(--c-ink,#282828);color:var(--c-paper,#f4f0e7)}
.prenota-g.libero[aria-pressed="true"]::after{scale:1.3}
.prenota-g:focus-visible,.prenota-ora:focus-visible,.prenota-freccia:focus-visible,.prenota-cambia:focus-visible{outline:2px solid var(--c-ink,#282828);outline-offset:2px}
.prenota-nota{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px;font-size:14px;opacity:.75}
.prenota-punto{width:6px;height:6px;border-radius:50%;background:var(--c-ember,#f79229)}

.prenota-ore{padding-left:clamp(28px,4.4vw,72px);border-left:1px solid var(--pr-riga);min-width:0}
.prenota-ore-occhiello{font-size:13px;letter-spacing:.16em;text-transform:uppercase;opacity:.78;margin:0}
.prenota-ore-t{font-family:var(--ff-display);font-weight:400;font-size:clamp(1.9rem,2.6vw,2.5rem);line-height:1.05;margin:10px 0 clamp(18px,3vh,28px)}
.prenota-ore-t:focus{outline:none}
.prenota-fascia + .prenota-fascia{margin-top:22px}
.prenota-fascia p{font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.75;margin:0 0 10px}
.prenota-fascia div{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px}
.prenota-ora{position:relative;overflow:hidden;isolation:isolate;min-height:50px;border-radius:25px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:transparent;color:inherit;
  font:inherit;font-size:17px;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .3s;animation:prenota-ora .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 22ms)}
.prenota-ora::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c-ember,#f79229);translate:0 102%;transition:translate .45s cubic-bezier(.7,0,.2,1)}
.prenota-ora span{transition:color .3s}
.prenota-ora:hover{border-color:var(--c-ember,#f79229)}
.prenota-ora:hover::before{translate:0 0}
.prenota-ora:hover span{color:#1e1c1a}
@keyframes prenota-ora{from{opacity:0;translate:0 8px}}

.prenota-carta.in-attesa .prenota-scelta{opacity:.35;pointer-events:none}
.prenota-carta.in-attesa .prenota-giorni::before{content:"Carico gli orari liberi…";grid-column:1/-1;align-self:center;margin-top:100px;font-size:15px}
.prenota-pieno{grid-column:1/-1;font-size:19px;line-height:1.5;max-width:44ch}
.prenota-pieno a,.prenota-altro a{color:inherit;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat,linear-gradient(var(--c-ember,#f79229),var(--c-ember,#f79229)) 0 100%/0 2px no-repeat;
  transition:background-size .5s cubic-bezier(.2,.7,.2,1);padding-bottom:1px}
.prenota-pieno a:hover,.prenota-altro a:hover{background-size:0 1px,100% 2px}

/* 2 · i dati */
.prenota-dati{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:clamp(28px,4.4vw,72px)}
.prenota-riepilogo{align-self:start;display:grid;gap:10px;justify-items:start}
.prenota-riepilogo img{width:clamp(120px,14vw,170px);height:auto;mix-blend-mode:multiply;margin:-10px 0 6px -8px}
.prenota-quando{font-family:var(--ff-display);font-size:clamp(1.7rem,2.3vw,2.2rem);line-height:1.1;margin:0}
.prenota-quando strong{font-weight:400}
.prenota-quando small{font-family:var(--ff-body);font-size:14px;opacity:.7}
.prenota-cambia{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;cursor:pointer}
.prenota-cambia svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:translate .4s cubic-bezier(.2,.7,.2,1)}
.prenota-cambia span{background:linear-gradient(var(--c-ember,#f79229),var(--c-ember,#f79229)) 0 100%/0 2px no-repeat;transition:background-size .45s}
.prenota-cambia:hover svg{translate:-4px 0}
.prenota-cambia:hover span{background-size:100% 2px}

.prenota-campi{display:grid;gap:clamp(16px,2.4vh,24px);min-width:0}
.prenota-due{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px)}
.prenota .campo{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}
.prenota .campo label,.prenota .campo legend{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;padding:0}
.prenota .campo label span{text-transform:none;letter-spacing:0;opacity:.6;font-size:14px}
.prenota .campo input,.prenota .campo textarea{font:inherit;font-size:18px;color:inherit;background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,currentColor 45%,transparent);
  padding:10px 0;min-height:48px;border-radius:0;width:100%}
.prenota .campo textarea{resize:vertical;min-height:84px}
.prenota .campo input::placeholder{color:inherit;opacity:.35}
.prenota .campo input:focus-visible,.prenota .campo textarea:focus-visible{outline:none;border-bottom-color:currentColor;box-shadow:0 2px 0 var(--c-ember,#f79229)}
.prenota .scelte input:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.prenota .scelte{display:flex;flex-wrap:wrap;gap:8px}
.prenota .scelte label{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:23px;cursor:pointer;
  text-transform:none;letter-spacing:0;font-size:16px;transition:border-color .3s,background .3s}
.prenota .scelte label:hover{border-color:currentColor}
.prenota .scelte label:has(input:checked){border-color:var(--c-ink,#282828);background:color-mix(in srgb,currentColor 6%,transparent)}
.prenota .scelte input{accent-color:var(--c-pine,#405c58);width:auto;min-height:0;margin:0}
.prenota .consenso{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5}
.prenota .consenso input{margin-top:.3em;width:20px;height:20px;accent-color:var(--c-pine,#405c58);flex:none}
.prenota .consenso a{color:inherit}
.prenota .campo-trappola{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.prenota-errore{padding:12px 16px;border-radius:12px;background:color-mix(in srgb,#f79229 16%,transparent);font-size:16px;margin:0}
.prenota-conferma{justify-self:start;position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:0 32px;border:0;border-radius:27px;
  background:var(--c-ink,#282828);color:var(--c-paper,#f4f0e7);font:400 17px/1 var(--ff-body);cursor:pointer;transition:color .35s}
.prenota-conferma::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--c-ember,#f79229);translate:0 102%;transition:translate .5s cubic-bezier(.7,0,.2,1)}
.prenota-conferma:hover::before,.prenota-conferma:focus-visible::before{translate:0 0}
.prenota-conferma:hover,.prenota-conferma:focus-visible{color:#1e1c1a}
.prenota-conferma.in-corso{cursor:progress;opacity:.75}
.prenota-conferma.in-corso::after{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:prenota-pulsa .9s ease-in-out infinite alternate}
@keyframes prenota-pulsa{to{opacity:.2;scale:.6}}

/* 3 · fatto */
.prenota-fatto{display:grid;grid-template-columns:minmax(140px,240px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.prenota-fatto:focus{outline:none}
.prenota-fatto img{width:100%;height:auto;mix-blend-mode:multiply}
.prenota-fatto h3{font-family:var(--ff-display);font-weight:400;font-size:clamp(2.3rem,4.4vw,3.8rem);line-height:1.02;margin:10px 0 16px;max-width:16ch}
.prenota-fatto h3 .punto,.prenota .punto{display:inline-block;width:.13em;height:.13em;margin-left:.05em;border-radius:50%;background:var(--c-ember,#f79229);vertical-align:baseline}
.prenota-fatto p:not(.prenota-ore-occhiello){font-size:18px;line-height:1.55;max-width:52ch;margin:0}
.prenota-azioni{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.prenota-altro{margin-top:18px;font-size:16px;opacity:.85}
.prenota-passi-lista{margin-top:clamp(40px,7vh,72px)}

@media (max-width:860px){
  .prenota-scelta,.prenota-dati{grid-template-columns:1fr}
  .prenota-ore{padding:24px 0 0;border-left:0;border-top:1px solid var(--pr-riga)}
  .prenota-giorni{min-height:0}
  .prenota-riepilogo{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;row-gap:4px}
  .prenota-riepilogo img{grid-row:span 3;width:84px;margin:0}
  .prenota-fatto{grid-template-columns:1fr}
  .prenota-fatto img{width:140px}
}
@media (max-width:560px){
  .prenota-carta{padding:20px 16px;margin-inline:calc(var(--g,20px) * -.4)}
  .prenota-passi{gap:8px}
  .prenota-passi li:not(.su) b{display:none}
  .prenota-passi li + li::before{width:16px;margin-right:0}
  .prenota-mese{font-size:1.9rem;white-space:nowrap}
  .prenota-quando{font-size:1.45rem}
  .prenota-due{grid-template-columns:1fr}
  .prenota-g{font-size:16px}
  .prenota-fascia div{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.prenota-passo.entra,.prenota-ora{animation:none}.prenota-ora::before,.prenota-conferma::before{transition:none}}
/* 26/09 — lo spazio del calendario è riservato prima che arrivi (niente salto della pagina al caricamento);
   al primo passaggio scelto dalla persona la riserva si toglie */
html.js .prenota:not(.prenota--libera){min-height:640px}
@media (max-width:860px){html.js .prenota:not(.prenota--libera){min-height:1000px}}
