/* Pagine interne — Il Chiostro di Torri */

.interna { position: relative; }

.fregio {
  position: relative;
  width: 100%;
  aspect-ratio: 680 / 116;
  pointer-events: none;
}
.fregio svg { width: 100%; height: 100%; display: block; }

.interna__capo {
  padding: var(--sp-5) 0 var(--sp-4);
}
.interna__titolo {
  font-size: var(--t-media);
  font-weight: 440;
  letter-spacing: -0.022em;
  max-width: 20ch;
}
.interna__lead {
  margin-top: var(--sp-3);
  color: var(--marmo-velo);
  max-width: 52ch;
}

/* la prosa: misura stretta, testi lunghi */
.prosa { padding-bottom: var(--sp-5); }
.prosa p { margin-bottom: var(--sp-3); }
.prosa p:last-child { margin-bottom: 0; }

.prosa__titolo {
  font-size: var(--t-alta);
  font-weight: 460;
  margin: var(--sp-5) 0 var(--sp-3);
}
.prosa__titolo:first-child { margin-top: 0; }

/* la citazione: si inverte, non si ingrandisce */
.citazione {
  margin: var(--sp-4) 0;
  padding: var(--sp-4) var(--sp-4) var(--sp-3);

  margin-inline: calc(var(--sp-3) * -1);
}

.citazione p {
  line-height: 1.5;
  font-style: italic;
  margin-bottom: var(--sp-2);
  max-width: none;
}
.citazione cite {
  font-family: var(--conta);
  font-style: normal;
  font-size: var(--t-legenda);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--verde-cupo);
}

/* la figura: sfora la colonna */
.figura {
  margin: var(--sp-4) calc(var(--sp-4) * -1);
  padding: 0.6rem;
  border: var(--bordo);
}
.figura img { width: 100%; height: auto; display: block; }
.figura figcaption {
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--verde);
  margin-top: 0.7rem;
}
.figura--verticale { max-width: 26rem; margin-inline: auto; }

/* dove si va da qui */
.altrove {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-3);
  padding: var(--sp-3) 0 var(--sp-5);
  border-top: var(--bordo);
}
.altrove__voce {
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--marmo-velo);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--marmo) 30%, transparent);
  padding-bottom: 0.4em;
  transition: color var(--moto-breve), border-color var(--moto-breve);
}
.altrove__voce:hover { color: var(--marmo); border-bottom-color: currentColor; }

/* la mappa */
.mappa {
  margin: var(--sp-4) calc(var(--sp-4) * -1);
  padding: 0.6rem;
  border: var(--bordo);
}
.mappa img { width: 100%; height: auto; display: block; }
.mappa__piede {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp-3);
  flex-wrap: wrap;
  margin-top: 0.7rem;
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--verde);
}
.mappa__vie { display: flex; gap: var(--sp-3); }
.mappa__vie a { color: var(--marmo-velo); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 0.2em; }
.mappa__vie a:hover { color: var(--marmo); }

/* i contatti come lastra */
.contatti {
  margin: var(--sp-4) 0;
  padding: var(--sp-4);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
}
.contatti .chiusa__riga { border-bottom-color: color-mix(in srgb, var(--pietra-fonda) 20%, transparent); }

.contatti .chiusa__riga > span:last-child { overflow-wrap: anywhere; text-align: right; }

.prosa .iscrizione { margin: var(--sp-4) 0; }

@media (max-width: 52rem) {
  .citazione { padding: var(--sp-3); margin-inline: 0; }
  .figura, .mappa { margin-inline: 0; }
}

@media (max-width: 40rem) {

  .interna__capo { padding: var(--sp-4) 0 var(--sp-3); }
  .contatti { padding: var(--sp-3); }
  .mappa__piede { flex-direction: column; gap: var(--sp-2); }

  .contatti .chiusa__riga { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
  .contatti .chiusa__riga > span:first-child { margin-bottom: 0.1rem; }
  .contatti .chiusa__riga > span:last-child { text-align: left; }
}

/* il motore di prenotazione */
.prenota {
  margin: var(--sp-4) 0;

  color: #1c1c1c;

  font-family: system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
}

.prenota p {
  margin: revert;
  max-width: none;
  text-wrap: revert;
}
.prenota h1, .prenota h2, .prenota h3, .prenota h4, .prenota h5, .prenota h6 {
  font: revert;
  margin: revert;
  color: revert;
  letter-spacing: revert;
  text-wrap: revert;
}

.prenota img, .prenota svg, .prenota video {
  display: revert;
  max-width: revert;
  height: revert;
}
.prenota a {
  text-underline-offset: revert;
  text-decoration-thickness: revert;
}

.prenota__senza { color: var(--marmo-velo); }

/* Il menu */

.percorso-menu { margin: var(--sp-4) 0; }

.percorso-menu__capo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem 1.4rem;
  margin: 0 0 var(--sp-3);
  padding-bottom: var(--sp-2);
  border-bottom: var(--bordo);
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--verde);
}

.percorso-menu__che { flex: 1 1 auto; min-width: 0; }
.percorso-menu__prezzo { flex: none; color: var(--marmo); text-align: right; }

.portate { list-style: none; margin: 0; padding: 0; }

.portata {
  display: flex;
  align-items: baseline;
  gap: var(--sp-2);
  padding: 0.95rem 0;
  border-bottom: var(--bordo);
}
.portata:last-child { border-bottom: 0; }

.portata__conta {
  flex: none;
  width: 2ch;
  font-family: var(--conta);
  font-size: var(--t-legenda);
  color: var(--verde-cupo);
}

.portata__corpo { flex: 1 1 0; min-width: 0; }
.portata__nome {
  display: block;
  font-size: var(--t-nome);
  line-height: 1.15;
}
.portata__sotto {
  display: block;
  margin-top: 0.3rem;
  color: var(--marmo-velo);
  font-size: var(--t-piccolo);
}

.portata__allergeni {
  flex: none;
  font-family: var(--conta);
  font-size: var(--t-legenda);
  color: var(--verde);
}
.portata__allergeni abbr { text-decoration: none; border-bottom: 0; cursor: help; }
.portata__prezzo {
  flex: none;
  font-family: var(--conta);
  font-size: var(--t-piccolo);
  letter-spacing: 0.06em;
  min-width: 4ch;
  text-align: right;
}
.portate--carta .portata { align-items: baseline; }

/* il testo di legge */
.allergeni { margin-top: var(--sp-5); color: var(--marmo-velo); font-size: var(--t-piccolo); }
.allergeni .prosa__titolo { font-size: var(--t-nome); color: var(--marmo); }
.allergeni__lista {
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.08em;
  color: var(--verde);
  line-height: 2.1;
}
.allergeni__lista span:not(:last-child)::after { content: "\00a0·"; margin-right: 0.9em; color: var(--verde-cupo); }
.allergeni__nota { font-size: var(--t-legenda); color: var(--verde-cupo); }

@media (max-width: 40rem) {
  .portata { flex-wrap: wrap; }

  .portate:not(.portate--carta) .portata__allergeni {
    width: 100%;
    padding-left: calc(2ch + var(--sp-2));
  }

  .portate--carta .portata__corpo { flex: 1 0 100%; }
  .portate--carta .portata__allergeni { padding-left: 0; }
  .portate--carta .portata__prezzo { margin-left: auto; }
  .percorso-menu__capo { flex-direction: column; align-items: flex-start; }
  .percorso-menu__prezzo { text-align: left; }
}

.vai { margin: var(--sp-2) 0 var(--sp-4); }

/* i terzi, uno per riquadro */
.servizi { margin: var(--sp-4) 0; }
.servizio { padding: var(--sp-3) 0; border-bottom: var(--bordo); }
.servizio:last-child { border-bottom: 0; }
.servizio__nome { font-size: var(--t-nome); margin: 0 0 var(--sp-2); }
.servizio dl { margin: 0; }
.servizio__riga {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 0.4rem var(--sp-2);
  padding: 0.4rem 0;
}
.servizio__riga dt {
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verde);
}
.servizio__riga dd { margin: 0; color: var(--marmo-velo); font-size: var(--t-piccolo); }
.servizio__link { margin: var(--sp-2) 0 0; font-size: var(--t-piccolo); }
@media (max-width: 40rem) {
  .servizio__riga { grid-template-columns: 1fr; gap: 0.15rem; }
}

/* l'archivio */
.archivio {
  columns: 3;
  column-gap: var(--sp-2);
  margin: var(--sp-4) 0 var(--sp-5);
}
.archivio__opera {
  margin: 0 0 var(--sp-2);
  break-inside: avoid;
  page-break-inside: avoid;
}
.archivio__opera img { width: 100%; height: auto; display: block; }
.archivio__nota {
  max-width: 44rem;
  margin: 0 0 var(--sp-5);
  font-size: var(--t-piccolo);
  color: var(--verde);
}
@media (max-width: 68rem) { .archivio { columns: 2; } }

@media (max-width: 44rem) { .archivio { columns: 1; column-gap: 0; } }

.fonte {
  margin: -0.6rem 0 var(--sp-3);
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.fonte a { color: var(--verde); text-underline-offset: 0.3em; }
.fonte a:hover { color: var(--marmo); }

/* la scheda del libro */
.libro {
  display: grid;
  grid-template-columns: minmax(0, 13rem) minmax(0, 1fr);
  gap: var(--sp-4);
  align-items: start;
  margin: var(--sp-4) 0 var(--sp-5);
}
.libro__copertina {
  display: block; width: 100%; height: auto;
  border: var(--bordo);
}

.libro__stampo {
  aspect-ratio: 600 / 836;
  display: flex; flex-direction: column; justify-content: center; gap: var(--sp-2);
  padding: var(--sp-3);
  background: var(--pietra-alta);
  border: var(--bordo);
  text-align: center;
}
.libro__stampo-titolo {
  font-family: var(--voce);
  font-size: var(--t-nome);
  line-height: 1.15;
  color: var(--marmo);
  text-wrap: balance;
}
.libro__stampo-autore {
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--verde);
}

.libro__occhiello {
  margin: 0 0 var(--sp-3);
  font-family: var(--conta);
  font-size: var(--t-legenda);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--verde);
}
.libro__scheda dl { margin: 0; }
.libro__azione { margin: var(--sp-3) 0 0; }
.libro__attesa {
  margin: var(--sp-3) 0 0;
  color: var(--marmo-velo);
  font-size: var(--t-piccolo);
}

@media (max-width: 46rem) {
  .libro { grid-template-columns: 1fr; gap: var(--sp-3); }
  .libro__lato { max-width: 15rem; }
}
