/* Fiscomania — main.css
 * Artwork — https://www.artworkstudios.it
 * v1.0.0
 */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --blu:#2268A7;
  --blu-scuro:#082844;
  --arancio:#2268A7; /* Custom integration: arancio è ora alias del blu (era #F77E1D) */
  --premium:#FE6A03;
  --nero:#111009;
  --bg:#F5F4EF;
  --cream:#EAE8E0;
  --cream-scuro:#DCDAD4;
  --surface:#FAF9F5;
  --muted:#9A9892;
  --text:#2A2820;
  --bordo:rgba(0,0,0,0.08);
  --bordo2:rgba(0,0,0,0.05);
  --ff:'Inter',-apple-system,sans-serif;
  --box:1200px;
  --pad:clamp(20px,4vw,48px);
  --radius:7px;
  --btn-radius:7px;
  --sticky-top:30px;
  --glsr-design-radius:20px;
}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
.prose [id]{scroll-margin-top:24px;}
body{background:var(--cream);color:var(--text);font-family:var(--ff);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:'cv02','cv03','cv04','cv11';overflow-x:hidden;}
/* Inter numeric tabular */
.hs-num,.pi-date,.ph-right,.ci-right,.art-meta-right,.meta-chip{font-variant-numeric:tabular-nums;}
.boxed{max-width:var(--box);margin:0 auto;padding:0 var(--pad);}

/* ── DEMO TABS ── */
.demo-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--bordo);position:sticky;top:0;z-index:300;padding:0 var(--pad);}
.demo-tab{padding:12px 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;}
.demo-tab.active{color:var(--blu);border-bottom-color:var(--blu);}
.view{display:none;}
.view.active{display:block;}

/* ══════════════════════════════════════
   LAYER 1 — TOPBAR (utility strip)
══════════════════════════════════════ */
.topbar{background:var(--cream);border-bottom:1px solid var(--bordo);padding:0 var(--pad);}
.topbar-inner{max-width:var(--box);margin:0 auto;display:flex;align-items:center;height:36px;gap:0;}
.topbar-nav{display:flex;align-items:center;gap:2px;}
.topbar-nav a{font-size:11px;font-weight:500;color:var(--muted);text-decoration:none;padding:4px 10px;border-radius:var(--btn-radius);transition:color .15s;}
.topbar-nav a:hover{color:var(--nero);}
.topbar-drop{position:relative;}
.topbar-drop-btn{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--text);background:none;border:none;cursor:pointer;padding:4px 10px;border-radius:var(--btn-radius);font-family:var(--ff);transition:color .15s;}
.topbar-drop-btn:hover,.topbar-drop:hover .topbar-drop-btn{color:var(--nero);background:rgba(0,0,0,0.05);}
.topbar-drop-caret{transition:transform .2s;}
.topbar-drop:hover .topbar-drop-caret{transform:rotate(180deg);}
/* Panel: top:100% (no gap) + padding-top per spazio visivo interno → hover continuo, niente "buco". */
.topbar-drop-panel{display:none;position:absolute;top:100%;left:0;background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);box-shadow:0 8px 28px rgba(0,0,0,0.1);padding:10px 6px 6px;min-width:460px;z-index:500;}
.topbar-drop:hover .topbar-drop-panel,.topbar-drop:focus-within .topbar-drop-panel{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.td-item{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:var(--radius);text-decoration:none;transition:background .15s;}
.td-item:hover{background:var(--bg);}
/* Icone monocromatiche cream-scuro con bordo coerente, SVG in currentColor */
.td-icon{width:30px;height:30px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--cream-scuro,#DCDAD4);color:var(--text);}
.td-icon svg{width:13px;height:13px;color:inherit;}
.td-icon svg *{stroke:currentColor !important;fill:none !important;}
[data-theme="dark"] .td-icon{background:rgba(255,255,255,0.08);}
.td-title{font-size:12px;font-weight:700;color:var(--nero);margin-bottom:1px;}
.td-desc{font-size:11px;color:var(--muted);line-height:1.35;}
.td-sep{grid-column:1/-1;height:1px;background:var(--bordo);margin:3px 0;}
.td-foot{grid-column:1/-1;padding:7px 13px 3px;display:flex;justify-content:space-between;align-items:center;}
.td-foot-txt{font-size:11px;color:var(--muted);}
.td-foot-cta{font-size:11px;font-weight:700;color:var(--blu);text-decoration:none;}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:6px;}
.tb-btn-ghost{font-size:11px;font-weight:600;color:var(--muted);text-decoration:none;padding:5px 12px;border-radius:var(--btn-radius);border:1px solid var(--bordo);transition:all .15s;}
.tb-btn-ghost:hover{color:var(--nero);border-color:rgba(0,0,0,0.2);}
/* tb-btn-fill — Abbonati topbar. Coprire :link/:visited/:hover/:active per
   evitare che la regola generica `a:hover{color:var(--blu);}` vinca per
   specificità (0,1,1) sopra `.tb-btn-fill` (0,1,0), facendo diventare il testo
   blu su sfondo arancione in hover. Selettore include `a` element → (0,2,1). */
a.tb-btn-fill,
a.tb-btn-fill:link,
a.tb-btn-fill:visited{font-size:11px;font-weight:700;background:var(--arancio);color:#fff;text-decoration:none;padding:5px 14px;border-radius:var(--btn-radius);transition:background .15s,color .15s;}
a.tb-btn-fill:hover,
a.tb-btn-fill:visited:hover,
a.tb-btn-fill:active{background:#d96a0a;color:#fff;}

/* ══════════════════════════════════════
   LAYER 2 — HEADER (logo + search)
══════════════════════════════════════ */
.site-header{background:var(--cream);border-bottom:1px solid var(--bordo);padding:0 var(--pad);position:sticky;top:0;z-index:200;transition:transform .28s ease,box-shadow .25s ease;will-change:transform;}
.site-header.is-hidden{transform:translateY(-100%);}
.site-header.is-stuck{box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.site-header-inner{max-width:var(--box);margin:0 auto;display:flex;align-items:center;height:60px;gap:24px;}
.site-logo{font-size:20px;font-weight:800;color:var(--nero);letter-spacing:-0.8px;text-decoration:none;white-space:nowrap;display:flex;align-items:center;}
.site-logo svg{height:28px;width:auto;display:block;}
.site-logo-img{max-height:32px;width:auto;display:block;}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;background:var(--nero);color:#fff;padding:10px 14px;border-radius:var(--radius);z-index:9999;}
.site-nav-center{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;}
.site-nav-center a{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:-0.1px;text-decoration:none;padding:6px 12px;border-radius:var(--btn-radius);transition:background .15s,color .15s;white-space:nowrap;}
.site-nav-center a:hover{background:var(--bg);color:var(--text);}
.site-nav-center a.cur{color:var(--text);font-weight:600;}

/* ── NAV DROPDOWN (voci con sub-menu) ── */
.site-nav-center .nav-drop{position:relative;display:inline-flex;}
.site-nav-center .nav-drop-btn{display:inline-flex;align-items:center;gap:5px;}
.nav-drop-caret{flex-shrink:0;color:currentColor;transition:transform .2s ease;}
.site-nav-center .nav-drop:hover .nav-drop-caret,
.site-nav-center .nav-drop:focus-within .nav-drop-caret{transform:rotate(180deg);}
.nav-drop-panel{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);box-shadow:0 8px 28px rgba(0,0,0,0.1);padding:6px;min-width:220px;z-index:500;margin-top:4px;}
.site-nav-center .nav-drop:hover .nav-drop-panel,
.site-nav-center .nav-drop:focus-within .nav-drop-panel{display:flex;flex-direction:column;}
.nav-drop-item{display:block;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;border-radius:var(--btn-radius);white-space:nowrap;transition:background .15s,color .15s;}
.nav-drop-item:hover{background:var(--bg);color:var(--blu);}
.header-right{display:flex;align-items:center;gap:8px;}
.search-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--btn-radius);background:var(--bg);border:1px solid var(--bordo);cursor:pointer;transition:border-color .15s;flex-shrink:0;}
.search-btn:hover{background:rgba(0,0,0,0.04);}
.search-btn svg{width:16px;height:16px;color:var(--muted);}
/* search overlay */
.search-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:600;align-items:flex-start;justify-content:center;padding-top:80px;}
.search-overlay.open{display:flex;}
.search-box{background:var(--surface);border-radius:var(--radius);width:560px;max-width:90vw;padding:16px;box-shadow:0 16px 48px rgba(0,0,0,0.15);}
.search-input{width:100%;font-size:16px;font-family:var(--ff);border:none;outline:none;color:var(--nero);background:transparent;padding:4px 0;}
.search-hint{font-size:12px;color:var(--muted);margin-top:10px;}
.search-results{margin-top:10px;max-height:60vh;overflow-y:auto;border-top:1px solid var(--bordo2);}
.search-results:empty{display:none;border-top:none;margin-top:0;}
.search-results-item{display:block;padding:10px 12px;border-radius:var(--radius);text-decoration:none;color:var(--text);transition:background .12s;}
.search-results-item:hover,.search-results-item:focus,.search-results-item.is-highlighted{background:var(--bg);}
.search-results-title{display:block;font-size:13px;font-weight:600;color:var(--nero);line-height:1.35;}
.search-results-meta{display:block;font-size:11px;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums;}
.search-results-empty,.search-results-error{padding:14px 12px;font-size:13px;color:var(--muted);text-align:center;}

/* ══════════════════════════════════════
   LAYER 3 — TICKER (in evidenza)
══════════════════════════════════════ */
.ticker-bar{background:var(--cream);border-bottom:1px solid var(--bordo);padding:0 var(--pad);}
.ticker-inner{max-width:var(--box);margin:0 auto;display:flex;align-items:center;height:36px;gap:12px;}
.ticker-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);white-space:nowrap;flex-shrink:0;}
.ticker-divider{width:1px;height:14px;background:var(--bordo);flex-shrink:0;}
.ticker-slot{flex:1;overflow:hidden;position:relative;height:20px;}
.ticker-item{position:absolute;left:0;right:0;font-size:13px;font-weight:600;color:var(--nero);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;transition:opacity .4s,transform .4s;}
.ticker-item a{color:inherit;text-decoration:none;}
.ticker-item a:hover{color:var(--blu);}
.ticker-item.out{opacity:0;transform:translateY(-8px);}
.ticker-item.in{opacity:1;transform:translateY(0);}
.ticker-dots{display:none;}
.ticker-dot{display:none;}


/* ══════════════════════════════════════
   PAGE WRAPPER — fluid + boxed
══════════════════════════════════════ */
.page-outer{background:var(--bg);padding:0;}
.page-outer-card{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:36px var(--pad) 52px;max-width:var(--box-outer,1600px);margin:-28px auto 0;position:relative;z-index:1;}
.page-inner{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr) 280px;gap:32px;}
.page-inner.no-sidebar{grid-template-columns:220px minmax(0,1fr);}
.page-inner.no-sidebar-left{grid-template-columns:minmax(0,1fr) 280px;}
.page-inner.no-sidebar.no-sidebar-left{grid-template-columns:minmax(0,1fr);}
.cat-inner.no-sidebar,.home-inner.no-sidebar{grid-template-columns:1fr;}
@media(max-width:1100px){.page-inner,.page-inner.no-sidebar{grid-template-columns:minmax(0,1fr) 280px;}.page-inner.no-sidebar-left{grid-template-columns:minmax(0,1fr) 280px;}.aside-left{display:none;}}
/* AD SLOT */





/* ══════════════════════════════════════
   ARTICLE HEADER — cream bg
══════════════════════════════════════ */
.art-header{background:var(--cream);padding:32px var(--pad) 48px;}
.art-header-inner{max-width:var(--box);margin:0 auto;}
.breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:14px;}
.breadcrumb a{font-size:12px;color:var(--muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--text);}
.breadcrumb-sep{font-size:10px;color:var(--bordo);}
.breadcrumb span{font-size:12px;color:var(--muted);}
.art-cat-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.art-cat{display:inline-flex;align-items:center;gap:6px;}
.cat-dot{width:7px;height:7px;border-radius:50%;background:var(--arancio);flex-shrink:0;}
.cat-label{font-size:12px;font-weight:800;color:var(--nero);letter-spacing:0.03em;text-transform:uppercase;}
.art-header h1{font-size:clamp(24px,2.6vw,38px);font-weight:800;color:var(--nero);line-height:1.15;letter-spacing:-0.8px;margin-bottom:18px;max-width:780px;}
.art-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap;}
.art-title-row h1{margin-bottom:0;flex:1 1 auto;min-width:0;}
.art-actions{display:flex;gap:6px;flex-shrink:0;padding-top:6px;}
.art-action,.art-actions a{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--muted);padding:6px 12px;border-radius:var(--btn-radius);border:0.5px solid var(--bordo);background:var(--surface);text-decoration:none;transition:color .15s,border-color .15s,background .15s;font-family:var(--ff);cursor:pointer;}
.art-action:hover,.art-actions a:hover{color:var(--nero);border-color:rgba(0,0,0,0.25);background:var(--bg);}
.art-action img,.art-actions a img{display:none;}/* alcuni plugin pdf-print iniettano un'icona img — la nascondiamo per look minimale */
.art-meta-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.art-meta-left{display:flex;align-items:center;gap:10px;}
.art-avatar{width:36px;height:36px;border-radius:50%;background:var(--blu);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;overflow:hidden;}
.art-avatar img,.art-avatar .avatar,.art-avatar-img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;}
.art-author-name{font-size:13px;font-weight:700;color:var(--nero);}
.art-author-name a{color:inherit;text-decoration:none;}
.art-author-name a:hover{color:var(--blu);}
.art-author-role{font-size:11px;color:var(--muted);}
.art-meta-right{display:flex;align-items:center;gap:10px;text-align:right;}
.meta-chip{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;}
.meta-chip svg{width:13px;height:13px;opacity:.5;}
.meta-sep-v{width:1px;height:14px;background:var(--bordo);}

/* ══════════════════════════════════════
   MAIN CONTENT AREA
══════════════════════════════════════ */
.art-main{}
.sommario{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:18px 20px;margin-bottom:28px;}
.sommario-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:12px;}
.sommario ol{padding-left:16px;}
.sommario li{font-size:13px;line-height:1.55;margin-bottom:8px;letter-spacing:-0.1px;}
.sommario li a{color:var(--blu);text-decoration:none;font-weight:500;}
.sommario li a:hover{text-decoration:underline;}
.sommario-item--h3{padding-left:14px;}
.sommario-list{counter-reset:sommario;list-style:none;padding-left:0;}
.sommario-list .sommario-item{counter-increment:sommario;position:relative;padding-left:24px;}
.sommario-list .sommario-item::before{content:counter(sommario,decimal-leading-zero);position:absolute;left:0;top:0;font-size:11px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;}
.sommario-list .sommario-item--h3{padding-left:36px;}
.sommario-list .sommario-item--h3::before{left:14px;color:var(--bordo);}

.prose p{font-size:15px;line-height:1.85;color:var(--text);margin-bottom:18px;}
.prose h2{font-size:20px;font-weight:700;color:var(--nero);margin:36px 0 12px;letter-spacing:-0.5px;}
.prose h3{font-size:16px;font-weight:700;color:var(--nero);margin:24px 0 8px;}
.prose a,.prose a:visited{color:var(--blu);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover,.prose a:visited:hover{color:var(--blu-scuro);}
.prose img,.prose video,.prose iframe{max-width:100%;height:auto;}
.prose pre{overflow-x:auto;max-width:100%;}

/* ── AUTHOR BOX ── */
.author-box{display:flex;gap:20px;align-items:flex-start;background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:24px;margin:36px 0 0;}
.author-box-avatar{flex-shrink:0;}
.author-box-img{width:64px;height:64px;border-radius:50%;display:block;object-fit:cover;}
.author-box-content{flex:1 1 auto;min-width:0;}
.author-box-name{font-size:14px;font-weight:700;color:var(--nero);margin-bottom:3px;}
.author-box-name a{color:inherit;text-decoration:none;}
.author-box-name a:hover{color:var(--blu);}
.author-box-role{font-size:12px;color:var(--muted);margin-bottom:8px;}
.author-box-bio{font-size:13px;line-height:1.65;color:var(--text);margin:0;}
@media(max-width:600px){
  .author-box{flex-direction:column;gap:14px;}
  .author-box-img{width:52px;height:52px;}
}

.callout{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:16px 18px;border-radius:var(--radius);margin:22px 0;align-items:start;}
.callout-w{background:#FFF6EE;border:1px solid rgba(247,126,29,0.15);}
.callout-i{background:#EFF5FB;border:1px solid rgba(34,104,167,0.12);}
.callout-icon{width:26px;height:26px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.callout-icon-w{background:rgba(247,126,29,0.1);}
.callout-icon-i{background:rgba(34,104,167,0.09);}
.callout-icon svg{width:13px;height:13px;}
.callout-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;margin-bottom:4px;}
.callout-w .callout-title{color:var(--arancio);}
.callout-i .callout-title{color:var(--blu);}
.callout-body{font-size:13px;line-height:1.7;color:var(--text);}

.tbl-wrap{border-radius:var(--radius);overflow-x:auto;overflow-y:hidden;border:1px solid var(--bordo);margin:22px 0;}
.fm-table{width:100%;border-collapse:collapse;font-size:13px;}
.fm-table thead tr{background:var(--bg);}
.fm-table th{padding:10px 16px;text-align:left;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);border-bottom:1px solid var(--bordo);}
.fm-table td{padding:11px 16px;border-bottom:1px solid var(--bordo2);background:var(--surface);}
.fm-table tr:last-child td{border-bottom:none;}
.fm-table .hi{color:var(--arancio);font-weight:700;}
.fm-table .go{color:#1a7a52;font-weight:600;}

.paywall-wrap{position:relative;}
.paywall-blur{filter:blur(4px);pointer-events:none;user-select:none;max-height:120px;overflow:hidden;}
.paywall-blur p{font-size:15px;line-height:1.85;color:var(--text);}
.paywall-fade{position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(transparent,var(--bg) 75%);pointer-events:none;}

/* ──── Paywall box (redesigned, conversion-first) ──── */
.paywall-box{position:relative;margin:24px 0 8px;padding:34px 32px 28px;background:linear-gradient(180deg,var(--surface) 0%,var(--cream) 100%);border:1px solid var(--bordo);border-radius:calc(var(--radius) * 1.6);box-shadow:0 4px 24px -8px rgba(11,30,55,0.10),0 1px 3px rgba(0,0,0,0.04);}
.paywall-box__lock{position:absolute;top:-22px;left:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--blu);color:#fff;border-radius:50%;box-shadow:0 6px 16px -4px rgba(11,30,55,0.30);}
.paywall-box__head{margin-bottom:18px;}
.paywall-box__kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--arancio);background:rgba(247,126,29,0.10);padding:4px 10px;border-radius:99px;margin-bottom:10px;}
.paywall-box__title{font-size:22px;font-weight:800;color:var(--text);margin:0 0 6px;line-height:1.25;letter-spacing:-0.01em;}
.paywall-box__sub{font-size:14.5px;color:var(--muted);margin:0;line-height:1.55;max-width:560px;}
.paywall-box__bullets{list-style:none;padding:0;margin:18px 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;}
.paywall-box__bullets li{position:relative;padding-left:22px;font-size:13.5px;color:var(--text);line-height:1.5;}
.paywall-box__bullets li::before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--blu);background-image:linear-gradient(135deg,var(--blu),#1a558a);}
.paywall-box__bullets li::after{content:"";position:absolute;left:4px;top:9px;width:6px;height:3px;border:1.6px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg);}
.paywall-box__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;}
.paywall-box__cta{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;background:var(--blu);color:#fff;font-size:14.5px;font-weight:700;border-radius:var(--btn-radius);text-decoration:none;transition:background .15s, transform .1s, box-shadow .2s;box-shadow:0 4px 14px -4px rgba(11,30,55,0.35);}
.paywall-box__cta:hover{background:#1a558a;transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(11,30,55,0.45);}
.paywall-box__cta:active{transform:translateY(0);}
.paywall-box__login{padding:0;border:0;background:transparent;font:inherit;font-size:13.5px;color:var(--blu);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.paywall-box__login:hover{color:#1a558a;}
.paywall-box__trust{margin:18px 0 0;font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;}
.paywall-box__trust svg{flex:0 0 auto;color:#1a8a4d;}
[data-theme="dark"] .paywall-box{background:linear-gradient(180deg,var(--surface) 0%,#0f1419 100%);}
[data-theme="dark"] .paywall-box__lock{background:var(--blu);}
[data-theme="dark"] .paywall-box__kicker{background:rgba(247,126,29,0.18);}
@media (max-width:640px){
  .paywall-box{padding:30px 22px 24px;}
  .paywall-box__lock{left:22px;width:42px;height:42px;top:-19px;}
  .paywall-box__title{font-size:19px;}
  .paywall-box__bullets{grid-template-columns:1fr;gap:6px;}
  .paywall-box__actions{flex-direction:column;align-items:stretch;}
  .paywall-box__cta{justify-content:center;}
  .paywall-box__login{text-align:center;}
}

/* ──── Home Premium block (admin-driven) ──── */
.home-premium{position:relative;margin:48px 0;padding:42px 36px;background:linear-gradient(135deg,#0b1e37 0%,#15315a 60%,#1c4078 100%);border-radius:calc(var(--radius) * 1.6);color:#fff;overflow:hidden;}
.home-premium::before{content:"";position:absolute;top:-100px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(247,126,29,0.18) 0%,transparent 70%);pointer-events:none;}
.home-premium::after{content:"";position:absolute;bottom:-60px;left:-40px;width:240px;height:240px;background:radial-gradient(circle,rgba(253,184,70,0.10) 0%,transparent 70%);pointer-events:none;}
.home-premium__head{position:relative;text-align:center;margin-bottom:28px;}
.home-premium__kicker{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#fdb846,#f77e1d);color:#fff;border-radius:99px;margin-bottom:14px;}
.home-premium__title{font-size:clamp(22px,2.4vw,30px);font-weight:800;color:#fff;margin:0 0 6px;letter-spacing:-0.01em;line-height:1.2;}
.home-premium__sub{font-size:14.5px;color:rgba(255,255,255,0.72);margin:0;max-width:540px;margin-left:auto;margin-right:auto;}
.home-premium__grid{position:relative;display:grid;grid-template-columns:repeat(var(--prem-cols,4),minmax(0,1fr));gap:14px;}
.home-premium .hpost--premium{background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:14px;transition:background .18s, border-color .18s, transform .15s;}
.home-premium .hpost--premium:hover{background:rgba(0,0,0,0.015);border-color:transparent;transform:translateY(-2px);}
[data-theme="dark"] .home-premium .hpost--premium:hover{background:rgba(255,255,255,0.025);border-color:transparent;}
.home-premium .hpost--premium .hpost__title a{color:#fff;}
.home-premium .hpost--premium .hpost__title a:hover{color:#fdb846;}
.home-premium .hpost--premium .cat-pill{background:rgba(247,126,29,0.20);color:#fdb846;border:1px solid rgba(253,184,70,0.30);}
.home-premium .hpost--premium .hpost__author{color:rgba(255,255,255,0.55);}
.home-premium .hpost--premium .hpost__author:hover{color:#fff;}
.home-premium__cta-wrap{position:relative;text-align:center;margin-top:30px;}
.home-premium__cta{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:linear-gradient(135deg,#fdb846,#f77e1d);color:#fff;font-size:14.5px;font-weight:700;border-radius:var(--btn-radius);text-decoration:none;transition:transform .15s, box-shadow .2s;box-shadow:0 6px 20px -4px rgba(247,126,29,0.45);}
.home-premium__cta:hover{transform:translateY(-1px);box-shadow:0 10px 28px -6px rgba(247,126,29,0.55);}
.home-premium__cta:active{transform:translateY(0);}
@media (max-width:960px){
  .home-premium{padding:32px 22px;}
  .home-premium__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:540px){
  .home-premium__grid{grid-template-columns:1fr;}
}

/* ──── Premium badge (post sotto MemberPress) ──── */
.fm-premium-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,#fdb846,#f77e1d);color:#fff;border-radius:99px;line-height:1;vertical-align:middle;white-space:nowrap;}
.fm-premium-badge svg{flex:0 0 auto;}
.fm-premium-badge--inline{margin-left:6px;font-size:9.5px;padding:2px 7px;}
.fm-premium-badge--default{padding:3px 10px;}
[data-theme="dark"] .fm-premium-badge{box-shadow:0 0 0 1px rgba(255,255,255,0.10) inset;}

/* ══════════════════════════════════════
   MEMBERPRESS — Form restyling
   Target: .mepr-signup-form.mepr-form
══════════════════════════════════════ */
.mepr-signup-form.mepr-form{background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);padding:32px 36px;max-width:600px;margin:0 auto;}
/* Price/terms row */
.mepr-signup-form.mepr-form .mp-form-row.mepr_price{display:flex;align-items:center;justify-content:space-between;background:var(--blu);color:#fff;border-radius:var(--radius);padding:14px 18px;margin-bottom:28px;}
.mepr-signup-form.mepr-form .mepr_price_cell_label{font-size:11px;font-weight:700;color:rgba(255,255,255,0.7);text-transform:uppercase;letter-spacing:0.07em;}
.mepr-signup-form.mepr-form .mepr_price_cell{font-size:20px;font-weight:800;color:#fff;}
/* Labels */
.mepr-signup-form.mepr-form .mp-form-label label,.mepr-signup-form.mepr-form .mp-form-label .placeholder-text{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--ff);}
/* Error messages */
.mepr-signup-form.mepr-form .cc-error{display:none;font-size:11.5px;color:#c0392b;margin-top:4px;font-weight:500;}
/* Inputs */
.mepr-signup-form.mepr-form .mepr-form-input{width:100%;padding:10px 14px;font-family:var(--ff);font-size:14px;color:var(--nero);background:var(--bg);border:1px solid var(--bordo);border-radius:var(--btn-radius);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
.mepr-signup-form.mepr-form .mepr-form-input:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(34,104,167,0.10);background:#fff;}
/* Select arrow */
.mepr-signup-form.mepr-form select.mepr-form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239A9892' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;}
/* Password toggle button */
.mepr-signup-form.mepr-form .mp-hide-pw{position:relative;}
.mepr-signup-form.mepr-form .mp-hide-pw .mepr-form-input{padding-right:44px;}
.mepr-signup-form.mepr-form .button.mp-hide-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;display:flex;align-items:center;line-height:1;}
.mepr-signup-form.mepr-form .button.mp-hide-pw:hover{color:var(--nero);}
/* 2-column: Nome + Cognome */
.mepr-signup-form.mepr-form .mp-form-row.mepr_first_name,.mepr-signup-form.mepr-form .mp-form-row.mepr_last_name{float:left;width:calc(50% - 8px);}
.mepr-signup-form.mepr-form .mp-form-row.mepr_first_name{margin-right:16px;}
.mepr-signup-form.mepr-form .mp-form-row.mepr_last_name+.mp-form-row{clear:both;}
/* 2-column: Città + CAP */
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-city,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-zip{float:left;width:calc(50% - 8px);}
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-city{margin-right:16px;}
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-zip+.mp-form-row{clear:both;}
/* 2-column: Paese + Stato */
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-country,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-state{float:left;width:calc(50% - 8px);}
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-country{margin-right:16px;}
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-state+.mp-form-row{clear:both;}
/* "seconda riga per indirizzo" — opzionale, de-emphasizzato */
.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-two .placeholder-text::after{content:" (opzionale)";font-weight:400;font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted);}
/* Coupon link */
.have-coupon-link{display:inline-block;font-size:12px;font-weight:500;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin:4px 0 16px;cursor:pointer;}
.have-coupon-link:hover{color:var(--blu);}
/* Submit button */
.mepr-signup-form.mepr-form [type="submit"],.mepr-signup-form.mepr-form .mepr-submit-btn{width:100%;padding:14px;background:var(--blu);color:#fff;border:none;border-radius:var(--btn-radius);font-family:var(--ff);font-size:15px;font-weight:700;cursor:pointer;margin-top:8px;transition:background .15s,transform .1s,box-shadow .2s;box-shadow:0 4px 14px -4px rgba(11,30,55,0.35);}
.mepr-signup-form.mepr-form [type="submit"]:hover,.mepr-signup-form.mepr-form .mepr-submit-btn:hover{background:var(--blu-scuro);transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(11,30,55,0.45);}
/* Mobile */
@media(max-width:600px){
  .mepr-signup-form.mepr-form{padding:20px 16px;}
  .mepr-signup-form.mepr-form .mp-form-row.mepr_first_name,.mepr-signup-form.mepr-form .mp-form-row.mepr_last_name,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-city,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-zip,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-country,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-state{float:none;width:100%;margin-right:0;}
  .mepr-signup-form.mepr-form .mp-form-row.mepr_last_name+.mp-form-row,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-zip+.mp-form-row,.mepr-signup-form.mepr-form .mp-form-row.mepr_mepr-address-state+.mp-form-row{clear:none;}
}

/* ══════════════════════════════════════
   PAYWALL-BOX — miglioramenti conversione
══════════════════════════════════════ */
/* Bullets in colonna singola su tutti i breakpoint — più leggibili */
.paywall-box__bullets{grid-template-columns:1fr;}
/* Separatore visivo prima delle azioni */
.paywall-box__actions{padding-top:18px;border-top:1px solid var(--bordo2);}

/* ══════════════════════════════════════
   SIDEBAR
══════════════════════════════════════ */
.sidebar{position:relative;}
.sidebar-widget{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:18px;margin-bottom:16px;}
.sw-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:14px;}
.aside-consult{background:var(--nero);border-radius:var(--radius);padding:18px;margin-bottom:16px;position:relative;overflow:hidden;}
.aside-consult::before{content:'';position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:rgba(34,104,167,0.25);}
.ac-tag{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.3);margin-bottom:6px;}
.ac-title{font-size:15px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:6px;position:relative;}
.ac-body{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.55;margin-bottom:14px;position:relative;}
.ac-btn{display:block;background:var(--arancio);color:#fff;font-size:12px;font-weight:700;padding:10px;border-radius:var(--btn-radius);text-decoration:none;text-align:center;position:relative;}
.ac-sub{font-size:10px;color:rgba(255,255,255,0.25);text-align:center;margin-top:6px;}
.rel-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--bordo2);}
.rel-item:last-child{border-bottom:none;padding-bottom:0;}
.rel-n{font-size:18px;font-weight:800;color:var(--bordo);flex-shrink:0;line-height:1;margin-top:2px;min-width:20px;}
.rel-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--arancio);margin-bottom:2px;}
.rel-t{font-size:12px;font-weight:600;color:var(--nero);line-height:1.35;}
.rel-m{font-size:11px;color:var(--muted);margin-top:2px;}

/* ══════════════════════════════════════
   HOME HERO
══════════════════════════════════════ */
.home-hero{background:var(--blu);padding:64px var(--pad);}
.home-hero-inner{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.hero-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.4);margin-bottom:10px;}
.home-hero h1{font-size:clamp(28px,3vw,44px);font-weight:800;color:#fff;line-height:1.12;letter-spacing:-1px;margin-bottom:12px;}
.home-hero-desc{font-size:14px;color:rgba(255,255,255,0.55);line-height:1.7;margin-bottom:24px;max-width:420px;}
.hero-ctas{display:flex;gap:8px;align-items:center;}
.hero-cta-pri{background:var(--surface);color:var(--nero);font-size:13px;font-weight:700;padding:11px 22px;border-radius:var(--btn-radius);text-decoration:none;}
.hero-cta-sec{font-size:13px;font-weight:500;color:rgba(255,255,255,0.55);text-decoration:none;padding:11px 14px;}
.hero-cta-sec:hover{color:#fff;}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.hs{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.09);border-radius:var(--radius);padding:18px 20px;}
.hs.dk{background:rgba(0,0,0,0.18);}
.hs-lbl{font-size:10px;color:rgba(255,255,255,0.35);margin-bottom:6px;letter-spacing:0.03em;}
.hs-num{font-size:26px;font-weight:800;color:#fff;line-height:1;letter-spacing:-0.6px;}
.hs-sub{font-size:11px;color:rgba(255,255,255,0.3);margin-top:3px;}

/* HOME HERO */
.home-hero{background:var(--blu);color:#fff;padding:clamp(48px,8vw,96px) var(--pad);text-align:center;border-radius:var(--radius);margin:0 auto;max-width:var(--box-outer,1600px);}
.home-hero.has-bg{background:linear-gradient(rgba(34,104,167,0.85),rgba(34,104,167,0.85)),var(--fm-hero-bg) center/cover no-repeat;}
.home-hero-inner{max-width:var(--box);margin:0 auto;}
.home-hero-title{font-size:clamp(28px,4vw,52px);font-weight:800;color:#fff;line-height:1.12;letter-spacing:-1px;margin:0 0 14px;}
.home-hero-sub{font-size:clamp(14px,1.5vw,18px);max-width:780px;margin:0 auto 28px;line-height:1.55;opacity:0.92;font-style:italic;color:rgba(255,255,255,0.95);}
.home-hero-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.hero-btn{display:inline-block;padding:14px 28px;border-radius:var(--btn-radius);font-weight:700;text-decoration:none;font-size:14px;letter-spacing:0.2px;transition:transform .15s,background .15s,color .15s,border-color .15s;}
.hero-btn--primary{background:var(--arancio);color:#fff;border:2px solid var(--arancio);}
.hero-btn--primary:hover{background:#e65c00;border-color:#e65c00;transform:translateY(-2px);}
.hero-btn--ghost{border:2px solid rgba(255,255,255,0.85);color:#fff;}
.hero-btn--ghost:hover{background:#fff;color:var(--blu);}
@media(max-width:768px){
  .home-hero{padding:48px 20px;border-radius:0;}
  .home-hero-cta{flex-direction:column;align-items:stretch;}
  .hero-btn{width:100%;}
}

/* HOME — sec-head pill (titolo sezione su pillola nera) */
.sec-head-pill{margin:0 0 18px;border-bottom:1px solid var(--bordo);padding-bottom:0;}
.sec-pill{display:inline-block;background:var(--nero);color:#fff;font-size:13px;font-weight:700;padding:8px 14px;letter-spacing:0.2px;}

/* HOME — hpost (card unitaria condivisa: title-LEFT + thumb-RIGHT piccolo quadrato) */
.hpost{display:flex;gap:14px;align-items:flex-start;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--bordo);}
.hpost:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.hpost__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px;}
.hpost__title{font-size:16px;font-weight:700;line-height:1.3;margin:0;color:var(--nero);}
.hpost__title a{color:inherit;text-decoration:none;}
.hpost__title a:hover{color:var(--blu);}
.hpost__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cat-pill{display:inline-block;background:var(--nero);color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;letter-spacing:0.2px;text-decoration:none;line-height:1.5;}
.cat-pill:hover{background:var(--blu);color:#fff;}
.hpost__author{font-size:11.5px;color:var(--blu);text-decoration:none;}
.hpost__author:hover{text-decoration:underline;}
.hpost__excerpt{font-size:13px;color:var(--text);line-height:1.55;margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hpost__thumb{flex:0 0 84px;width:84px;height:84px;display:block;overflow:hidden;background:var(--bordo2);}
.hpost__thumb img{width:100%;height:100%;display:block;object-fit:cover;}
.hpost:hover .hpost__thumb img{transform:scale(1.04);transition:transform .25s ease;}

/* HOME — Featured block: 1 big LEFT + 3 hpost RIGHT */
.home-feat-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin:0 0 40px;padding-bottom:24px;border-bottom:1px solid var(--bordo);}
.feat-big{display:flex;flex-direction:column;gap:14px;}
.feat-big__thumb{display:block;aspect-ratio:16/10;background:var(--bordo2);overflow:hidden;}
.feat-big__thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease;}
.feat-big:hover .feat-big__thumb img{transform:scale(1.03);}
.feat-big__title{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:800;line-height:1.2;color:var(--nero);letter-spacing:-0.4px;}
.feat-big__title a{color:inherit;text-decoration:none;}
.feat-big__title a:hover{color:var(--blu);}
.feat-big__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.feat-big__author{font-size:12.5px;color:var(--blu);text-decoration:none;}
.feat-big__author:hover{text-decoration:underline;}
.feat-side{display:flex;flex-direction:column;gap:0;}
@media(max-width:960px){
  .home-feat-block{grid-template-columns:1fr;}
}

/* HOME — Grid generica 2/3/4 colonne (per sezioni hpost) */
.home-grid{display:grid;gap:28px 32px;}
.home-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.home-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.home-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.home-grid .hpost{padding-bottom:0;border-bottom:0;margin-bottom:0;}
.home-grid .hpost__title{font-size:14.5px;}
.home-grid .hpost__excerpt{font-size:12.5px;-webkit-line-clamp:2;}
.home-grid .hpost__thumb{flex:0 0 72px;width:72px;height:72px;}
@media(max-width:1100px){
  .home-grid--4{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:960px){
  .home-grid--4,.home-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
  .home-grid--4,.home-grid--3,.home-grid--2{grid-template-columns:minmax(0,1fr);}
}

/* HOME — Podcast + Most read (2-col) */
.home-podcast-block{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px;margin:0 0 40px;padding-bottom:32px;border-bottom:1px solid var(--bordo);}
.podcast-embed{position:relative;width:100%;aspect-ratio:16/9;background:#000;}
.podcast-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.most-list{list-style:none;padding:0;margin:0;}
.most-list__item{padding:14px 0;border-bottom:1px solid var(--bordo);}
.most-list__item:last-child{border-bottom:0;}
.most-list__title{display:block;font-size:14.5px;font-weight:700;line-height:1.35;color:var(--nero);text-decoration:none;}
.most-list__title:hover{color:var(--blu);}
@media(max-width:960px){
  .home-podcast-block{grid-template-columns:1fr;}
}

/* HOME — About centered (linea sopra, h2 blu maiuscolo, paragrafo serif center) */
.home-about-centered{text-align:center;padding:48px clamp(20px,4vw,60px);max-width:1100px;margin:0 auto 40px;}
.home-about-rule{display:block;width:64px;height:1px;background:var(--nero);margin:0 auto 24px;}
.home-about-h2{margin:0 0 24px;font-size:clamp(15px,1.6vw,18px);font-weight:600;color:var(--blu);letter-spacing:1.5px;line-height:1.3;}
.home-about-p{margin:0;font-size:14.5px;line-height:1.95;color:var(--text);}
@media(max-width:600px){
  .home-about-centered{padding:32px 16px;}
  .home-about-p{line-height:1.75;font-size:14px;}
}

/* HOME — vecchio FEATURED (deprecato — lasciato per retrocompat se referenziato) */
.home-featured{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:24px;}
.home-featured .feat-card--big{grid-row:span 2;}
.feat-card{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,background .15s;}
.feat-card:hover{border-color:rgba(0,0,0,0.18);background:var(--surface);}
.feat-card--big .feat-card__thumb{aspect-ratio:16/9;}
.feat-card--small{flex-direction:row;align-items:stretch;}
.feat-card--small .feat-card__thumb{flex:0 0 40%;aspect-ratio:auto;}
.feat-card__thumb{display:block;background:var(--bordo2);overflow:hidden;}
.feat-card__thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease;}
.feat-card:hover .feat-card__thumb img{transform:scale(1.04);}
.feat-card__body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;}
.feat-card--big .feat-card__body{padding:18px 22px 20px;}
.feat-card__cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--arancio);}
.feat-card__title{display:block;font-size:14px;font-weight:700;color:var(--nero);line-height:1.3;text-decoration:none;}
.feat-card--big .feat-card__title{font-size:22px;line-height:1.2;letter-spacing:-0.4px;}
.feat-card__title:hover{color:var(--blu);}
.feat-card__excerpt{font-size:13px;color:var(--muted);line-height:1.55;margin:4px 0 0;}
.feat-card__meta{font-size:11px;color:var(--muted);margin-top:auto;padding-top:6px;display:flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums;}
@media(max-width:960px){
  .home-featured{grid-template-columns:1fr;}
  .home-featured .feat-card--big{grid-row:auto;}
  .feat-card--small{flex-direction:column;}
  .feat-card--small .feat-card__thumb{flex:0 0 auto;aspect-ratio:16/9;}
}

/* HOME SECTIONS */
.home-section{margin-bottom:32px;}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.sec-head-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin:0;}
.sec-head a{font-size:12px;font-weight:600;color:var(--blu);text-decoration:none;}
.sec-head a:hover{text-decoration:underline;}

/* HOME ABOUT */
.home-about{background:var(--cream);border:1px solid var(--bordo);border-radius:var(--radius);padding:clamp(24px,4vw,40px);margin:0 0 32px;}
.home-about-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:var(--arancio);margin-bottom:8px;}
.home-about-title{font-size:clamp(20px,2.4vw,30px);font-weight:800;color:var(--nero);margin:0 0 12px;letter-spacing:-0.4px;line-height:1.2;}
.home-about-text{font-size:14px;line-height:1.65;color:var(--text);margin:0 0 16px;max-width:780px;}
.home-about-cta{font-size:13px;font-weight:600;color:var(--blu);text-decoration:none;}
.home-about-cta:hover{text-decoration:underline;}

/* HOME BODY */
.home-outer{padding:0;}
.home-outer-card{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:36px var(--pad) 52px;max-width:var(--box-outer,1600px);margin:-28px auto 0;position:relative;z-index:1;}
.home-inner{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:1fr 300px;gap:32px;}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.sec-head-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);}
.sec-head a{font-size:12px;font-weight:600;color:var(--blu);text-decoration:none;}
.post-hero{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:22px;margin-bottom:10px;}
.ph-cat{display:inline-flex;align-items:center;gap:5px;margin-bottom:10px;}
.ph-dot{width:6px;height:6px;border-radius:50%;background:var(--arancio);}
.ph-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;color:var(--nero);}
.ph-title{font-size:19px;font-weight:800;color:var(--nero);line-height:1.2;letter-spacing:-0.4px;margin-bottom:8px;}
.ph-excerpt{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:12px;}
.ph-meta{display:flex;align-items:center;justify-content:space-between;}
.ph-author{font-size:12px;font-weight:600;color:var(--text);}
.ph-right{font-size:12px;color:var(--muted);}
.post-item{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:16px 18px;margin-bottom:8px;display:flex;gap:14px;align-items:flex-start;}
.pi-num{font-size:11px;font-weight:800;color:var(--bordo);flex-shrink:0;min-width:18px;margin-top:3px;}
.pi-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--muted);margin-bottom:2px;}
.pi-title{font-size:14px;font-weight:700;color:var(--nero);line-height:1.3;margin-bottom:4px;}
.pi-meta{display:flex;align-items:center;justify-content:space-between;}
.pi-author{font-size:11px;color:var(--muted);}
.pi-date{font-size:11px;color:var(--muted);}

/* CATEGORY */
.cat-head{background:var(--cream);padding:32px var(--pad) 52px;}
.cat-head-inner{max-width:var(--box);margin:0 auto;}
/* Breadcrumb prominente: ogni segmento è una pill (coerente con .cat-pill negli hpost). Stesso stile su categoria + single. */
.cat-head .breadcrumb,.art-header .breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 28px;font-size:12px;line-height:1.4;}
.cat-head .breadcrumb a,.art-header .breadcrumb a{display:inline-flex;align-items:center;padding:6px 12px;background:rgba(0,0,0,0.05);color:var(--text);border-radius:var(--btn-radius);text-decoration:none;font-weight:500;transition:background .15s,color .15s;}
.cat-head .breadcrumb a:hover,.art-header .breadcrumb a:hover{background:var(--nero);color:#fff;}
.cat-head .breadcrumb-sep,.art-header .breadcrumb-sep{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--bordo);font-size:11px;user-select:none;}
.cat-head .breadcrumb [aria-current="page"],.art-header .breadcrumb [aria-current="page"]{display:inline-flex;align-items:center;padding:6px 12px;background:var(--nero);color:#fff;border-radius:var(--btn-radius);font-weight:700;letter-spacing:0.2px;}
.cat-kicker{display:none;}
.cat-head-title-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.cat-head h1{font-size:clamp(22px,2.4vw,34px);font-weight:800;color:var(--nero);letter-spacing:-0.6px;}
.cat-head-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.cat-sub{font-size:12px;color:var(--muted);margin-bottom:18px;}

/* ── Author archive head ── */
.cat-head--author{padding-top:36px;padding-bottom:36px;}
.author-archive-card{display:flex;gap:24px;align-items:flex-start;}
.author-archive-avatar{flex:0 0 auto;}
.author-archive-img,.author-archive-avatar img{width:96px;height:96px;border-radius:50%;object-fit:cover;display:block;background:var(--surface);}
.author-archive-meta{flex:1 1 auto;min-width:0;}
.author-archive-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.author-archive-name{font-size:clamp(22px,2.4vw,32px);font-weight:800;color:var(--nero);letter-spacing:-0.5px;margin:0 0 4px;line-height:1.2;}
.author-archive-role{font-size:13px;font-weight:600;color:var(--blu);margin-bottom:10px;}
.author-archive-bio{font-size:14px;line-height:1.6;color:var(--text);margin:0;max-width:760px;}
@media(max-width:600px){
  .author-archive-card{flex-direction:column;gap:14px;}
  .author-archive-img,.author-archive-avatar img{width:72px;height:72px;}
}
/* Accordion descrizione categoria (categorie ricche) */
.cat-desc-accordion{margin:0 0 18px;}
.cat-desc-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.5;color:var(--muted);padding:0;}
.cat-desc-accordion>summary::-webkit-details-marker{display:none;}
.cat-desc-accordion>summary::marker{display:none;content:"";}
.cat-desc-snippet{flex:1;}
.cat-desc-toggle{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--bordo);border-radius:50%;flex-shrink:0;color:var(--muted);transition:color .15s,border-color .15s,transform .25s ease;}
.cat-desc-accordion[open] .cat-desc-toggle{transform:rotate(180deg);color:var(--nero);border-color:rgba(0,0,0,0.25);}
.cat-desc-accordion:hover .cat-desc-toggle{color:var(--nero);border-color:rgba(0,0,0,0.25);}
.cat-desc-full{margin-top:14px;padding-top:14px;border-top:1px solid var(--bordo);font-size:14px;line-height:1.65;color:var(--text);}
.cat-desc-full p{margin:0 0 12px;}
.cat-desc-full p:last-child{margin-bottom:0;}
.cat-desc-full h2,.cat-desc-full h3,.cat-desc-full h4{font-size:15px;font-weight:700;color:var(--nero);margin:14px 0 6px;}
.cat-desc-full ul,.cat-desc-full ol{margin:0 0 12px 18px;}
.cat-desc-full a{color:var(--blu);text-decoration:underline;}
.filters{display:flex;gap:5px;flex-wrap:wrap;padding-bottom:14px;border-top:1px solid var(--bordo);padding-top:14px;margin-top:4px;}
.pill{font-size:12px;font-weight:600;padding:6px 15px;border-radius:var(--btn-radius);cursor:pointer;border:none;font-family:var(--ff);transition:all .15s;}
.pill-on{background:var(--nero);color:#fff;}
.pill-off{background:transparent;color:var(--muted);border:1px solid var(--bordo);}
.pill-off:hover{background:var(--surface);}
.cat-outer{padding:0;}
.cat-outer-card{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:36px var(--pad) 52px;max-width:var(--box-outer,1600px);margin:-28px auto 0;position:relative;z-index:1;}
.cat-inner{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:1fr 300px;gap:32px;}
/* Block wrapper */
.cat-block{margin-bottom:20px;}
.cat-block--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.cat-block--grid.cat-block--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cat-block--grid.cat-block--cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cat-block--grid.cat-block--cols-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.cat-block--grid.cat-block--cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.cat-block--grid.cat-block--cols-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
/* Card più compatta in grid 4-6 col */
.cat-block--cols-4 .cat-card__body,.cat-block--cols-5 .cat-card__body,.cat-block--cols-6 .cat-card__body{padding:12px 14px 14px;}
.cat-block--cols-4 .cat-card__title,.cat-block--cols-5 .cat-card__title,.cat-block--cols-6 .cat-card__title{font-size:13px;}
.cat-block--cols-4 .cat-card__excerpt,.cat-block--cols-5 .cat-card__excerpt,.cat-block--cols-6 .cat-card__excerpt{font-size:11.5px;-webkit-line-clamp:3;}
.cat-block--list{display:block;}
/* List multi-colonna: stessi item .cat-item ma griglia 2-6 col */
.cat-block--list.cat-block--cols-2,.cat-block--list.cat-block--cols-3,.cat-block--list.cat-block--cols-4,.cat-block--list.cat-block--cols-5,.cat-block--list.cat-block--cols-6{display:grid;gap:14px;}
.cat-block--list.cat-block--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.cat-block--list.cat-block--cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.cat-block--list.cat-block--cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.cat-block--list.cat-block--cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.cat-block--list.cat-block--cols-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
/* In multi-col rimuoviamo il margin-bottom dei .cat-item (gestito dal grid gap) */
.cat-block--list[class*="cat-block--cols-"] .cat-item{margin-bottom:0;}

/* List card (.cat-item) */
.cat-item{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:18px 22px;margin-bottom:10px;display:flex;gap:20px;align-items:center;transition:border-color .15s,background .15s;}
.cat-item:hover{border-color:rgba(0,0,0,0.18);background:var(--surface);}

/* Grid card (.cat-card) */
.cat-card{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s,background .15s;}
.cat-card:hover{border-color:rgba(0,0,0,0.18);background:var(--surface);}
.cat-card__thumb{display:block;aspect-ratio:16/10;background:var(--bordo2);overflow:hidden;}
.cat-card__thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease;}
.cat-card:hover .cat-card__thumb img{transform:scale(1.04);}
.cat-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;}
.cat-card__cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);}
.cat-card__cat.org{color:var(--arancio);}
.cat-card__title{display:block;font-size:14px;font-weight:700;color:var(--nero);line-height:1.3;text-decoration:none;}
.cat-card__title:hover{color:var(--blu);}
.cat-card__excerpt{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cat-card__meta{font-size:10.5px;color:var(--muted);margin-top:auto;padding-top:6px;display:flex;gap:6px;align-items:center;font-variant-numeric:tabular-nums;}
.ci-body{flex:1 1 auto;min-width:0;}
.ci-thumb{flex:0 0 200px;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);background:var(--bordo2);text-decoration:none;}
.ci-thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease;}
.cat-item:hover .ci-thumb img{transform:scale(1.04);}
.ci-cat{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:4px;}
.ci-cat.org{color:var(--arancio);}
.ci-cat.nt{color:var(--muted);}
.ci-title{display:block;font-size:15px;font-weight:700;color:var(--nero);line-height:1.3;margin-bottom:5px;text-decoration:none;}
.ci-title:hover{color:var(--blu);}
.ci-excerpt{font-size:13px;color:var(--muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ci-meta-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px;flex-wrap:wrap;}
.ci-author{font-size:11px;color:var(--muted);}
.ci-right{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}
@media(max-width:960px){
  .cat-block--grid,.cat-block--grid.cat-block--cols-3,.cat-block--grid.cat-block--cols-4,.cat-block--grid.cat-block--cols-5,.cat-block--grid.cat-block--cols-6{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cat-block--list.cat-block--cols-3,.cat-block--list.cat-block--cols-4,.cat-block--list.cat-block--cols-5,.cat-block--list.cat-block--cols-6{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .cat-item{flex-direction:column;align-items:stretch;gap:12px;padding:16px;}
  .ci-thumb{flex:0 0 auto;aspect-ratio:16/9;width:100%;order:-1;}
  .cat-block--list[class*="cat-block--cols-"]{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:600px){
  .cat-block--grid,.cat-block--grid.cat-block--cols-2,.cat-block--grid.cat-block--cols-3,.cat-block--grid.cat-block--cols-4,.cat-block--grid.cat-block--cols-5,.cat-block--grid.cat-block--cols-6{grid-template-columns:minmax(0,1fr);}
}
.load-more{padding:6px 0 20px;text-align:center;}
.load-more a{font-size:12px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--bordo);padding:9px 22px;border-radius:var(--btn-radius);text-decoration:none;display:inline-block;}

/* FOOTER */
.site-footer{background:var(--surface);border-top:1px solid var(--bordo);padding:52px var(--pad) 32px;}
.footer-top{max-width:var(--box);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:40px;}
.f-brand{font-size:16px;font-weight:800;color:var(--nero);letter-spacing:-0.4px;margin-bottom:8px;}
.f-logo{max-width:160px;height:auto;display:block;}
.f-desc{font-size:13px;color:var(--muted);line-height:1.7;max-width:230px;margin-bottom:18px;}
.f-cta{display:inline-block;background:var(--blu);color:#fff;font-size:12px;font-weight:700;padding:8px 16px;border-radius:var(--btn-radius);text-decoration:none;}
.f-col-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.09em;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:default;}
.f-col a{display:block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:9px;transition:color .15s;}
.f-col a:hover{color:var(--nero);}

/* ──── Footer accordion (mobile) ──── */
.f-col-wrap{border:0;background:none;padding:0;margin:0;}
.f-col-wrap > summary{list-style:none;}
.f-col-wrap > summary::-webkit-details-marker{display:none;}
.f-col-wrap > summary::marker{content:'';}
.f-col-arrow{flex-shrink:0;color:var(--muted);transition:transform .25s ease;display:none;}
/* Desktop: forza tutti i details aperti, nasconde arrow, summary non cliccabile */
@media (min-width:769px){
  .f-col-wrap > .f-col{display:block !important;}
  .f-col-wrap > summary{cursor:default;pointer-events:none;}
  .f-col-arrow{display:none !important;}
}
/* Mobile: arrow visibile, ruota su [open] */
@media (max-width:768px){
  .f-col-arrow{display:inline-block;}
  .f-col-wrap{border-bottom:1px solid var(--bordo);padding:14px 0;}
  .f-col-wrap > summary{cursor:pointer;margin-bottom:0;padding:2px 0;}
  .f-col-wrap[open] .f-col-arrow{transform:rotate(180deg);}
  .f-col-wrap[open] > .f-col{margin-top:14px;animation:fmFooterIn .22s ease;}
  .f-col-wrap > .f-col{margin-bottom:0;}
}
@keyframes fmFooterIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.footer-bottom{border-top:1px solid var(--bordo);max-width:var(--box);margin:0 auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.footer-bottom p{font-size:12px;color:var(--muted);}
.footer-links{display:flex;gap:18px;}
.footer-links a{font-size:12px;color:var(--muted);text-decoration:none;}


/* STICKY SIDEBAR */
.sidebar{position:relative;}
/* Sticky behavior: il SOLO ultimo widget si "ancora" allo scroll, gli altri scorrono via.
   `.sidebar-sticky{display:contents}` rende il wrapper "trasparente" lato layout: il
   containing block dell'ultimo child diventa `.sidebar` (cella grid full-height), così
   sticky ha tutto lo spazio per scorrere. Senza display:contents l'altezza del wrapper
   sarebbe = contenuto = troppo corto per attivare lo sticky. */
.sidebar-sticky{display:contents;}
.sidebar-sticky > *:last-child{position:sticky;top:var(--sticky-top);transition:top .28s ease;}

@media(max-width:960px){
  .page-inner,.home-inner,.cat-inner{grid-template-columns:1fr;}
  .sidebar,.home-aside,.cat-aside{display:none;}
  .home-hero-inner{grid-template-columns:1fr;}
  .hero-stats{display:none;}
  .art-header-inner{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  /* Topbar: nascondo i link laterali + dropdown Consulenza, lascio solo i bottoni Accedi/Abbonati */
  .topbar-nav{display:none;}
  .topbar-inner{justify-content:flex-end;}
}
@media(max-width:768px){
  /* Header compatto */
  .site-header-inner{height:54px;gap:12px;}
  .site-nav-center{display:none;}
  .site-logo svg{height:22px;}
  .site-logo-img{max-height:26px;}
  .header-right{flex-shrink:0;}
  /* Ticker compatto */
  .ticker-inner{height:32px;gap:8px;}
  .ticker-label{font-size:9px;}
  .ticker-item{font-size:11.5px;line-height:18px;}
  /* Topbar quasi invisibile (solo CTA destra) */
  .topbar-inner{height:32px;}
  .tb-btn-ghost,.tb-btn-fill{padding:4px 10px;font-size:10.5px;}
  /* Footer single-col mobile */
  .footer-top{grid-template-columns:1fr;gap:24px;}
}
@media(max-width:480px){
  /* Sotto i 480 nascondiamo anche "Accedi" per privilegiare "Abbonati" */
  .topbar-right .tb-btn-ghost{display:none;}
}

/* ══════════════════════════════════════
   ASIDE LEFT — reading progress + summary + TOC scroll-spy
══════════════════════════════════════ */
.aside-left{position:relative;}
.aside-left-sticky{position:sticky;top:var(--sticky-top);transition:top .28s ease;}

/* Reading time + progress card */
.reading-card{background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);padding:14px 16px;margin-bottom:18px;}
.reading-meta{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--nero);margin-bottom:10px;}
.reading-meta svg{color:var(--muted);flex-shrink:0;}
.reading-progress{height:3px;background:var(--bordo2);border-radius:2px;overflow:hidden;}
.reading-progress-bar{height:100%;width:0%;background:var(--nero);border-radius:2px;transition:width .12s linear;will-change:width;}

/* AI summary card */
.summary-card{background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);padding:14px 16px;margin-bottom:18px;}
.summary-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:8px;}
.summary-text{font-size:12px;line-height:1.55;color:var(--text);margin:0;}

/* TOC scroll-spy */
.toc-aside{padding-top:4px;}
.toc-aside-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--bordo);}
.toc-aside-list{list-style:none;padding:0;margin:0;counter-reset:toc;}
.toc-aside-item{counter-increment:toc;margin-bottom:10px;}
.toc-aside-item a{display:block;font-size:12.5px;font-weight:700;line-height:1.4;color:var(--nero);text-decoration:none;transition:color .15s;}
.toc-aside-item a:hover{color:var(--blu);}
.toc-aside-item.is-active a{color:var(--blu);font-weight:700;}
.toc-aside-item.is-active{border-left:2px solid var(--blu);padding-left:8px;margin-left:-10px;}
.toc-aside-item.is-passed a{color:var(--muted);font-weight:400;}

/* ══════════════════════════════════════
   LEAD FORM (multi-step)
══════════════════════════════════════ */
.fm-form{max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);padding:36px 32px;font:inherit;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.04);position:relative;}
.fm-form--compact{padding:22px 18px;}
.fm-form__title{margin:0 0 6px;font-size:24px;font-weight:700;color:var(--text);letter-spacing:-0.01em;}
.fm-form__sub{margin:0 0 20px;font-size:13.5px;color:var(--muted);}
.fm-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Progress bar */
.fm-form__progress{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 26px;}
.fm-form__progress li{flex:1;height:4px;background:var(--bordo2);border-radius:99px;transition:background .25s ease;position:relative;overflow:hidden;}
.fm-form__progress li.is-active{background:var(--blu);}
.fm-form__progress li.is-done{background:var(--blu);opacity:.55;}

/* Step container */
.fm-step{display:none;border:0;padding:0;margin:0;animation:fmStepIn .28s ease;}
.fm-step.is-active{display:block;}
@keyframes fmStepIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.fm-step__title{font-size:18px;font-weight:700;color:var(--text);margin:0 0 4px;padding:0;}
.fm-step__hint{font-size:13.5px;color:var(--muted);margin:0 0 18px;}
.fm-step__nav{display:flex;justify-content:space-between;gap:10px;margin-top:20px;}
.fm-step__nav .fm-btn--primary:only-child{margin-left:auto;}

/* Choice grid (step 1) */
.fm-choice-grid{display:flex;flex-direction:column;gap:10px;}
.fm-choice{display:block;padding:14px 16px;border:1.5px solid var(--bordo);border-radius:var(--radius);cursor:pointer;transition:border-color .15s, background .15s, transform .1s;background:var(--bg);}
.fm-choice:hover{border-color:var(--blu);}
.fm-choice.is-checked{border-color:var(--blu);background:rgba(34,104,167,0.06);}
.fm-choice input{position:absolute;opacity:0;pointer-events:none;}
.fm-choice__label{display:block;font-weight:700;color:var(--text);font-size:15px;}
.fm-choice__desc{display:block;font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.4;}

/* Field */
.fm-field{display:block;margin-bottom:14px;position:relative;}
.fm-field__label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:5px;}
.fm-field__opt{font-weight:400;color:var(--muted);font-size:12px;}
.fm-field input,.fm-field textarea,.fm-field select{width:100%;padding:11px 13px;border:1.5px solid var(--bordo);border-radius:var(--radius);background:var(--bg);font:inherit;font-size:14.5px;color:var(--text);transition:border-color .15s, box-shadow .15s;}
.fm-field input:focus,.fm-field textarea:focus,.fm-field select:focus{outline:0;border-color:var(--blu);box-shadow:0 0 0 3px rgba(34,104,167,0.12);}
.fm-field textarea{resize:vertical;min-height:120px;font-family:inherit;}
.fm-field__count{position:absolute;right:6px;bottom:-18px;font-size:11px;color:var(--muted);}
.fm-field__error{display:block;color:#c0392b;font-size:12px;margin-top:4px;}

/* Consent */
.fm-consent{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);font-size:13px;color:var(--text);line-height:1.5;cursor:pointer;margin:18px 0 14px;}
.fm-consent input{margin:2px 0 0;flex:0 0 auto;}
.fm-consent a{color:var(--blu);text-decoration:underline;}

/* Summary */
.fm-summary{margin:0;padding:16px 18px;background:var(--bg);border:1px dashed var(--bordo);border-radius:var(--radius);font-size:13.5px;}
.fm-summary__row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:5px 0;border-bottom:1px solid var(--bordo2);}
.fm-summary__row:last-child{border-bottom:0;}
.fm-summary dt{font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px;}
.fm-summary dd{margin:0;color:var(--text);word-break:break-word;}

/* Turnstile container */
.fm-turnstile{margin:14px 0;display:flex;justify-content:flex-start;}

/* Buttons */
.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 22px;font:inherit;font-size:14px;font-weight:600;border-radius:var(--btn-radius);border:1.5px solid transparent;cursor:pointer;transition:background .15s, border-color .15s, transform .1s, opacity .15s;line-height:1.2;}
.fm-btn:disabled{opacity:.5;cursor:not-allowed;}
.fm-btn--primary{background:var(--blu);color:#fff;border-color:var(--blu);}
.fm-btn--primary:hover:not(:disabled){background:#1a558a;border-color:#1a558a;}
.fm-btn--ghost{background:transparent;color:var(--text);border-color:var(--bordo);}
.fm-btn--ghost:hover{background:var(--bg);border-color:var(--text);}
.fm-btn--submit{position:relative;}
.fm-btn__spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:fmSpin .7s linear infinite;}
.fm-btn--submit.is-loading .fm-btn__spinner{display:inline-block;}
.fm-btn--submit.is-loading .fm-btn__label{opacity:.7;}

/* Error / Success */
.fm-error{margin-top:14px;padding:10px 14px;background:#fff1f0;border:1px solid #ffd0cd;border-radius:var(--radius);color:#9a1f1a;font-size:13.5px;}
[data-theme="dark"] .fm-error{background:#3a1716;border-color:#5b2120;color:#ffb3a8;}
.fm-success{text-align:center;padding:28px 16px;animation:fmStepIn .35s ease;}
.fm-success__icon{color:#1a8a4d;display:flex;justify-content:center;margin-bottom:14px;}
.fm-success__title{font-size:22px;font-weight:700;color:var(--text);margin:0 0 8px;}
.fm-success__text{font-size:14.5px;color:var(--muted);margin:0;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.55;}

@media (max-width:560px){
  .fm-form{padding:24px 18px;}
  .fm-summary__row{grid-template-columns:1fr;gap:2px;}
  .fm-summary dt{font-size:11px;}
}

/* ══════════════════════════════════════
   CATEGORY INFINITE LOADMORE
══════════════════════════════════════ */
.cat-loadmore{display:flex;flex-direction:column;align-items:center;gap:10px;margin:32px 0 8px;}
.cat-loadmore__btn{padding:12px 24px;font:inherit;font-size:14px;font-weight:600;color:var(--text);background:transparent;border:1.5px solid var(--bordo);border-radius:var(--btn-radius);cursor:pointer;transition:background .15s, border-color .15s;}
.cat-loadmore__btn:hover:not(:disabled){background:var(--cream);border-color:var(--text);}
.cat-loadmore__btn:disabled{opacity:.6;cursor:wait;}
.cat-loadmore__btn.is-loading{background-image:linear-gradient(90deg,transparent 0%, rgba(0,0,0,0.06) 50%, transparent 100%);background-size:200% 100%;animation:fmShimmer 1.2s linear infinite;}
@keyframes fmShimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
.cat-loadmore__status{font-size:12.5px;color:var(--muted);}
[data-theme="dark"] .cat-loadmore__btn:hover:not(:disabled){background:rgba(255,255,255,0.04);}

/* Card senza thumb: padding interno aumentato per compensare l'area vuota */
.cat-card--no-thumb .cat-card__body{padding:18px 18px 16px;}

/* Placeholder fallback per articoli senza featured image */
.cat-thumb-placeholder{display:block;width:100%;height:100%;object-fit:cover;}
.cat-thumb-placeholder--svg{aspect-ratio:16/9;background:var(--cream);color:var(--blu);}
[data-theme="dark"] .cat-thumb-placeholder--svg{background:var(--bg);color:var(--blu);}
.ci-thumb .cat-thumb-placeholder--svg,
.cat-card__thumb .cat-thumb-placeholder--svg{position:absolute;inset:0;}
.ci-thumb,.cat-card__thumb{position:relative;}

/* ══════════════════════════════════════
   PAGE TEMPLATE (page.php / page-wide.php)
   Riusa .page-outer/.page-outer-card/.page-inner di single (sopra) +
   gli override del custom.css. Classi nuove sotto NON in collisione.
══════════════════════════════════════ */
.page-main{max-width:760px;margin:0 auto;}
.page-inner.no-sidebar.no-sidebar-left .page-main{max-width:920px;}
.page-hero{margin:0 0 28px;border-radius:var(--radius);overflow:hidden;}
.page-hero img{display:block;width:100%;height:auto;}
.page-pagination{margin:32px 0;font-size:14px;color:var(--muted);}
.page-pagination a{color:var(--blu);text-decoration:none;}
.page-pagination a:hover{text-decoration:underline;}

/* ══════════════════════════════════════
   YOUTUBE FACADE — click-to-load (PageSpeed)
   Sostituisce l'iframe (~600KB JS) con un poster cliccabile.
   L'iframe viene iniettato solo dopo il click utente.
══════════════════════════════════════ */
.yt-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden;border-radius:var(--radius);}
.yt-facade__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:filter .2s ease;}
.yt-facade:hover .yt-facade__poster,.yt-facade:focus-visible .yt-facade__poster{filter:brightness(0.85);}
.yt-facade__btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;display:flex;align-items:center;justify-content:center;line-height:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));transition:transform .2s ease;pointer-events:none;}
.yt-facade:hover .yt-facade__btn,.yt-facade:focus-visible .yt-facade__btn{transform:translate(-50%,-50%) scale(1.08);}
.yt-facade.is-loaded{cursor:default;}
.yt-facade.is-loaded .yt-facade__poster,.yt-facade.is-loaded .yt-facade__btn{display:none;}
.yt-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ══════════════════════════════════════
   MOBILE HAMBURGER MENU — fullscreen overlay
   Layout Repubblica-like: top (logo + search + X), righe CTA, sezioni grid 2-col.
══════════════════════════════════════ */
.fm-hamburger{display:none;flex-direction:column;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin-left:6px;border:0;background:transparent;color:var(--text);cursor:pointer;gap:4px;}
.fm-hamburger__bar{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease, opacity .2s ease;}
.fm-hamburger.is-active .fm-hamburger__bar:nth-child(1){transform:translateY(6px) rotate(45deg);}
.fm-hamburger.is-active .fm-hamburger__bar:nth-child(2){opacity:0;}
.fm-hamburger.is-active .fm-hamburger__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
@media (max-width:960px){
  .fm-hamburger{display:inline-flex;}
  .site-nav-center{display:none;}
}

.fm-mobile-menu{position:fixed;inset:0;z-index:9500;background:var(--surface);color:var(--text);overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:0;transform:translateY(-6px);transition:opacity .22s ease, transform .22s ease;display:flex;flex-direction:column;}
.fm-mobile-menu[hidden]{display:none;}
.fm-mobile-menu.is-open{opacity:1;transform:translateY(0);}

.fmm-top{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bordo);position:sticky;top:0;background:var(--surface);z-index:2;}
.fmm-logo{flex:0 0 auto;line-height:0;color:var(--text);}
.fmm-logo svg,.fmm-logo .fmm-logo-img{height:34px;width:auto;display:block;}
.fmm-search{flex:1 1 auto;display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--bordo);border-radius:var(--btn-radius);padding:6px 10px;min-width:0;}
.fmm-search input{flex:1 1 auto;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;color:var(--text);outline:none;}
.fmm-search input::placeholder{color:var(--muted);}
.fmm-search-btn{flex:0 0 auto;border:0;background:transparent;color:var(--muted);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;}
.fmm-search-btn:hover{color:var(--text);}
.fmm-close{flex:0 0 auto;border:0;background:transparent;color:var(--text);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--btn-radius);transition:background .15s;}
.fmm-close:hover{background:var(--bordo2);}

.fmm-cta{display:flex;flex-direction:column;}
.fmm-cta-row{display:block;width:100%;text-align:left;padding:18px 18px;border:0;background:transparent;border-bottom:1px solid var(--bordo);font-family:inherit;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--text);text-decoration:none;cursor:pointer;transition:background .15s;}
.fmm-cta-row:hover{background:var(--bg);}

.fmm-section{padding:0;border-bottom:1px solid var(--bordo);}
.fmm-section-title{padding:22px 18px 10px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--text);margin:0;}
.fmm-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bordo);}
.fmm-grid > a{padding:14px 18px;font-size:14.5px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--bordo2);transition:background .15s, color .15s;}
.fmm-grid > a:nth-child(odd){border-right:1px solid var(--bordo2);}
.fmm-grid > a:hover{background:var(--bg);color:var(--blu);}

.fmm-foot{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bordo);margin-top:auto;}
.fmm-foot a{padding:18px;font-size:14.5px;font-weight:600;color:var(--text);text-decoration:none;transition:background .15s;}
.fmm-foot a:first-child{border-right:1px solid var(--bordo2);}
.fmm-foot a:hover{background:var(--bg);}

@media (max-width:480px){
  .fmm-top{padding:12px 14px;gap:8px;}
  .fmm-cta-row{padding:16px 14px;}
  .fmm-section-title{padding:18px 14px 8px;}
  .fmm-grid > a{padding:12px 14px;}
  .fmm-foot a{padding:16px 14px;}
}

/* Dark mode tuning per il menu mobile (eredita già le var, ma rifiniamo) */
[data-theme="dark"] .fm-mobile-menu{background:#0a0d12;}
[data-theme="dark"] .fmm-top{background:#0a0d12;}
[data-theme="dark"] .fmm-cta-row:hover,[data-theme="dark"] .fmm-grid > a:hover,[data-theme="dark"] .fmm-foot a:hover{background:rgba(255,255,255,0.04);}
[data-theme="dark"] .fmm-search{background:rgba(255,255,255,0.04);}

/* ══════════════════════════════════════
   DARK MODE — data-theme="dark" su <html>
   Override CSS variables + surface specifiche.
══════════════════════════════════════ */
[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0f1419;
  --cream:#161b22;
  --cream-scuro:#222831;
  --surface:#1a1f26;
  --text:#e8e6df;
  --muted:#8a9099;
  --bordo:rgba(255,255,255,0.10);
  --bordo2:rgba(255,255,255,0.06);
  --blu:#4d8cc8;
  --blu-scuro:#1a3a5e; /* Più chiaro di var(--bg) per restare visibile come accent box */
  --arancio:#4d8cc8;   /* Custom: arancio è alias di blu, anche in dark */
  --premium:#FE6A03;   /* Premium accent: invariato anche in dark (alta saturazione, visibile) */
  --nero:#e8e6df;
  /* Override variabili plugin GLSR (SiteReviews) — light values rimangono altrimenti light: */
  /* Inversione luminanza: gray-900 (più scuro in light) → più chiaro in dark, ecc. */
  --glsr-gray-900:#f4f3ee;
  --glsr-gray-800:#e2e0d9;
  --glsr-gray-700:#cac7bf;
  --glsr-gray-600:#a4a8af;
  --glsr-gray-500:#8a8e94;
  --glsr-gray-400:#5b6470;
  --glsr-gray-300:rgba(255,255,255,0.18);
  --glsr-gray-200:rgba(255,255,255,0.12);
  --glsr-gray-100:rgba(255,255,255,0.07);
  --glsr-gray-50:rgba(255,255,255,0.04);
}
/* Surface hardcoded in custom.css */
[data-theme="dark"] .page-outer-card{background:#1a1f26 !important;}
[data-theme="dark"] .search-overlay.open{background-color:rgba(0,0,0,0.55) !important;}
[data-theme="dark"] .wp-block-separator{border-bottom-color:var(--bordo) !important;}
[data-theme="dark"] .wp-block-table td,[data-theme="dark"] .wp-block-table th{border-color:var(--bordo) !important;}
/* Logo inversion: smart-invert (invert + hue-rotate) preserva i toni di marchio se a colori,
   trasforma neri puri in bianco. Scoped a header/footer/menu mobile, mai in print. */
[data-theme="dark"] .site-logo svg,
[data-theme="dark"] .site-logo img,
[data-theme="dark"] .site-logo-img,
[data-theme="dark"] .fmm-logo svg,
[data-theme="dark"] .fmm-logo img,
[data-theme="dark"] .fmm-logo-img,
[data-theme="dark"] .site-footer .site-logo svg,
[data-theme="dark"] .site-footer img.site-logo-img,
[data-theme="dark"] .f-logo,
[data-theme="dark"] .site-footer .f-logo{filter:invert(1) hue-rotate(180deg);}
@media print{
  /* In stampa il dark non si applica visivamente (override print white bg) ma proteggiamo il logo. */
  .site-logo svg,.site-logo img,.fmm-logo svg{filter:none !important;}
}
/* Inversioni puntuali: classi che usavano --nero come background con testo bianco */
[data-theme="dark"] .cat-pill,
[data-theme="dark"] .sec-pill,
[data-theme="dark"] .cat-head .breadcrumb [aria-current="page"],
[data-theme="dark"] .art-header .breadcrumb [aria-current="page"]{background:#0a0d12;color:var(--text);}
[data-theme="dark"] .cat-head .breadcrumb a:hover,
[data-theme="dark"] .art-header .breadcrumb a:hover{background:#0a0d12;color:var(--text);}
[data-theme="dark"] .cat-pill,[data-theme="dark"] .sec-pill{border:1px solid rgba(255,255,255,0.15);}
/* Login modal */
[data-theme="dark"] .fm-login-dialog{background:var(--surface);}
[data-theme="dark"] .fm-login-title{color:var(--text);}
[data-theme="dark"] .fm-login-sub,[data-theme="dark"] .fm-login-label,[data-theme="dark"] .fm-login-remember{color:var(--muted);}
[data-theme="dark"] .fm-login-label input{background:#0a0d12;border-color:rgba(255,255,255,0.14);color:var(--text);}
[data-theme="dark"] .fm-login-label input:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(77,140,200,0.18);}
[data-theme="dark"] .fm-login-error{background:#3a1716;border-color:#5b2120;color:#ffb3a8;}
[data-theme="dark"] .fm-login-meta{border-top-color:var(--bordo);}
[data-theme="dark"] .fm-login-close{color:var(--muted);}
[data-theme="dark"] .fm-login-close:hover{background:rgba(255,255,255,0.06);color:var(--text);}
[data-theme="dark"] .fm-login-backdrop{background:rgba(0,0,0,0.65);}
/* Card / sidebar surfaces che usano #fff hardcoded */
[data-theme="dark"] .cat-outer-card,[data-theme="dark"] .home-outer-card,[data-theme="dark"] .page-outer-card,[data-theme="dark"] .art-outer-card{background:var(--surface);}
[data-theme="dark"] .aside-consult{background:var(--cream);border:1px solid var(--bordo);}
[data-theme="dark"] img{opacity:0.92;}
[data-theme="dark"] img:hover{opacity:1;}
/* Smooth color transitions per evitare flash brusco al toggle */
html{transition:background-color .25s ease, color .25s ease;}
body,.cat-outer-card,.home-outer-card,.page-outer-card,.fm-login-dialog,.aside-consult{transition:background-color .25s ease, color .25s ease, border-color .25s ease;}

/* ── TOPBAR THEME SWITCH ── */
.tb-theme-switch{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;margin-left:6px;padding:0;border:1px solid var(--bordo);border-radius:var(--btn-radius);background:transparent;color:var(--text);cursor:pointer;transition:background .15s,border-color .15s,color .15s;position:relative;}
.tb-theme-switch:hover{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.15);}
[data-theme="dark"] .tb-theme-switch:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.18);}
.tb-theme-icon{display:none;line-height:0;}
.tb-theme-switch[data-fm-theme-state="auto"]  .tb-theme-icon--auto,
.tb-theme-switch[data-fm-theme-state="light"] .tb-theme-icon--light,
.tb-theme-switch[data-fm-theme-state="dark"]  .tb-theme-icon--dark{display:inline-block;}
/* Stato iniziale prima che JS imposti data-fm-theme-state: mostra icona auto */
.tb-theme-switch:not([data-fm-theme-state]) .tb-theme-icon--auto{display:inline-block;}

/* ══════════════════════════════════════
   PRINT / PDF — content pulito, header con logo
══════════════════════════════════════ */
.print-header{display:none;}
@media print{
  @page{margin:1.5cm;}
  /* Nascondi tutto il chrome del sito */
  .topbar,.site-header,.ticker-bar,.search-overlay,
  .skip-link,.site-footer,.art-actions,.paywall-cta,
  .aside-consult,.sidebar-widget,.sidebar,.cat-aside,
  .filters,.sommario,.art-pagination{display:none !important;}
  /* Mostra il print-header con logo Fiscomania */
  .print-header{display:block !important;padding-bottom:8mm;margin-bottom:8mm;border-bottom:1pt solid #000;}
  .print-header svg{max-height:14mm;width:auto;display:block;fill:#000;}
  .print-header svg path{fill:#000 !important;}
  .print-meta{font-size:9pt;color:#555;margin-top:3mm;}
  /* Reset palette per print: niente sfondi colorati, testo nero */
  body,.art-header,.page-outer,.page-outer-card{background:#fff !important;color:#000 !important;}
  .page-outer-card{box-shadow:none !important;max-width:100% !important;padding:0 !important;margin:0 !important;border-radius:0 !important;}
  .page-inner{display:block !important;max-width:100% !important;}
  /* Article header ridotto */
  .art-header{padding:0 0 6mm !important;}
  .art-header-inner{max-width:100% !important;padding:0 !important;}
  .art-header h1{font-size:18pt !important;line-height:1.25 !important;color:#000 !important;}
  .art-title-row{display:block !important;}
  .breadcrumb{font-size:9pt !important;color:#555 !important;margin-bottom:4mm !important;}
  .art-cat-row,.art-meta-row{font-size:9pt !important;color:#555 !important;margin-bottom:3mm !important;}
  .art-meta-row{display:block !important;}
  .art-avatar{display:none !important;}
  /* Article body — page break smart */
  .prose{font-size:11pt !important;line-height:1.55 !important;color:#000 !important;}
  .prose p{font-size:11pt !important;line-height:1.55 !important;orphans:3;widows:3;}
  .prose h2{font-size:14pt !important;color:#000 !important;page-break-after:avoid;break-after:avoid;}
  .prose h3{font-size:12pt !important;color:#000 !important;page-break-after:avoid;break-after:avoid;}
  .prose img,.art-hero img{max-width:100% !important;height:auto !important;}
  .prose figure,.art-hero,.prose blockquote,.prose pre,.prose table{page-break-inside:avoid;break-inside:avoid;}
  /* Mostra URL inline accanto ai link esterni */
  .prose a[href]:not([href^="#"]):not([href^="mailto:"]):after{content:" (" attr(href) ")";font-size:9pt;color:#555;word-break:break-all;}
  /* Paywall blur OFF in print: chi stampa è loggato e abbonato (vede tutto) */
  .paywall-blur{filter:none !important;max-height:none !important;overflow:visible !important;}
  .paywall-fade{display:none !important;}
}

/* ───────────────────── LOGIN MODAL ───────────────────── */
.fm-no-scroll{overflow:hidden !important;}
.fm-login-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .18s ease;}
.fm-login-modal.is-open{opacity:1;}
.fm-login-modal[hidden]{display:none;}
.fm-login-backdrop{position:absolute;inset:0;background:rgba(11,30,55,0.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.fm-login-dialog{position:relative;width:100%;max-width:420px;background:#fff;border-radius:var(--radius,7px);box-shadow:0 24px 60px -12px rgba(11,30,55,0.35),0 8px 24px -8px rgba(11,30,55,0.18);padding:32px 28px 24px;transform:translateY(8px);transition:transform .18s ease;}
.fm-login-modal.is-open .fm-login-dialog{transform:translateY(0);}
.fm-login-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:0;background:transparent;font-size:24px;line-height:1;color:#666;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;}
.fm-login-close:hover{background:#f0f2f5;color:#111;}
.fm-login-title{margin:0 0 6px;font-size:22px;font-weight:700;color:#0b1e37;letter-spacing:-0.01em;}
.fm-login-sub{margin:0 0 18px;font-size:13.5px;color:#5b6776;line-height:1.45;}
.fm-login-form{display:flex;flex-direction:column;gap:12px;}
.fm-login-label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#4b5563;font-weight:500;}
.fm-login-label input{width:100%;padding:10px 12px;border:1.5px solid #d8dde3;border-radius:var(--radius,7px);background:#fff;font-size:14.5px;color:#111;transition:border-color .15s,box-shadow .15s;}
.fm-login-label input:focus{outline:0;border-color:var(--blu,#0b1e37);box-shadow:0 0 0 3px rgba(11,30,55,0.10);}
.fm-login-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563;cursor:pointer;user-select:none;margin-top:2px;}
.fm-login-remember input{margin:0;width:14px;height:14px;}
.fm-login-submit{position:relative;margin-top:6px;padding:12px 16px;border:0;border-radius:var(--btn-radius,7px);background:var(--blu,#0b1e37);color:#fff;font-size:14.5px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px;}
.fm-login-submit:hover:not(:disabled){background:#15315a;}
.fm-login-submit:disabled{opacity:.65;cursor:wait;}
.fm-login-submit-label{display:inline-block;}
.fm-login-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:fmSpin .7s linear infinite;}
.fm-login-submit.is-loading .fm-login-spinner{display:inline-block;}
@keyframes fmSpin{to{transform:rotate(360deg);}}
.fm-login-error{margin:8px 0 0;padding:8px 10px;background:#fff1f0;border:1px solid #ffd0cd;border-radius:var(--radius,7px);color:#9a1f1a;font-size:13px;line-height:1.4;}
.fm-login-meta{margin-top:18px;padding-top:14px;border-top:1px solid #eef0f3;font-size:13px;color:#5b6776;text-align:center;}
.fm-login-meta-link{color:#5b6776;text-decoration:none;font-weight:500;transition:color .15s;}
.fm-login-meta-link:hover{color:var(--blu,#0b1e37);text-decoration:underline;}
.fm-login-meta-link--accent{color:var(--arancio,#e07a3c);font-weight:600;}
.fm-login-meta-link--accent:hover{color:#c25e1f;}
.fm-login-meta-sep{margin:0 8px;color:#c8cdd5;}
.fm-login-trigger{cursor:pointer;font:inherit;}
@media (max-width:480px){
  .fm-login-dialog{padding:26px 20px 20px;border-radius:10px;}
  .fm-login-title{font-size:19px;}
}
}

/* ══════════════════════════════════════
   MOBILE CTA FIXED + FORM MODAL
══════════════════════════════════════ */
/* Bulletproof: !important sui critici per battere eventuali override cached/cascade */
.fm-mob-cta{position:fixed !important;bottom:24px !important;left:50% !important;transform:translateX(-50%) !important;z-index:9999 !important;pointer-events:none;opacity:0;transition:opacity .25s ease;width:auto !important;max-width:calc(100vw - 32px);margin:0 !important;}
.fm-mob-cta.is-visible{opacity:1;pointer-events:auto;}
@media(min-width:961px){.fm-mob-cta{display:none !important;}}
.fm-mob-cta-btn{display:flex;align-items:center;gap:8px;background:var(--blu);color:#fff;font-size:13px;font-weight:700;font-family:var(--ff);padding:13px 24px;border-radius:40px;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(34,104,167,0.45);white-space:nowrap;transition:background .15s,transform .1s;}
.fm-mob-cta-btn:hover{background:#1a5590;}
.fm-mob-cta-btn:active{transform:scale(0.97);}
/* Dialog: centratura esplicita (alcuni reset CSS spengono il margin:auto della UA) */
.fm-cta-dialog{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  margin:0;
  border:none;
  padding:0;
  border-radius:var(--radius);
  box-shadow:0 24px 60px rgba(0,0,0,0.25);
  width:min(560px,96vw);
  max-height:90vh;
  overflow:hidden;
  background:var(--surface);
}
.fm-cta-dialog::backdrop{background:rgba(0,0,0,0.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.fm-cta-dialog-inner{display:flex;flex-direction:column;max-height:90vh;position:relative;}
.fm-cta-dialog-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:1px solid var(--bordo);background:var(--surface);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);transition:color .15s,background .15s;z-index:2;}
.fm-cta-dialog-close:hover{color:var(--nero);background:var(--bg);}
.fm-cta-dialog-body{overflow-y:auto;padding:28px 28px 24px;}
@media(max-width:640px){
  .fm-cta-dialog{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    transform:none !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    border-radius:0 !important;
    margin:0 !important;
  }
  .fm-cta-dialog-inner{max-height:100dvh;height:100%;}
  .fm-cta-dialog-body{padding:56px 20px 24px;}
  .fm-cta-dialog-close{top:12px;right:12px;}
}
/* Bottone `.ac-btn` usato come `<button>` nella sidebar (cta_mobile_enabled) */
button.ac-btn{width:100%;cursor:pointer;border:none;font-family:var(--ff);}

/* ══════════════════════════════════════
   SIDEBAR: PIÙ LETTI
══════════════════════════════════════ */
.mr-item{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--bordo2);}
.mr-item:last-child{border-bottom:none;padding-bottom:0;}
.mr-n{font-size:20px;font-weight:800;color:var(--cream);line-height:1;min-width:28px;flex-shrink:0;}
.mr-t{font-size:13px;font-weight:600;color:var(--text);text-decoration:none;line-height:1.35;display:block;}
.mr-t:hover{color:var(--blu);}
.mr-m{font-size:11px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums;}

/* ══════════════════════════════════════
   SIDEBAR: CTA MEMBERSHIP
══════════════════════════════════════ */
.sw-membership{background:linear-gradient(135deg,var(--blu) 0%,#1a5590 100%) !important;border:none !important;}
.sw-mem-icon{width:36px;height:36px;background:rgba(255,255,255,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.sw-mem-icon svg{color:#fff;}
.sw-mem-title{font-size:14px;font-weight:800;color:#fff;margin-bottom:6px;line-height:1.25;}
.sw-mem-body{font-size:12px;color:rgba(255,255,255,0.75);line-height:1.5;margin-bottom:14px;}
.sw-mem-btn{display:block;background:#fff;color:var(--blu);font-size:12px;font-weight:700;padding:9px 12px;border-radius:var(--btn-radius);text-decoration:none;text-align:center;transition:background .15s;}
.sw-mem-btn:hover{background:#f0f5fc;}

/* ══════════════════════════════════════════════════════════════════════
   CUSTOM INTEGRATION — regole originariamente in custom.css
   Spostate qui per consolidare. Mantengono lo stesso ordine/cascata
   per preservare il comportamento esistente.
══════════════════════════════════════════════════════════════════════ */
a{color:var(--glsr-gray-900);}
a:hover{color:var(--blu);}
.cat-head{padding:20px var(--pad) 15px;}
.cat-head .breadcrumb [aria-current="page"]{padding:2px 8px;}
.fm-premium-badge,.home-premium__kicker,.home-premium__cta{background:var(--premium);}
.home-premium{position:relative;color:var(--glsr-gray-900);border:2.5px solid var(--premium);background:transparent;border-radius:calc(var(--radius) * 1.6);overflow:hidden;}
.home-premium .hpost--premium .cat-pill{background:transparent;color:var(--glsr-gray-700);border:0.5px solid var(--glsr-gray-300);border-radius:var(--btn-radius);}
.home-premium__title,.home-premium__sub,.home-premium .hpost--premium .hpost__title a,.home-premium .hpost--premium .hpost__author{color:var(--glsr-gray-900);}
.home-premium::before,.home-premium::after{background:none;}
.art-header .breadcrumb [aria-current="page"]{padding:2px 8px;background:var(--glsr-gray-900);}
.cat-head .breadcrumb-sep,.art-header .breadcrumb-sep{color:var(--glsr-gray-900);}
.home .home-outer{margin-top:30px;}
.page .cat-head .breadcrumb,.page .art-header .breadcrumb{gap:4px;margin:0 0 18px;justify-content:center;}
.aside-consult{background:var(--blu-scuro);border-radius:var(--radius);}
.fm-mob-cta-btn{border-radius:7px;}
:where(.wp-block-search__input){border:0.5px solid #949494;padding:10px;border-radius:var(--radius);}
.cat-head .breadcrumb a:hover,.art-header .breadcrumb a:hover{background:var(--blu) !important;color:#fff;}
.hero-btn--primary:hover{color:#FFFFFF !important;}
.sw-mem-icon{display:none;}
.art-hero img{width:100%;border-radius:var(--radius);}
.nav-drop-panel{top:100%;left:calc(100% + 30px);background:var(--cream);border:0.5px solid var(--cream-scuro);padding:6px;max-width:300px;min-width:220px;z-index:500;margin-top:1px;}
.site-nav-center a{white-space:normal !important;}
.wp-block-search__button{border:1px solid var(--blu);background:var(--blu);color:var(--cream);border-radius:var(--radius);padding:.375em 1.625em;}
.aside-consult::before{background:none;}
.ac-btn{background:var(--premium);}
.page .art-header .breadcrumb a{border:0.5px solid var(--glsr-gray-300);background-color:transparent;}
.cat-head .breadcrumb [aria-current="page"],.art-header .breadcrumb [aria-current="page"]{background:var(--cream-scuro);color:var(--glsr-gray-900);font-weight:400;}
.pill-off:hover{background:var(--cream-scuro);color:var(--glsr-gray-900);}
.site-nav-center a:hover{background:var(--cream-scuro);}
.cat-desc-accordion>summary{color:var(--glsr-gray-900);}
.rel-cat{color:var(--glsr-gray-600);font-weight:400;}
.rel-t{font-size:14px;text-decoration:none;line-height:1.15;}
.page-outer-card{border-radius:7px;}
.page-outer{background:var(--cream);padding:30px;}
.page-outer-card{background:#FAF9F5;padding:50px 50px;}
.page .page-outer-card{background:transparent;padding:0;}
.page .page-inner{max-width:1024px;gap:32px;background:var(--surface);margin:0 auto;padding:30px;border-radius:7px;}
.page .prose h2{font-size:20px;}
.wp-block-image img{border-radius:7px;}
ol,ul{margin-left:15px;margin-bottom:20px;}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100% !important;}
.wp-block-separator{border:none;border-bottom:0.5px solid var(--cream) !important;margin:15px 0 !important;}
.sommario li a{color:var(--glsr-gray-900);}
.sommario li a:hover{color:var(--blu);}
.aside-consult{border-radius:7px;}
.sidebar-widget{border-radius:7px;}
.wp-block-table{padding:20px 0;}
.wp-block-table td,.wp-block-table th{border:0.5px solid;}
.page-inner{max-width:100%;margin:0;gap:32px;}
.site-footer{background:var(--cream);}
.home-hero{background:var(--cream);color:var(--glsr-gray-900);padding:clamp(48px,8vw,96px) var(--pad);text-align:center;border-radius:0;margin:0 auto;max-width:100vw;}
.home-hero-inner{display:grid;grid-template-columns:1fr;gap:0;}
.home-hero-sub,.home-hero h1{color:var(--glsr-gray-900);}
.home-inner{grid-template-columns:1fr;}
.cat-sub{font-size:14px;color:var(--glsr-gray-600);padding:0 20px;border-radius:var(--glsr-design-radius);}
.art-author-role{color:var(--glsr-gray-600);}
.sommario{background:transparent;border:0;border-radius:0;border-top:0.5px solid var(--bordo);border-bottom:0.5px solid var(--bordo);padding:18px 20px;margin-bottom:28px;}
.prose p,.prose h5{font-size:15px;}
.prose h2{font-size:24px;}
.cat-outer-card{background:transparent;padding:0;margin:0 auto;}
.art-action,.art-actions a{color:var(--glsr-gray-800);border:0.5px solid var(--glsr-gray-800);background:var(--cream);}
.art-action:hover,.art-actions a:hover{color:var(--cream);border:0.5px solid var(--glsr-gray-800);background:var(--glsr-gray-800);}
.cat-head .breadcrumb a,.art-header .breadcrumb a{padding:2px 8px;}
.cat-label{font-weight:400;text-decoration:none;}
.fmev-pension-wrapper{width:100%;max-width:100%;}
.cat-head .breadcrumb a{padding:2px 8px;background:var(--cream);color:var(--glsr-gray-800);border-radius:var(--btn-radius);border:0.5px solid var(--glsr-gray-300);font-weight:400;}
.search-btn{background:transparent;border:0;}
.search-overlay.open{background-color:rgba(255,255,255,0.3);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.cat-outer{background:var(--cream);}
.site-nav-center a,.topbar-nav a{color:var(--glsr-gray-700);}
.pill{font-weight:400;color:var(--glsr-gray-700);text-decoration:none;}
.pill-on{background:var(--cream-scuro);}
.cat-card__title{font-size:16px;}
.cat-card__cat{font-weight:400;}
.fm-mobile-menu{position:fixed;inset:0;z-index:9500;background:var(--cream-scuro);}
.ticker-label,.meta-chip,.search-btn svg,.summary-label,.summary-card,.toc-aside-label{color:var(--glsr-gray-700);}
.art-header{background:transparent;padding:20px var(--pad) 20px;}
.ci-title{font-size:16px;}
.page-inner.no-sidebar .page-main{max-width:100vw;}
.cat-pill{background:transparent;color:var(--glsr-gray-700);border:0.5px solid var(--glsr-gray-300);border-radius:var(--btn-radius);}
.tb-btn-ghost{font-size:11px !important;font-weight:600;color:var(--glsr-gray-700);text-decoration:none;padding:5px 14px;border-radius:var(--btn-radius);background-color:transparent;border:1px solid var(--bordo);transition:all .15s;}
.hero-btn--ghost{border:2px solid var(--glsr-gray-700);color:var(--glsr-gray-700);}
.hero-btn--ghost:hover{background:var(--blu);color:#FFF;border-color:var(--blu);}
.home-outer-card{background-color:var(--surface);}
.sec-pill{color:var(--glsr-gray-700);border:1px solid var(--bordo);border-bottom:0;border-top-left-radius:7px;border-top-right-radius:7px;background:transparent;padding:8px 14px;}
.f-col-title,.f-col a,.footer-bottom p,.footer-links a{color:var(--glsr-gray-700);}
.f-desc{color:var(--glsr-gray-600);}
.single .cat-head .breadcrumb a,.single .art-header .breadcrumb a{border:0.5px solid var(--glsr-gray-300);background:rgba(0,0,0,0);}
.site-nav-center a.cur{border:0.5px solid var(--glsr-gray-600);}
.feat-big__thumb img,.hpost__thumb img{border-radius:var(--radius) !important;}
.page .art-header{align-items:center;display:flex;}

@media (max-width:960px){
  .page-inner{grid-template-columns:calc(100% - 0px) 300px;margin:0 auto;}
  .page-outer{padding:4px;}
  .site-header-inner{justify-content:space-between;}
  .fm-mobile-menu .fmm-logo svg{height:10px;}
  .fmm-cta-row{border-bottom:0.5px solid var(--bordo);font-size:14px;}
  .fmm-top{border-bottom:0.5px solid var(--bordo);background:var(--cream-scuro);}
  .fmm-section{border-bottom:0.5px solid var(--bordo);}
  .fmm-search{background:var(--cream);border:0.5px solid var(--bordo);border-radius:var(--btn-radius);}
  .fmm-search-btn{color:var(--glsr-gray-700);}
  .search-btn svg{width:20px;height:20px;color:var(--glsr-gray-700);}
  .art-header{padding:20px var(--pad) 45px;}
  .cat-head .breadcrumb,.art-header .breadcrumb{margin:0 0 18px;}
  .page .art-header{margin-top:20px;}
  .page .page-inner.no-sidebar.no-sidebar-left .page-main{max-width:100%;}
  .f-col-wrap{border-bottom:0 solid var(--bordo);padding:5px 0;}
  .page-outer-card{padding:30px;}
  .fmm-logo svg,.fmm-logo .fmm-logo-img{height:34px;border:0.5px solid var(--glsr-gray-700);padding:7px;border-radius:7px;}
}

/* ── CONTINUOUS READ — separator + article spacing ── */
.cr-article{
  padding-top:64px;
  padding-bottom:24px;
  margin-top:48px;
  border-top:0.5px solid var(--bordo);
  position:relative;
}
.cr-art-header{margin-top:0;border-radius:0;}
.cr-separator{
  display:flex;
  justify-content:center;
  margin:0 auto 36px;
}
.cr-separator-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 18px 9px 20px;
  border:1px solid var(--bordo);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--muted);
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  white-space:nowrap;
  line-height:1;
}
.cr-separator-arrow{
  flex-shrink:0;
  color:currentColor;
  transition:transform .25s ease;
}
.cr-article:hover .cr-separator-arrow{transform:translateY(2px);}

/* Loading dots (placeholder mentre l'endpoint risponde) */
.cr-loading{display:flex;align-items:center;justify-content:center;padding:40px;gap:8px;color:var(--muted);font-size:13px;}
.cr-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--bordo);animation:cr-pulse 1.2s ease-in-out infinite;}
.cr-loading-dot:nth-child(2){animation-delay:.2s;}
.cr-loading-dot:nth-child(3){animation-delay:.4s;}
@keyframes cr-pulse{0%,100%{opacity:.3;transform:scale(.8);}50%{opacity:1;transform:scale(1);}}

/* Sentinel: invisibile, solo trigger observer */
.cr-sentinel{height:1px;visibility:hidden;}

/* Dark mode override per separator label */
[data-theme="dark"] .cr-separator-label{
  background:var(--cream);
  border-color:var(--bordo);
  color:var(--muted);
}

/* ── WEB PUSH PROMPT ── */
#push-prompt{position:fixed;bottom:-120px;left:50%;transform:translateX(-50%);z-index:1000;width:min(520px,calc(100vw - 32px));transition:bottom .4s cubic-bezier(0.34,1.56,0.64,1);}
#push-prompt.push-prompt-visible{bottom:24px;}
.push-prompt-inner{background:var(--surface);border:1px solid var(--bordo);border-radius:20px;padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 32px rgba(0,0,0,0.10);}
.push-prompt-icon{width:42px;height:42px;background:#EBF3FB;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--blu);flex-shrink:0;}
.push-success-icon{background:#E8F5EE;color:#1a7a52;font-size:18px;font-weight:800;}
.push-prompt-text{flex:1;min-width:0;}
.push-prompt-title{font-size:14px;font-weight:700;color:var(--nero);margin-bottom:3px;}
.push-prompt-desc{font-size:12px;color:var(--muted);line-height:1.5;}
.push-prompt-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
.push-btn-yes{background:var(--blu);color:#fff;font-size:12px;font-weight:700;padding:8px 16px;border-radius:9px;border:none;cursor:pointer;font-family:var(--ff);white-space:nowrap;}
.push-btn-no{background:transparent;color:var(--muted);font-size:11px;font-weight:500;padding:4px 8px;border:none;cursor:pointer;font-family:var(--ff);text-align:center;}
@media(max-width:600px){
  .push-prompt-inner{flex-wrap:wrap;}
  .push-prompt-actions{flex-direction:row;width:100%;}
  .push-btn-yes{flex:1;}
}

/* ══════════════════════════════════════════════════════════════════════
   CUSTOM DARK MODE OVERRIDES — versioni dark per le regole
   integrate dal custom.css (colori hardcoded o accent specifici).
══════════════════════════════════════════════════════════════════════ */
/* Body/page layers in dark: cream è già overridato in :root[data-theme="dark"] */
[data-theme="dark"] .page-outer{background:var(--cream);}
[data-theme="dark"] .page-outer-card{background:var(--surface) !important;}
[data-theme="dark"] .page .page-outer-card{background:transparent !important;}
[data-theme="dark"] .page .page-inner{background:var(--surface);}
[data-theme="dark"] .home-outer-card{background-color:var(--surface);}
[data-theme="dark"] .cat-outer{background:var(--cream);}
[data-theme="dark"] .cat-outer-card{background:transparent;}
[data-theme="dark"] .site-footer{background:var(--cream);}

/* Hero/header in dark */
[data-theme="dark"] .home-hero{background:var(--cream);color:var(--text);}
[data-theme="dark"] .home-hero-sub,
[data-theme="dark"] .home-hero h1{color:var(--text);}
[data-theme="dark"] .art-header{background:transparent;}

/* Aside consult: il blu-scuro custom va bene anche in dark (override già in :root[dark]) */
/* .aside-consult, .ac-btn usano già var(--blu-scuro) e var(--premium): nessun fix necessario */

/* Search overlay backdrop in dark */
[data-theme="dark"] .search-overlay.open{background-color:rgba(0,0,0,0.55) !important;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}

/* Search input in dark */
[data-theme="dark"] :where(.wp-block-search__input){border-color:var(--bordo);background:var(--surface);color:var(--text);}
[data-theme="dark"] .wp-block-search__button{background:var(--blu);color:#fff;border-color:var(--blu);}

/* Breadcrumb a:hover in dark — il fix .breadcrumb a:hover { background: var(--blu) !important } resta valido perché --blu è override-ato */

/* Mobile menu in dark — già coperto da [data-theme="dark"] .fm-mobile-menu in main esistente */
/* Custom: .fm-mobile-menu{background: var(--cream-scuro)} → in dark var(--cream-scuro)=#222831, OK */

/* Push prompt icon — hardcoded #EBF3FB in light → dark accent */
[data-theme="dark"] .push-prompt-inner{background:var(--surface);border-color:var(--bordo);box-shadow:0 8px 32px rgba(0,0,0,0.5);}
[data-theme="dark"] .push-prompt-icon{background:rgba(77,140,200,0.18);color:var(--blu);}
[data-theme="dark"] .push-success-icon{background:rgba(5,122,85,0.20);color:#4ade80;}
[data-theme="dark"] .push-prompt-title{color:var(--text);}
[data-theme="dark"] .push-prompt-desc{color:var(--muted);}

/* Sidebar widgets / sommario / table in dark */
[data-theme="dark"] .sommario{background:transparent;border-top-color:var(--bordo);border-bottom-color:var(--bordo);}
[data-theme="dark"] .wp-block-separator{border-bottom-color:var(--bordo) !important;}
[data-theme="dark"] .wp-block-table td,
[data-theme="dark"] .wp-block-table th{border-color:var(--bordo);}

/* Borders/breadcrumb dark — usa var(--cream-scuro), già OK in dark */
[data-theme="dark"] .cat-head .breadcrumb [aria-current="page"],
[data-theme="dark"] .art-header .breadcrumb [aria-current="page"]{background:var(--cream-scuro);color:var(--text);}
[data-theme="dark"] .cat-head .breadcrumb a{background:var(--cream);color:var(--text);border-color:var(--bordo);}
[data-theme="dark"] .page .art-header .breadcrumb a{border-color:var(--bordo);}
[data-theme="dark"] .single .cat-head .breadcrumb a,
[data-theme="dark"] .single .art-header .breadcrumb a{border-color:var(--bordo);}

/* Pill / cat-pill / sec-pill in dark */
[data-theme="dark"] .cat-pill{border-color:var(--bordo);color:var(--muted);}
[data-theme="dark"] .sec-pill{color:var(--muted);border-color:var(--bordo);}
[data-theme="dark"] .pill-off:hover{background:var(--cream-scuro);color:var(--text);}
[data-theme="dark"] .pill-on{background:var(--cream-scuro);}

/* Hero CTA ghost button in dark */
[data-theme="dark"] .hero-btn--ghost{border-color:var(--muted);color:var(--text);}
[data-theme="dark"] .hero-btn--ghost:hover{background:var(--blu);color:#fff;border-color:var(--blu);}

/* tb-btn-ghost in dark */
[data-theme="dark"] .tb-btn-ghost{color:var(--muted);border-color:var(--bordo);background-color:transparent;}

/* Article actions in dark */
[data-theme="dark"] .art-action,
[data-theme="dark"] .art-actions a{color:var(--text);border-color:var(--bordo);background:var(--cream);}
[data-theme="dark"] .art-action:hover,
[data-theme="dark"] .art-actions a:hover{color:var(--cream);background:var(--text);border-color:var(--text);}

/* nav-drop-panel custom (left:calc(100%+30px)) in dark: solo background corretto */
[data-theme="dark"] .nav-drop-panel{background:var(--cream);border-color:var(--bordo);box-shadow:0 8px 28px rgba(0,0,0,0.4);}

/* Mobile menu — già copertura via override [data-theme="dark"] .fm-mobile-menu{background:#0a0d12} esistente.
   La regola custom .fm-mobile-menu{background:var(--cream-scuro)} qui sopra ha specificità uguale ma viene
   PRIMA dell'override esistente; per garantire il dark, ribadisco con specificità +1: */
[data-theme="dark"][data-theme="dark"] .fm-mobile-menu{background:#0a0d12;}

/* Footer columns in dark */
[data-theme="dark"] .f-col-title,
[data-theme="dark"] .f-col a,
[data-theme="dark"] .footer-bottom p,
[data-theme="dark"] .footer-links a{color:var(--muted);}
[data-theme="dark"] .f-desc{color:var(--muted);}

/* Site nav center & topbar nav in dark */
[data-theme="dark"] .site-nav-center a,
[data-theme="dark"] .topbar-nav a{color:var(--muted);}
[data-theme="dark"] .site-nav-center a:hover{background:var(--cream-scuro);color:var(--text);}
[data-theme="dark"] .site-nav-center a.cur{border-color:var(--muted);}

/* Sommario list links */
[data-theme="dark"] .sommario li a{color:var(--text);}
[data-theme="dark"] .sommario li a:hover{color:var(--blu);}

/* Cat description accordion */
[data-theme="dark"] .cat-desc-accordion>summary{color:var(--text);}

/* Rel-cat / rel-t */
[data-theme="dark"] .rel-cat{color:var(--muted);}

/* Author role / cat-sub */
[data-theme="dark"] .art-author-role{color:var(--muted);}
[data-theme="dark"] .cat-sub{color:var(--muted);}

/* Ticker label, meta chips, summary */
[data-theme="dark"] .ticker-label,
[data-theme="dark"] .search-btn svg,
[data-theme="dark"] .summary-label,
[data-theme="dark"] .summary-card,
[data-theme="dark"] .toc-aside-label{color:var(--muted);}
[data-theme="dark"] .meta-chip{color:var(--text);}
[data-theme="dark"] .meta-chip svg{color:var(--muted);}
[data-theme="dark"] .reading-meta{color:var(--text);}

/* Home premium card in dark — premium border resta arancione, bg trasparente OK */
[data-theme="dark"] .home-premium{color:var(--text);}
[data-theme="dark"] .home-premium__title,
[data-theme="dark"] .home-premium__sub,
[data-theme="dark"] .home-premium .hpost--premium .hpost__title a,
[data-theme="dark"] .home-premium .hpost--premium .hpost__author{color:var(--text);}
[data-theme="dark"] .home-premium .hpost--premium .cat-pill{color:var(--muted);border-color:var(--bordo);}

/* Anchor color in dark — custom usa var(--glsr-gray-900) che è override-ato a #e8e6df in dark, OK */

/* ── Gutenberg blocks editoriali con background hardcoded chiaro ──
   Pattern usati dal cliente nel content (.benefit-card, .hub-card, .hub-method-block, ecc.).
   Override aggressivo: bg + color forzati per tutti i descendants. */
[data-theme="dark"] .benefit-card,
[data-theme="dark"] .benefit-box,
[data-theme="dark"] .hub-card,
[data-theme="dark"] .hub-method-block,
[data-theme="dark"] .info-box,
[data-theme="dark"] .info-card,
[data-theme="dark"] .highlight-box,
[data-theme="dark"] .grouppy,
[data-theme="dark"] .codicefiscale,
[data-theme="dark"] [class*="hub-"],
[data-theme="dark"] [class*="-card"],
[data-theme="dark"] [class*="-box"],
[data-theme="dark"] [class*="-block"]:not([class^="wp-block"]){
  background:var(--cream-scuro) !important;
  color:var(--text) !important;
}
[data-theme="dark"] .benefit-card *,
[data-theme="dark"] .benefit-box *,
[data-theme="dark"] .hub-card *,
[data-theme="dark"] .hub-method-block *,
[data-theme="dark"] .info-box *,
[data-theme="dark"] .info-card *,
[data-theme="dark"] .highlight-box *,
[data-theme="dark"] [class*="hub-"] *,
[data-theme="dark"] [class*="-card"] *,
[data-theme="dark"] [class*="-box"] *,
[data-theme="dark"] [class*="-block"]:not([class^="wp-block"]) *{
  color:var(--text) !important;
  background-color:transparent !important;
}
/* Link dentro card/box/hub/sanitizzati: accent blu chiaro per leggibilità.
   Specificità doppia [data-theme="dark"][data-theme="dark"] per battere
   regole custom del cliente (es. .hub-card a.button{color:#000}). */
[data-theme="dark"][data-theme="dark"] [class*="hub-"] a,
[data-theme="dark"][data-theme="dark"] [class*="-card"] a,
[data-theme="dark"][data-theme="dark"] [class*="-box"] a,
[data-theme="dark"][data-theme="dark"] [class*="-block"]:not([class^="wp-block"]) a,
[data-theme="dark"][data-theme="dark"] .benefit-card a,
[data-theme="dark"][data-theme="dark"] .benefit-box a,
[data-theme="dark"][data-theme="dark"] .info-card a,
[data-theme="dark"][data-theme="dark"] .info-box a,
[data-theme="dark"][data-theme="dark"] .highlight-box a,
[data-theme="dark"][data-theme="dark"] [data-fm-orig-bg] a{
  color:var(--blu) !important;
  text-decoration:underline;
}
[data-theme="dark"][data-theme="dark"] [class*="hub-"] a:hover,
[data-theme="dark"][data-theme="dark"] [class*="-card"] a:hover,
[data-theme="dark"][data-theme="dark"] [class*="-box"] a:hover,
[data-theme="dark"][data-theme="dark"] [data-fm-orig-bg] a:hover{
  color:#7eb6e8 !important;
}
/* Elementi sanitizzati dal JS: descendants con text light */
[data-theme="dark"] [data-fm-orig-bg] *{
  color:var(--text) !important;
  background-color:transparent !important;
}
/* Tabelle / blockquote / pre che spesso hanno bg chiari */
[data-theme="dark"] .wp-block-quote,
[data-theme="dark"] blockquote{background:var(--cream-scuro);border-left-color:var(--blu);}
[data-theme="dark"] .wp-block-pullquote{background:var(--cream-scuro);}
[data-theme="dark"] .wp-block-preformatted,
[data-theme="dark"] pre{background:var(--cream-scuro);color:var(--text);}
[data-theme="dark"] code{background:var(--cream-scuro);color:var(--blu);padding:1px 5px;border-radius:3px;}
[data-theme="dark"] .wp-block-table th{background:var(--cream-scuro);}
[data-theme="dark"] .wp-block-table tr:nth-child(even) td{background:rgba(255,255,255,0.02);}

/* Inline style backgrounds con valori chiari hardcoded:
   Le regole CSS NON possono battere style="background:#fff" inline.
   La sanitizzazione runtime è in dark-mode.js (sostituisce in dark, ripristina in light). */

/* ══════════════════════════════════════════════════════════════════════
   MODULO CODICE FISCALE — visual "documento ufficiale" Repubblica Italiana
   Replica look del form CF tradizionale: header verde gradiente con stemma,
   campi con label verde uppercase, layout compatto.
══════════════════════════════════════════════════════════════════════ */
.fm-cf-doc{
  --cf-green:#2d8540;
  --cf-green-dark:#1f6c33;
  --cf-green-light:#3fa055;
  background:#fff;
  border:1px solid #d8dcd8;
  border-radius:18px;
  max-width:720px;
  margin:24px auto;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,0.04);
  font-family:var(--ff);
}
.fm-cf-doc__header{
  background:linear-gradient(135deg,var(--cf-green-light) 0%,var(--cf-green) 60%,var(--cf-green-dark) 100%);
  padding:18px 28px;
  display:flex;
  align-items:center;
  gap:20px;
  border-radius:18px 18px 0 0;
}
.fm-cf-doc__crest{flex-shrink:0;width:78px;height:78px;display:flex;align-items:center;justify-content:center;}
.fm-cf-doc__stemma{width:100%;height:100%;display:block;}
.fm-cf-doc__heading{flex:1;color:#fff;text-align:right;line-height:1.1;}
.fm-cf-doc__title{margin:0;font-size:clamp(22px,3.6vw,32px);font-weight:400;color:#fff;letter-spacing:-.3px;}
.fm-cf-doc__subtitle{margin:4px 0 0;font-size:clamp(13px,1.8vw,16px);font-weight:400;color:rgba(255,255,255,0.92);}

/* Form body */
.fm-cf-doc__form{padding:26px 32px 28px;display:flex;flex-direction:column;gap:14px;}
.fm-cf-doc__row{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;}
.fm-cf-doc__label{
  flex-shrink:0;
  color:var(--cf-green);
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.02em;
  text-align:right;
  min-width:96px;
  line-height:1.15;
}
.fm-cf-doc__label--inline{margin-left:8px;}
.fm-cf-doc__label--multiline{line-height:1.15;}

.fm-cf-doc__input,
.fm-cf-doc__select{
  flex:1 1 auto;
  min-width:0;
  padding:8px 12px;
  font-size:15px;
  font-family:var(--ff);
  color:#1a1a1a;
  background:#fff;
  border:1px solid #6a6a6a;
  border-radius:6px;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  appearance:none;
  -webkit-appearance:none;
}
.fm-cf-doc__input:focus,
.fm-cf-doc__select:focus{border-color:var(--cf-green);box-shadow:0 0 0 3px rgba(45,133,64,0.18);}
.fm-cf-doc__input[readonly]{background:#fafafa;}
.fm-cf-doc__input--xs{flex:0 0 64px;width:64px;text-align:center;text-transform:uppercase;}
.fm-cf-doc__select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'><path d='M3 4.5l3 3 3-3' fill='none' stroke='%236a6a6a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 8px center;
  padding-right:24px;
  cursor:pointer;
}
.fm-cf-doc__select--sm{flex:0 0 54px;width:54px;}
.fm-cf-doc__select--year{flex:0 0 78px;width:78px;}

/* Comune autocomplete */
.fm-cf-doc__comune-wrap{flex:1 1 auto;min-width:0;position:relative;}
.fm-cf-doc__suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #d8dcd8;border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,0.10);max-height:260px;overflow-y:auto;z-index:20;}
.fm-cf-doc__suggestion{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 14px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--ff);border-bottom:1px solid #f0f0f0;}
.fm-cf-doc__suggestion:last-child{border-bottom:none;}
.fm-cf-doc__suggestion:hover{background:#f3faf5;}
.fm-cf-doc__sug-name{font-size:13px;font-weight:600;color:#1a1a1a;}
.fm-cf-doc__sug-prov{font-size:11px;color:#6a6a6a;font-variant-numeric:tabular-nums;}

/* Actions */
.fm-cf-doc__actions{margin-top:10px;display:flex;justify-content:center;}
.fm-cf-doc__submit{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 30px;
  font-size:14px;
  font-weight:700;
  font-family:var(--ff);
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#fff;
  background:var(--cf-green);
  border:none;
  border-radius:6px;
  cursor:pointer;
  transition:background .15s,transform .1s;
}
.fm-cf-doc__submit:hover{background:var(--cf-green-dark);}
.fm-cf-doc__submit:active{transform:scale(0.98);}
.fm-cf-doc__submit:disabled{opacity:.7;cursor:wait;}
.fm-btn-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:fmSpin .7s linear infinite;}
.fm-cf-doc__submit.is-loading .fm-btn-spinner{display:inline-block;}
.fm-cf-doc__submit.is-loading .fm-btn-label{opacity:.7;}

/* Error */
.fm-cf-doc__error{margin-top:6px;padding:10px 14px;background:#fff1f0;border:1px solid #ffd0cd;border-radius:6px;color:#9a1f1a;font-size:13px;}

/* Result */
.fm-cf-doc__result{padding:26px 32px 30px;border-top:1px solid #e8eae8;background:#f8fbf9;}
.fm-cf-doc__result-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--cf-green);margin-bottom:14px;text-align:center;}
.fm-cf-doc__boxes{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;margin-bottom:18px;}
.fm-cf-doc__box{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:1/1;
  background:#fff;
  border:1.5px solid var(--cf-green);
  border-radius:4px;
  font-size:clamp(13px,2.2vw,18px);
  font-weight:700;
  color:#1a1a1a;
  font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono',monospace;
}
.fm-cf-doc__result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.fm-cf-doc__btn-ghost{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px;
  font-size:12px;
  font-weight:600;
  font-family:var(--ff);
  background:#fff;
  border:1px solid var(--cf-green);
  border-radius:6px;
  color:var(--cf-green);
  cursor:pointer;
  transition:all .15s;
}
.fm-cf-doc__btn-ghost:hover{background:var(--cf-green);color:#fff;}
.fm-cf-doc__btn-ghost.is-copied{background:#e8f5ee;color:var(--cf-green-dark);border-color:var(--cf-green-dark);}

/* Mobile responsive: stacking label sopra input */
@media(max-width:640px){
  .fm-cf-doc__header{padding:14px 20px;gap:14px;}
  .fm-cf-doc__crest{width:56px;height:56px;}
  .fm-cf-doc__form{padding:20px 18px 22px;gap:12px;}
  .fm-cf-doc__row{flex-wrap:wrap;}
  .fm-cf-doc__label{min-width:0;width:100%;text-align:left;font-size:12px;}
  .fm-cf-doc__label--inline{margin-left:0;width:auto;}
  .fm-cf-doc__input,.fm-cf-doc__select{width:100%;}
  .fm-cf-doc__select--sm{flex:0 0 60px;width:60px;}
  .fm-cf-doc__select--year{flex:0 0 84px;width:84px;}
  .fm-cf-doc__input--xs{flex:0 0 72px;width:72px;}
  .fm-cf-doc__result{padding:20px 18px 24px;}
  .fm-cf-doc__boxes{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;}
}

/* Dark mode: il documento mantiene look "ufficiale" ma con surface dark */
[data-theme="dark"] .fm-cf-doc{background:var(--surface);border-color:var(--bordo);box-shadow:0 2px 12px rgba(0,0,0,0.3);}
[data-theme="dark"] .fm-cf-doc__input,
[data-theme="dark"] .fm-cf-doc__select{background:var(--cream);border-color:var(--bordo);color:var(--text);}
[data-theme="dark"] .fm-cf-doc__input[readonly]{background:rgba(255,255,255,0.04);}
[data-theme="dark"] .fm-cf-doc__suggestions{background:var(--surface);border-color:var(--bordo);box-shadow:0 8px 24px rgba(0,0,0,0.45);}
[data-theme="dark"] .fm-cf-doc__suggestion{border-bottom-color:var(--bordo2);color:var(--text);}
[data-theme="dark"] .fm-cf-doc__suggestion:hover{background:rgba(63,160,85,0.08);}
[data-theme="dark"] .fm-cf-doc__sug-name{color:var(--text);}
[data-theme="dark"] .fm-cf-doc__sug-prov{color:var(--muted);}
[data-theme="dark"] .fm-cf-doc__result{background:rgba(45,133,64,0.06);border-top-color:var(--bordo);}
[data-theme="dark"] .fm-cf-doc__box{background:var(--cream);color:var(--text);border-color:var(--cf-green-light);}
[data-theme="dark"] .fm-cf-doc__btn-ghost{background:var(--surface);color:var(--cf-green-light);}
[data-theme="dark"] .fm-cf-doc__btn-ghost:hover{background:var(--cf-green);color:#fff;}

/* ── Vecchie classi .fm-cf (compatibility se ancora in altri shortcode) ── */
.fm-cf{background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);padding:28px;margin:24px 0;max-width:680px;}
.fm-cf__title{font-size:20px;font-weight:800;color:var(--nero);margin:0 0 18px;letter-spacing:-.3px;}

/* ── Shortcode [f24] — embed modello F24 PDF ── */
.fm-f24{display:block;margin:24px 0;background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);overflow:hidden;}
.fm-f24 object,.fm-f24 embed{display:block;border:0;}
.fm-f24__fallback{padding:20px;text-align:center;color:var(--muted);font-size:14px;}
.fm-f24__fallback a{color:var(--blu);font-weight:600;text-decoration:underline;margin-left:6px;}

/* ══════════════════════════════════════════════════════════════════════
   MODULO GLOSSARIO (shortcode [glossario] o [dw-glossary])
══════════════════════════════════════════════════════════════════════ */
.fm-glossario{margin:32px 0;color:var(--text);}
.fm-glossario--empty{padding:40px;text-align:center;color:var(--muted);}

/* Top bar sticky: search + index alfabetico */
.fm-glossario__top{
  position:sticky;
  top:var(--sticky-top);
  z-index:30;
  background:var(--bg);
  padding:14px 0 12px;
  margin:-14px 0 0;
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  border-bottom:1px solid var(--bordo);
}

/* Search field */
.fm-glossario__search{
  position:relative;
  flex:1 1 280px;
  min-width:0;
  display:flex;
  align-items:center;
}
.fm-glossario__search-icon{position:absolute;left:13px;color:var(--muted);pointer-events:none;}
.fm-glossario__input{
  width:100%;
  padding:11px 38px 11px 40px;
  font-size:14.5px;
  font-family:var(--ff);
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--bordo);
  border-radius:var(--btn-radius);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  appearance:none;
  -webkit-appearance:none;
}
.fm-glossario__input::-webkit-search-cancel-button{display:none;}
.fm-glossario__input:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(34,104,167,0.15);}
.fm-glossario__clear{
  position:absolute;
  right:8px;
  width:28px;
  height:28px;
  border:none;
  background:transparent;
  border-radius:50%;
  color:var(--muted);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .15s,color .15s;
}
.fm-glossario__clear:hover{background:var(--cream);color:var(--text);}

/* Index alfabetico */
.fm-glossario__index{
  display:flex;
  flex-wrap:wrap;
  gap:2px;
  flex:2 1 360px;
  justify-content:flex-end;
}
.fm-glossario__letter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  font-size:12px;
  font-weight:700;
  color:var(--text);
  text-decoration:none;
  border-radius:6px;
  transition:background .12s,color .12s;
}
.fm-glossario__letter.is-active{background:transparent;}
.fm-glossario__letter.is-active:hover,
.fm-glossario__letter.is-current{background:var(--blu);color:#fff;}
.fm-glossario__letter.is-empty{color:var(--bordo);pointer-events:none;cursor:default;}

/* Lista termini per gruppo */
.fm-glossario__results{padding-top:24px;}
.fm-glossario__group{margin-bottom:36px;scroll-margin-top:140px;}
.fm-glossario__group-title{
  font-size:28px;
  font-weight:800;
  color:var(--nero);
  margin:0 0 16px;
  padding-bottom:10px;
  border-bottom:1px solid var(--bordo);
  display:flex;
  align-items:baseline;
  gap:10px;
  letter-spacing:-.5px;
}
.fm-glossario__group-count{
  font-size:12px;
  font-weight:500;
  color:var(--muted);
  background:var(--cream);
  padding:3px 8px;
  border-radius:99px;
  font-variant-numeric:tabular-nums;
}

.fm-glossario__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(var(--gl-cols,3),minmax(0,1fr));
  gap:10px;
}
.fm-glossario[data-cols="1"] .fm-glossario__list{--gl-cols:1;}
.fm-glossario[data-cols="2"] .fm-glossario__list{--gl-cols:2;}
.fm-glossario[data-cols="3"] .fm-glossario__list{--gl-cols:3;}
.fm-glossario[data-cols="4"] .fm-glossario__list{--gl-cols:4;}

.fm-glossario__item{margin:0;}
.fm-glossario__link{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:14px 16px;
  background:var(--surface);
  border:1px solid var(--bordo);
  border-radius:var(--radius);
  color:var(--text);
  text-decoration:none;
  transition:border-color .15s,transform .15s,box-shadow .15s;
  height:100%;
}
.fm-glossario__link:hover{
  border-color:var(--blu);
  transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(0,0,0,0.06);
}
.fm-glossario__term{
  font-size:15px;
  font-weight:700;
  color:var(--nero);
  line-height:1.3;
}
.fm-glossario__excerpt{
  font-size:12.5px;
  color:var(--muted);
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fm-glossario__empty{
  padding:50px 20px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}

/* Responsive */
@media(max-width:760px){
  .fm-glossario__top{flex-direction:column;align-items:stretch;gap:10px;}
  .fm-glossario__search{flex:1 1 100%;}
  .fm-glossario__index{flex:1 1 100%;justify-content:flex-start;gap:1px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;flex-wrap:nowrap;}
  .fm-glossario__letter{flex-shrink:0;}
  .fm-glossario__list{grid-template-columns:1fr !important;}
  .fm-glossario__group-title{font-size:22px;}
}
@media(min-width:761px) and (max-width:1024px){
  .fm-glossario[data-cols="3"] .fm-glossario__list,
  .fm-glossario[data-cols="4"] .fm-glossario__list{--gl-cols:2;}
}

/* Dark mode */
[data-theme="dark"] .fm-glossario__top{background:var(--bg);border-bottom-color:var(--bordo);}
[data-theme="dark"] .fm-glossario__input{background:var(--cream);border-color:var(--bordo);color:var(--text);}
[data-theme="dark"] .fm-glossario__input:focus{box-shadow:0 0 0 3px rgba(77,140,200,0.20);}
[data-theme="dark"] .fm-glossario__clear:hover{background:var(--cream-scuro);}
[data-theme="dark"] .fm-glossario__group-count{background:var(--cream-scuro);color:var(--muted);}
[data-theme="dark"] .fm-glossario__link{background:var(--surface);border-color:var(--bordo);}
[data-theme="dark"] .fm-glossario__link:hover{border-color:var(--blu);box-shadow:0 4px 14px rgba(0,0,0,0.4);}
[data-theme="dark"] .fm-glossario__term{color:var(--text);}
[data-theme="dark"] .fm-glossario__letter.is-empty{color:rgba(255,255,255,0.10);}

/* Form base (riusabile per altri form del tema) */
.fm-form{display:flex;flex-direction:column;gap:14px;}
.fm-form-row{display:flex;gap:14px;flex-wrap:wrap;}
.fm-form-row--2 > .fm-field{flex:1 1 calc(50% - 7px);min-width:180px;}
.fm-field{display:flex;flex-direction:column;gap:5px;position:relative;}
.fm-field__label{font-size:12px;font-weight:600;color:var(--text);letter-spacing:.01em;}
.fm-field input[type="text"],
.fm-field input[type="email"],
.fm-field input[type="tel"],
.fm-field input[type="date"],
.fm-field input[type="number"],
.fm-field select,
.fm-field textarea{
  width:100%;
  padding:11px 13px;
  font-size:14px;
  font-family:var(--ff);
  color:var(--text);
  background:var(--bg);
  border:1px solid var(--bordo);
  border-radius:var(--btn-radius);
  outline:none;
  transition:border-color .15s,box-shadow .15s;
  appearance:none;
  -webkit-appearance:none;
}
.fm-field input:focus,
.fm-field select:focus,
.fm-field textarea:focus{
  border-color:var(--blu);
  box-shadow:0 0 0 3px rgba(34,104,167,0.15);
}
.fm-field select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5l3 3 3-3' fill='none' stroke='%239A9892' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.fm-form-actions{display:flex;gap:10px;margin-top:6px;}
.fm-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:700;font-family:var(--ff);border:none;border-radius:var(--btn-radius);cursor:pointer;transition:background .15s,transform .1s;}
.fm-btn--primary{background:var(--blu);color:#fff;}
.fm-btn--primary:hover{background:#1a5590;}
.fm-btn--primary:active{transform:scale(0.98);}
.fm-btn:disabled{opacity:.7;cursor:wait;}
.fm-btn-spinner{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;border-radius:50%;animation:fmSpin .7s linear infinite;}
.fm-btn.is-loading .fm-btn-spinner{display:inline-block;}
.fm-btn.is-loading .fm-btn-label{opacity:.7;}

/* Comune autocomplete */
.fm-cf__comune{position:relative;}
.fm-cf__suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--bordo);border-radius:var(--btn-radius);box-shadow:0 8px 24px rgba(0,0,0,0.08);max-height:260px;overflow-y:auto;z-index:20;}
.fm-cf__suggestion{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:9px 14px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:var(--ff);border-bottom:1px solid var(--bordo2);}
.fm-cf__suggestion:last-child{border-bottom:none;}
.fm-cf__suggestion:hover,.fm-cf__suggestion:focus{background:var(--bg);}
.fm-cf__sug-name{font-size:13px;font-weight:600;color:var(--text);}
.fm-cf__sug-prov{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}
.fm-cf__selected{margin-top:4px;font-size:11px;color:var(--muted);font-style:italic;}

/* Error box */
.fm-cf__error{margin-top:6px;padding:10px 14px;background:rgba(224,36,36,0.08);border:1px solid rgba(224,36,36,0.20);border-radius:var(--btn-radius);color:#a91414;font-size:13px;}

/* Result: 16 caselle */
.fm-cf__result{margin-top:8px;}
.fm-cf__result-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px;text-align:center;}
.fm-cf__boxes{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;margin-bottom:18px;}
.fm-cf__box{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;background:var(--bg);border:1px solid var(--bordo);border-radius:6px;font-size:clamp(13px,2.2vw,17px);font-weight:700;color:var(--nero);font-family:'SF Mono','Monaco','Inconsolata','Roboto Mono',monospace;letter-spacing:0;}
.fm-cf__actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.fm-cf__copy,.fm-cf__reset{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;font-family:var(--ff);background:transparent;border:1px solid var(--bordo);border-radius:var(--btn-radius);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s;}
.fm-cf__copy:hover,.fm-cf__reset:hover{background:var(--bg);border-color:var(--blu);color:var(--blu);}
.fm-cf__copy.is-copied{background:rgba(5,122,85,0.10);border-color:#057a55;color:#057a55;}

@keyframes fmSpin{to{transform:rotate(360deg);}}

/* Mobile: caselle più piccole, form a 1 colonna */
@media(max-width:600px){
  .fm-cf{padding:20px;}
  .fm-form-row--2 > .fm-field{flex:1 1 100%;min-width:0;}
  .fm-cf__boxes{grid-template-columns:repeat(8,minmax(0,1fr));}
  .fm-cf__box{font-size:14px;}
}

/* Dark mode */
[data-theme="dark"] .fm-cf{background:var(--surface);border-color:var(--bordo);}
[data-theme="dark"] .fm-field input,
[data-theme="dark"] .fm-field select,
[data-theme="dark"] .fm-field textarea{background:var(--cream);border-color:var(--bordo);color:var(--text);}
[data-theme="dark"] .fm-field input:focus,
[data-theme="dark"] .fm-field select:focus,
[data-theme="dark"] .fm-field textarea:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(77,140,200,0.20);}
[data-theme="dark"] .fm-cf__box{background:var(--cream);border-color:var(--bordo);color:var(--text);}
[data-theme="dark"] .fm-cf__error{background:rgba(224,36,36,0.12);border-color:rgba(224,36,36,0.35);color:#ffb3a8;}

/* ══════════════════════════════════════
   UNAUTHORIZED MESSAGE — plan cards
══════════════════════════════════════ */
.fm-unauth{margin:32px 0;padding:40px 36px 32px;background:var(--surface);border:1px solid var(--bordo);border-radius:calc(var(--radius)*1.6);box-shadow:0 4px 24px -8px rgba(11,30,55,0.08),0 1px 3px rgba(0,0,0,0.04);}
.fm-unauth .fm-unauth__header{text-align:center;margin-bottom:32px;}
.fm-unauth .fm-unauth__lock{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--blu);color:#fff;border-radius:50%;margin-bottom:16px;box-shadow:0 6px 16px -4px rgba(11,30,55,0.30);}
.fm-unauth .fm-unauth__title{font-size:22px;font-weight:800;color:var(--nero);margin:0 0 8px;letter-spacing:-0.02em;line-height:1.2;font-family:var(--ff);}
.fm-unauth .fm-unauth__sub{font-size:14px;color:var(--muted);margin:0;font-family:var(--ff);}
/* Plans grid */
.fm-unauth__plans{display:grid;gap:16px;margin-bottom:28px;}
.fm-unauth__plans--1{grid-template-columns:1fr;max-width:360px;margin-left:auto;margin-right:auto;}
.fm-unauth__plans--2{grid-template-columns:repeat(2,1fr);}
.fm-unauth__plans--3{grid-template-columns:repeat(3,1fr);}
/* Plan card */
.fm-unauth__plan{position:relative;display:flex;flex-direction:column;padding:24px 20px 20px;background:var(--bg);border:1px solid var(--bordo);border-radius:var(--radius);transition:box-shadow .18s,border-color .18s;}
.fm-unauth__plan:hover{box-shadow:0 4px 20px -6px rgba(11,30,55,0.14);border-color:var(--blu);}
.fm-unauth__plan--featured{background:#fff;border-color:var(--blu);box-shadow:0 6px 24px -6px rgba(34,104,167,0.22);padding-top:36px;}
.fm-unauth__plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--blu);padding:4px 14px;border-radius:99px;box-shadow:0 2px 8px -2px rgba(34,104,167,0.45);}
.fm-unauth .fm-unauth__plan-name{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;line-height:1.3;font-family:var(--ff);text-decoration:none;}
.fm-unauth .fm-unauth__plan-name a{color:inherit;text-decoration:none;}
.fm-unauth__plan-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px;}
.fm-unauth__plan-amount{font-size:32px;font-weight:800;color:var(--nero);letter-spacing:-0.03em;line-height:1;}
.fm-unauth__plan-per{font-size:13px;color:var(--muted);font-weight:500;}
.fm-unauth__plan-equiv{font-size:11.5px;color:var(--muted);margin-bottom:16px;}
.fm-unauth .fm-unauth__plan-features{list-style:none !important;padding:0 !important;margin:0 0 20px;flex:1;}
.fm-unauth .fm-unauth__plan-features li{position:relative;padding-left:20px;font-size:12.5px;color:var(--text);line-height:1.55;margin-bottom:7px;list-style:none !important;background:none !important;}
.fm-unauth .fm-unauth__plan-features li::before{content:"";position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;background:rgba(34,104,167,0.12);}
.fm-unauth .fm-unauth__plan-features li::after{content:"";position:absolute;left:3px;top:8px;width:6px;height:3.5px;border:1.5px solid var(--blu);border-top:0;border-right:0;transform:rotate(-45deg);}
/* NB: specificità a .fm-unauth + classe per battere .prose a (0,1,1) quando
   l'unauthorized template viene incollato dentro .prose dell'articolo paywallato. */
/* CTA outline (piani non-featured). Selettore include `a` element per
   raggiungere specificità (0,3,1) e battere `.prose a:visited:hover` (0,3,1)
   via cascade order — mia regola viene DOPO in stylesheet. */
.fm-unauth a.fm-unauth__plan-cta,
.fm-unauth a.fm-unauth__plan-cta:link,
.fm-unauth a.fm-unauth__plan-cta:visited{display:block;text-align:center;padding:12px 18px;background:transparent;color:var(--blu);border:1.5px solid var(--blu);border-radius:var(--btn-radius);font-size:13.5px;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s;}
.fm-unauth a.fm-unauth__plan-cta:hover,
.fm-unauth a.fm-unauth__plan-cta:visited:hover,
.fm-unauth a.fm-unauth__plan-cta:active{background:var(--blu);color:#fff;border-color:var(--blu);}

/* CTA featured (sfondo blu + testo bianco SEMPRE — base, hover, active, visited). */
.fm-unauth a.fm-unauth__plan-cta--featured,
.fm-unauth a.fm-unauth__plan-cta--featured:link,
.fm-unauth a.fm-unauth__plan-cta--featured:visited{background:var(--blu);color:#fff;border-color:var(--blu);box-shadow:0 4px 14px -4px rgba(11,30,55,0.30);}
.fm-unauth a.fm-unauth__plan-cta--featured:hover,
.fm-unauth a.fm-unauth__plan-cta--featured:visited:hover,
.fm-unauth a.fm-unauth__plan-cta--featured:active{background:var(--blu-scuro);color:#fff;border-color:var(--blu-scuro);}
/* Login toggle */
.fm-unauth__login{text-align:center;padding-top:20px;border-top:1px solid var(--bordo2);}
.fm-unauth__login-label{font-size:13.5px;color:var(--muted);margin:0 0 12px;}
.fm-unauth__login-toggle{background:none;border:none;padding:0;font:inherit;font-size:13.5px;font-weight:600;color:var(--blu);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.fm-unauth__login-toggle:hover{color:var(--blu-scuro);}
.fm-unauth__login-form{margin-top:20px;text-align:left;max-width:380px;margin-left:auto;margin-right:auto;}
.fm-unauth__login-link{font-size:14px;color:var(--blu);font-weight:600;text-decoration:underline;}
/* ── Login form embedded (MemberPress) dentro .fm-unauth__login-form ── */
.fm-unauth__login-form .mp_wrapper{font-family:var(--ff);color:var(--text);}
.fm-unauth__login-form .mp-form-row,
.fm-unauth__login-form .login-username,
.fm-unauth__login-form .login-password{margin-bottom:14px;}
.fm-unauth__login-form label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;text-align:left;font-family:var(--ff);}
.fm-unauth__login-form input[type="text"],
.fm-unauth__login-form input[type="email"],
.fm-unauth__login-form input[type="password"]{width:100%;padding:11px 14px;font-family:var(--ff);font-size:14px;color:var(--nero);background:var(--bg);border:1px solid var(--bordo);border-radius:var(--btn-radius);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
.fm-unauth__login-form input[type="text"]:focus,
.fm-unauth__login-form input[type="email"]:focus,
.fm-unauth__login-form input[type="password"]:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(34,104,167,0.10);background:#fff;}
[data-theme="dark"] .fm-unauth__login-form input:focus{background:var(--cream);}
/* Rememberme checkbox + label inline */
.fm-unauth__login-form .mepr_remember_me,
.fm-unauth__login-form .mp-form-row.mepr_remember_me{display:flex;align-items:center;gap:8px;margin-bottom:18px;}
.fm-unauth__login-form .mepr_remember_me label,
.fm-unauth__login-form .mp-form-row.mepr_remember_me label{display:inline;text-transform:none;letter-spacing:0;font-weight:500;color:var(--text);font-size:13px;margin:0;}
.fm-unauth__login-form input[type="checkbox"]{width:15px;height:15px;accent-color:var(--blu);cursor:pointer;margin:0;}
/* Submit button — full width blu */
.fm-unauth__login-form .submit,
.fm-unauth__login-form .mepr-login-actions{margin-top:14px;display:flex;flex-direction:column;gap:12px;}
.fm-unauth__login-form input[type="submit"],
.fm-unauth__login-form .button-primary,
.fm-unauth__login-form #wp-submit{width:100%;padding:12px 22px;background:var(--blu) !important;color:#fff !important;border:none !important;border-radius:var(--btn-radius);font-family:var(--ff);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .2s;box-shadow:0 4px 14px -4px rgba(11,30,55,0.30);-webkit-appearance:none;appearance:none;opacity:1;text-shadow:none;}
.fm-unauth__login-form input[type="submit"]:hover,
.fm-unauth__login-form .button-primary:hover,
.fm-unauth__login-form #wp-submit:hover{background:var(--blu-scuro) !important;box-shadow:0 6px 18px -5px rgba(11,30,55,0.40);}
/* Lost password link */
.fm-unauth__login-form a,
.fm-unauth__login-form .lost-pw-link{font-size:13px;color:var(--blu);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.fm-unauth__login-form a:hover{color:var(--blu-scuro);}
.fm-unauth__login-form .mepr-login-response,
.fm-unauth__login-form .mepr_error{font-size:13px;color:#c0392b;background:rgba(192,57,43,0.08);border:1px solid rgba(192,57,43,0.20);border-radius:var(--btn-radius);padding:10px 14px;margin:0 0 14px;}
/* Responsive */
@media(max-width:700px){
  .fm-unauth{padding:28px 18px 24px;}
  .fm-unauth__plans--2,.fm-unauth__plans--3{grid-template-columns:1fr;}
  .fm-unauth__plan--featured{padding-top:36px;}
  .fm-unauth__title{font-size:19px;}
}
[data-theme="dark"] .fm-unauth{background:var(--surface);border-color:var(--bordo);}
[data-theme="dark"] .fm-unauth__plan{background:var(--cream);}
[data-theme="dark"] .fm-unauth__plan--featured{background:var(--surface);}

/* ── Soft paywall: excerpt visibile + full content gated (Google-friendly) ── */
.fm-paywall-excerpt{position:relative;margin-bottom:24px;}
/* Fade gradient sull'ultimo terzo per suggerire "c'è altro contenuto" */
.fm-paywall-excerpt::after{content:"";display:block;position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent 0%,var(--bg) 90%);pointer-events:none;z-index:1;}
[data-theme="dark"] .fm-paywall-excerpt::after{background:linear-gradient(180deg,transparent 0%,var(--bg) 90%);}

/* Full content gated: presente nell'HTML per Google, nascosto agli utenti.
   Schema markup (Fiscomania_Paywall::filter_yoast_schema) dichiara cssSelector
   ".fm-paywall-gated" come paywalled — pattern raccomandato Google flexible sampling. */
.fm-paywall-gated{display:none !important;}
/* Override print: includi il contenuto nel print/PDF se utente loggato (sicurezza extra) */
@media print{
  body.is-member .fm-paywall-gated{display:block !important;}
}

/* ══════════════════════════════════════
   MEPR FORMS UNIFICATI (login, forgot, reset, account password)
   Coverage: .mepr-login-form-wrap, #mepro-login-hero, .mp_wrapper,
   .mepro-form, .mepr-account-form. MemberPress CSS è dequeued → stile manuale.
══════════════════════════════════════ */
/* Outer hero wrapper (login/forgot/reset pages) */
#mepro-login-hero{padding:40px 20px;}
#mepro-login-hero .mepro-boxed{max-width:480px;margin:0 auto;}
#mepro-login-hero .mepro-login-contents{background:var(--surface);border:1px solid var(--bordo);border-radius:var(--radius);padding:36px 32px 32px;box-shadow:0 4px 20px -8px rgba(11,30,55,0.08);}
#mepro-login-hero.with-sidebar .mepro-boxed{max-width:920px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
/* Title — SCOPE: solo login page o login-form-wrap esplicito */
#mepro-login-hero .mp_wrapper h3,.mepr-login-form-wrap > p:first-child,.mepr-login-form-wrap > h3:first-child,.mepr-login-form-wrap .mepr-login-title{font-size:18px;font-weight:800;color:var(--nero);margin:0 0 20px;letter-spacing:-0.01em;}
/* Form rows & labels — SCOPE ESPLICITO ai contesti dedicati.
   IMPORTANTE: NON usare selettori `.mp_wrapper *` bare perché MemberPress
   inietta il login form dentro `.prose` quando un articolo è paywalled,
   e questi stili (uppercase labels, h3 grandi, ecc.) sballerebbero la prose. */
#mepro-login-hero .mp-form-row,
.mepr-login-form-wrap .login-username,
.mepr-login-form-wrap .login-password,
.mepr-login-form-wrap .mp-form-row{margin-bottom:14px;}
#mepro-login-hero label,
.mepr-login-form-wrap label{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;}

/* Inputs (scoped) */
#mepro-login-hero input[type="text"],
#mepro-login-hero input[type="email"],
#mepro-login-hero input[type="password"],
.mepr-login-form-wrap input[type="text"],
.mepr-login-form-wrap input[type="email"],
.mepr-login-form-wrap input[type="password"]{width:100%;padding:11px 14px;font-family:var(--ff);font-size:14px;color:var(--nero);background:var(--bg);border:1px solid var(--bordo);border-radius:var(--btn-radius);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
#mepro-login-hero input[type="text"]:focus,
#mepro-login-hero input[type="email"]:focus,
#mepro-login-hero input[type="password"]:focus,
.mepr-login-form-wrap input[type="text"]:focus,
.mepr-login-form-wrap input[type="email"]:focus,
.mepr-login-form-wrap input[type="password"]:focus{border-color:var(--blu);box-shadow:0 0 0 3px rgba(34,104,167,0.10);background:#fff;}
[data-theme="dark"] #mepro-login-hero input:focus,
[data-theme="dark"] .mepr-login-form-wrap input:focus{background:var(--cream);}

/* Submit row (scoped) */
#mepro-login-hero .submit,
.mepr-login-form-wrap .mepr-login-actions,
.mepr-login-form-wrap .submit{margin-top:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* Buttons (scoped) */
#mepro-login-hero input[type="submit"],
#mepro-login-hero .button-primary,
#mepro-login-hero #wp-submit,
.mepr-login-form-wrap input[type="submit"],
.mepr-login-form-wrap .button-primary,
.mepr-login-form-wrap #wp-submit{padding:12px 26px;background:var(--blu);color:#fff;border:none;border-radius:var(--btn-radius);font-family:var(--ff);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,box-shadow .2s;box-shadow:0 4px 14px -4px rgba(11,30,55,0.30);white-space:nowrap;-webkit-appearance:none;appearance:none;}
#mepro-login-hero input[type="submit"]:hover,
#mepro-login-hero .button-primary:hover,
#mepro-login-hero #wp-submit:hover,
.mepr-login-form-wrap input[type="submit"]:hover,
.mepr-login-form-wrap .button-primary:hover,
.mepr-login-form-wrap #wp-submit:hover{background:var(--blu-scuro);box-shadow:0 6px 18px -5px rgba(11,30,55,0.40);}

/* Links / checkbox / messages (scoped) */
#mepro-login-hero a,
.mepr-login-form-wrap .lost-pw-link,
.mepr-login-form-wrap .mepr-forgot-password a,
.mepr-login-form-wrap a{font-size:13px;color:var(--blu);text-decoration:underline;text-underline-offset:3px;}
#mepro-login-hero a:hover,
.mepr-login-form-wrap a:hover{color:var(--blu-scuro);}
#mepro-login-hero .forgetmenot,
.mepr-login-form-wrap .forgetmenot{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);}
#mepro-login-hero .forgetmenot label,
.mepr-login-form-wrap .forgetmenot label{text-transform:none;letter-spacing:0;font-weight:500;color:var(--text);font-size:13px;margin:0;}
#mepro-login-hero input[type="checkbox"],
.mepr-login-form-wrap .forgetmenot input[type="checkbox"]{width:15px;height:15px;accent-color:var(--blu);cursor:pointer;}
#mepro-login-hero .mepr_error,
.mepr-login-form-wrap .mepr_error,
.mepr-login-form-wrap .mepr-login-response{font-size:13px;color:#c0392b;background:rgba(192,57,43,0.08);border:1px solid rgba(192,57,43,0.20);border-radius:var(--btn-radius);padding:10px 14px;margin:0 0 14px;}
#mepro-login-hero .mepr_message,
.mepr-login-form-wrap .mepr_message{font-size:13px;color:#057a55;background:rgba(5,122,85,0.08);border:1px solid rgba(5,122,85,0.20);border-radius:var(--btn-radius);padding:10px 14px;margin:0 0 14px;}
.mepr-already-logged-in{font-size:14px;color:var(--text);padding:12px 0;}

/* Unauthorized inline banner (può comparire dentro .prose o standalone) */
.mepr-unauthorized-message,.mepr-unauthorized-excerpt{display:flex;align-items:flex-start;gap:10px;background:rgba(247,126,29,0.08);border:1px solid rgba(247,126,29,0.25);border-radius:var(--btn-radius);padding:12px 14px;margin:0 0 18px;font-size:13.5px;color:var(--text);}
.mepr-unauthorized-message svg,.mepr-unauthorized-excerpt svg{flex:0 0 auto;color:var(--arancio);width:20px;height:20px;}

/* Spacer & misc (scoped) */
#mepro-login-hero .mp-spacer,
.mepr-login-form-wrap .mp-spacer{height:6px;}
.mepr-login-form-wrap p{font-size:13px;color:var(--muted);margin:14px 0 0;}

@media(max-width:600px){
  #mepro-login-hero{padding:24px 14px;}
  #mepro-login-hero .mepro-login-contents{padding:24px 18px;}
  #mepro-login-hero.with-sidebar .mepro-boxed{grid-template-columns:1fr;}
  .mepr-login-form-wrap{padding:20px 16px;}
  #mepro-login-hero .submit,
  .mepr-login-form-wrap .mepr-login-actions,
  .mepr-login-form-wrap .submit{flex-direction:column;align-items:stretch;}
  #mepro-login-hero input[type="submit"],
  #mepro-login-hero .button-primary,
  #mepro-login-hero #wp-submit,
  .mepr-login-form-wrap input[type="submit"],
  .mepr-login-form-wrap .button-primary,
  .mepr-login-form-wrap #wp-submit{width:100%;text-align:center;}
}
[data-theme="dark"] #mepro-login-hero .mepro-login-contents{background:var(--surface);border-color:var(--bordo);}

/* ══════════════════════════════════════
   REGISTRATION PAGE (single-memberpressproduct)
   Pagina conversione minimal — logo + step + card
══════════════════════════════════════ */
/* Chrome minimization sulla registration page */
body.fm-reg-mode .topbar,
body.fm-reg-mode .site-nav-center,
body.fm-reg-mode .fm-hamburger,
body.fm-reg-mode .fm-mob-cta,
body.fm-reg-mode .topbar-right .tb-btn-fill,
body.fm-reg-mode .ticker-bar,
body.fm-reg-mode .footer-top,
body.fm-reg-mode .breadcrumb,
body.fm-reg-mode .fm-mob-cta-wrap,
body.fm-reg-mode .aside-consult{display:none !important;}
body.fm-reg-mode .site-header{border-bottom:1px solid var(--bordo);padding:18px 0;}
body.fm-reg-mode .site-header-inner{justify-content:center;}
body.fm-reg-mode .site-logo{margin:0 auto;}
body.fm-reg-mode .site-footer{margin-top:0;background:transparent;border-top:1px solid var(--bordo);}
body.fm-reg-mode .footer-bottom{padding:18px 20px;}
/* Nascondi la riga "Termini" generata dal form (la mostriamo nel summary card) */
body.fm-reg-mode .mepr-signup-form .mp-form-row.mepr_price{display:none !important;}

/* Layout pagina — fondale identico a header/body (var(--cream)) */
.fm-reg-page{min-height:calc(100vh - 200px);background:var(--cream);padding:40px 20px 60px;}
.fm-reg-wrap{max-width:580px;margin:0 auto;}

/* Step indicator */
.fm-reg-steps{display:flex;list-style:none;padding:0;margin:0 0 28px;counter-reset:step;justify-content:space-between;gap:8px;position:relative;}
.fm-reg-steps::before{content:"";position:absolute;top:18px;left:36px;right:36px;height:2px;background:var(--bordo);z-index:0;}
.fm-reg-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;}
.fm-reg-steps__num{width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--bordo);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;transition:background .2s,border-color .2s,color .2s,box-shadow .2s;}
.fm-reg-steps__lbl{font-style:normal;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.2;}
.fm-reg-steps li.is-active .fm-reg-steps__num{background:var(--blu);border-color:var(--blu);color:#fff;box-shadow:0 4px 14px -3px rgba(34,104,167,0.45);}
.fm-reg-steps li.is-active .fm-reg-steps__lbl{color:var(--nero);font-weight:700;}
.fm-reg-steps li.is-done .fm-reg-steps__num{background:var(--blu);border-color:var(--blu);color:#fff;opacity:.7;}

/* Card */
.fm-reg-card{background:var(--surface);border:1px solid var(--bordo);border-radius:calc(var(--radius)*1.4);padding:36px 36px 32px;box-shadow:0 8px 32px -12px rgba(11,30,55,0.12),0 1px 3px rgba(0,0,0,0.04);}

/* Summary plan */
.fm-reg-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 22px;background:linear-gradient(135deg,var(--blu) 0%,var(--blu-scuro) 100%);border-radius:var(--radius);color:#fff;margin-bottom:28px;}
.fm-reg-summary__label{font-size:10.5px;font-weight:700;color:rgba(255,255,255,0.72);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.fm-reg-summary__name{font-size:17px;font-weight:800;color:#fff;letter-spacing:-0.01em;line-height:1.2;}
.fm-reg-summary__price{text-align:right;line-height:1.1;}
.fm-reg-summary__amount{display:inline-block;font-size:30px;font-weight:800;color:#fff;letter-spacing:-0.02em;}
.fm-reg-summary__period{display:block;font-size:12px;font-weight:600;color:rgba(255,255,255,0.85);margin-top:2px;}
.fm-reg-summary__equiv{display:block;font-size:11px;color:rgba(255,255,255,0.65);margin-top:4px;font-weight:500;}

/* Header inside card */
.fm-reg-head{margin-bottom:22px;}
.fm-reg-title{font-size:22px;font-weight:800;color:var(--nero);margin:0 0 6px;letter-spacing:-0.02em;line-height:1.2;}
.fm-reg-sub{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55;}

/* Form area inherits .mepr-signup-form.mepr-form (già stilato altrove).
   Reset background card-on-card per non duplicare il box */
.fm-reg-form{margin-bottom:0;}
.fm-reg-form .mepr-signup-form.mepr-form{background:transparent;border:none;padding:0;margin:0;max-width:none;}

/* Login link */
.fm-reg-login{text-align:center;font-size:13.5px;color:var(--muted);margin-top:18px;padding-top:18px;border-top:1px solid var(--bordo2);}
.fm-reg-login a{color:var(--blu);font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:6px;}
.fm-reg-login a:hover{color:var(--blu-scuro);}

/* Trust bar */
.fm-reg-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;font-size:12px;color:var(--muted);font-weight:500;}
.fm-reg-trust svg{color:#1a8a4d;flex:0 0 auto;}

/* Responsive */
@media(max-width:600px){
  .fm-reg-page{padding:24px 14px 40px;}
  .fm-reg-card{padding:26px 20px 24px;border-radius:var(--radius);}
  .fm-reg-summary{flex-direction:column;align-items:flex-start;padding:16px 18px;}
  .fm-reg-summary__price{text-align:left;}
  .fm-reg-steps{margin-bottom:22px;}
  .fm-reg-steps__num{width:32px;height:32px;font-size:13px;}
  .fm-reg-steps::before{top:16px;left:32px;right:32px;}
  .fm-reg-steps__lbl{font-size:10.5px;}
  .fm-reg-title{font-size:20px;}
}
[data-theme="dark"] .fm-reg-page{background:var(--cream);}
[data-theme="dark"] .fm-reg-card{background:var(--surface);border-color:var(--bordo);}
[data-theme="dark"] .fm-reg-summary{background:linear-gradient(135deg,#1f3a5a 0%,#0f1e30 100%);}
[data-theme="dark"] .fm-reg-steps__num{background:var(--cream);border-color:var(--bordo);}

/* ══════════════════════════════════════
   SOCIAL AUTH (Google) sulla registration
══════════════════════════════════════ */
.fm-social-auth{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:24px;position:relative;}
.fm-social-auth.is-loading{opacity:.6;pointer-events:none;}
/* Google rendering può essere lento → reserve min-height per evitare CLS */
.fm-social-auth .g_id_signin{min-height:44px;display:flex;justify-content:center;width:100%;max-width:320px;}
.fm-social-divider{display:flex;align-items:center;gap:12px;width:100%;margin:6px 0 0;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.fm-social-divider::before,.fm-social-divider::after{content:"";flex:1;height:1px;background:var(--bordo);}
.fm-social-divider span{padding:0 8px;white-space:nowrap;}
.fm-social-error{width:100%;max-width:320px;font-size:13px;color:#c0392b;background:rgba(192,57,43,0.08);border:1px solid rgba(192,57,43,0.2);border-radius:var(--btn-radius);padding:9px 12px;text-align:center;}
[data-theme="dark"] .fm-social-divider::before,
[data-theme="dark"] .fm-social-divider::after{background:var(--bordo);}

/* ══════════════════════════════════════
   NEWS link nel topbar (visibilità categoria News)
══════════════════════════════════════ */
.topbar-news-link{position:relative;color:var(--nero) !important;font-weight:700 !important;padding-left:18px !important;}
.topbar-news-link::before{content:"";position:absolute;left:6px;top:50%;width:6px;height:6px;border-radius:50%;background:#e02424;transform:translateY(-50%);box-shadow:0 0 0 0 rgba(224,36,36,.5);animation:fmNewsDot 2.4s ease-out infinite;}
@keyframes fmNewsDot{
  0%{box-shadow:0 0 0 0 rgba(224,36,36,.55);}
  70%{box-shadow:0 0 0 6px rgba(224,36,36,0);}
  100%{box-shadow:0 0 0 0 rgba(224,36,36,0);}
}
@media(prefers-reduced-motion:reduce){.topbar-news-link::before{animation:none;}}
/* Mobile menu news link enhancement */
.fmm-grid-news{position:relative;font-weight:700;}
.fmm-grid-news::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#e02424;margin-left:8px;vertical-align:middle;}

/* ══════════════════════════════════════
   AD-SKIN MODE — layout "boxed" quando le ads sono attive
   Attivato da body.fm-ads-on (inc/ads.php). Con uno skin/wallpaper full-page
   il sito diventa una colonna centrata OPACA: il wallpaper resta visibile solo
   nei margini laterali (rail), il contenuto non finisce più sotto la pubblicità.
   Larghezza colonna tunabile con --ad-box.
══════════════════════════════════════ */
body.fm-ads-on{--ad-box:1140px;background:transparent;}
/* Boxing dei contenitori top-level (incluso il footer, che sta fuori da #page-wrap) */
body.fm-ads-on .topbar,
body.fm-ads-on .site-header,
body.fm-ads-on .ticker-bar,
body.fm-ads-on #page-wrap,
body.fm-ads-on .site-footer{max-width:var(--ad-box);margin-left:auto;margin-right:auto;}
/* Footer: z-index sopra il wallpaper (era dietro → non si vedeva) + bg opaco */
body.fm-ads-on .site-footer{position:relative;z-index:200;background:var(--surface);}
/* z-index SOPRA il wallpaper skin (l'header funzionava già a 200 → wallpaper < 200).
   IMPORTANTe: non impostare position sull'header, deve restare sticky. */
body.fm-ads-on .ticker-bar,
body.fm-ads-on #page-wrap{position:relative;z-index:200;}
/* topbar z-index 400 (sopra header 300): così il dropdown "Consulenza" si apre
   SOPRA il logo/header invece di finirci sotto (lo stacking context della topbar
   imprigionava il pannello z-index:500). */
body.fm-ads-on .topbar{position:relative;z-index:400;}
body.fm-ads-on .site-header{z-index:300;}
/* Sfondi opachi: topbar/header/ticker = cream, contenuto = bg */
body.fm-ads-on .topbar,
body.fm-ads-on .site-header,
body.fm-ads-on .ticker-bar{background:var(--cream);}
body.fm-ads-on #page-wrap{background:var(--bg);}
/* Border-radius in alto sulla topbar → colonna a "card" uniforme */
body.fm-ads-on .topbar{border-radius:var(--radius) var(--radius) 0 0;}
/* Area del titolo (header articolo / categoria / hero) = var(--cream)
   → #161B22 in dark, #EAE8E0 in light (automatico via variabile) */
body.fm-ads-on .art-header,
body.fm-ads-on .cat-head,
body.fm-ads-on .home-hero{background:var(--cream) !important;}
/* I blocchi full-bleed interni non devono superare la colonna ridotta */
body.fm-ads-on .home-hero,
body.fm-ads-on .home-outer-card,
body.fm-ads-on .art-header,
body.fm-ads-on .art-outer-card,
body.fm-ads-on .cat-head,
body.fm-ads-on .cat-outer-card,
body.fm-ads-on .page-outer-card{max-width:100% !important;}
body.fm-ads-on .home-hero{border-radius:0;padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,48px);}
/* Colonna boxed più stretta (1140px) → meno padding orizzontale, più spazio al
   contenuto. Le pagine (page.php) ereditavano i ~50px del layout full-width. */
body.fm-ads-on .page-outer-card{padding-left:25px;padding-right:25px;}
/* cat-outer / home-outer: piccolo respiro laterale in boxed mode */
body.fm-ads-on .cat-outer,
body.fm-ads-on .home-outer{padding:0 20px;}
/* home-outer bg = var(--cream) (#161B22 dark / #EAE8E0 light) per uniformarsi a cat-outer */
body.fm-ads-on .home-outer{background:var(--cream);}
/* Sotto la larghezza colonna (tablet/mobile) il boxing non ha effetto. */