/* =====================================================================
   dc-fiducia.css — pagine di fiducia (P1-9 del PIANO-WOW)
   cosa-serve.html · certificato-valido.html · faq.html · regole-e-fonti.html
   Classi con prefisso dfi-; si appoggia alle variabili di dc.css (tema chiaro e scuro).
   È agganciato a tutte le pagine da costruisci_pagine.py: qui solo selettori dfi-.
   ===================================================================== */

/* ---------- 1. testata, stato, pagine di fiducia ---------- */
.dfi-testa{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center;border-radius:28px;padding:clamp(22px,4vw,40px);margin:0 0 16px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra)}
.dfi-testa::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 90% at 100% 0%,rgba(62,155,208,.17),transparent 70%),radial-gradient(60% 80% at 0% 100%,rgba(122,82,214,.10),transparent 70%)}
.dfi-testa h1{margin:10px 0 0;font-size:clamp(30px,5vw,48px);line-height:1.06;letter-spacing:-.025em}
.dfi-sub{margin:12px 0 0;max-width:62ch;font-size:clamp(15.5px,2vw,17.5px);line-height:1.6;color:var(--dc-testo-2)}
.dfi-stato{margin-top:16px}
.dfi-stato .dc-chip{white-space:normal;line-height:1.35;text-align:left}
.dfi-stato .dc-ico{flex:0 0 auto;width:16px;height:16px}
.dfi-chip-avv{background:var(--dc-avv-bg)!important;border-color:rgba(217,138,11,.32)!important;color:var(--dc-avv)!important}
a.dfi-chip-avv:hover{border-color:var(--dc-avv)!important}
.dfi-testa-arte{display:none}
.dfi-testa-arte svg{display:block;width:100%;max-width:220px;height:auto;margin-left:auto;overflow:visible}
@media(min-width:760px){.dfi-testa:not(.dfi-testa--cert){grid-template-columns:minmax(0,1fr) 200px}.dfi-testa-arte{display:block}}

.dfi-arte-foglio{fill:var(--dc-sup);stroke:var(--dc-bordo-2);stroke-width:2}
.dfi-arte-riga{fill:#B8C6DE}.dfi-arte-riga--t{fill:#D6DEEC}
.dfi-arte-clip{fill:#22678F}
.dfi-arte-ok{fill:#18794E}.dfi-arte-no{fill:#9AA3B5}.dfi-arte-avv{fill:#D98A0B}
.dfi-arte-lente circle{fill:rgba(62,155,208,.14);stroke:#22678F;stroke-width:6}
.dfi-arte-lente path{fill:none;stroke:#22678F;stroke-width:9;stroke-linecap:round}
.dfi-arte-bolla{fill:#22678F}.dfi-arte-bolla2{fill:#0E9384}
.dfi-arte-q{fill:#fff;font:800 46px/1 var(--dc-serif)}
.dfi-arte-spunta{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:0}
.dfi-arte-pallino{transform-box:fill-box;transform-origin:center;animation:dfi-pop .5s var(--dc-spring) both}
.dfi-arte-pallino:nth-of-type(2){animation-delay:.12s}.dfi-arte-pallino:nth-of-type(3){animation-delay:.24s}.dfi-arte-pallino:nth-of-type(4){animation-delay:.36s}
.dfi-arte-lente{animation:dfi-galleggia 5s ease-in-out infinite}
.dfi-arte-spunta{animation:dfi-traccia .9s .3s var(--dc-ease) both}
@keyframes dfi-pop{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes dfi-galleggia{0%,100%{transform:translate(0,0)}50%{transform:translate(-6px,-5px)}}
@keyframes dfi-traccia{from{stroke-dashoffset:70}to{stroke-dashoffset:0}}
html[data-theme=dark] .dfi-arte-riga{fill:#3A4766}html[data-theme=dark] .dfi-arte-riga--t{fill:#2C364E}
html[data-theme=dark] .dfi-arte-lente circle,html[data-theme=dark] .dfi-arte-lente path{stroke:#8CC6EE}
html[data-theme=dark] .dfi-arte-ok{fill:#6FDCA4}

.dfi-hub{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.dfi-hub a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:14px;border:1px solid var(--dc-bordo);background:var(--dc-sup);color:var(--dc-testo)!important;text-decoration:none!important;font:700 14px/1.2 var(--dc-sans);transition:border-color .2s,transform .2s}
.dfi-hub a:hover{border-color:var(--dc-acc-2);transform:translateY(-1px)}
.dfi-hub a[aria-current="page"]{background:var(--dc-testo);color:var(--dc-sup)!important;border-color:transparent}
.dfi-hub a>span:first-child{display:inline-grid;place-items:center}
.dfi-hub .dc-ico{width:18px;height:18px}
@media(max-width:600px){.dfi-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dfi-hub a{font-size:13px;padding:8px 10px;gap:7px}}

/* ---------- 2. pezzi comuni ---------- */
/* tema scuro: i bottoni pieni senza area prenderebbero il blu chiaro dei link (testo bianco illeggibile) */
html[data-theme=dark] .dfi{--dc-area-pieno:#22678F}
.dfi-sez{margin:36px 0 0}
.dfi-h2{margin:6px 0 8px;font-size:clamp(23px,3.2vw,30px)}
.dfi-sez-s{margin:0 0 16px;max-width:70ch;font-size:15.5px;line-height:1.6;color:var(--dc-testo-2)}
.dfi-avviso{display:flex;align-items:flex-start;gap:12px;margin:22px 0;padding:14px 16px;border-radius:16px;background:var(--dc-sup-2);border:1px solid var(--dc-bordo);font-size:15px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-avviso>span:first-child,.dfi-avviso>.dc-ico{flex:0 0 auto;display:grid;place-items:center;color:var(--dc-acc);margin-top:1px}
.dfi-avviso .dc-ico{width:22px;height:22px}
.dfi-avviso p{margin:0}
.dfi-avviso--avv{background:var(--dc-avv-bg);border-color:rgba(217,138,11,.35);color:var(--dc-testo)}
.dfi-avviso--avv>.dc-ico,.dfi-avviso--avv>span:first-child{color:var(--dc-avv)}
.dfi-nota{margin:14px 0 0;font-size:14px;line-height:1.55;color:var(--dc-tenue)}
.dfi-data{display:inline-flex;align-items:center;gap:5px;color:var(--dc-tenue)}
.dfi-data .dc-ico{flex:0 0 auto;width:14px;height:14px}
.dfi-data--vecchia{color:var(--dc-avv);font-weight:700}
.dfi-nolink{color:var(--dc-testo-2)}
.dfi-fonti-riga{margin:12px 0 0;font-size:12.5px;line-height:1.55;color:var(--dc-tenue)}
.dfi-linkbtn{min-height:24px;padding:0;border:0;background:none;color:var(--dc-acc);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.dfi-elenco-ico{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.dfi-elenco-ico li{display:flex;align-items:flex-start;gap:12px;font-size:15.5px;line-height:1.6;color:var(--dc-testo-2)}
.dfi-elenco-ico li>span:first-child{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--dc-sup-2);border:1px solid var(--dc-bordo);color:var(--dc-acc)}
.dfi-elenco-ico li>span:first-child .dc-ico{width:18px;height:18px}
.dfi-elenco-ico strong{color:var(--dc-testo)}
.dfi-solo-stampa{display:none}

/* ---------- 3. Regole e fonti: indice e capitoli ---------- */
.dfi-due{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media(min-width:980px){.dfi-due{grid-template-columns:220px minmax(0,1fr);gap:30px}}
.dfi-indice nav{border-radius:20px;padding:14px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra)}
@media(min-width:980px){.dfi-indice nav{position:sticky;top:calc(var(--dc-testa) + 16px)}}
.dfi-indice h2{margin:0 0 8px;font:800 12px/1.2 var(--dc-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--dc-tenue)}
.dfi-indice ol{list-style:none;margin:0;padding:0;counter-reset:dfii}
.dfi-indice li{counter-increment:dfii}
.dfi-indice a{display:flex;gap:10px;padding:8px;border-radius:10px;color:var(--dc-testo-2)!important;text-decoration:none!important;font-size:14px;font-weight:600;line-height:1.3}
.dfi-indice a::before{content:counter(dfii);min-width:14px;font-weight:800;color:var(--dc-tenue)}
.dfi-indice a:hover,.dfi-indice a[aria-current]{background:var(--dc-sup-2);color:var(--dc-testo)!important}
@media(max-width:979px){
  .dfi-indice ol{display:flex;flex-wrap:wrap;gap:6px}
  .dfi-indice a{min-height:36px;align-items:center;padding:6px 11px;border:1px solid var(--dc-bordo);border-radius:999px;font-size:13px}
  .dfi-indice a::before{display:none}
}
.dfi-cap{padding:4px 0 30px;margin:0 0 26px;border-bottom:1px solid var(--dc-bordo)}
.dfi-cap:last-child{border-bottom:0;margin-bottom:0}
.dfi-cap>h2{margin:6px 0 10px;font-size:clamp(24px,3.4vw,32px)}
.dfi-cap>p{max-width:72ch;font-size:16px;line-height:1.65;color:var(--dc-testo-2)}

.dfi-promesse{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:10px}
@media(min-width:640px){.dfi-promesse{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfi-promessa{border-radius:18px;padding:16px 18px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra)}
.dfi-promessa h3{margin:10px 0 4px;font-size:18px}
.dfi-promessa p{margin:0;font-size:14.5px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-promessa-ico{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--dc-acc-2) 14%,transparent);color:var(--dc-acc)}
.dfi-promessa-ico .dc-ico{width:22px;height:22px}

.dfi-regole-lista{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.dfi-regola{display:grid;gap:6px;padding:14px 16px;border-radius:16px;background:var(--dc-sup);border:1px solid var(--dc-bordo);border-left:5px solid #2F9E5B}
.dfi-regola--dv{border-left-color:#D98A0B}
.dfi-regola .dc-badge{justify-self:start}
.dfi-regola-t{margin:0;font-size:15.5px;line-height:1.55;color:var(--dc-testo)}
.dfi-regola-f{margin:0;font-size:13px;line-height:1.5;color:var(--dc-tenue)}

.dfi-formati{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media(min-width:760px){.dfi-formati{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfi-formati>p{grid-column:1/-1}
.dfi-formato{display:flex;flex-direction:column;gap:8px;border-radius:18px;padding:16px 18px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra);min-width:0}
.dfi-formato-h h3{margin:8px 0 0;font-size:19px}
.dfi-formato>p{margin:0;font-size:14.5px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-formato-regole{margin:0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--dc-testo-2)}
.dfi-formato-regole li+li{margin-top:3px}
.dfi-formato .dfi-formato-fonte{font-size:13px;color:var(--dc-tenue)}
.dfi-acc-piccola{margin-top:4px}
.dfi-acc-piccola .dc-acc-btn{min-height:44px;padding:10px 12px;font-size:14px}
.dfi-acc-piccola .dc-acc-corpo ul{margin:0;padding-left:18px;font-size:13.5px}

.dfi-privacy{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media(min-width:900px){.dfi-privacy{grid-template-columns:minmax(0,1fr) 290px}}
.dfi-disp{align-self:start;border-radius:20px;padding:18px;background:linear-gradient(160deg,#16243F,#1F3B66);color:#fff;box-shadow:var(--dc-ombra-h)}
.dfi-disp h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:17px;color:#fff}
.dfi-disp h3 .dc-ico{width:20px;height:20px}
.dfi-disp-num{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.dfi-disp-num div{border-radius:12px;padding:8px 10px;background:rgba(255,255,255,.09)}
.dfi-disp-num dt{font-size:12px;line-height:1.3;color:#C9D6EE}
.dfi-disp-num dd{margin:3px 0 0;font:800 22px/1 var(--dc-sans);color:#fff}
.dfi-disp p{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:#E3EAF7}
.dfi-disp strong{color:#fff}
.dfi-disp a{color:#BFE0FF!important}

.dfi-fonti-filtri{margin:10px 0 6px}
.dfi-fonti-gruppo h3{margin:20px 0 8px;font-size:19px}
.dfi-fonti-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.dfi-fonte{padding:12px 14px;border-radius:14px;background:var(--dc-sup);border:1px solid var(--dc-bordo)}
.dfi-fonte-t{font-weight:700;font-size:15px;line-height:1.4}
.dfi-fonte-t .dc-badge{margin-left:4px;vertical-align:1px}
.dfi-fonte-d{margin:4px 0 0;font-size:14px;line-height:1.5;color:var(--dc-testo-2)}
.dfi-fonte-m{display:flex;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0;font-size:12.5px;line-height:1.4;color:var(--dc-tenue)}
.dfi-fonte-dove{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:var(--dc-tenue);font-style:italic}

/* ---------- 4. Domande frequenti ---------- */
.dfi-faq-barra{display:grid;gap:12px;margin:0 0 12px;padding:16px;border-radius:20px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra)}
.dfi-cerca label{display:block;margin:0 0 6px;font:700 14.5px/1.3 var(--dc-sans);color:var(--dc-testo)}
.dfi-cerca-campo{position:relative}
.dfi-cerca-campo>span{position:absolute;z-index:1;left:14px;top:50%;transform:translateY(-50%);display:grid;color:var(--dc-tenue);pointer-events:none}
.dfi-cerca-campo .dc-ico{width:19px;height:19px}
.dfi-cerca-campo input{width:100%;min-height:50px;padding:10px 14px 10px 44px;font:500 16px/1.3 var(--dc-sans);-webkit-appearance:none;appearance:none}
.dfi-cerca-campo input::placeholder{color:var(--dc-tenue);opacity:1}
.dfi-faq-filtri{gap:6px}
.dfi-faq-filtri .dc-chip{min-height:36px;cursor:pointer}
.dfi-faq-filtri .dc-chip .dc-ico{width:15px;height:15px}
.dfi-faq-filtri .dc-chip[aria-pressed="true"]{background:var(--dc-testo);color:var(--dc-sup);border-color:transparent}
.dfi-faq-filtri .dfi-chip-dv[aria-pressed="true"]{background:var(--dc-avv);color:#fff}
html[data-theme=dark] .dfi-faq-filtri .dfi-chip-dv[aria-pressed="true"]{color:#19223A}
.dfi-faq-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dfi-faq-conta{margin:0 auto 0 0;font-size:14px;font-weight:700;color:var(--dc-testo-2)}
.dfi-legenda{display:flex;flex-wrap:wrap;gap:8px 18px;margin:6px 2px 20px;font-size:13px;line-height:1.5;color:var(--dc-tenue)}
.dfi-legenda>span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.dfi-faq-gruppo{margin:0 0 24px}
.dfi-faq-gruppo>h2{display:flex;align-items:center;gap:10px;margin:26px 0 12px;font-size:clamp(21px,3vw,25px)}
.dfi-faq-gruppo>h2 .dc-ico{flex:0 0 auto;width:24px;height:24px;color:var(--dc-acc)}
.dfi-faq{scroll-margin-top:calc(var(--dc-testa) + 12px)}
.dfi-faq--dv{border-left:4px solid #D98A0B}
.dfi-faq .dc-acc-btn{align-items:flex-start}
.dfi-faq .dc-acc-btn>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.dfi-faq .dc-acc-btn>.dc-ico{margin-top:2px}
.dfi-faq-q{flex:0 1 auto;min-width:0}
.dfi-faq .dc-acc-btn .dc-badge{flex:0 1 auto;max-width:100%;white-space:normal;text-align:left}
/* integrazione 18/10: a 320 px con il testo al 200% «In attesa di conferma» usciva dallo schermo (362 px): il badge può andare a capo */
.dfi-faq mark{background:#FFE58F;color:#19223A;border-radius:3px;padding:0 1px}
.dfi-faq-corpo>*+*{margin-top:12px}
.dfi-faq-dv{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border-radius:12px;background:var(--dc-avv-bg);color:var(--dc-testo);font-size:14px;line-height:1.5}
.dfi-faq-dv .dc-ico{flex:0 0 auto;width:18px;height:18px;color:var(--dc-avv);margin-top:1px}
.dfi-faq-risposta{color:var(--dc-testo);font-size:15.5px;line-height:1.65}
.dfi-faq-risposta p{margin:0 0 10px}
.dfi-faq-risposta p:last-child{margin-bottom:0}
.dfi-faq-risposta ul,.dfi-faq-risposta ol{margin:6px 0 10px;padding-left:22px}
.dfi-faq-risposta li+li{margin-top:4px}
.dfi-faq-viva{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--dc-tenue)}
.dfi-faq-viva .dc-ico{flex:0 0 auto;width:16px;height:16px}
.dfi-faq-fonti{padding:12px 14px;border-radius:12px;background:var(--dc-sup-2);border:1px dashed var(--dc-bordo-2)}
.dfi-faq-fonti h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font:800 12.5px/1.2 var(--dc-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--dc-tenue)}
.dfi-faq-fonti h3 .dc-ico{width:15px;height:15px}
.dfi-faq-fonti ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5;color:var(--dc-testo-2)}
.dfi-faq-fonti li+li{margin-top:3px}
.dfi-faq-fonti .dfi-data{margin:8px 0 0;font-size:13px}
.dfi-faq-piede{display:flex;justify-content:flex-end}
.dfi-faq-fine{margin-top:28px}

/* ---------- 5. Cosa serve a me ---------- */
.dfi-cs-griglia{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
@media(min-width:960px){.dfi-cs-griglia{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px}}
.dfi-domande{display:grid;gap:14px;min-width:0}
.dfi-dom{min-width:0;margin:0;padding:16px 16px 14px;border:1px solid var(--dc-bordo);border-radius:20px;background:var(--dc-sup);box-shadow:var(--dc-ombra);transition:opacity .25s}
.dfi-dom[disabled]{opacity:.62}
.dfi-dom legend{float:left;width:100%;display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0;font:700 19px/1.25 var(--dc-serif);color:var(--dc-testo)}
.dfi-dom legend+*{clear:both}
.dfi-dom-n{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--dc-testo);color:var(--dc-sup);font:800 14px/1 var(--dc-sans)}
.dfi-opzioni{clear:both;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media(min-width:520px){.dfi-opzioni--strette{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfi-opz{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--dc-bordo-2);background:var(--dc-sup);cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}
.dfi-opz:hover{border-color:var(--dc-acc-2)}
.dfi-opz input{flex:0 0 auto;-webkit-appearance:none;appearance:none;display:grid;place-items:center;width:22px;height:22px;min-height:0;margin:0;padding:0;border-radius:50%!important;border:2px solid var(--dc-tenue)!important;background:var(--dc-sup)!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer}
.dfi-opz input::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--dc-sup);transform:scale(0);transition:transform .15s var(--dc-spring)}
.dfi-opz input:checked{border-color:var(--dc-acc)!important;background:var(--dc-acc)!important}
.dfi-opz input:checked::after{transform:scale(1)}
.dfi-opz--on{border-color:var(--dc-acc);background:color-mix(in srgb,var(--dc-acc-2) 9%,var(--dc-sup));box-shadow:inset 0 0 0 1px var(--dc-acc)}
.dfi-opz-ico{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--dc-sup-2);color:var(--dc-acc)}
.dfi-opz-ico .dc-ico{width:19px;height:19px}
.dfi-opz-t{display:flex;flex-direction:column;min-width:0}
.dfi-opz-t b{font-size:15px;line-height:1.3;color:var(--dc-testo)}
.dfi-opz-t small{font-size:12.5px;line-height:1.35;color:var(--dc-tenue)}
.dfi-dom-vuota{clear:both;margin:0;font-size:14px;color:var(--dc-tenue)}
.dfi-profilo{clear:both;margin-top:12px}
.dfi-profilo label{display:block;margin:0 0 6px;font-weight:700;font-size:14.5px;color:var(--dc-testo)}
.dfi-profilo select{width:100%;min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid var(--dc-bordo-2);background:var(--dc-sup);color:var(--dc-testo);font:500 16px/1.3 var(--dc-sans)}
.dfi-cs-nota{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:14px;background:var(--dc-sup-2);border:1px solid var(--dc-bordo);font-size:14px;line-height:1.5;color:var(--dc-testo-2)}
.dfi-cs-nota .dc-ico{flex:0 0 auto;width:18px;height:18px;color:var(--dc-acc);margin-top:1px}
.dfi-cs-nota--avv{background:var(--dc-avv-bg);color:var(--dc-testo)}
.dfi-cs-nota--avv .dc-ico{color:var(--dc-avv)}
.dfi-cs-vai{justify-self:start}
@media(min-width:960px){.dfi-cs-vai{display:none}}
.dfi-lista-box{min-width:0}
.dfi-foglio{position:relative;padding:24px 20px 18px;border-radius:22px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra-h);outline:none}
.dfi-foglio::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,#2B6CD4,#0E9384,#D9701E,#7A52D6,#C93D78)}
.dfi-foglio-h h2{margin:0;font-size:clamp(23px,3vw,29px)}
.dfi-foglio-chi{margin:6px 0 0;font-size:14.5px;font-weight:700;line-height:1.4;color:var(--dc-testo-2)}
.dfi-foglio-chi:empty,.dfi-foglio-data:empty,.dfi-foglio-piede:empty{display:none}
.dfi-foglio-data{margin:2px 0 0;font-size:13px;color:var(--dc-tenue)}
.dfi-righe{list-style:none;margin:12px 0 0;padding:0}
.dfi-riga{display:grid;grid-template-columns:116px minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--dc-bordo)}
.dfi-riga:first-child{border-top:0}
@media(max-width:520px){.dfi-riga{grid-template-columns:minmax(0,1fr);gap:6px}}
.dfi-riga-tag{justify-self:start;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font:800 12.5px/1.2 var(--dc-sans);white-space:nowrap;background:var(--dfi-tag-bg);color:var(--dfi-tag)}
.dfi-riga-tag .dc-ico{width:15px;height:15px}
.dfi-riga[data-tipo="si"]{--dfi-tag:var(--dc-ok);--dfi-tag-bg:var(--dc-ok-bg)}
.dfi-riga[data-tipo="no"]{--dfi-tag:var(--dc-testo-2);--dfi-tag-bg:var(--dc-sup-3)}
.dfi-riga[data-tipo="nonvale"]{--dfi-tag:var(--dc-err);--dfi-tag-bg:var(--dc-err-bg)}
.dfi-riga[data-tipo="punti"]{--dfi-tag:#5B37B5;--dfi-tag-bg:#F1ECFF}
.dfi-riga[data-tipo="controlla"]{--dfi-tag:var(--dc-avv);--dfi-tag-bg:var(--dc-avv-bg)}
.dfi-riga[data-tipo="tempo"]{--dfi-tag:#1E55B3;--dfi-tag-bg:#E8F0FF}
.dfi-riga[data-tipo="consiglio"]{--dfi-tag:#0A6B60;--dfi-tag-bg:#E3F6F2}
.dfi-riga[data-tipo="via"]{--dfi-tag:var(--dc-acc);--dfi-tag-bg:var(--dc-sup-2)}
html[data-theme=dark] .dfi-riga[data-tipo="punti"]{--dfi-tag:#C7B5FF;--dfi-tag-bg:rgba(122,82,214,.2)}
html[data-theme=dark] .dfi-riga[data-tipo="tempo"]{--dfi-tag:#9EC2FF;--dfi-tag-bg:rgba(43,108,212,.2)}
html[data-theme=dark] .dfi-riga[data-tipo="consiglio"]{--dfi-tag:#6FDCCB;--dfi-tag-bg:rgba(14,147,132,.2)}
.dfi-riga-t{margin:0;font-size:15px;line-height:1.55;color:var(--dc-testo)}
.dfi-riga-f{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--dc-tenue)}
.dfi-riga-f .dc-badge{vertical-align:1px}
.dfi-righe--entra .dfi-riga{animation:dfi-entra .45s var(--dc-ease) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes dfi-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dfi-foglio-piede{margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--dc-bordo-2);font-size:12.5px;line-height:1.5;color:var(--dc-tenue)}
.dfi-url{font-weight:700;overflow-wrap:anywhere}
.dfi-foglio-vuoto{display:flex;align-items:center;gap:14px;padding:26px 4px 14px;font-size:15px;line-height:1.5;color:var(--dc-tenue)}
.dfi-foglio-vuoto>span{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--dc-sup-2);color:var(--dc-acc)}
.dfi-foglio-vuoto .dc-ico{width:26px;height:26px}
.dfi-foglio-vuoto b{color:var(--dc-testo)}
.dfi-cs-azioni{margin-top:12px}

.dfi-confronto{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:6px}
@media(min-width:720px){.dfi-confronto{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfi-conf{border-radius:20px;padding:18px 20px;background:var(--dc-sup);border:1px solid var(--dc-bordo);border-top:6px solid var(--dfi-c);box-shadow:var(--dc-ombra)}
.dfi-conf--dc{--dfi-c:#2B6CD4}.dfi-conf--edu{--dfi-c:#7A52D6}
.dfi-conf h3{margin:0 0 8px;font-size:22px}
.dfi-conf ul{margin:0;padding-left:18px;font-size:15px;line-height:1.6;color:var(--dc-testo-2)}
.dfi-conf strong{color:var(--dc-testo)}

/* ---------- 6. Il mio certificato è valido? ---------- */
.dfi-anatomia{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:center}
@media(min-width:820px){.dfi-anatomia{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.dfi-cert{margin:0;padding:14px;border-radius:22px;background:linear-gradient(150deg,#EAF2FB,#F4F0FF);border:1px solid var(--dc-bordo)}
html[data-theme=dark] .dfi-cert{background:linear-gradient(150deg,#1B2840,#241F3D)}
.dfi-cert svg{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 22px rgba(20,30,60,.16))}
.dfi-cert figcaption{margin-top:8px;font-size:12.5px;text-align:center;color:var(--dc-tenue)}
.dfi-cert-carta{fill:#FFFDF8;stroke:#D8CFB8;stroke-width:1.5}
.dfi-cert-bordo{fill:none;stroke:#C9B98F;stroke-width:1;stroke-dasharray:4 3}
.dfi-cert-t{fill:#3A4256;font-family:var(--dc-sans);font-size:13.5px}
.dfi-cert-t--tit{fill:#19223A;font-family:var(--dc-serif);font-size:19px;font-weight:700;letter-spacing:.06em}
.dfi-cert-t--mini{fill:#4F5873;font-size:12px}
.dfi-cert-t--chip{fill:#1E55B3;font-size:14px;font-weight:800}
.dfi-cert-linea{fill:#D9DEE8}.dfi-cert-linea--t{fill:#E6E9F0}
.dfi-cert-marchio,.dfi-cert-acc{fill:#EEF2F8;stroke:#7D89A3;stroke-width:1.2;stroke-dasharray:3 3}
.dfi-cert-chip{fill:#E8F0FF;stroke:#2B6CD4;stroke-width:1.5}
.dfi-cert-esempio{fill:rgba(180,35,24,.08);font-family:var(--dc-sans);font-size:50px;font-weight:900;letter-spacing:.12em}
.dfi-cert-num circle{fill:#19223A;stroke:#fff;stroke-width:2}
.dfi-cert-num text{fill:#fff;font-family:var(--dc-sans);font-size:13px;font-weight:800}
.dfi-cert-z,.dfi-cert-num{transform-box:fill-box;transform-origin:center;transition:opacity .25s,transform .25s}
.dfi-cert[data-luce="0"] .dfi-cert-num{animation:dfi-pulsa 2.6s ease-in-out infinite}
.dfi-cert[data-luce="0"] .dfi-cert-num[data-z="2"]{animation-delay:.4s}
.dfi-cert[data-luce="0"] .dfi-cert-num[data-z="3"]{animation-delay:.8s}
@keyframes dfi-pulsa{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
.dfi-cert[data-luce="1"] .dfi-cert-z:not([data-z="1"]),.dfi-cert[data-luce="2"] .dfi-cert-z:not([data-z="2"]),.dfi-cert[data-luce="3"] .dfi-cert-z:not([data-z="3"]){opacity:.28}
.dfi-cert[data-luce="1"] .dfi-cert-z[data-z="1"],.dfi-cert[data-luce="2"] .dfi-cert-z[data-z="2"],.dfi-cert[data-luce="3"] .dfi-cert-z[data-z="3"]{transform:scale(1.06)}
.dfi-cert[data-luce="1"] .dfi-cert-num[data-z="1"] circle,.dfi-cert[data-luce="2"] .dfi-cert-num[data-z="2"] circle,.dfi-cert[data-luce="3"] .dfi-cert-num[data-z="3"] circle{fill:#A8520E}
.dfi-tre{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dfi-tre button{width:100%;display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:16px;border:1.5px solid var(--dc-bordo-2);background:var(--dc-sup);color:var(--dc-testo);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}
.dfi-tre button:hover{border-color:var(--dc-acc-2)}
.dfi-tre button[aria-pressed="true"]{border-color:#D9701E;box-shadow:inset 0 0 0 1px #D9701E;background:color-mix(in srgb,#D9701E 7%,var(--dc-sup))}
.dfi-tre-n{flex:0 0 auto;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--dc-testo);color:var(--dc-sup);font:800 15px/1 var(--dc-sans)}
.dfi-tre button[aria-pressed="true"] .dfi-tre-n{background:#A8520E;color:#fff}
.dfi-tre b{display:block;font-size:16px;line-height:1.3}
.dfi-tre small{display:block;margin-top:3px;font-size:14px;line-height:1.5;color:var(--dc-testo-2)}

.dfi-banca{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media(min-width:820px){.dfi-banca{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
.dfi-banca>div>p{margin:0 0 6px;font-size:16px;line-height:1.65;color:var(--dc-testo-2)}
.dfi-banca-link{display:grid;gap:10px;align-content:start}
.dfi-banca-btn{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border-radius:16px;border:1px solid var(--dc-bordo-2);background:var(--dc-sup);color:var(--dc-testo)!important;text-decoration:none!important;box-shadow:var(--dc-ombra);transition:transform .2s,box-shadow .2s}
.dfi-banca-btn:hover{transform:translateY(-2px);box-shadow:var(--dc-ombra-h)}
.dfi-banca-btn b{display:block;font-size:15.5px;line-height:1.3}
.dfi-banca-btn small{display:block;font-size:13px;line-height:1.35;color:var(--dc-tenue)}
.dfi-banca-ico{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--dc-sup-2);color:var(--dc-acc)}
.dfi-banca-ico .dc-ico{width:20px;height:20px}
.dfi-banca-esce{margin-left:auto;display:grid;opacity:.75}
.dfi-banca-btn--primo{background:#14315C;border-color:transparent;color:#fff!important}
.dfi-banca-btn--primo small{color:#D3E2F7}
.dfi-banca-btn--primo .dfi-banca-ico{background:rgba(255,255,255,.14);color:#fff}

.dfi-check{max-width:760px}
.dfi-check-scheda,.dfi-esito{padding:20px;border-radius:24px;background:var(--dc-sup);border:1px solid var(--dc-bordo);box-shadow:var(--dc-ombra-h)}
.dfi-check-alto{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.dfi-check-n{margin:0;font:800 12.5px/1.2 var(--dc-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--dc-tenue)}
.dfi-check-punti{display:flex;gap:6px;margin:0;padding:0;list-style:none}
.dfi-check-punti li{width:22px;height:6px;border-radius:3px;background:var(--dc-sup-3);transition:background-color .3s}
.dfi-check-punti li.fatto{background:var(--dc-acc-2)}
.dfi-check-punti li.ora{background:var(--dc-testo)}
.dfi-check-t{margin:14px 0 4px;font-size:clamp(20px,2.6vw,25px);outline:none}
.dfi-check-s{margin:0 0 14px;font-size:15px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-check-esterno{margin:0 0 14px}
.dfi-check-opz{display:grid;gap:10px}
.dfi-check-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;padding:13px 16px;border-radius:16px;border:1.5px solid var(--dc-bordo-2);background:var(--dc-sup);color:var(--dc-testo);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .15s}
.dfi-check-btn:hover{border-color:var(--dc-acc-2);transform:translateY(-1px)}
.dfi-check-btn[aria-pressed="true"]{border-color:var(--dc-acc);box-shadow:inset 0 0 0 1px var(--dc-acc)}
.dfi-check-btn b{font-size:16px;line-height:1.3}
.dfi-check-btn small{font-size:13px;color:var(--dc-tenue)}
.dfi-check-indietro{margin-top:12px}
.dfi-check-scheda--entra{animation:dfi-entra .35s var(--dc-ease) both}
.dfi-esito{border-top:6px solid var(--dfi-e)}
.dfi-esito--verde{--dfi-e:#18794E}.dfi-esito--giallo{--dfi-e:#B86E00}.dfi-esito--rosso{--dfi-e:#B42318}
html[data-theme=dark] .dfi-esito--verde{--dfi-e:#6FDCA4}html[data-theme=dark] .dfi-esito--giallo{--dfi-e:#F6C46B}html[data-theme=dark] .dfi-esito--rosso{--dfi-e:#FF9A8F}
.dfi-esito-alto{display:flex;align-items:center;gap:18px}
.dfi-esito-sem{flex:0 0 auto;width:52px}
.dfi-sem{display:block;width:52px;height:auto}
.dfi-sem-corpo{fill:#1D2333}
.dfi-sem-luce{fill:#3A4256;transition:fill .4s}
.dfi-sem-rosso.dfi-sem-on{fill:#FF5A4E;filter:drop-shadow(0 0 7px rgba(255,90,78,.85))}
.dfi-sem-giallo.dfi-sem-on{fill:#FFC53D;filter:drop-shadow(0 0 7px rgba(255,197,61,.85))}
.dfi-sem-verde.dfi-sem-on{fill:#3DDC84;filter:drop-shadow(0 0 7px rgba(61,220,132,.85))}
.dfi-sem-on{animation:dfi-accendi .6s var(--dc-ease) both}
@keyframes dfi-accendi{0%{opacity:.2}60%{opacity:1}75%{opacity:.75}100%{opacity:1}}
.dfi-esito-colore{margin:0;font:800 12.5px/1.2 var(--dc-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--dfi-e)}
.dfi-esito-t{margin:2px 0 4px;font-size:clamp(22px,3vw,28px);outline:none}
.dfi-esito-s{margin:0;font-size:15px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-esito-gruppo{margin-top:16px}
.dfi-esito-gruppo h4{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:800 13px/1.2 var(--dc-sans);letter-spacing:.06em;text-transform:uppercase}
.dfi-esito-gruppo h4 .dc-ico{width:17px;height:17px}
.dfi-esito-gruppo--no h4{color:var(--dc-err)}.dfi-esito-gruppo--avv h4{color:var(--dc-avv)}.dfi-esito-gruppo--ok h4{color:var(--dc-ok)}
.dfi-esito-gruppo ul{display:grid;gap:8px;margin:0;padding-left:20px}
.dfi-esito-gruppo li>span{display:block;font-size:15px;line-height:1.5;color:var(--dc-testo)}
.dfi-esito-f{display:block;margin-top:1px;font-size:12.5px;line-height:1.45;color:var(--dc-tenue)}
.dfi-esito-nota{margin:16px 0 12px;font-size:13px;line-height:1.5;color:var(--dc-tenue)}

.dfi-trappole{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media(min-width:640px){.dfi-trappole{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.dfi-trappole{grid-template-columns:repeat(3,minmax(0,1fr))}}
.dfi-trappola{display:flex;flex-direction:column;padding:16px 18px;border-radius:18px;background:var(--dc-sup);border:1px solid var(--dc-bordo)}
.dfi-trappola-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--dc-err-bg);color:var(--dc-err)}
.dfi-trappola-ico .dc-ico{width:18px;height:18px}
.dfi-trappola h3{margin:10px 0 4px;font-size:18px}
.dfi-trappola p{margin:0;font-size:14.5px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-trappola .dfi-fonti-riga{margin-top:auto;padding-top:10px;font-size:12.5px;color:var(--dc-tenue)}

.dfi-fregatura{padding:22px;border-radius:24px;background:linear-gradient(150deg,#2A1410,#43190F);color:#FBEDEA;box-shadow:var(--dc-ombra-h)}
.dfi-fregatura-h{display:flex;align-items:center;gap:12px}
.dfi-fregatura-h>span{display:grid;color:#FFB4A8}
.dfi-fregatura-h .dc-ico{width:30px;height:30px}
.dc-pagina .dfi-fregatura h2{margin:0;font-size:clamp(23px,3vw,30px);color:#fff}
.dfi-fregatura ul{display:grid;gap:8px;margin:14px 0;padding-left:20px;font-size:15.5px;line-height:1.55}
.dfi-fregatura strong{color:#fff}
.dfi-fregatura p{margin:0;font-size:14.5px;line-height:1.6;color:#F3D9D4}
.dfi-fregatura .dfi-fonti-riga{margin-top:10px;font-size:12.5px;color:#E8C4BD}
.dfi-fregatura .dfi-data,.dfi-fregatura .dfi-nolink{color:#E8C4BD}
.dc-pagina .dfi-fregatura a{color:#FFD4CC}

.dfi-chiedi{counter-reset:dfic;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none}
@media(min-width:760px){.dfi-chiedi{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dfi-chiedi li{counter-increment:dfic;position:relative;padding:12px 14px 12px 54px;border-radius:14px;background:var(--dc-sup);border:1px solid var(--dc-bordo);font-size:15px;line-height:1.5;color:var(--dc-testo-2)}
.dfi-chiedi li::before{content:counter(dfic);position:absolute;left:14px;top:11px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--dc-sup-3);color:var(--dc-testo);font:800 13px/1 var(--dc-sans)}
.dfi-chiedi strong{color:var(--dc-testo)}

/* ---------- 7. movimento ridotto ---------- */
@media(prefers-reduced-motion:reduce){
  .dfi *,.dfi *::before,.dfi *::after{animation:none!important;transition:none!important}
  .dfi-arte-spunta{stroke-dashoffset:0}
}

/* ---------- 8. stampa ---------- */
@page dfia4{size:A4 portrait;margin:11mm 12mm}
@media print{
  .dfi-hub,.dfi-indice,.dfi-no-stampa,.dfi-testa-arte,.dfi-faq-barra,.dfi-faq-piede,.dfi-check,.dfi-banca-link,.dfi-cs-azioni,.dfi-filtri,.dfi-fonti-filtri{display:none!important}
  .dfi-testa{display:block;padding:0 0 8px;border:0;border-radius:0;box-shadow:none;background:none}
  .dfi-testa::before{display:none}
  .dfi .dc-acc-corpo[hidden]{display:block!important}
  .dfi .dc-acc-btn .dc-ico{display:none}
  .dfi-faq,.dfi-fonte,.dfi-regola,.dfi-formato,.dfi-trappola{break-inside:avoid}
  .dfi-disp,.dfi-fregatura{background:none!important;color:#000!important;border:1px solid #000;box-shadow:none}
  .dfi-disp *,.dfi-fregatura *{color:#000!important}
  .dfi-due{display:block}
  /* «Cosa serve a me»: solo il foglio, su una pagina A4 */
  .dfi-cspag{page:dfia4}
  .dfi-cspag .dfi-cs-griglia{display:block}
  .dfi-cspag .dfi-foglio{padding:0;border:0;border-radius:0;box-shadow:none;background:none}
  .dfi-cspag .dfi-foglio::before{display:none}
  .dfi-cspag .dfi-solo-stampa{display:block}
  .dfi-cspag .dfi-foglio-marca{margin:0 0 2pt;font:700 8.5pt/1.2 var(--dc-sans);letter-spacing:.1em;text-transform:uppercase;color:#333}
  .dfi-cspag .dfi-foglio-h h2{font-size:16pt}
  .dfi-cspag .dfi-foglio-chi{margin-top:1pt;font-size:9.5pt;color:#000}
  .dfi-cspag .dfi-foglio-data{font-size:8pt;color:#333}
  .dfi-cspag .dfi-righe{margin-top:4pt}
  .dfi-cspag .dfi-riga{grid-template-columns:25mm minmax(0,1fr);gap:2.5mm;padding:2.4pt 0;border-top:.5pt solid #999;break-inside:avoid;animation:none!important}
  .dfi-cspag .dfi-riga-tag{padding:.8pt 3.5pt;border:.6pt solid #000;background:none!important;color:#000!important;font-size:7pt;white-space:nowrap}
  .dfi-cspag .dfi-riga-tag .dc-ico{width:7.5pt;height:7.5pt}
  .dfi-cspag .dfi-riga-t{font-size:8.8pt;line-height:1.28;color:#000}
  .dfi-cspag .dfi-riga-f{margin-top:.5pt;font-size:7pt;line-height:1.25;color:#333}
  .dfi-cspag .dfi-riga-f .dc-badge{padding:0 3pt;border:.5pt solid #000;background:none;color:#000;font-size:6.5pt}
  .dfi-cspag a{color:#000!important;text-decoration:none!important}
  .dfi-cspag a::after{content:none!important}
  .dfi-cspag .dfi-foglio-piede{margin-top:4pt;padding-top:4pt;font-size:7pt;line-height:1.3;color:#333;border-top:.6pt solid #000;break-inside:avoid}
  body:has(.dfi) .bg-fx,body:has(.dfi) [class^="sg-cc"],body:has(.dfi) [class*=" sg-cc"]{display:none!important}
  .dfi-cspag .dfi-riga[data-tipo="via"]{display:none}
}
/* «Fonti e licenze» (regole-e-fonti.html § 8): le norme citate con le date (W4) */
.dfi-elenco-norme{margin:10px 0 18px;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.55;color:var(--dc-testo-2)}
.dfi-elenco-norme .dfi-data{display:inline;font-size:13.5px}
.dfi-cap>h3{margin:22px 0 6px;font-size:18px;line-height:1.3}
