/* ==========================================================
   FILE: tdr/style.css  (Child Theme: TDR)
   SCOPO: definizioni principali, override generali, side-nav (caret/hit/accordion), header/footer, IT/EN
   NOTE:  Versione UNMINIFIED — v3.1.88 (canonico)
          — Compat: Polylang (html[lang|="it"] / html[lang|="en"]), menu BLOG con wordmark/icone lingua
   ========================================================== */

/*
 Theme Name: TDR
 Template: inspiro
 Version: 3.1.88
*/

/* ================================
   [BLOCCO 0] NOTE DI COMPATIBILITÀ (merge A+B)
   - Disattiva le icone caret legacy del tema (in/accanto all’anchor).
   - Caret come SIBLING dell’anchor: .tdr-caret (button) + .tdr-hit (span).
   - LOGO di testata gestito in assets/css/logo.css (niente duplicati qui).
   - Polylang: usa html[lang|="it"] e html[lang|="en"] per varianti lingua.
   ================================ */

/* ================================
   [BLOCCO 1] FONT-FACE: UBUNTU
   ================================ */
@font-face{font-family:"Ubuntu";src:local("Ubuntu Regular"),url("assets/fonts/ubuntu/Ubuntu-R.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Ubuntu";src:local("Ubuntu Italic"),url("assets/fonts/ubuntu/Ubuntu-RI.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Ubuntu";src:local("Ubuntu Bold"),url("assets/fonts/ubuntu/Ubuntu-B.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Ubuntu";src:local("Ubuntu Bold Italic"),url("assets/fonts/ubuntu/Ubuntu-BI.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}

/* Condensed solo se la usi davvero */
@font-face{font-family:"Ubuntu Condensed";src:local("Ubuntu Condensed"),url("assets/fonts/ubuntu/Ubuntu-C.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}



/* ================================
   [BLOCCO 2] VARIABILI PALETTE + FINITURE
   ================================ */
:root{
  --tdr-primary: #0999db;
  --tdr-primary-hover: #00aeff;
  --tdr-white:   #f9f9f9ff;
  --tdr-gray:    #8a8f94;
  --tdr-gray-bright: #b7bcc2;
  --tdr-open:    #3b3f43;
  --tdr-sep-alpha: .10;
  --tdr-chevron-stroke: 1.8px;

  /* Animazioni */
  --tdr-ease: cubic-bezier(.22,.61,.36,1);
  --tdr-anim-open-ms: 520ms;
  --tdr-anim-close-ms: 640ms;
  --tdr-caret-rot-ms: 520ms;
  --tdr-caret-color-ms: 320ms;

  /* Header baseline */
  --tdr-header-h: 64px;
  --tdr-text-shift-y: 2px;

  /* Spaziature ARMONICHE menu header */
  --tdr-gap-nav:   clamp(8px, 0.9vw, 14px);
  --tdr-gap-tight: max(0px, calc(clamp(2px, 0.45vw, 8px) - 1cm));

  /* Side-nav righe/caret */
  --tdr-row-h1: 40px;   /* depth-1 */
  --tdr-row-h2: 34px;   /* depth-2 */
  --tdr-caret-w: 56px;  /* fascia destra caret */
  /* default per profondità ≥3 */
  --tdr-row-h: var(--tdr-row-h2);

  /* Lang UI */
  --tdr-lang-col: 56px;
  --tdr-lang-row: 34px;
  --tdr-lang-gap: 6px;

  /* BLOG wordmark (side) */
  --tdr-blog-w: clamp(78px, 9vw, 138px);
  --tdr-blog-h: 30px;
  --tdr-blog-pad-top: 14px;

  /* Wrap immagini/testo */
  --tdr-wrap-max: 360px;
  --tdr-wrap-gap: 1rem;
  --tdr-wrap-bottom-gap: 1rem;
  --tdr-wrap-break: 1111px;
}

/* ================================
   [BLOCCO 3] BLOG sempre blu (solo HEADER — link testuale)
   - Se usi il wordmark in header, questa sezione resta neutra.
   ================================ */
#site-navigation .menu-blog > a{ color:var(--tdr-primary)!important; font-weight:bold!important; }
#site-navigation .menu-blog > a:hover{ color:var(--tdr-primary-hover)!important; }

/* ==========================================================
   SEZIONE SIDE-NAV (requisiti)
   - caret SOLO su depth-1/2; dal depth-3 sempre aperto
   - hover isolato (testo O caret); una sezione aperta per livello (JS)
   ========================================================== */

/* ================================
   [BLOCCO 4] Reset struttura + base link (menu canonici)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en),
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) .sub-menu{
  margin:0 !important; padding:0 !important; list-style:none !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li{
  margin:0 !important; padding:0 !important; background:transparent !important; border:0 !important;
  line-height:normal !important; position:relative;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a{
  position:relative; display:block; line-height:1.35; white-space:normal;
  padding:8px 64px 8px 20px;
  text-decoration:none;
  /* fallback + nuovo */
  overflow-wrap: break-word;
  overflow-wrap:anywhere;
  word-break: break-word;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-1  > a { color: var(--tdr-white) !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li:is(.depth-2,.depth-3,.depth-4,.depth-5,.depth-6,.depth-7,.depth-8,.depth-9,.depth-10,.depth-11) > a{
  color: var(--tdr-gray) !important;
}


/* ================================
   [BLOCCO 4bis] Side-nav — micro-respiro righe
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a{
  line-height: 1.32 !important;
  padding-block: 7px !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.depth-1 > a{
  padding-block: 8px !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-2 > a{
  padding-block: 6px !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li:is(.depth-3,.depth-4,.depth-5,.depth-6,.depth-7,.depth-8,.depth-9,.depth-10,.depth-11) > a{
  padding-block: 5px !important;
}

/* ================================
   [BLOCCO 5] Anti-Superfish + hard-reset icone/toggle legacy
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li:hover > ul { display: none !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.open  > ul { display: block !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-item-has-children > a::after { content: none !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .submenu-toggle,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > .submenu-toggle,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .dropdown-toggle,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > .dropdown-toggle,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .sf-sub-indicator,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > .sf-sub-indicator,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .svg-icon,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .svg-icon-angle-right,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a .svg-icon-angle-down { display: none !important; }
/* caret/hit solo su voci marcate da JS */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li:not(.has-caret) > .tdr-caret,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li:not(.has-caret) > .tdr-hit { display: none !important; }
/* durante animazioni tieni visibili i submenu */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.animating > ul,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.closing   > ul{
  display: block !important; overflow: hidden;
}

/* ================================
   [BLOCCO 6] Indent multilivello (fino a depth-11)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-2  > a { padding-left: 32px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-3  > a { padding-left: 48px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-4  > a { padding-left: 64px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-5  > a { padding-left: 80px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-6  > a { padding-left: 96px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-7  > a { padding-left: 112px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-8  > a { padding-left: 128px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-9  > a { padding-left: 144px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-10 > a { padding-left: 160px !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-11 > a { padding-left: 176px !important; }

/* ================================
   [BLOCCO 6bis] Header — rimuovi indicatori (solo menu principale)
   ================================ */
:where(header, .site-header, #header)
  :is(#primary-menu, .menu, .sf-menu) .menu-item-has-children > a::after{ content: none !important; }
:where(header, .site-header, #header)
  :is(.dropdown-toggle, .submenu-toggle, .sf-sub-indicator, .svg-icon-angle-down){ display: none !important; }

/* ================================
   [BLOCCO 7] Side-nav — layout + neutralizzazione tema
   ================================ */
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.has-caret{ position: relative !important; }
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.menu-item-has-children > a{
  display:block !important; box-sizing:border-box !important; width:100% !important;
  padding-right:56px !important; position:static !important; background:none !important;
}
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.has-caret > ul{ display:none !important; }
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.has-caret.open > ul{ display:block !important; }

/* ================================
   [BLOCCO 7bis] Reset caret (neutralizza stili tema)
   ================================ */
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li > .tdr-caret{
  -webkit-appearance:none; appearance:none; background:transparent !important; border:0 !important; box-shadow:none !important; border-radius:0 !important;
}
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li > .tdr-caret::before,
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li > .tdr-caret::after{ content:none !important; }

/* ================================
   [BLOCCO 7ter] Caret — reset icona (compat inside/sibling)
   ================================ */
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.has-caret > .tdr-caret .svg-icon,
#side-nav :is(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en) li.has-caret > a > .tdr-caret .svg-icon{
  display:block !important; visibility:visible !important; position:static !important; margin:0 !important;
}

/* ================================
   [BLOCCO 7quater] Caret — 28px HARD + mapping ▼/▲
   ================================ */
#side-nav :where(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en)
  li.has-caret :is(> .tdr-caret, > a > .tdr-caret){
  font-size:0 !important; line-height:0 !important;
}
#side-nav :where(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en)
  li.has-caret :is(> .tdr-caret, > a > .tdr-caret) .svg-icon{
  width:28px !important; height:28px !important; min-width:28px !important; min-height:28px !important; flex:0 0 28px !important;
  transform:rotate(0deg) !important; transform-origin:50% 50%; transform-box:fill-box;
  transition: transform var(--tdr-caret-rot-ms) var(--tdr-ease);
}
#side-nav :where(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en)
  li.has-caret.open :is(> .tdr-caret, > a > .tdr-caret) .svg-icon{
  transform:rotate(180deg) !important;
}

/* ================================
   [BLOCCO 7quinquies] Caret — stroke come il parent
   ================================ */
#side-nav :where(#menu-main,#main-menu,#primary-menu,#menu-main-en,#main-menu-en)
  li.has-caret :is(> .tdr-caret, > a > .tdr-caret) .svg-icon :is(path,polyline,line){
  stroke: currentColor !important; fill: none !important; stroke-width: 1.8px !important; stroke-linecap: round !important; stroke-linejoin: round !important;
}

/* ================================
   [BLOCCO 8] Stati & Hover (DDR — v3)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li:is(:hover,:focus,:active,:focus-within),
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li:is(:hover,:focus,:active,:focus-within) > a,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a:is(:hover,:focus,:active){
  background: transparent !important; box-shadow: none !important; text-shadow: none !important; filter: none !important; opacity: 1 !important; transition: none !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-1 > a:is(:hover,:focus,:active){
  color: var(--tdr-white) !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li:is(.depth-2,.depth-3,.depth-4,.depth-5,.depth-6,.depth-7,.depth-8,.depth-9,.depth-10,.depth-11)
  > a:is(:hover,:focus,:active){
  color: var(--tdr-gray) !important;
}
/* Hover solo sul testo (label) → blu */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a > .tdr-label:hover{
  color: var(--tdr-primary) !important;
}
/* Il caret non eredita il blu dall’hover riga */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li:hover :is(> .tdr-caret, > a > .tdr-caret) .svg-icon{
  color: var(--tdr-gray-bright) !important;
}

/* ================================
   [BLOCCO 9] Side-nav: separatori uniformi TOP-only
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.depth-1{
  border-top: 1px solid rgba(255,255,255, var(--tdr-sep-alpha)) !important; border-bottom: 0 !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.depth-1:first-child{ border-top: 0 !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.menu-blog{ border-bottom: 0 !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.depth-1.has-caret{ border-bottom: 0 !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.depth-1.has-caret + li.depth-1,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li.menu-blog + li.depth-1{
  border-top: 1px solid rgba(255,255,255, var(--tdr-sep-alpha)) !important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-2.has-caret{
  border-top: 1px solid rgba(255,255,255, var(--tdr-sep-alpha)) !important; border-bottom: 0 !important;
}

/* ================================
   [BLOCCO 10] Visibilità submenu profondi (sempre aperti)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li:is(.depth-3,.depth-4,.depth-5,.depth-6,.depth-7,.depth-8,.depth-9,.depth-10,.depth-11) > ul{
  display:block !important;
}

/* ================================
   [BLOCCO 11] Accessibilità (focus tastiera)
   ================================ */
/* Evita outline sui focus mouse generici... */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a:focus{ outline:none !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > .tdr-caret:focus{ outline:none !important; }
/* ...ma rendi visibile il focus da tastiera */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  :is(a,.tdr-caret):focus-visible{
  outline:2px solid var(--tdr-primary); outline-offset:2px; border-radius:2px;
}

/* ================================
   [BLOCCO 12] Micro-rifiniture
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-item-has-children > ul.sub-menu{ margin-top:0 !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) .sub-menu a{ white-space:normal !important; }

/* ================================
   [BLOCCO 13] Header — baseline & spaziature (ripristino x.x.51)
   ATTENZIONE!!! NON TOCCARE ---> RIFINITURE e MISURE ...VOLUTE!!
   ================================ */
:root{
  --tdr-header-h: 64px;
  --tdr-text-shift-y: 2px;
  --tdr-gap-nav:  clamp(8px, 0.9vw, 14px);
  --tdr-gap-tight: clamp(2px, 0.45vw, 8px);
}
body.scrolled{ --tdr-header-h: 56px; }
.header-inner{ align-items: center !important; }
.navbar .nav > li > a{
  height: var(--tdr-header-h) !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  transform: translateY(var(--tdr-text-shift-y));
}
.navbar .nav > li{ margin-right: var(--tdr-gap-nav) !important; }
.navbar .nav > li:last-child{ margin-right: 0 !important; }

/* ================================
   [BLOCCO 14] Header — BLOG → wordmark (bivalente IT/EN)
   ================================ */
.navbar .nav > li.menu-blog{ margin-right:var(--tdr-gap-tight)!important; }
.navbar .nav > li.menu-blog > a{
  height:var(--tdr-header-h)!important;
  padding:0 clamp(4px,.35vw,8px) 0 clamp(6px,.5vw,10px)!important;
  text-indent:-9999px; white-space:nowrap!important; overflow:hidden!important;
  transform:none!important;
}
.navbar .nav > li.menu-blog > a::after{ content:none!important; }
/* IT */
html[lang|="it"] .navbar .nav > li.menu-blog > a::before{
  content:""; display:block; height:21px; aspect-ratio:512/220.33;
  background:url("assets/logo/icons/menu-blog-it.svg?v=1") no-repeat center/contain;
  transition:filter .2s ease;
}
/* EN */
html[lang|="en"] .navbar .nav > li.menu-blog > a::before{
  content:""; display:block; height:21px; aspect-ratio:512/220.33;
  background:url("assets/logo/icons/menu-blog-en.svg?v=1") no-repeat center/contain;
  transition:filter .2s ease;
}
/* Hover/focus del wordmark BLOG */
.navbar .nav > li.menu-blog > a:is(:hover,:focus-visible)::before{ filter:brightness(0.69); }
/* Neutralizzazione estetica coerente */
.navbar .nav > li.menu-blog,
.navbar .nav > li.menu-blog > a{
  opacity:1!important; filter:none!important; background:transparent!important;
  text-shadow:none!important; box-shadow:none!important; transition:none!important;
}

/* ================================
   [BLOCCO 15] Header — Lingue: SOLO CLICK, icona + dropdown slim
   ================================ */
#site-navigation.navbar .nav > li:is(.pll-parent-menu-item,.menu-lang,.menu-item-language,[class*="lang-item"]) > a,
.site-navigation .menu > li:is(.pll-parent-menu-item,.menu-lang,.menu-item-language,[class*="lang-item"]) > a{
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  height:var(--tdr-header-h)!important; padding-inline:clamp(6px,.5vw,10px)!important;
  font-size:0!important; color:transparent!important; background:transparent!important; border:0!important; box-shadow:none!important; text-decoration:none!important;
}
/* Icona SVG */
.tdr-lang-wm{ display:block; width:24px; height:24px; line-height:0; pointer-events:none }
.tdr-lang-wm svg{ display:block; width:24px; height:24px; overflow:visible!important; }
/* Base: bianco */
#site-navigation .nav > li > a .tdr-lang-wm svg #tdr-icon-lang,
#site-navigation .nav > li > a .tdr-lang-wm svg #l-icon-language,
.site-navigation .menu > li > a .tdr-lang-wm svg #tdr-icon-lang,
.site-navigation .menu > li > a .tdr-lang-wm svg #l-icon-language{ fill:#fff; }
/* Submenu centrato, visibile solo con .tdr-lang-open */
#site-navigation.navbar .nav > li.pll-parent-menu-item,
.site-navigation .menu > li.pll-parent-menu-item{ position:relative!important; }
#site-navigation.navbar .nav > li.pll-parent-menu-item > ul.sub-menu,
.site-navigation .menu > li.pll-parent-menu-item > ul.sub-menu{
  position:absolute!important; left:50%!important;
  top:calc(100% + var(--tdr-lang-gap))!important; width:var(--tdr-lang-col)!important; min-width:0!important;
  padding:0!important; margin:0!important; background:transparent!important; border:0!important; box-shadow:none!important; text-align:center!important;
  display:block!important;
  opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-6px)!important;
  transition:opacity .18s var(--tdr-ease), transform .18s var(--tdr-ease), visibility 0s linear .18s;
  z-index:40!important;
}
#site-navigation.navbar .nav > li.pll-parent-menu-item.tdr-lang-open > ul.sub-menu,
.site-navigation .menu > li.pll-parent-menu-item.tdr-lang-open > ul.sub-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0)!important;
  transition:opacity .18s var(--tdr-ease), transform .18s var(--tdr-ease);
}
/* Voci pannellino */
#site-navigation.navbar .nav > li.pll-parent-menu-item > ul.sub-menu > li,
.site-navigation .menu > li.pll-parent-menu-item > ul.sub-menu > li{ border:0!important; min-width:0!important; }
#site-navigation.navbar .nav > li.pll-parent-menu-item > ul.sub-menu > li > a,
.site-navigation .menu > li.pll-parent-menu-item > ul.sub-menu > li > a{
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:100%!important; height:var(--tdr-lang-row)!important; line-height:var(--tdr-lang-row)!important;
  padding:0!important; text-transform:uppercase; color:var(--tdr-gray)!important;
}
#site-navigation.navbar .nav > li.pll-parent-menu-item > ul.sub-menu > li + li > a,
.site-navigation .menu > li.pll-parent-menu-item > ul.sub-menu > li + li > a{ border-top:1px solid rgba(255,255,255,.10)!important; }
/* Anti-artefatti tema su hover */
#site-navigation .nav > li:is(.pll-parent-menu-item,.menu-lang,.menu-item-language,[class*="lang-item"]) > a:is(:hover,:focus-visible),
.site-navigation .menu > li:is(.pll-parent-menu-item,.menu-lang,.menu-item-language,[class*="lang-item"]) > a:is(:hover,:focus-visible){
  background:transparent!important; color:transparent!important; box-shadow:none!important; text-decoration:none!important;
}

/* ================================
   [BLOCCO 15bis] Header — Lingue: togli freccetta (chevron) 
   ▲🔵 <---- non eliminare mai questo blocco, IMPORTANTISSMO!
   ================================ */
#site-navigation.navbar .pll-parent-menu-item > a
  :is(.svg-icon-angle-down, .sf-sub-indicator, .dropdown-toggle, .submenu-toggle),
.site-navigation .menu > .pll-parent-menu-item > a
  :is(.svg-icon-angle-down, .sf-sub-indicator, .dropdown-toggle, .submenu-toggle){
  display: none !important;
}
#site-navigation.navbar .pll-parent-menu-item > ul.sub-menu::before,
#site-navigation.navbar .pll-parent-menu-item > ul.sub-menu::after,
.site-navigation .menu > .pll-parent-menu-item > ul.sub-menu::before,
.site-navigation .menu > .pll-parent-menu-item > ul.sub-menu::after{
  content: none !important; display: none !important;
}

/* ================================
   [BLOCCO 16] Side-nav — BLOG wordmark (centering + icone lingua)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a{
  position:relative!important; display:flex!important; align-items:center!important; justify-content:flex-start!important;
  gap:0!important; width:100%!important; min-height:var(--tdr-row-h1)!important; line-height:var(--tdr-row-h1)!important;
  padding:0 var(--tdr-caret-w) 0 0!important; background:none!important; overflow:visible!important;
  padding-top:var(--tdr-blog-pad-top)!important; /* aria sopra il wordmark */
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a > .tdr-label:first-child{
  position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important;
  overflow:hidden!important; white-space:nowrap!important; border:0!important;
  clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a .tdr-wm-blog{
  display:inline-block!important; width:var(--tdr-blog-w); height:var(--tdr-blog-h);
  background-repeat:no-repeat!important; background-position:left center!important; background-size:contain!important;
  pointer-events:auto!important; will-change:filter; transition:filter .2s ease;
}
/* IT */
html[lang|="it"] #side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a .tdr-wm-blog{
  background-image:url("assets/logo/icons/menu-blog-it.svg");
}
/* EN */
html[lang|="en"] #side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a .tdr-wm-blog{
  background-image:url("assets/logo/icons/menu-blog-en.svg");
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > a .tdr-wm-blog:hover{ filter:brightness(1.33)!important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog > .tdr-caret{
  top:calc(var(--tdr-caret-nudge,3px) + var(--tdr-blog-pad-top))!important;
}
/* respiro sotto BLOG: 3 righe depth-2 */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog{ margin-bottom:calc(var(--tdr-row-h2)*3)!important; }


/* ================================
   [BLOCCO 17] SEARCH nel side-nav — stile pulsanti
   ================================ */
#side-nav .search-form .search-submit,
#side-nav .searchform input[type="submit"],
#side-nav .wp-block-search__button{
  background:transparent!important; color:var(--tdr-primary)!important; border:1px solid var(--tdr-primary)!important;
  box-shadow:none!important; transition:filter .2s ease, box-shadow .2s ease;
}
#side-nav .search-form .search-submit:hover,
#side-nav .searchform input[type="submit"]:hover,
#side-nav .wp-block-search__button:hover{
  filter:brightness(1.33); box-shadow:0 0 4px rgba(9,153,219,.50);
}
#side-nav .search-form .search-submit:focus-visible,
#side-nav .searchform input[type="submit"]:focus-visible,
#side-nav .wp-block-search__button:focus-visible{
  filter:brightness(1.33); box-shadow:0 0 4px rgba(9,153,219,.60); outline:none!important;
}

/* ================================
   [BLOCCO 17bis] Side-nav — nascondi intestazione "Cerca …"
   ================================ */
#side-nav .widget_search :is(.widget-title,.widgettitle,h1,h2,h3,h4,h5,h6),
#side-nav .wp-block-legacy-widget[id*="search"] :is(.widget-title,.widgettitle,h1,h2,h3,h4,h5,h6),
#side-nav .wp-block-search .wp-block-search__label{ display:none!important; }
#side-nav .widget_search:has(form) > *:first-child,
#side-nav .wp-block-legacy-widget[id*="search"]:has(form) > *:first-child{ display:none!important; }

/* ================================
   [BLOCCO 18] CARET — visibilità + stati (solo hover)
   ================================ */
#side-nav .tdr-caret{ position:relative!important; z-index:9!important; background:transparent!important; border:0!important; box-shadow:none!important; pointer-events:auto!important; }
#side-nav .tdr-caret .svg-icon{ display:block!important; width:1em!important; height:1em!important; color:var(--tdr-gray-bright)!important; transition:color var(--tdr-caret-color-ms) var(--tdr-ease); }
#side-nav li.depth-1.has-caret :is(> .tdr-caret, > a > .tdr-caret) .svg-icon{ color:var(--tdr-gray-bright)!important; }
#side-nav li.depth-2.has-caret.open :is(> .tdr-caret, > a > .tdr-caret) .svg-icon{ color:var(--tdr-primary)!important; }
#side-nav .tdr-caret:hover .svg-icon{ color:var(--tdr-primary)!important; }

/* ================================
   [BLOCCO 19] Side-nav — isolamento hit-area
   ================================ */
#side-nav .tdr-hit{ pointer-events:none !important; background:transparent !important; border:0 !important; box-shadow:none !important; }
#side-nav .tdr-caret{ pointer-events:auto !important; position:absolute !important; right:0 !important; width: var(--tdr-caret-w) !important; height: var(--tdr-row-h) !important; display:flex !important; align-items:center !important; justify-content:center !important; z-index:3; }

/* ================================
   [BLOCCO 20] Side-nav — righe stabili (match Inspiro)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li{ position:relative!important; min-height:var(--tdr-row-h)!important; padding-top:0!important; padding-bottom:0!important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-1{ --tdr-row-h:var(--tdr-row-h1); }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.depth-2{ --tdr-row-h:var(--tdr-row-h2); }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li > a{
  display:block!important; line-height:var(--tdr-row-h)!important; padding:0!important; padding-right:var(--tdr-caret-w)!important; margin:0!important;
  background-color:transparent!important; border:0!important; box-shadow:none!important;
}

/* ================================
   [BLOCCO 21] Side-nav — rimuovi pseudo-duplicazioni (BLOG)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li::before,
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) > li::after{
  content:none !important; display:none !important; pointer-events:none !important; background:none !important; text-shadow:none !important; filter:none !important; opacity:1 !important;
}

/* ================================
   [BLOCCO 22] Side-nav — LANG su BLOG (solo click, anti-FOUC, transizione morbida)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en) li.menu-blog{
  position:relative !important;
}

/* Trigger icona lingua (possibile nudge) */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > a .tdr-lang-trigger{
  position:absolute !important; right:0 !important; top:0 !important;
  width: var(--tdr-caret-w) !important; height: var(--tdr-row-h1) !important;
  margin:0 !important; padding:0 !important; display:flex !important;
  align-items:center !important; justify-content:center !important;
  text-transform:uppercase; pointer-events:auto !important; z-index:4 !important;
  transform: translateY(var(--tdr-lang-nudge,0px));
}

/* Pannellino lingue — CHIUSO di default ma con transizione pronta */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > ul.tdr-lang-sub{
  display:block !important; position:absolute !important;
  right:0 !important; top:calc(var(--tdr-row-h1) + var(--tdr-lang-nudge,0px)) !important;
  width:var(--tdr-caret-w) !important; z-index:5 !important;
  margin:0 !important; padding:0 !important; border:0 !important; list-style:none !important;

  /* stato CHIUSO: invisibile, niente click, niente flash */
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-6px) scaleY(.001) !important;
  transform-origin:top center;
  transition:
    opacity 180ms var(--tdr-ease),
    transform 220ms var(--tdr-ease),
    visibility 0s linear 220ms;
  will-change:opacity, transform;
  contain:paint;
}

/* Non aprire mai su :hover o su .open del tema */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog:is(:hover,.open) > ul.tdr-lang-sub{
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
  transform:translateY(-6px) scaleY(.001) !important;
}

/* APERTO solo con .tdr-lang-open → discesa morbida */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog.tdr-lang-open > ul.tdr-lang-sub{
  opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  transform:translateY(0) scaleY(1) !important;
  transition:
    opacity 180ms var(--tdr-ease),
    transform 220ms var(--tdr-ease),
    visibility 0s linear 0s;
}

/* Voci pannellino */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > ul.tdr-lang-sub > li{ min-height:var(--tdr-row-h2) !important; border:0 !important; }
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > ul.tdr-lang-sub > li > a{
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:0 !important; line-height:var(--tdr-row-h2) !important; text-align:center !important;
  color:var(--tdr-gray) !important; text-transform:uppercase;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > ul.tdr-lang-sub > li + li > a{
  border-top:1px solid rgba(255,255,255,.10) !important;
}


/* ================================
   [BLOCCO 22bis] Side-nav — LANG: aria sopra icona (match BLOCCO 16)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > a .tdr-lang-trigger{
  top: var(--tdr-blog-pad-top) !important;                 /* stessa aria del wordmark */
  /* mantiene l’eventuale nudge fine */
  transform: translateY(var(--tdr-lang-nudge, 0px));
}

#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog > ul.tdr-lang-sub{
  top: calc(var(--tdr-row-h1) + var(--tdr-blog-pad-top) + var(--tdr-lang-nudge, 0px)) !important;
}



/* ================================
   [BLOCCO 23] Header — Lingue: animazioni on/off
   ================================ */
:root{
  --tdr-lang-white:#fff;
  --tdr-lang-blue: var(--tdr-primary);
  --tdr-lang-swap-ms:1.3s;
}
@keyframes tdrLangA{0%,49.9%{fill:var(--tdr-lang-white);}50%,100%{fill:var(--tdr-lang-blue);}}
@keyframes tdrLangB{0%,49.9%{fill:var(--tdr-lang-blue);}50%,100%{fill:var(--tdr-lang-white);}}
#site-navigation .nav > li.pll-parent-menu-item.tdr-lang-open > a .tdr-lang-wm svg #l-icon-language,
.site-navigation .menu > li.pll-parent-menu-item.tdr-lang-open > a .tdr-lang-wm svg #l-icon-language{
  animation:tdrLangA var(--tdr-lang-swap-ms) steps(1,end) infinite;
}
#site-navigation .nav > li.pll-parent-menu-item.tdr-lang-open > a .tdr-lang-wm svg #tdr-icon-lang,
.site-navigation .menu > li.pll-parent-menu-item.tdr-lang-open > a .tdr-lang-wm svg #tdr-icon-lang{
  animation:tdrLangB var(--tdr-lang-swap-ms) steps(1,end) infinite;
}
@media (prefers-reduced-motion: reduce){
  #site-navigation .nav > li > a .tdr-lang-wm svg :is(#l-icon-language,#tdr-icon-lang),
  .site-navigation .menu > li > a .tdr-lang-wm svg :is(#l-icon-language,#tdr-icon-lang){ animation:none!important; }
}

/* ================================
   [BLOCCO 23bis] Header — icona blu al hover quando CHIUSO
   ================================ */
#site-navigation .nav > li.pll-parent-menu-item:not(.tdr-lang-open):not(.tdr-lang-flash) > a:is(:hover,:focus-visible) .tdr-lang-wm svg :is(#l-icon-language,#tdr-icon-lang),
.site-navigation .menu > li.pll-parent-menu-item:not(.tdr-lang-open):not(.tdr-lang-flash) > a:is(:hover,:focus-visible) .tdr-lang-wm svg :is(#l-icon-language,#tdr-icon-lang){
  animation:none!important; fill:var(--tdr-primary)!important;
}

/* ================================
   [BLOCCO 23ter] Side-nav — Lingue: animazioni on/off (match HEADER)
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog.tdr-lang-open > a .tdr-lang-trigger svg #l-icon-language{
  animation: tdrLangA var(--tdr-lang-swap-ms) steps(1,end) infinite;
}
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog.tdr-lang-open > a .tdr-lang-trigger svg #tdr-icon-lang{
  animation: tdrLangB var(--tdr-lang-swap-ms) steps(1,end) infinite;
}
@media (prefers-reduced-motion: reduce){
  #side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
    li.menu-blog > a .tdr-lang-trigger svg :is(#l-icon-language,#tdr-icon-lang){
    animation:none!important;
  }
}

/* ================================
   [BLOCCO 23quater] Side-nav — lampeggio OFF quando chiuso
   ================================ */
#side-nav :is(#primary-menu,#menu-main,#main-menu,#menu-main-en,#main-menu-en)
  li.menu-blog:not(.tdr-lang-open) > a .tdr-lang-trigger svg :is(#l-icon-language,#tdr-icon-lang){
  animation:none!important;
}

/* ================================
   [BLOCCO 24] Anti-scroll orizzontale (site-wide)
   ================================ */
html, body{ max-width:100% !important; overflow-x:hidden !important; width:auto !important; }
:where(.alignwide, .alignfull){ overflow-x:clip !important; }
.site-footer, .site-info{ overflow-x:clip !important; }


/* ================================
   [BLOCCO 25] Immagini poster — riempi senza bande (SIMPLE)
   ================================ */
.wp-block-image.tdr-img-fill img,
.wp-block-image.tdr-img-fill a > img{
  display:block; width:100% !important; height:auto !important; aspect-ratio: var(--tdr-ratio, 3/4); object-fit:fill !important;
}
.wp-block-image.tdr-ratio-3-4 img, .wp-block-image.tdr-ratio-3-4 a > img{ --tdr-ratio: 3/4; }
.wp-block-image.tdr-ratio-1-1 img, .wp-block-image.tdr-ratio-1-1 a > img{ --tdr-ratio: 1/1; }

/* ================================
   [BLOCCO 26] Immagini con testo avvolto (sx/dx) · globale
   ================================ */
:where(.entry-content, .wp-block-post-content, .page-content)
  :is(figure.wp-block-image.testo-incorniciato-sx, figure.wp-block-image.alignleft, .wp-caption.alignleft):not(.alignwide):not(.alignfull){
  float:left; display:block; margin:0 var(--tdr-wrap-gap) var(--tdr-wrap-bottom-gap) 0; max-width:min(var(--tdr-wrap-max), 100%);
}
:where(.entry-content, .wp-block-post-content, .page-content)
  :is(figure.wp-block-image.testo-incorniciato-dx, figure.wp-block-image.alignright, .wp-caption.alignright):not(.alignwide):not(.alignfull){
  float:right; display:block; margin:0 0 var(--tdr-wrap-bottom-gap) var(--tdr-wrap-gap); max-width:min(var(--tdr-wrap-max), 100%);
}
:where(.entry-content, .wp-block-post-content, .page-content)
  :is(figure.wp-block-image.alignleft, figure.wp-block-image.alignright, figure.wp-block-image.testo-incorniciato-sx, figure.wp-block-image.testo-incorniciato-dx) :is(img, a > img){
  width:100%; height:auto; display:block;
}
:where(.entry-content, .wp-block-post-content, .page-content) figure.wp-block-image figcaption{
  margin-top:.4rem; max-width:100%; word-break:break-word;
}
:where(.entry-content, .wp-block-post-content, .page-content)
  :is(p, .wp-block-paragraph, h1,h2,h3,h4,h5,h6, ul, ol, blockquote, .wp-block-list, .wp-block-quote){
  clear:none; overflow:visible;
}
:where(.entry-content, .wp-block-post-content, .page-content) .wrap-zone::after{
  content:""; display:block; clear:both;
}
@media (max-width: var(--tdr-wrap-break)){
  :where(.entry-content, .wp-block-post-content, .page-content)
    :is(figure.wp-block-image.testo-incorniciato-sx, figure.wp-block-image.testo-incorniciato-dx, figure.wp-block-image.alignleft, figure.wp-block-image.alignright, .wp-caption.alignleft, .wp-caption.alignright){
    float:none; margin:0 0 var(--tdr-wrap-bottom-gap) 0; max-width:100%;
  }
}

/* ================================
   [BLOCCO 27] Portfolio — crop forzato 16:9 (fallback)
   ================================ */
.wpzoom-portfolio .wpzoom-portfolio-item__thumb,
.wp-block-wpzoom-portfolio .wpzoom-portfolio-item__thumb,
[class^="wpzoom-blocks_portfolio-block"] [class*="_item-"][class*="thumb"],
[class^="wpzoom-blocks_portfolio-block"] [class*="_item"][class*="image"]{
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  position: relative !important;
}
.wpzoom-portfolio .wpzoom-portfolio-item__thumb img,
.wp-block-wpzoom-portfolio .wpzoom-portfolio-item__thumb img,
[class^="wpzoom-blocks_portfolio-block"] [class*="_item-"][class*="thumb"] img,
[class^="wpzoom-blocks_portfolio-block"] [class*="_item"][class*="image"] img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ================================
   [BLOCCO 27bis] Portfolio — precomposizione thumbnail (anti-nero)
   ================================ */
.wpzoom-portfolio .wpzoom-portfolio-item__thumb img,
.wp-block-wpzoom-portfolio .wpzoom-portfolio-item__thumb img,
[class^="wpzoom-blocks_portfolio-block"] [class*="_item-"][class*="thumb"] img,
[class^="wpzoom-blocks_portfolio-block"] [class*="_item"][class*="image"] img{
  transform: translateZ(0.001px);
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* ================================
   [BLOCCO 28] Gutenberg — priorità assoluta "Colore link"
   ================================ */

/* 28.1 — Se c'è solo "Colore testo" ma NON "Colore link",
          i link restano del colore base del tema */
:where(.entry-content, .wp-block-post-content, .page-content)
  :is(.has-text-color, [style*="color"]):not(.has-link-color)
  a:not(.wp-element-button){
  color: var(--tdr-link-base, var(--tdr-primary)) !important;
}

/* 28.2 — Se il blocco ha "Colore link", prevale SEMPRE (tutti gli stati) */
:where(.entry-content, .wp-block-post-content, .page-content)
  .has-link-color a:not(.wp-element-button){
  color: var(--wp--style--color--link) !important;
  text-decoration: underline;
}
:where(.entry-content, .wp-block-post-content, .page-content)
  .has-link-color a:not(.wp-element-button):visited{
  color: var(--wp--style--color--link) !important;
}
:where(.entry-content, .wp-block-post-content, .page-content)
  .has-link-color a:not(.wp-element-button):is(:hover,:focus,:active){
  color: var(--wp--style--color--link) !important;
  text-decoration-thickness: .12em;
  outline: none;
}

/* ================================
   [BLOCCO 28bis] Eccezioni Social — disinnesca "Colore link" nei blocchi social
   ================================ */

/* Blocco core "Social Links": icone nere */
:where(.entry-content, .wp-block-post-content, .page-content)
  .wp-block-social-links { color:#000 !important; }

:where(.entry-content, .wp-block-post-content, .page-content)
  .wp-block-social-links .wp-social-link a{
  color:inherit !important;            /* prevale su BLOCCO 28 */
  text-decoration:none !important;
}

/* Variante logos-only / has-icon-color: forza sempre nero */
:where(.entry-content, .wp-block-post-content, .page-content)
  .wp-block-social-links.is-style-logos-only .wp-social-link a{
  color:#000 !important;
}

/* ================================
   [BLOCCO 29] Anti-Glitch — primo paint stabile
   ================================ */
body:not(.page-loaded){ opacity:0 !important; }
body.page-loaded{ opacity:1; transition:opacity .18s var(--tdr-ease); }

/* ================================
   [BLOCCO 30] Footer: SX+badge desktop, SOLO SVG combinato ≤720px
   ================================ */

.site-info.myfooter{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:6px 16px; line-height:1.2;
  --svg-sx: .95rem;     /* SX ok */
  --svg-dx: 1.22rem;    /* DX +2/3pt */
  --svg-combo: 1.82rem; /* COMBO +2/3pt */
}

/* dimensioni */
.site-info.myfooter .footer-left :is(img,svg){ height:var(--svg-sx); width:auto; vertical-align:-0.125em; }
.site-info.myfooter .footer-webmaster :is(img,svg){ height:var(--svg-dx); width:auto; vertical-align:-0.125em; }

/* combinato nascosto di default */
.site-info.myfooter .footer-combo{ display:none; }
.site-info.myfooter .footer-combo :is(img,svg){ height:var(--svg-combo); width:auto; vertical-align:-0.125em; }
/* link del combinato */
.site-info.myfooter .footer-combo a{ display:inline-flex; align-items:center; text-decoration:none; }

/* slot destro: nascondi se vuoto */
.site-info.myfooter .footer-right:empty{ display:none; }

/* breakpoint: SOLO combinato al centro */
@media (max-width:720px){
  .site-info.myfooter{ justify-content:center; gap:4px 14px; }

  .site-info.myfooter .footer-left,
  .site-info.myfooter .footer-webmaster{ display:none !important; }

  .site-info.myfooter .footer-combo{
    display:flex !important; flex:1 1 100%; order:1;
    justify-content:center; text-align:center;
  }

  .site-info.myfooter .footer-right{
    order:2; flex:1 1 100%; justify-content:center; text-align:center;
  }
}
