/* domini/gestionalecaf.it/assets/pagine.css — le disposizioni proprie delle pagine di gestionalecaf.it (2026-10-20).
   Si carica DOPO assets/n6.css del tema e aggiunge solo classi col prefisso caf-: nessuna regola del tema viene
   riscritta, tranne lo sfondo dell'apertura «rovesciata» (caf-hero-inv), dove il sole va dal lato della schermata.
   Regole della casa rispettate: niente testo barrato, niente riquadri col bordo colorato a sinistra, colori dalle
   variabili del tema (--marca, --titolo, --tenue, --linea...), comparse con .rv del tema.
   Pagine: funzione (caf-hero-inv, caf-punti, caf-percorso, caf-faq-due, caf-coll) · soluzione (caf-doc, caf-tappe,
   caf-moduli, caf-caso) · piattaforma (caf-mappa, caf-area, caf-funz) · soluzioni (caf-serv, caf-metodo) · prezzi
   (caf-scegli, caf-ogni) · contatti (caf-temi) · faq (caf-faq-aree, caf-faq-blocco, caf-limiti) · guide e guida
   (caf-guida-*, caf-manuale) · 404 (caf-vie). */
:root {
	--caf-ombra: 0 16px 34px -18px rgba(10, 50, 120, .30), 0 0 0 1px rgba(10, 50, 120, .05);
	--caf-ombra-su: 0 22px 44px -18px rgba(10, 50, 120, .38), 0 0 0 1px rgba(10, 50, 120, .06);
	--caf-raggio: 20px;
}

/* ---------------------------------------------------------------- comuni: pastiglia-icona nel colore della voce */
.caf-punti-ico, .caf-coll-ico, .caf-doc-ico, .caf-modulo-ico, .caf-caso-ico, .caf-funz-ico, .caf-serv-ico, .caf-metodo-ico,
.caf-tema-ico, .caf-faq-blocco-ico, .caf-guida-riga-ico, .caf-manuale-ico, .caf-servizio-mini > span, .caf-faq-area > span {
	display: inline-grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 14px;
	background: var(--c, var(--marca)); color: #fff; font-size: 19px; box-shadow: 0 8px 18px -8px rgba(29, 78, 216, .45);
}

/* ================================================================= FUNZIONE */
/* apertura rovesciata: schermata a sinistra, testo a destra (nel DOM il testo resta PRIMA, per lettori e telefono) */
.n6-hero-int.caf-hero-inv { background: radial-gradient(circle at 24% 50%, #3fddf5 0, #16b4f0 160px, #1e7eec 340px, #2257e2 520px, #1745d6 760px); }
.n6-hero-int.caf-hero-inv::before { left: 24%; top: 50%; }
.n6-hero-int.caf-hero-inv > .n6-due { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.caf-hero-inv .caf-hero-visivo { order: -1; }
.caf-hero-inv .n6-occhiello i { margin-right: 4px; }

/* in breve + scheda dei dati */
.caf-breve-riga { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.caf-breve-riga .n6-inbreve { grid-template-columns: 1fr; gap: 14px; }
.caf-scheda-dati { padding: 26px 28px; border-radius: var(--caf-raggio); background: var(--marca-chiaro); }
.caf-scheda-dati dl { margin: 12px 0 0; }
.caf-scheda-dati dt { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--debole); }
.caf-scheda-dati dd { margin: 2px 0 14px; color: var(--titolo); font-size: 15.5px; line-height: 1.5; }
.caf-scheda-dati dd:last-child { margin-bottom: 0; }
.caf-scheda-dati a { color: var(--marca); font-weight: 600; text-decoration: none; }
.caf-scheda-dati a:hover { text-decoration: underline; }

/* che cosa trovi: elenco a due colonne con le righe divise */
.caf-punti { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; }
.caf-punti li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--linea); }
.caf-punti h3 { font-size: 18.5px; margin: 2px 0 6px; }
.caf-punti p { color: var(--tenue); font-size: 16px; }

/* percorso verticale: titolo fermo a sinistra, tappe in colonna a destra */
.caf-percorso-griglia { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 64px; align-items: start; }
.caf-percorso-testa { position: sticky; top: 110px; }
.caf-percorso-testa h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; }
.caf-percorso-testa p { margin-top: 16px; font-size: 18px; color: var(--tenue); }
.caf-percorso-testa .n6-fascia { margin-top: 32px; }
.caf-percorso { list-style: none; margin: 0; padding: 0; position: relative; }
.caf-percorso::before { content: ""; position: absolute; left: 23px; top: 24px; bottom: 24px; width: 2px; background: linear-gradient(var(--marca), var(--linea2)); border-radius: 2px; }
.caf-percorso li { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 22px; padding-bottom: 28px; }
.caf-percorso li:last-child { padding-bottom: 0; }
.caf-percorso-n { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--marca); color: #fff; font: 800 18px/1 var(--titoli); box-shadow: 0 0 0 6px #f3f7fc; }
.caf-percorso li > div { padding: 20px 24px; border-radius: 18px; background: #fff; box-shadow: var(--caf-ombra); }
.caf-percorso h3 { font-size: 18.5px; margin-bottom: 6px; }
.caf-percorso p { color: var(--tenue); font-size: 16px; }

/* domande in due colonne */
.caf-faq-due { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 56px; align-items: start; }
.caf-faq-due .n6-faq details:first-child { border-top: 1px solid var(--linea); }

/* funzioni collegate e servizi che la usano */
.caf-coll { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.caf-coll-voce { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 20px; border-radius: 18px; background: #fff; box-shadow: var(--caf-ombra); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; }
.caf-coll-voce b { display: block; color: var(--titolo); font-size: 17px; }
.caf-coll-voce small { display: block; margin-top: 2px; color: var(--tenue); font-size: 14.5px; line-height: 1.45; }
.caf-coll-voce > i { color: var(--debole); font-size: 13px; transition: transform .2s var(--ease), color .2s; }
.caf-coll-voce:hover { transform: translateY(-3px); box-shadow: var(--caf-ombra-su); }
.caf-coll-voce:hover > i { color: var(--marca); transform: translateX(3px); }
.caf-serv-chip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 32px; }
.caf-serv-chip .n6-etichetta { margin-right: 6px; }
.caf-serv-chip a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 99px; border: 1px solid var(--linea2); background: #fff; color: var(--titolo); font-weight: 600; font-size: 15px; text-decoration: none; transition: border-color .2s, color .2s; }
.caf-serv-chip a i { color: var(--c, var(--marca)); }
.caf-serv-chip a:hover { border-color: var(--marca); color: var(--marca); }

/* ================================================================= SOLUZIONE (servizio del CAF) */
/* la checklist dei documenti: un foglio da spuntare */
.caf-doc-griglia { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.caf-doc-foglio { position: relative; padding: 34px 32px 30px; border-radius: 22px; background: #fff; box-shadow: var(--caf-ombra-su); }
.caf-doc-foglio::before { content: ""; position: absolute; top: -12px; left: 50%; width: 120px; height: 24px; margin-left: -60px; border-radius: 10px; background: var(--titolo); box-shadow: 0 6px 14px -6px rgba(15, 42, 107, .6); }
.caf-doc-testa { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; margin-bottom: 8px; border-bottom: 1px solid var(--linea); }
.caf-doc-k { display: block; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--debole); }
.caf-doc-testa b { display: block; font: 800 21px/1.25 var(--titoli); color: var(--titolo); }
.caf-doc-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.caf-doc-lista li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px; align-items: start; padding: 13px 0; border-bottom: 1px dashed var(--linea2); color: var(--titolo); font-size: 15.5px; line-height: 1.45; }
.caf-doc-box { display: grid; place-items: center; width: 24px; height: 24px; margin-top: -1px; border-radius: 7px; border: 2px solid var(--verde); background: var(--verde); color: #fff; font-size: 12px; }
.caf-doc-box i { transition: opacity .35s var(--ease), transform .35s var(--ease); transition-delay: calc(var(--k, 0) * .09s + .35s); }
/* le spunte compaiono una dopo l'altra quando il foglio entra a video (solo se il javascript c'e') */
.n6-js .caf-doc-foglio:not(.in) .caf-doc-box { background: #fff; }
.n6-js .caf-doc-foglio:not(.in) .caf-doc-box i { opacity: 0; transform: scale(.3); }
.caf-doc-box { transition: background-color .3s; transition-delay: calc(var(--k, 0) * .09s + .35s); }
.caf-doc-testo h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; }
.caf-doc-testo > p { margin-top: 16px; font-size: 18px; color: var(--tenue); }
.caf-doc-testo .n6-spunte { margin-top: 22px; }

/* il percorso numerato in orizzontale, con il filo fra le tappe */
.caf-tappe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 24px; }
.caf-tappe li { position: relative; padding: 0 6px; text-align: center; }
.caf-tappe li::after { content: ""; position: absolute; top: 28px; left: calc(50% + 36px); right: calc(-50% + 24px); height: 2px; background: repeating-linear-gradient(90deg, var(--linea2) 0 8px, transparent 8px 14px); }
.caf-tappe li:last-child::after { display: none; }
.caf-tappe-n { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--c, var(--marca)); color: #fff; font: 800 21px/1 var(--titoli); box-shadow: 0 12px 24px -10px rgba(29, 78, 216, .55); }
.caf-tappe h3 { font-size: 18px; margin: 18px 0 8px; }
.caf-tappe p { color: var(--tenue); font-size: 15.5px; }
.caf-tappe .n6-link { display: inline-flex; margin-top: 10px; font-size: 15px; }
.caf-tappe-prova li { padding: 26px 20px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); }
.caf-tappe-prova li::after { top: 54px; left: calc(100% - 4px); right: auto; width: 32px; }
.caf-tappe-prova .caf-tappe-n { font-size: 20px; }

/* le funzioni del servizio: quelle in evidenza più grandi e tinte */
.caf-moduli { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.caf-modulo { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 26px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; }
.caf-modulo b { margin-top: 8px; color: var(--titolo); font: 800 19px/1.25 var(--titoli); }
.caf-modulo p { flex: 1; color: var(--tenue); font-size: 15.5px; line-height: 1.55; }
.caf-modulo.primo { background: #fff; background: linear-gradient(180deg, color-mix(in srgb, var(--c) 10%, #fff) 0, #fff 70%); }
.caf-modulo.primo b { font-size: 21px; }
.caf-modulo:hover { transform: translateY(-3px); box-shadow: var(--caf-ombra-su); }

/* domande con la scheda «caso particolare» a lato */
.caf-faq-lato { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.caf-faq-lato h2 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 14px; }
.caf-caso { position: sticky; top: 110px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 30px 28px; border-radius: 22px; background: linear-gradient(160deg, #1745d6, #1e7eec); color: #fff; box-shadow: 0 30px 60px -28px rgba(0, 15, 80, .55); }
.caf-caso .caf-caso-ico { background: #fff; color: var(--marca); box-shadow: none; }
.caf-caso b { font: 800 21px/1.3 var(--titoli); }
.caf-caso p { color: rgba(255, 255, 255, .92); font-size: 15.5px; }
.caf-caso .n6-btn-primario { margin-top: 6px; }
.caf-caso .n6-link { color: #fff; font-size: 15px; }

/* gli altri servizi del CAF */
.caf-servizi-fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.caf-servizio-mini { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 18px 14px 14px; border-radius: 16px; background: #fff; box-shadow: var(--caf-ombra); text-decoration: none; color: var(--titolo); transition: transform .25s var(--ease); }
.caf-servizio-mini > span { width: 44px; height: 44px; font-size: 17px; border-radius: 12px; }
.caf-servizio-mini b { font-size: 16.5px; }
.caf-servizio-mini > i { color: var(--debole); font-size: 12px; }
.caf-servizio-mini:hover { transform: translateY(-2px); }
.caf-servizio-mini:hover > i { color: var(--marca); }

/* ================================================================= PIATTAFORMA */
/* la mappa delle aree: una colonna per area coi nomi delle funzioni */
.caf-mappa { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 18px; }
.caf-mappa-col { padding: 22px 22px 18px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); }
.caf-mappa-testa { display: flex; align-items: baseline; gap: 10px; padding-bottom: 14px; margin-bottom: 6px; border-bottom: 1px solid var(--linea); text-decoration: none; }
.caf-mappa-testa em { font: 900 15px/1 var(--titoli); font-style: normal; color: var(--marca); }
.caf-mappa-testa b { font: 800 17px/1.25 var(--titoli); color: var(--titolo); }
.caf-mappa-testa:hover b { color: var(--marca); }
.caf-mappa ul { list-style: none; margin: 0; padding: 0; }
.caf-mappa li a { display: flex; align-items: center; gap: 10px; padding: 8px 0; color: var(--testo); font-size: 15px; text-decoration: none; }
.caf-mappa li a i { width: 18px; text-align: center; color: var(--c, var(--marca)); }
.caf-mappa li a:hover { color: var(--marca); }

/* un blocco per area: colonna ferma a sinistra, funzioni in righe a destra */
.caf-area { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 56px; align-items: start; }
.caf-area-lato { position: sticky; top: 100px; }
.caf-area-n { display: block; font: 900 64px/1 var(--titoli); color: transparent; -webkit-text-stroke: 2px var(--marca); letter-spacing: -.03em; }
.caf-area-lato h2 { margin-top: 10px; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; }
.caf-area-lato > p { margin-top: 14px; font-size: 18px; color: var(--tenue); }
.caf-area-mock { margin-top: 28px; }
.caf-area-elenco { display: grid; gap: 16px; }
.caf-funz { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; padding: 24px 26px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); }
.caf-funz h3 { font-size: 20px; }
.caf-funz h3 a { text-decoration: none; color: var(--titolo); }
.caf-funz h3 a:hover { color: var(--marca); }
.caf-funz p { margin-top: 6px; color: var(--tenue); font-size: 15.5px; }
.caf-funz .n6-link { display: inline-flex; margin-top: 14px; font-size: 15px; }
.caf-pastiglie { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.caf-pastiglie li { padding: 4px 12px; border-radius: 99px; background: var(--marca-chiaro); color: var(--marca-forte); font-size: 13.5px; font-weight: 600; line-height: 1.5; }

/* ================================================================= SOLUZIONI (elenco dei servizi) */
.caf-serv-elenco { display: grid; gap: 18px; }
.caf-serv-riga { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) auto; gap: 36px; align-items: center; padding: 28px 30px; border-radius: 22px; background: #fff; box-shadow: var(--caf-ombra); }
.caf-serv-nome { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; align-items: start; }
.caf-serv-ico { width: 56px; height: 56px; border-radius: 16px; font-size: 22px; }
.caf-serv-nome h2 { font-size: clamp(22px, 2.2vw, 28px); }
.caf-serv-nome h2 a { color: var(--titolo); text-decoration: none; }
.caf-serv-nome h2 a:hover { color: var(--marca); }
.caf-serv-nome p { margin-top: 8px; color: var(--tenue); font-size: 15.5px; line-height: 1.55; }
.caf-serv-doc { padding: 18px 20px; border-radius: 16px; background: #f3f7fc; }
.caf-serv-doc ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.caf-serv-doc li { display: flex; gap: 10px; align-items: baseline; color: var(--titolo); font-size: 15px; line-height: 1.4; }
.caf-serv-doc li i { color: var(--verde); }
.caf-serv-doc small { display: block; margin-top: 8px; color: var(--debole); font-size: 13.5px; }
.caf-serv-vai { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; text-align: right; }
.caf-serv-passi { color: var(--tenue); font-size: 14.5px; max-width: 170px; line-height: 1.4; }
.caf-serv-passi b { display: block; font: 900 30px/1 var(--titoli); color: var(--c, var(--marca)); }

/* lo stesso metodo per ogni servizio: tre tappe con la freccia fra l'una e l'altra */
.caf-metodo { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.caf-metodo li { position: relative; padding: 30px 28px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); }
.caf-metodo li + li::before { content: ""; position: absolute; left: -30px; top: 50%; width: 20px; height: 20px; margin-top: -10px; background: var(--marca); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.caf-metodo h3 { font-size: 19px; margin: 18px 0 8px; }
.caf-metodo p { color: var(--tenue); font-size: 15.5px; }
.caf-metodo .n6-link { display: inline-flex; margin-top: 14px; font-size: 15px; }

/* ================================================================= PREZZI */
.caf-scegli { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.caf-scegli-voce { position: relative; padding: 30px 26px 26px; border-radius: var(--caf-raggio); background: #f3f7fc; }
.caf-scegli-voce > i { display: block; font-size: 26px; color: var(--marca); }
.caf-scegli-n { position: absolute; top: 22px; right: 24px; font: 900 40px/1 var(--titoli); color: var(--linea2); }
.caf-scegli-voce h3 { font-size: 19px; margin: 16px 0 8px; padding-right: 30px; }
.caf-scegli-voce p { color: var(--tenue); font-size: 15.5px; }
.caf-prezzi-confronto { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 48px; align-items: start; }
.caf-ogni { padding: 30px 28px; border-radius: 22px; background: var(--marca-chiaro); }
.caf-prezzi-confronto .caf-ogni { position: sticky; top: 110px; }
.n6-wrap:not(.caf-prezzi-confronto) > .caf-ogni { max-width: 640px; margin-inline: auto; }
.caf-ogni h2 { margin-top: 4px; font-size: clamp(26px, 2.6vw, 34px); }
.caf-ogni .n6-spunte { margin-top: 18px; }
.caf-ogni .n6-spunte li { font-size: 15.5px; }
.caf-faq-nota { margin-top: 16px; color: var(--tenue); font-size: 16px; }
.caf-faq-nota a { color: var(--marca); font-weight: 600; }

/* ================================================================= CONTATTI */
.caf-temi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.caf-tema { padding: 26px 24px; border-radius: var(--caf-raggio); background: #fff; box-shadow: var(--caf-ombra); }
.caf-tema h3 { font-size: 18px; margin: 18px 0 8px; }
.caf-tema p { color: var(--tenue); font-size: 15px; line-height: 1.55; }

/* ================================================================= FAQ */
.caf-faq-aree { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.caf-faq-area { display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 16px 18px; border-radius: 18px; background: #fff; box-shadow: var(--caf-ombra); text-decoration: none; transition: transform .25s var(--ease); }
.caf-faq-area > span { grid-row: 1 / 3; }
.caf-faq-area b { color: var(--titolo); font-size: 16px; line-height: 1.3; align-self: end; }
.caf-faq-area small { color: var(--debole); font-size: 13.5px; align-self: start; }
.caf-faq-area:hover { transform: translateY(-2px); }
.caf-faq-area-limiti > span { --c: var(--titolo); }
.caf-faq-blocco { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 56px; align-items: start; }
.caf-faq-blocco-t { position: sticky; top: 110px; }
.caf-faq-blocco-t h2 { margin-top: 16px; font-size: clamp(24px, 2.4vw, 32px); }
.caf-faq-blocco-t small { display: block; margin-top: 6px; color: var(--debole); font-size: 14.5px; }
.caf-faq-blocco .n6-faq details:first-child summary { padding-top: 6px; }
.caf-limiti { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.caf-limite { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; padding: 24px 26px; border-radius: var(--caf-raggio); background: #f3f7fc; }
.caf-limite > i { grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--titolo); font-size: 18px; box-shadow: var(--caf-ombra); }
.caf-limite h3 { font-size: 18px; margin: 2px 0 6px; }
.caf-limite p { color: var(--tenue); font-size: 15.5px; }

/* ================================================================= GUIDE E GUIDA */
.caf-guida-primo { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 32px; align-items: start; padding: 40px 44px; border-radius: 26px; background: radial-gradient(circle at 88% 20%, #3fddf5 0, #16b4f0 120px, #1e7eec 300px, #1745d6 620px); color: #fff; text-decoration: none; box-shadow: 0 34px 70px -34px rgba(0, 15, 80, .6); transition: transform .3s var(--ease); }
.caf-guida-primo-ico { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 26px; background: #fff; color: var(--marca); font-size: 38px; }
.caf-guida-primo small { font-size: 14px; font-weight: 700; letter-spacing: .03em; color: rgba(255, 255, 255, .85); }
.caf-guida-primo h2 { margin-top: 8px; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.12; }
.caf-guida-primo p { margin-top: 14px; color: rgba(255, 255, 255, .92); font-size: 17px; max-width: 760px; }
.caf-guida-primo .n6-scheda-vai { margin-top: 20px; color: #fff; }
.caf-guida-primo:hover { transform: translateY(-3px); }
.caf-guide-righe { border-top: 1px solid var(--linea); }
.caf-guida-riga { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 24px 4px; border-bottom: 1px solid var(--linea); text-decoration: none; transition: background-color .2s; }
.caf-guida-riga h2 { font-size: 20px; color: var(--titolo); }
.caf-guida-riga b { color: var(--titolo); font-size: 17px; }
.caf-guida-riga p { margin-top: 6px; color: var(--tenue); font-size: 15.5px; line-height: 1.55; max-width: 780px; }
.caf-guida-riga-min { text-align: center; color: var(--debole); font-size: 13px; line-height: 1.2; }
.caf-guida-riga-min b { display: block; font: 900 26px/1 var(--titoli); color: var(--c, var(--marca)); }
.caf-guida-riga:hover { background: #f3f7fc; }
.caf-guida-riga:hover h2, .caf-guida-riga:hover > div > b { color: var(--marca); }
.caf-guida-riga.compatta { padding: 16px 4px; }
.caf-guida-riga.compatta .caf-guida-riga-ico { width: 40px; height: 40px; font-size: 16px; border-radius: 12px; }
.caf-manuale { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.caf-manuale-ico { width: 56px; height: 56px; font-size: 22px; }
.caf-manuale h2 { font-size: clamp(22px, 2.2vw, 28px); }
.caf-manuale p { margin-top: 6px; color: var(--tenue); font-size: 16px; }
.caf-guida-meta { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.caf-guida-meta li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 99px; background: rgba(0, 15, 80, .25); color: #fff; font-size: 14.5px; font-weight: 600; }

/* ================================================================= 404 */
.caf-vie { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.caf-via { display: flex; flex-direction: column; gap: 6px; padding: 24px 22px; border-radius: 18px; background: #fff; box-shadow: var(--caf-ombra); text-decoration: none; transition: transform .25s var(--ease); }
.caf-via i { font-size: 22px; color: var(--marca); margin-bottom: 8px; }
.caf-via b { color: var(--titolo); font-size: 17px; }
.caf-via small { color: var(--tenue); font-size: 14.5px; }
.caf-via:hover { transform: translateY(-3px); }

/* ================================================================= TABLET */
@media (max-width: 1140px) {
	.n6-hero-int.caf-hero-inv > .n6-due { grid-template-columns: minmax(0, 1fr); }
	.caf-hero-inv .caf-hero-visivo { order: 0; }
	.caf-breve-riga, .caf-percorso-griglia, .caf-doc-griglia, .caf-faq-lato, .caf-area, .caf-prezzi-confronto, .caf-faq-blocco { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.caf-percorso-testa, .caf-caso, .caf-area-lato, .caf-prezzi-confronto .caf-ogni, .caf-faq-blocco-t { position: static; }
	.caf-coll, .caf-moduli { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.caf-mappa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.caf-temi, .caf-vie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.caf-serv-riga { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.caf-serv-vai { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; text-align: left; }
	.caf-serv-passi { max-width: none; }
	.caf-serv-passi b { display: inline; font-size: 22px; margin-right: 4px; }
	.caf-area-mock { max-width: 620px; }
	/* il percorso orizzontale diventa verticale, col filo a sinistra */
	.caf-tappe { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.caf-tappe li { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 18px; text-align: left; padding: 0; }
	.caf-tappe li > .caf-tappe-n { grid-row: 1 / 4; }
	.caf-tappe li > h3 { margin-top: 4px; }
	.caf-tappe li::after { top: 64px; bottom: -14px; left: 27px; right: auto; width: 2px; height: auto; background: repeating-linear-gradient(180deg, var(--linea2) 0 8px, transparent 8px 14px); }
	.caf-tappe-prova li { padding: 22px 20px; }
	.caf-tappe-prova li::after { display: none; }
	.caf-metodo { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.caf-metodo li + li::before { left: 50%; top: -28px; margin: 0 0 0 -10px; transform: rotate(90deg); }
}

/* ================================================================= TELEFONO */
@media (max-width: 760px) {
	.caf-punti, .caf-faq-due, .caf-coll, .caf-moduli, .caf-mappa, .caf-temi, .caf-limiti, .caf-scegli, .caf-vie, .caf-doc-lista { grid-template-columns: minmax(0, 1fr); }
	.caf-faq-due > div + div .n6-faq details:first-child { border-top: 0; }
	.caf-doc-foglio { padding: 30px 20px 22px; }
	.caf-serv-riga { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px 20px; }
	.caf-serv-vai { flex-direction: column; align-items: flex-start; }
	.caf-serv-nome { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
	.caf-serv-ico { width: 48px; height: 48px; font-size: 19px; }
	.caf-guida-primo { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 22px; }
	.caf-guida-primo-ico { width: 64px; height: 64px; font-size: 26px; border-radius: 18px; }
	.caf-guida-riga { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; }
	.caf-guida-riga-ico { width: 40px; height: 40px; font-size: 16px; border-radius: 12px; }
	.caf-guida-riga-min { grid-column: 2; text-align: left; }
	.caf-guida-riga-min b { display: inline; font-size: 16px; margin-right: 4px; }
	.caf-manuale { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.caf-area-n { font-size: 48px; }
	.caf-funz { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 22px 20px; }
	.caf-scheda-dati { padding: 22px 20px; }
}
