/* Comparto Nuovo · solo pagina iniziale */
.hero-comparto { background: var(--beige); overflow: hidden; }
.hero-comparto .cont { display: grid; gap: 30px; padding-top: 50px; padding-bottom: 50px; }
.hero-comparto h1 { font-family: var(--titoli); font-size: clamp(2.2rem, 1.4rem + 3vw, 3.8rem); line-height: 1.05; color: var(--arancio-testo); }
.hero-comparto .lead { font-size: 1.125rem; margin: 18px 0 26px; max-width: 34em; }
.schema-ab { width: 100%; max-width: 560px; margin-right: -40px; }

/* tre carte con base blu */
.tre-carte { padding: 70px 0; }
.tre-grid { display: grid; gap: 24px; }
.carta-base { background: #FFF; border: 1px solid #E4E0DD; display: flex; flex-direction: column; min-width: 0; }
.carta-base img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.carta-base .dentro { padding: 20px 20px 24px; flex: 1; }
.carta-base h3 { font-family: var(--titoli); font-size: 1.25rem; color: var(--arancio-testo); margin-bottom: 8px; }
.carta-base p { margin: 0; }
.carta-base .base { background: var(--blu); color: #FFF; padding: 12px 20px; font-weight: 600; font-size: .9375rem; }

.titolo-sez { font-family: var(--titoli); font-size: clamp(1.75rem, 1.1rem + 1.8vw, 2.5rem); line-height: 1.15; color: var(--arancio-testo); margin-bottom: 16px; }

/* introduzione e carte colorate */
.intro-tinta { padding: 20px 0 70px; }
.intro-tinta .cont { display: grid; gap: 30px; }
.intro-tinta p { margin: 0 0 14px; }
.tinte { display: grid; gap: 14px; }
.tinta { padding: 20px 22px; background: #FBEEE3; }
.tinta:nth-child(2) { background: #E9EFF4; }
.tinta:nth-child(3) { background: #F4F1E2; }
.tinta b { display: block; font-size: 1.0625rem; color: #222; margin-bottom: 4px; }

/* fascia beige: i quattro venerdì */
.venerdi-beige { background: var(--beige); padding: 70px 0; }
.ven-grid { display: grid; gap: 22px; }
.ven { background: #FFF; padding: 24px 22px; border-top: 4px solid var(--arancio); }
.ven .data { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--blu); }
.ven h3 { font-size: 1.1875rem; margin: 6px 0 8px; color: #222; }
.ven p { margin: 0; }

/* esempio switch */
.esempio-switch { padding: 70px 0; }
.lettere-due { display: grid; gap: 18px; margin-top: 24px; }
.lettera-f { border: 1px solid var(--bordo); padding: 20px 22px; font-size: .9375rem; }
.lettera-f .chi { font-weight: 700; color: var(--blu-scuro); }
.lettera-f .giorno { font-size: .8125rem; color: #6A6A6A; }
.riga-unita { background: var(--blu-scuro); color: #FFF; padding: 20px 22px; margin-top: 18px; }
.riga-unita b { color: #F7A35C; }

/* non facciamo + limite */
.fuori-corso { background: #FFF; padding: 20px 0 70px; }
.fuori-corso .cont { display: grid; gap: 28px; }
.fuori-corso ul { margin: 0; padding-left: 20px; }
.fuori-corso li { margin-bottom: 10px; }
.limite-box { border-left: 4px solid var(--arancio); background: var(--beige); padding: 20px 22px; }

/* prezzo */
.prezzo-c { background: var(--beige); padding: 60px 0; }
.prezzo-c .riga { display: grid; gap: 20px; background: #FFF; padding: 28px 24px; }
.prezzo-c .cifra { font-family: var(--titoli); font-size: 3rem; line-height: 1; color: var(--blu-scuro); }
.prezzo-c ul { margin: 0; padding-left: 20px; }

/* modulo e domande */
.modulo-faq { padding: 70px 0; }
.modulo-faq .cont { display: grid; gap: 40px; }
.form-lettere fieldset { border: 0; padding: 0; margin: 0 0 6px; }
.form-lettere legend { font-weight: 700; margin-bottom: 10px; }
.spunte { display: grid; gap: 8px; }
.spunte label { display: flex; gap: 10px; align-items: center; border: 1px solid var(--bordo); padding: 11px 14px; cursor: pointer; }
.spunte input { width: 18px; height: 18px; accent-color: var(--blu); }
.cmp { margin-top: 16px; }
.cmp label { display: block; font-weight: 700; font-size: .9375rem; margin-bottom: 6px; }
.cmp input, .cmp select { width: 100%; height: 50px; border: 1px solid var(--bordo); padding: 0 12px; font: 1rem var(--corpo); background: #FFF; color: var(--testo); }
.cmp .err { display: block; min-height: 1.3em; font-size: .8125rem; color: #A3261C; margin-top: 4px; }
.cmp.ko input, .cmp.ko select { border-color: #A3261C; }
.nascosto-bot { display: none; }
.priv-ok { display: flex; gap: 10px; margin: 16px 0 6px; font-size: .9375rem; }
.priv-ok input { margin-top: 4px; }
.form-lettere .btn-blu { margin-top: 12px; }
.esito-c { min-height: 1.5em; margin-top: 12px; }
.faq-acc details { border-bottom: 1px solid #E4E0DD; }
.faq-acc summary { cursor: pointer; padding: 16px 30px 16px 0; font-weight: 700; color: #222; list-style: none; position: relative; }
.faq-acc summary::-webkit-details-marker { display: none; }
.faq-acc summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 1.4rem; color: var(--arancio-testo); }
.faq-acc details[open] summary::after { content: "–"; }
.faq-acc details p { margin: 0 0 16px; }

@media (min-width: 760px) {
	.hero-comparto .cont { grid-template-columns: 3fr 4fr; align-items: center; gap: 50px; padding-top: 70px; padding-bottom: 70px; }
	.tre-grid { grid-template-columns: repeat(3, 1fr); }
	.intro-tinta .cont { grid-template-columns: 1fr 1fr; gap: 50px; }
	.ven-grid { grid-template-columns: repeat(2, 1fr); }
	.lettere-due { grid-template-columns: 1fr 1fr; }
	.fuori-corso .cont { grid-template-columns: 1.3fr 1fr; gap: 50px; }
	.prezzo-c .riga { grid-template-columns: 1fr 2fr; align-items: center; padding: 36px 40px; }
	.modulo-faq .cont { grid-template-columns: 1.1fr 1fr; gap: 60px; }
}
@media (min-width: 1060px) {
	.ven-grid { grid-template-columns: repeat(4, 1fr); }
}

/* scheda dello switch e gruppo del venerdì */
.scheda-switch { padding: 70px 0; background: var(--beige); }
.ss-cols { display: grid; gap: 32px; margin-top: 24px; }
.ss-scheda { padding: 26px; background: #ffffff; border-top: 6px solid var(--arancio); }
.ss-scheda p { margin: 0; padding: 12px 0; border-bottom: 1px dotted var(--bordo); font-weight: 600; color: var(--blu-scuro); }
.ss-scheda span { display: block; font-size: 13px; font-weight: 400; color: var(--testo); }
.ss-scheda .ss-stato { border: 0; padding-bottom: 0; color: var(--arancio-testo); }
.gruppo-venerdi { padding: 64px 0; }
.gruppo-venerdi p { max-width: 760px; font-size: 17px; }
@media (min-width: 900px) {
	.ss-cols { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 60px; align-items: start; }
}

/* lettere di prova: foto con cornice arancio */
.lettere-prova { padding: 70px 0; }
.lp-cols { display: grid; gap: 34px; align-items: center; }
.lp-cols figure { margin: 0; padding: 12px; border: 2px solid var(--arancio); }
.lp-cols p { font-size: 17px; max-width: 600px; }
@media (min-width: 900px) {
	.lp-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 60px; }
}
