/* Vetrina: pagine informative, cataloghi e moduli. I contenuti restano nei campi originali. */
.sf-vetrina-interna { background:#fff; }
.sf-vetrina-interna .intestazione {
  position:relative; isolation:isolate; margin-top:28px; margin-bottom:28px; min-height:196px;
  width:calc(100% - 2 * var(--margine)); max-width:var(--larghezza);
  padding:38px 280px 38px 36px; border:1px solid var(--v-bordo); border-radius:20px;
  background:linear-gradient(90deg,#eb8a27 0 25%,#23916b 25% 50%,#e9c847 50% 75%,#2788b1 75%) top / 100% 5px no-repeat,var(--v-fondo);
}
/* Richiamo decorativo al logo: quadrato a contorno e fondo rosato; il logo della testata resta originale. */
.sf-vetrina-interna .intestazione::after {
  content:""; position:absolute; pointer-events:none; z-index:-1; right:44px; top:50%;
  width:150px; height:150px; transform:translateY(-50%);
  background:url("img/samaform-simbolo.svg?v=2") center / contain no-repeat;
}
.sf-vetrina-interna .intestazione h1 { font-size:clamp(32px,3.6vw,48px); line-height:1.08; letter-spacing:-.8px; }
.sf-vetrina-interna .intestazione__frase { font-size:19px; line-height:1.55; color:var(--v-muted); max-width:42rem; }
.sf-vetrina-interna .intestazione__pulsanti { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.sf-vetrina-interna .sezione { margin-block:36px; }
.sf-vetrina-interna .sezione > h2 { font-size:30px; line-height:1.2; letter-spacing:-.4px; }
.sf-vetrina-interna .fascia { background:var(--v-fondo); border-color:var(--v-bordo); padding-block:36px; }
.sf-vetrina-interna :is(.tessera-link,.programma-tessera,.posizione,.dettagli,.legenda,.biglietto) {
  background:#fff; border:1px solid var(--v-bordo); border-radius:14px;
}
.sf-vetrina-interna :is(.tessera-link,.programma-tessera) { padding:26px; border-top:4px solid var(--linea,var(--rosso)); }
.sf-vetrina-interna :is(.tessera-link,.programma-tessera):hover { border-color:#9dabb5; }
.sf-vetrina-interna :is(.tessera-link__titolo,.programma-tessera__nome) { font-size:24px; line-height:1.25; }
.sf-vetrina-interna .tessera-link__titolo .ico { color:var(--rosso); }
.sf-vetrina-interna .dettagli summary { padding:22px; }
.sf-vetrina-interna .passi li { padding:14px; background:var(--v-fondo); border:1px solid var(--v-bordo); border-radius:12px; }
.sf-vetrina-interna .passi li::before,.sf-vetrina-interna .prenota__n { background:var(--rosso); }
.sf-vetrina-interna .pulsante { border-radius:8px; }
.sf-vetrina-interna .pulsante:not(.pulsante--principale) { background:#fff; }
.sf-vetrina-interna .pulsante:focus-visible { outline:3px solid var(--inchiostro); outline-offset:4px; }
.sf-vetrina-interna .pagina-testo { padding-top:40px; padding-bottom:56px; }
.sf-vetrina-interna .pagina-testo h1 { padding-bottom:22px; border-bottom:4px solid var(--rosso); }
.sf-vetrina-interna .pagina-testo h2 { padding-top:18px; }
.sf-vetrina-interna .in-breve,.sf-vetrina-interna .prenota__conto { background:var(--v-fondo); border:1px solid var(--v-bordo); border-radius:16px; }
.sf-vetrina-interna .prenota__corso,.sf-vetrina-interna .richiesta-corso { background:#f1f6f8; border:1px solid #d5e3e8; border-radius:12px; }
.sf-vetrina-interna .modulo :is(input[type="text"],input[type="email"],input[type="tel"],select,textarea) {
  background:#fff; border:1px solid #8796a1; border-radius:8px; min-height:48px;
}
.sf-vetrina-interna .modulo :is(input,textarea,select):focus-visible { outline:3px solid var(--inchiostro); outline-offset:3px; }
.sf-vetrina-interna .modulo-nota { font-size:16px; }
.sf-vetrina-interna .modulo-gruppo { padding:18px; border:1px solid var(--v-bordo); border-radius:12px; background:var(--v-fondo); }
.sf-vetrina-interna .modulo-gruppo legend { padding-inline:6px; }
.sf-vetrina-interna .modulo-consenso { padding:16px; background:var(--v-fondo); border-radius:10px; }
.sf-vetrina-interna .modulo :is(input[type="radio"],input[type="checkbox"]) { accent-color:var(--rosso); }
.sf-vetrina-interna .filtri button { border-radius:8px; }
.sf-vetrina-interna .filtri button[aria-pressed="true"] { background:var(--inchiostro); color:#fff; }
.sf-vetrina-interna .riga-corso { background:#fff; }
.sf-vetrina-interna .riga-corso:hover { background:#f7f4ee; }

/* Un riferimento costante per chiamare o scrivere alla segreteria. */
.sf-vetrina .recapiti a[href*="wa.me/"] {
  display:inline-flex; align-items:center; min-height:48px; padding:10px 16px;
  background:#e7f4eb; border:2px solid #217447; border-radius:10px;
  color:#175a36; font-weight:800; font-size:18px; line-height:1.35;
  text-decoration:none; overflow-wrap:anywhere;
}
.sf-vetrina .recapiti a[href*="wa.me/"]:hover { background:#d6ebdd; text-decoration:underline; text-underline-offset:3px; }
.sf-vetrina .recapiti a[href*="wa.me/"]:focus-visible { outline:3px solid var(--inchiostro); outline-offset:4px; }
.sf-vetrina .recapiti li:has(a[href*="wa.me/"]) > .ico { color:#217447; margin-top:12px; }
.sf-vetrina-interna .segreteria { padding-top:28px; }

/* Lavora con noi: posizioni come schede, modulo separato e riconoscibile. */
.sf-vetrina-pagina-lavora-con-noi .posizioni { gap:22px; }
.sf-vetrina-pagina-lavora-con-noi .posizione { padding:26px; border-top:4px solid var(--rosso); gap:16px; }
.sf-vetrina-pagina-lavora-con-noi .posizione__profilo { color:#8e1220; font-size:16px; background:#faedf0; border-radius:6px; padding:6px 10px; justify-self:start; }
.sf-vetrina-pagina-lavora-con-noi .posizione__titolo { font-size:25px; }
.sf-vetrina-pagina-lavora-con-noi .posizione .pulsante { color:#fff; background:var(--rosso); border-color:var(--rosso); }
.sf-vetrina-pagina-lavora-con-noi .candidatura { padding-top:16px; }
.sf-vetrina-pagina-lavora-con-noi .candidatura .modulo { max-width:52rem; padding:30px; border:1px solid var(--v-bordo); border-radius:16px; background:#fff; box-shadow:0 6px 24px #192b3c08; }

/* Chi siamo: la storia, le attività e gli accreditamenti restano leggibili. */
.sf-vetrina-pagina-chi-siamo [aria-label="La nostra storia"] { padding:24px 32px; border-left:4px solid var(--rosso); background:var(--v-fondo); border-radius:0 12px 12px 0; }
.sf-vetrina-pagina-chi-siamo [aria-label="La nostra storia"] > p { max-width:78ch; font-size:20px; line-height:1.65; }
.sf-vetrina-pagina-chi-siamo .tessere--tre > :nth-child(1) { background:#fcf1e6; border-top-color:#c9751b; }
.sf-vetrina-pagina-chi-siamo .tessere--tre > :nth-child(2) { background:#edf6f0; border-top-color:#258561; }
.sf-vetrina-pagina-chi-siamo .tessere--tre > :nth-child(3) { background:#edf4f8; border-top-color:#2b85aa; }
.sf-vetrina-pagina-chi-siamo .credenziali-blocco { border-top:0; }
.sf-vetrina-pagina-chi-siamo .credenziali { gap:16px; }
.sf-vetrina-pagina-chi-siamo .credenziali li { padding:22px; border:1px solid var(--v-bordo); border-radius:12px; background:#fff; }
.sf-vetrina-pagina-chi-siamo .credenziali .ico { color:var(--rosso); }
.sf-vetrina-pagina-chi-siamo .sede { padding:30px; background:var(--v-fondo); border:1px solid var(--v-bordo); border-radius:16px; grid-template-columns:minmax(0,1fr); }
.sf-vetrina-pagina-chi-siamo [aria-labelledby="titolo-trasparenza"] { padding-top:28px; border-top:1px solid var(--v-bordo); }

/* Contatti: una griglia pratica, senza una mappa incorporata o dati duplicati. */
.sf-vetrina-pagina-contatti #contenuto { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px; width:calc(100% - 2 * var(--margine)); max-width:var(--larghezza); margin-inline:auto; padding-bottom:48px; align-items:start; }
.sf-vetrina-pagina-contatti #contenuto > .intestazione { grid-column:1 / -1; width:100%; margin-bottom:0; }
.sf-vetrina-pagina-contatti #contenuto > section { width:100%; max-width:none; margin:0; padding:28px; border:1px solid var(--v-bordo); border-radius:16px; background:#fff; min-width:0; }
.sf-vetrina-pagina-contatti #contenuto > .segreteria { background:var(--v-fondo); border-top:4px solid #217447; }
.sf-vetrina-pagina-contatti .segreteria__corpo { grid-template-columns:minmax(0,1fr); margin-top:0; }
.sf-vetrina-pagina-contatti .recapiti { grid-template-columns:minmax(0,1fr); }
.sf-vetrina-pagina-contatti .telefono { font-size:clamp(26px,2.5vw,36px); }
.sf-vetrina-pagina-contatti #contenuto > [aria-labelledby="titolo-scrivici"] { background:#f9edef; border-top:4px solid var(--rosso); }
.sf-vetrina-pagina-contatti [aria-labelledby="titolo-dove"] { grid-row:span 2; }
.sf-vetrina-pagina-contatti .programma-breve__elenco { grid-template-columns:minmax(0,1fr); gap:16px; }
.sf-vetrina-pagina-contatti .come-arrivare > li { padding:16px; border-radius:10px; background:var(--v-fondo); }
.sf-vetrina-pagina-contatti .come-arrivare__segno { color:#276982; }
.sf-vetrina-pagina-contatti .testo-breve > * { max-width:100%; }
.sf-vetrina-pagina-contatti .elenco-link { padding-left:20px; }

@media(max-width:1023px) {
  .sf-vetrina-interna .intestazione { padding:30px 200px 30px 28px; }
  .sf-vetrina-interna .intestazione::after { right:32px; width:120px; height:120px; background-size:contain; }
}
@media(max-width:719px) {
  .sf-vetrina-interna .intestazione { padding:26px 20px; margin-top:20px; margin-bottom:24px; border-radius:14px; min-height:0; }
  .sf-vetrina-interna .intestazione::after { display:none; }
  .sf-vetrina-interna .intestazione h1 { font-size:34px; }
  .sf-vetrina-interna .intestazione__frase { font-size:17px; }
  .sf-vetrina-interna .sezione > h2 { font-size:27px; }
  .sf-vetrina-interna :is(.tessera-link,.programma-tessera,.posizione) { padding:20px; }
  .sf-vetrina-interna .sezione { margin-block:28px; }
  .sf-vetrina-pagina-lavora-con-noi .candidatura .modulo { padding:18px; }
  .sf-vetrina-pagina-chi-siamo [aria-label="La nostra storia"] { padding:20px; }
  .sf-vetrina-pagina-chi-siamo [aria-label="La nostra storia"] > p { font-size:18px; }
  .sf-vetrina-pagina-chi-siamo .sede { padding:22px; }
  .sf-vetrina-pagina-contatti #contenuto { grid-template-columns:minmax(0,1fr); gap:18px; }
  .sf-vetrina-pagina-contatti #contenuto > section { padding:22px; }
  .sf-vetrina .recapiti a[href*="wa.me/"] { font-size:17px; padding:10px 12px; }
}
@media(forced-colors:active) {
  .sf-vetrina-interna .intestazione::after { display:none; }
  .sf-vetrina .recapiti a[href*="wa.me/"] { border-color:LinkText; color:LinkText; }
}
