/* Schede delle convenzioni: componenti locali, token da style.css.
   Nessun nuovo colore. Verde testo su bianco: 6,17:1; su surface-alt:
   5,74:1. Testo secondario su surface-alt: 5,14:1. */

.convenzione__apertura { padding-top: var(--s-7); }
.convenzione__percorso {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2) var(--s-4);
  font-size: .9375rem;
  color: var(--ink-3);
}
.convenzione__percorso li { display: flex; align-items: center; gap: var(--s-4); }
.convenzione__percorso a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.convenzione__percorso a:hover { text-decoration-thickness: 2px; }
.convenzione__titolo .kicker { margin-bottom: var(--s-3); }
.convenzione__titolo .lead { margin-top: var(--s-5); }
.convenzione__vantaggio {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3) var(--s-5);
  border-left: 4px solid var(--green-surface);
  padding-left: var(--s-5);
  margin-top: var(--s-6);
}
.convenzione__sconto {
  font-family: var(--font-sans);
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.018em;
  color: var(--green-ink);
}
.convenzione__vantaggio strong { display: block; color: var(--ink-1); }
.convenzione__vantaggio > p:not(.convenzione__sconto) { font-size: .9375rem; }
.convenzione__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-5); margin-top: var(--s-6); }
.convenzione__azioni .btn { gap: var(--s-3); }
.convenzione__locandina { min-width: 0; max-width: 56rem; margin-block: var(--s-6); }
.convenzione__cornice { padding: var(--s-3); background: var(--hairline); border: 1px solid var(--hairline-strong); border-radius: var(--r); }
.convenzione__cornice img { width: 100%; height: auto; object-fit: contain; }
/* I formati verticali e i marchi piccoli mantengono le proporzioni native. */
.convenzione__locandina--verticale { max-width: 40rem; }
.convenzione__locandina--compatta { max-width: 500px; }

.convenzione__condizioni > div { max-width: 66ch; }
.convenzione__condizioni .kicker { margin-bottom: var(--s-3); }
.convenzione__passaggi { margin-top: var(--s-6); }
.convenzione__passaggi li { display: flex; align-items: flex-start; gap: var(--s-4); padding-block: var(--s-5); border-top: 1px solid var(--hairline-strong); }
.convenzione__passaggi li:first-child { padding-top: 0; border-top: 0; }
.convenzione__passaggi .ico { margin-top: var(--s-1); color: var(--green-ink); }
.convenzione__passaggi strong { display: block; color: var(--ink-1); margin-bottom: var(--s-1); }
.convenzione__passaggi p { font-size: .9375rem; }

.convenzione__sedi { display: grid; gap: var(--s-5); }
.convenzione__sede { padding: var(--s-5); border: 1px solid var(--hairline-strong); border-top: 3px solid var(--brand); border-radius: var(--r); }
.convenzione__sede > .ico { color: var(--brand); margin-bottom: var(--s-4); }
.convenzione__sede .h3 { margin-bottom: var(--s-3); }
.convenzione__sede address { font-size: 1rem; font-style: normal; }
.convenzione__sede .link-action { margin-top: var(--s-5); }
.convenzione__sedi--singola { grid-template-columns: minmax(0, 40rem); }
.convenzione__contatti { display: grid; gap: var(--s-3); margin-top: var(--s-4); }
.convenzione__contatti a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; color: var(--ink-3); }
.convenzione__contatti p { font-size: .9375rem; }
.convenzione__ritorno { margin-top: var(--s-7); padding-top: var(--s-5); border-top: 1px solid var(--hairline-strong); }

@media (min-width: 640px) {
  .convenzione__sedi:not(.convenzione__sedi--singola) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .convenzione__sedi:not(.convenzione__sedi--singola) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media print {
  .convenzione .section { break-inside: auto; }
  .convenzione__locandina { max-width: 100mm; margin-top: var(--s-5); }
  .convenzione__cornice, .convenzione__sede, .convenzione__passaggi li { break-inside: avoid; }
  .convenzione__sedi:not(.convenzione__sedi--singola) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .convenzione__sede { padding: var(--s-3); }
  .convenzione__sede .link-action, .convenzione__azioni, .convenzione__percorso { display: none; }
}
