body.pagina-prenota { overflow: visible; height: auto; min-height: 100%; }
.pagina-prenota {
  --titolo: 6.6vw; --sottotitolo: 32px; --sottotitolo-riga: 36px;
  --inchiostro-spento: rgba(255, 255, 255, 0.62); --filo-campo: rgba(255, 255, 255, 0.42);
}

.testa__voci--sempre { display: flex !important; }

.prenota-fondo {
  position: fixed; inset: 0; z-index: -1;
  background: linear-gradient(rgba(28, 31, 28, 0.78), rgba(28, 31, 28, 0.92)), url("/assets/video/prenota.webp") center / cover no-repeat;
}
.prenota-fondo::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: url("/assets/texture/grana.png") repeat; opacity: 0.5; mix-blend-mode: overlay;
}

.prenota {
  display: grid; grid-template-columns: repeat(6, 1fr); column-gap: var(--canale);
  align-items: start;
  padding: calc(var(--bordo) * 2 + 44px + var(--bordo)) var(--bordo) calc(var(--bordo) * 4);
  min-height: 100vh;
}
.prenota__titolo {
  grid-column: 1 / -1; margin: 0 0 calc(var(--bordo) * 2);
  font-size: var(--titolo); line-height: 1; letter-spacing: -0.02em; font-weight: 500;
}
.prenota__lead {
  grid-column: 1 / 4; margin: 0;
  font-size: var(--sottotitolo); line-height: var(--sottotitolo-riga); letter-spacing: var(--spazio-medio); font-weight: 400;
}
.prenota__passi { grid-column: 4 / -1; margin: 0; padding: 0; list-style: none; }

.passo {
  display: grid; grid-template-columns: 3em 1fr; column-gap: 12px;
  padding: 20px 0 28px; border-top: 1px solid var(--inchiostro-riga);
}
.passo:last-child { border-bottom: 1px solid var(--inchiostro-riga); }
.passo__numero { color: var(--inchiostro-spento); }
.passo__titolo {
  margin: 0 0 6px;
  font-size: var(--sottotitolo); line-height: var(--sottotitolo-riga); letter-spacing: var(--spazio-medio); font-weight: 400;
}
.passo__testo, .passo__nota { margin: 0; color: var(--inchiostro-spento); }
.passo__nota { margin-top: 14px; color: var(--inchiostro); }
.passo.is-chiuso .passo__titolo { color: var(--inchiostro-spento); }

.passo__accesso { margin-top: 20px; max-width: 420px; }
.ovale--bordo { background: transparent; color: var(--inchiostro); box-shadow: inset 0 0 0 1px var(--inchiostro-riga); }
@media (hover: hover) { .ovale--bordo:hover { box-shadow: inset 0 0 0 1px var(--inchiostro); transform: scale(1.02); } }
.passo__google { gap: 10px; }
.marchio-google { width: 16px; height: 16px; flex: none; }
.passo__oppure { margin: 14px 0 0; color: var(--inchiostro-spento); }
.passo__modulo { display: grid; gap: 12px; margin-top: 14px; max-width: 420px; }
.campo { display: grid; gap: 6px; }
.campo__etichetta { color: var(--inchiostro-spento); }
.campo input {
  height: 44px; padding: 0 12px;
  background: rgba(255, 255, 255, 0.04); color: var(--inchiostro);
  border: 1px solid var(--filo-campo); border-radius: 3px;
  font-size: 16px; letter-spacing: normal;
}
.campo input:focus { outline: none; border-color: var(--inchiostro); }
.campo input[aria-invalid="true"] { border-color: #ff6b5e; }
.passo__errore { margin: 0; color: #ff6b5e; }
.passo__riga { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.passo__esito { margin: 0; color: var(--inchiostro-spento); }

html.con-finestra { overflow: hidden; }
.finestra-cal {
  width: min(1040px, calc(100vw - 2 * var(--bordo))); height: calc(100vh - 2 * var(--bordo)); height: calc(100dvh - 2 * var(--bordo));
  max-width: none; max-height: none; padding: 0; margin: auto; overflow: hidden;
  background: var(--nero); color: var(--inchiostro);
  border: 1px solid var(--inchiostro-riga); border-radius: 16px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
}
.finestra-cal[open] { display: flex; flex-direction: column; }
.finestra-cal::backdrop { background: rgba(0, 0, 0, 0.6); }
.finestra-cal__testa {
  flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 10px 10px 20px; border-bottom: 1px solid #404340;
}
.finestra-cal__titolo { margin: 0; font-size: 20px; line-height: 24px; font-weight: 500; letter-spacing: var(--spazio-medio); }
.finestra-cal__chiudi { flex: none; min-height: 44px; }
.finestra-cal__corpo { position: relative; flex: 1 1 auto; overflow: auto; overscroll-behavior: contain; }
.finestra-cal__cornice { display: block; width: 100%; height: 100%; min-height: 100%; border: 0; opacity: 0; pointer-events: none; }
.finestra-cal__cornice.is-pronta { opacity: 1; pointer-events: auto; transition: opacity 0.2s ease-out; }
.finestra-cal__attesa { position: absolute; z-index: 1; top: 24px; left: 20px; right: 20px; margin: 0; color: var(--inchiostro-spento); }
.finestra-cal__lento:not([hidden]) { position: absolute; z-index: 1; top: 24px; left: 20px; right: 20px; display: grid; justify-items: start; gap: 12px; }
.finestra-cal__lento .ovale { min-height: 44px; }
.finestra-cal__testo { margin: 0; }
@media (prefers-reduced-motion: reduce) { .finestra-cal__cornice.is-pronta { transition: none; } }
@media (max-width: 767px), (max-height: 500px) {
  .finestra-cal { width: 100%; height: 100vh; height: 100dvh; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
  .finestra-cal__testa { padding-left: var(--bordo); }
}

@media (max-width: 991px) {
  .pagina-prenota { --sottotitolo: 20px; --sottotitolo-riga: 24px; }
  .prenota__lead, .prenota__passi { grid-column: 1 / -1; }
  .prenota__lead { margin-bottom: calc(var(--bordo) * 2); }
}
@media (max-width: 767px) {
  .prenota { grid-template-columns: 1fr; padding-top: calc(var(--bordo) * 2 + 34px + var(--bordo)); }
  .prenota__titolo { font-size: 15vw; }
}
