@charset "utf-8";
@layer design {
.cms-site{--lime:#C6E24B;--lime-deep:#AECB33;--cream:#F3EDE1;--teal:#0E3B3E;--gmuted:#5b6d6b;--gline:rgba(14,59,62,.13);--gline-strong:rgba(14,59,62,.24);--gpanel:#FFFFFF}
.cms-site h1,.cms-site h2,.cms-site h3,.cms-site h4{letter-spacing:-.02em;line-height:1.04}
.cms-site .g-label,.cms-site .g-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700}
.cms-site .g-eyebrow{color:var(--gmuted);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.cms-site .g-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(198,226,75,.28);display:inline-block}
.cms-site .g-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:52px;align-items:center}
.cms-site .g-title{font-weight:700;font-size:clamp(44px,6.4vw,88px)}
.cms-site .g-hl{position:relative;white-space:nowrap;background:var(--lime);padding:0 .1em;border-radius:4px}
.cms-site .g-hl-lime{color:var(--lime)}
.cms-site .g-lead{margin-top:26px;font-size:clamp(16px,1.35vw,19px);color:var(--gmuted);max-width:47ch}
.cms-site .g-hero-cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.cms-site .g-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:15px;padding:14px 24px;border-radius:100px;border:1.5px solid transparent;transition:all .2s;text-decoration:none}
.cms-site .g-btn-lime{background:var(--lime);color:var(--teal);border-color:var(--lime)}
.cms-site .g-btn-lime:hover{background:var(--lime-deep);border-color:var(--lime-deep);color:var(--teal)}
.cms-site .g-btn-ghost{background:transparent;color:var(--teal);border-color:var(--gline-strong)}
.cms-site .g-btn-ghost:hover{background:var(--teal);color:var(--cream);border-color:var(--teal)}
.cms-site .g-portrait{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--gline-strong);aspect-ratio:4/5;background:var(--teal)}
.cms-site .g-portrait img{width:100%;height:100%;object-fit:cover;object-position:72% 22%;display:block}
.cms-site .g-hero-stat{position:absolute;z-index:2;bottom:16px;left:16px;right:16px;background:rgba(10,46,49,.72);color:var(--cream);padding:16px 18px;border-radius:12px;display:flex;align-items:center;gap:16px}
.cms-site .g-hero-stat .g-n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:38px;line-height:1;color:var(--lime)}
.cms-site .g-hero-stat .g-t{font-size:13px;color:rgba(243,237,225,.85);line-height:1.3}
.cms-site .g-trust{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding:20px 0}
.cms-site .g-trust-lb{color:var(--gmuted);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.cms-site .g-logos{display:flex;gap:26px;flex-wrap:wrap}
.cms-site .g-logos span{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:17px;opacity:.7}
.cms-site .ds-nastro{overflow:hidden}
.cms-site .g-track{display:flex;white-space:nowrap;animation:g-scroll 34s linear infinite}
.cms-site .g-track span{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:22px;padding:14px 0}
.cms-site .g-md{color:var(--lime);padding:0 24px}
@keyframes g-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cms-site .g-manifesto{text-align:center;max-width:980px;margin:0 auto}
.cms-site .g-manifesto .g-label{color:var(--gmuted);margin-bottom:22px}
.cms-site .g-manifesto h2{font-weight:700;font-size:clamp(30px,4.6vw,58px);line-height:1.12}
.cms-site .g-manifesto p{margin-top:26px;font-size:19px;color:var(--gmuted);max-width:62ch;margin-left:auto;margin-right:auto}
.cms-site .g-sec-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:34px}
.cms-site .g-sec-num{font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--lime-deep)}
.cms-site .g-sec-head h2{font-weight:700;font-size:clamp(28px,3.6vw,44px)}
.cms-site .g-sec-link{margin-left:auto;font-weight:700;color:var(--teal);border-bottom:2px solid var(--lime);padding-bottom:2px;text-decoration:none}
.cms-site .g-k{color:var(--gmuted);font-size:15px;max-width:46ch}
.cms-site .g-ev-list{display:grid;gap:12px}
.cms-site .g-ev{display:flex;gap:22px;align-items:center;padding:20px;border:1px solid var(--gline-strong);border-radius:14px;background:var(--gpanel)}
.cms-site .g-ev .g-date{min-width:96px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;color:var(--lime-deep)}
.cms-site .g-ev .g-tipo{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gmuted)}
.cms-site .g-ev h3{font-weight:700;font-size:20px;margin:6px 0}
.cms-site .g-ev .g-luogo{color:var(--gmuted);font-size:14px}
.cms-site .g-up-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cms-site .g-up{padding:24px;border:1px solid var(--gline-strong);border-radius:16px;background:var(--gpanel);display:flex;flex-direction:column}
.cms-site .g-tag{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);background:var(--lime);padding:5px 10px;border-radius:100px}
.cms-site .g-up h3{font-weight:700;font-size:19px;margin:14px 0 8px}
.cms-site .g-up p{color:var(--gmuted);font-size:14px;flex:1}
.cms-site .g-up-meta{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:12px;border-top:1px solid var(--gline);font-size:12px;color:var(--gmuted)}
.cms-site .g-corso-tag{color:var(--lime)}
.cms-site .g-corso-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;margin-top:22px}
.cms-site .g-corso-h{font-weight:700;font-size:clamp(40px,5.2vw,70px);color:var(--cream)}
.cms-site .g-corso-sub{color:rgba(243,237,225,.82);margin-top:16px;max-width:42ch;font-size:17px}
.cms-site .g-facts{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.cms-site .g-fact{font-size:12px;font-weight:600;border:1px solid rgba(243,237,225,.3);padding:8px 13px;border-radius:100px;color:var(--cream)}
.cms-site .g-price-card{border:1px solid rgba(243,237,225,.24);border-radius:18px;padding:30px;background:rgba(243,237,225,.05)}
.cms-site .g-eb{color:var(--lime)}
.cms-site .g-price{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:60px;line-height:1;margin:6px 0;color:var(--cream)}
.cms-site .g-old{color:rgba(243,237,225,.6);font-size:14px}
.cms-site .g-temi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cms-site .g-tema{padding:28px;border:1px solid var(--gline-strong);border-radius:16px;background:var(--gpanel);transition:transform .25s,border-color .25s}
.cms-site .g-tema:hover{transform:translateY(-4px);border-color:var(--teal)}
.cms-site .g-tn{color:var(--lime-deep);font-weight:700;font-size:12px}
.cms-site .g-tema h3{font-weight:700;font-size:22px;margin:12px 0 8px}
.cms-site .g-tema p{font-size:14px;color:var(--gmuted)}
.cms-site .g-formati-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.cms-site .g-flist{border-top:1px solid var(--gline-strong)}
.cms-site .g-frow{display:flex;align-items:center;gap:16px;padding:19px 8px;border-bottom:1px solid var(--gline);border-left:3px solid transparent;border-radius:0;width:100%;text-align:left;background:transparent;cursor:pointer;transition:.2s}
.cms-site .g-frow:hover{background:var(--gpanel);padding-left:16px}
.cms-site .g-frow.active{background:var(--gpanel);padding-left:16px;border-left:3px solid var(--lime)}
.cms-site .g-fn{color:var(--lime-deep);font-weight:700;font-size:13px;min-width:86px}
.cms-site .g-ft{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:19px;color:var(--teal)}
.cms-site .g-fa{margin-left:auto;color:var(--gmuted);transition:transform .2s}
.cms-site .g-frow.active .g-fa,.cms-site .g-frow:hover .g-fa{transform:translateX(5px);color:var(--teal)}
.cms-site .g-fcard{border:1px solid var(--gline-strong);background:var(--gpanel);border-radius:18px;padding:32px}
.cms-site .g-ftag{color:var(--gmuted);margin-bottom:14px;display:block}
.cms-site .g-fcard h4{font-weight:700;font-size:42px}
.cms-site .g-fcard p{color:var(--gmuted);margin:12px 0 20px;font-size:15px}
.cms-site .g-fmeta{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--gline);border-bottom:1px solid var(--gline);padding:16px 0;margin-bottom:20px}
.cms-site .g-k2{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gmuted);font-weight:700}
.cms-site .g-v{font-weight:700;font-size:14px}
.cms-site .g-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.cms-site .g-teaser{border:1px solid var(--gline-strong);border-radius:18px;padding:34px;background:var(--gpanel);display:flex;flex-direction:column;text-decoration:none;transition:transform .2s}
.cms-site .g-teaser:hover{transform:translateY(-4px)}
.cms-site .g-teaser h3{font-weight:700;font-size:28px;margin-bottom:10px}
.cms-site .g-teaser p{color:var(--gmuted);font-size:15px;flex:1;margin-bottom:20px}
.cms-site .g-go{font-weight:700;color:var(--teal);border-bottom:2px solid var(--lime);align-self:flex-start;padding-bottom:2px}
.cms-site .g-contatti-lb{color:var(--lime)}
.cms-site .g-big-h{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(30px,4vw,52px);line-height:1.05;margin-top:14px;color:var(--cream)}
.cms-site .g-contatti-sub{color:rgba(243,237,225,.8);margin-top:16px;max-width:38ch}
.cms-site .g-quick{margin-top:26px;display:grid;gap:12px}
.cms-site .g-quick div{font-size:14px;color:rgba(243,237,225,.85)}
.cms-site .g-qk{color:var(--lime);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.cms-site .cf-input,.cms-site .cf-textarea{background:rgba(243,237,225,.06);border:1.5px solid rgba(243,237,225,.28);color:var(--cream);border-radius:10px;padding:13px 15px}
.cms-site .cf-label{color:rgba(243,237,225,.7);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}
.cms-site .cf-submit{background:var(--lime);color:var(--teal);border:0;border-radius:100px;font-weight:700;padding:14px 24px}
.cms-site .g-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.cms-site .g-foot-brand{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;color:var(--cream)}
.cms-site .g-foot-tag{color:rgba(243,237,225,.7);font-size:14px;margin-top:10px;max-width:42ch}
.cms-site .g-foot-social{display:flex;gap:14px;margin-top:18px}
.cms-site .g-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(243,237,225,.25);color:var(--cream);transition:color .2s,background .2s,border-color .2s,transform .2s}
.cms-site .g-foot-social a:hover{color:var(--teal);background:var(--lime);border-color:var(--lime);transform:translateY(-2px)}
.cms-site .g-fcol h5{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lime);margin-bottom:14px}
.cms-site .g-fcol a{display:block;padding:4px 0;color:rgba(243,237,225,.9);text-decoration:none;font-size:14px}
.cms-site .g-fcol a:hover{color:var(--lime)}
.cms-site .g-foot-note{color:rgba(243,237,225,.6);font-size:14px;margin-top:10px}
.cms-site .g-foot-bottom{margin-top:32px;padding-top:20px;border-top:1px solid rgba(243,237,225,.18);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(243,237,225,.7)}
.cms-site .g-foot-bottom a{color:rgba(243,237,225,.9);text-decoration:none}
.cms-site .g-libri-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}
@media (max-width:900px){.cms-site .g-libri-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cms-site .g-libri-grid{grid-template-columns:1fr}}
.cms-site .g-libro{border:1px solid var(--gline-strong);border-radius:16px;overflow:hidden;background:var(--gpanel);display:flex;flex-direction:column;transition:transform .25s}
.cms-site .g-libro:hover{transform:translateY(-4px)}
/* Card libro cliccabile (campo link valorizzato): l'anchor eredita lo stile della card. */
.cms-site a.g-libro-link{color:inherit;text-decoration:none;cursor:pointer}
.cms-site a.g-libro-link:hover{border-color:var(--lime-deep)}
.cms-site .g-cover{aspect-ratio:3/4;background:#ECEEE9;border-bottom:1px solid var(--gline);overflow:hidden}
.cms-site .g-cover img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.cms-site .g-lbody{padding:20px;flex:1}
.cms-site .g-libro h3{font-weight:700;font-size:18px;line-height:1.15;margin-bottom:8px}
.cms-site .g-pub{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--lime-deep);font-weight:700}
.cms-site .g-libro p{font-size:14px;color:var(--gmuted);margin-top:8px}
/* Pagina Libri: nasconde l'intestazione di una sezione se non contiene libri. */
.cms-site .g-libri-section:not(:has(.g-libro)){display:none}
/* Stacco fra i due gruppi (I miei libri / Interventi). */
.cms-site .g-libri-section + .g-libri-section{margin-top:72px}
.cms-site .g-press-list{display:grid;gap:14px;margin-top:24px}
.cms-site .g-press{display:flex;gap:18px;align-items:flex-start;padding:20px;border:1px solid var(--gline-strong);border-radius:14px;background:var(--gpanel);transition:border-color .2s,transform .2s}
.cms-site .g-press:hover{border-color:var(--teal);transform:translateX(4px)}
.cms-site .g-src{font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--lime-deep);min-width:130px;padding-top:2px}
.cms-site .g-ph{font-weight:600;font-size:17px;line-height:1.25}
.cms-site .g-yr{color:var(--gmuted);font-weight:500;font-size:13px;display:block;margin-top:4px}
.cms-site .g-blocktitle{font-weight:700;font-size:clamp(24px,3vw,34px);margin-top:10px}
.cms-site .content-title{font-weight:700;font-size:clamp(34px,5.4vw,64px);max-width:18ch;line-height:1.04}
.cms-site .g-bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:start;margin-top:6px}
.cms-site .g-bio-photo{border:1px solid var(--gline-strong);border-radius:18px;background:var(--teal);aspect-ratio:4/5;position:relative;overflow:hidden}
.cms-site .g-bio-photo img{width:100%;height:100%;object-fit:cover;object-position:70% 30%;display:block}
.cms-site .g-bio-pill{position:absolute;z-index:2;top:14px;left:14px;background:var(--lime);color:var(--teal);padding:7px 13px;border-radius:100px;font-weight:700;font-size:12px}
.cms-site .g-bio p{font-size:17px;color:var(--gmuted);margin-bottom:16px}
.cms-site .g-bio p strong{color:var(--teal)}
.cms-site .g-bioquote{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:24px;color:var(--teal);line-height:1.3;border-left:4px solid var(--lime);padding-left:20px;margin:26px 0}
.cms-site .g-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gline-strong);border-bottom:1px solid var(--gline-strong);margin-top:34px}
.cms-site .g-stats .g-c{padding:26px 18px;border-left:1px solid var(--gline)}
.cms-site .g-stats .g-c:first-child{border-left:none;padding-left:0}
.cms-site .g-stats .g-sn{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(32px,3.6vw,46px);line-height:1}
.cms-site .g-stats .g-sn span{color:var(--lime-deep)}
.cms-site .g-stats .g-st{font-size:13px;color:var(--gmuted);margin-top:6px}
.cms-site .g-roles{list-style:none;border-top:1px solid var(--gline-strong);margin-top:24px;padding:0}
.cms-site .g-roles li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--gline);font-size:15px;color:var(--gmuted)}
.cms-site .g-roles li .g-y{font-weight:700;font-size:11px;color:var(--teal);min-width:80px;padding-top:3px;text-transform:uppercase;letter-spacing:.05em}
.cms-site .g-roles li strong{color:var(--teal)}
.cms-site .g-photo-band{margin:34px 0 0;border-radius:18px;overflow:hidden;border:1px solid var(--gline-strong)}
.cms-site .g-photo-band img{width:100%;display:block}
.cms-site .g-photo-band figcaption{font-size:13px;color:var(--gmuted);padding:14px 18px;background:var(--gpanel)}
.cms-site .g-cta-strip{text-align:center}
.cms-site .g-cta-strip h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(28px,4vw,46px);color:var(--cream)}
.cms-site .g-cta-strip p{color:rgba(243,237,225,.8);margin:16px auto 0;max-width:58ch}
.cms-site .g-cta-row{display:flex;gap:12px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.cms-site .g-btn-ghost-cream{background:transparent;color:var(--cream);border-color:rgba(243,237,225,.45)}
.cms-site .g-btn-ghost-cream:hover{background:var(--cream);color:var(--teal);border-color:var(--cream)}
@media(max-width:880px){.cms-site .g-bio-grid{grid-template-columns:1fr}.cms-site .g-bio-photo{max-width:340px}.cms-site .g-stats{grid-template-columns:1fr 1fr}.cms-site .g-stats .g-c{border-left:none}}
.cms-site .g-media-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;margin-top:6px}
.cms-site .g-dark-card{background:var(--teal);color:var(--cream);padding:44px;border-radius:20px;position:relative;overflow:hidden}
.cms-site .g-dark-card h3{color:var(--cream);font-weight:700;font-size:clamp(30px,4vw,52px);margin:12px 0 14px}
.cms-site .g-dark-card p{color:rgba(243,237,225,.84);max-width:38ch}
.cms-site .g-blob{position:absolute;right:-46px;bottom:-46px;width:170px;height:170px;background:var(--lime);opacity:.9;border-radius:50%}
.cms-site .g-rai{color:var(--lime);font-weight:800;letter-spacing:.1em;font-size:12px;position:relative;z-index:1}
.cms-site .g-media-list{list-style:none;display:grid;gap:16px;margin:0;padding:0}
.cms-site .g-media-list li{border-bottom:1px solid var(--gline);padding-bottom:16px}
.cms-site .g-mk{color:var(--lime-deep);font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.cms-site .g-mt{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:18px;margin-top:5px}
.cms-site .g-md{font-size:14px;color:var(--gmuted)}
.cms-site .g-gig-list{display:grid;border-top:1px solid var(--gline-strong);margin-top:24px}
.cms-site .g-gig{display:grid;grid-template-columns:66px 1fr 24px;gap:20px;align-items:baseline;padding:18px 6px;border-bottom:1px solid var(--gline);transition:background .2s,padding-left .2s;text-decoration:none}
.cms-site .g-gig:hover{background:var(--gpanel);padding-left:16px}
.cms-site .g-gy{font-weight:700;font-size:13px;letter-spacing:.04em;color:var(--lime-deep)}
.cms-site .g-gt{font-family:'Bricolage Grotesque',sans-serif;font-weight:600;font-size:17px;line-height:1.25;display:block;color:var(--teal)}
.cms-site .g-gp{font-size:14px;color:var(--gmuted);display:block;margin-top:3px}
.cms-site .g-ga{color:var(--gmuted);text-align:right;font-weight:700}
.cms-site .g-gig:hover .g-ga{color:var(--teal)}
.cms-site .g-gig-foot{margin-top:22px;font-size:15px;color:var(--gmuted);max-width:60ch}
.cms-site .g-temi-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cms-site .g-temi-tags .g-t{border:1.5px solid var(--gline-strong);border-radius:100px;padding:9px 16px;font-weight:600;font-size:14px}
.cms-site .g-press{text-decoration:none}
.cms-site .g-press .g-h .g-yr{color:var(--gmuted);font-weight:500;font-size:13px}
.cms-site .g-journ-note{color:var(--gmuted);margin-top:26px;max-width:56ch}
.cms-site .g-journ-note strong{color:var(--teal)}
@media(max-width:880px){.cms-site .g-media-grid{grid-template-columns:1fr}.cms-site .g-gig{grid-template-columns:48px 1fr 20px;gap:12px}}
@media(max-width:880px){.cms-site .g-hero-grid{grid-template-columns:1fr}.cms-site .g-up-grid{grid-template-columns:1fr}.cms-site .g-temi-grid{grid-template-columns:1fr}.cms-site .g-formati-grid{grid-template-columns:1fr}.cms-site .g-corso-grid{grid-template-columns:1fr}.cms-site .g-teaser-grid{grid-template-columns:1fr}.cms-site .g-foot-grid{grid-template-columns:1fr}}

/* ===== Allineamento fedele alla grafica di riferimento ===== */
/* Titoli in teal (come l'originale), non quasi-neri. I titoli su fondo scuro
   restano crema (regole .g-* piu specifiche). */
.cms-site h1,.cms-site h2,.cms-site h3,.cms-site h4{color:var(--teal)}
.cms-site{line-height:1.55}
/* Bottoni a PILLOLA come l'originale (Bootstrap usava --radius 16px) */
.cms-site .btn{border-radius:100px}
/* CTA nella testata: pillola LIME (non teal squadrata) */
.cms-site .header-cta{background:var(--lime);border-color:var(--lime);color:var(--teal)}
.cms-site .header-cta:hover{background:transparent;color:var(--teal);border-color:var(--teal)}
/* Menu: voci muted 14px; hover -> teal; voce attiva teal + sottolineatura lime */
.cms-site .header-bootstrap .nav-link{color:var(--gmuted);font-size:14px;font-weight:500;transition:color .2s}
.cms-site .header-bootstrap .nav-link:hover,.cms-site .header-bootstrap .nav-link.active,.cms-site .header-bootstrap .nav-link[aria-current]{color:var(--teal)}
.cms-site .header-bootstrap .nav-link.active,.cms-site .header-bootstrap .nav-link[aria-current]{font-weight:700;position:relative}
.cms-site .header-bootstrap .nav-link.active::after,.cms-site .header-bootstrap .nav-link[aria-current]::after{content:"";position:absolute;left:.5rem;right:.5rem;bottom:3px;height:3px;background:var(--lime)}
/* Blocco data eventi: giorno GRANDE teal / mese MAIUSCOLO lime / anno grigio */
.cms-site .g-ev .g-date{min-width:auto;text-align:center;border-right:1px solid var(--gline);padding-right:20px;font-size:inherit}
.cms-site .g-ev .g-date .g-d{font-size:32px;line-height:1;color:var(--teal)}
.cms-site .g-ev .g-date .g-m{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--lime-deep)}
.cms-site .g-ev .g-date .g-y{font-size:11px;font-weight:500;color:var(--gmuted)}
/* Fasce di sezione: 88px come l'originale (erano 64px) */
.cms-site .ds-spacing-lg{padding-block:5.5rem}
/* Footer leggermente piu scuro come l'originale (#0A2E31) */
.cms-site .ds-site-foot{background:#0A2E31}
/* MARCHIO: cerchio teal con "g" lime prima del nome, come la grafica. Cosi il
   nome resta testo reale (font Bricolage) e non un'immagine sfocata. */
.cms-site .navbar-brand.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-headings);font-weight:700;font-size:19px;color:var(--teal)}
.cms-site .navbar-brand.brand::before{content:"g";display:grid;place-items:center;width:34px;height:34px;background:var(--teal);color:var(--lime);border-radius:50%;font-family:var(--font-headings);font-size:21px;font-weight:800;line-height:1;padding-bottom:3px;flex:none}
.cms-site .g-foot-brand{display:inline-flex;align-items:center;gap:11px}
.cms-site .g-foot-brand::before{content:"g";display:grid;place-items:center;width:34px;height:34px;background:var(--lime);color:var(--teal);border-radius:50%;font-family:var(--font-headings);font-size:21px;font-weight:800;line-height:1;padding-bottom:3px;flex:none}
/* Form contatti: righe a due colonne come la grafica (nome|email, org|tipo) */
.cms-site .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.cms-site .cf-field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.cms-site .cf-row .cf-field{margin-bottom:0}
.cms-site .g-cform .cf-submit{margin-top:4px}
.cms-site select.cf-input{appearance:auto}
@media(max-width:600px){.cms-site .cf-row{grid-template-columns:1fr}}
/* Bottoni della sezione Corso: spazio sopra come nella grafica */
.cms-site .g-price-card .g-btn{margin-top:18px}
/* Link "Vai a Media & Stampa" nei contatti: crema sottolineato, non blu Bootstrap */
.cms-site .g-quick a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.cms-site .g-quick a:hover{color:var(--lime)}
/* Tendina select su fondo scuro: le OPZIONI devono essere leggibili (scure su
   bianco), altrimenti restano crema-su-bianco e non si vedono. */
.cms-site select.cf-input{color-scheme:light}
.cms-site select.cf-input option{color:#0e3b3e;background:#ffffff}
/* SCATOLA del form contatti (fondo e bordo sottili, angoli tondi) come la grafica */
.cms-site .g-cform{background:rgba(243,237,225,.05);border:1px solid rgba(243,237,225,.2);border-radius:18px;padding:28px}
.cms-site .cf-input::placeholder,.cms-site .cf-textarea::placeholder{color:rgba(243,237,225,.5)}
/* Su mobile (colonne impilate) il form si stacca dal testo sopra */
@media(max-width:991.98px){.cms-site .g-cform{margin-top:32px}}
}

/* -- Form contatti: leggibilita esito su box scuro + consenso privacy (fix sito) -- */
.cms-site .g-cform .cf-alert{border:0;border-radius:12px;padding:12px 16px;font-weight:600;margin-bottom:16px}
.cms-site .g-cform .cf-alert.cf-err{background:#b3261e;color:#fff}
.cms-site .g-cform .cf-alert.cf-ok{background:#157f3c;color:#fff}
.cms-site .g-cform .cf-req{color:var(--lime-deep)}
.cms-site .g-cform .cf-field-check{display:flex;align-items:flex-start;gap:.55rem;margin-top:2px}
.cms-site .g-cform .form-check-input{margin-top:.2rem;flex:0 0 auto;width:1.1rem;height:1.1rem}
.cms-site .g-cform .form-check-label{color:var(--cream);font-size:14px;line-height:1.45}
.cms-site .g-cform .form-check-label a{color:var(--lime);text-decoration:underline}
/* -- Footer: link legali a destra (Privacy, Note legali) -- */
.cms-site .footer-simple .footer-menu{display:flex;justify-content:flex-end}
.cms-site .footer-legal{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cms-site .footer-legal a{color:var(--cream);font-size:14px;text-decoration:none;opacity:.85}
.cms-site .footer-legal a:hover{color:var(--lime);opacity:1;text-decoration:underline}
/* -- Form contatti: messaggi di validazione per-campo leggibili su box scuro -- */
.cms-site .g-cform .cf-error{color:#ff9d8f;font-size:13px;font-weight:600;margin-top:6px;line-height:1.35}
.cms-site .g-cform .cf-invalid .form-control,
.cms-site .g-cform .cf-invalid .form-select,
.cms-site .g-cform .cf-invalid .form-check-input{border-color:#ff9d8f}
/* -- Footer ricco: centrato come il contenuto del sito (ds-width-content) -- */
.cms-site .footer-custom .g-foot-grid,
.cms-site .footer-custom .g-foot-bottom{max-width:var(--max);margin-inline:auto;padding-inline:1.5rem}
/* -- Immagine a tutta larghezza sotto l'header (apertura home) -- */
.cms-site .g-top-band{width:100%;display:block;height:auto}

/* -- Pagine testuali (privacy, cookie, note legali): il contenuto riempie il contenitore, niente spazio vuoto a destra -- */
.cms-site .content-title,
.cms-site .content-excerpt,
.cms-site .content-body{max-width:none}
/* -- Larghezza unica in tutto il sito: la larghezza "content" (72rem) viene
      portata a "wide" (--max), cosi titolo, corpo e tutti i blocchi condividono
      lo stesso bordo e la stessa larghezza (pagine legali incluse). -- */
.cms-site .ds-container.ds-width-content{max-width:var(--max)}