/* --- from: /var/www/veridoxa/static/css/header-footer.v3.css --- */
/* --- from: /var/www/veridoxa/static/css/header-footer.css --- */
:root{--bg:#0f2b3a;--fg:#e8f2f6;--soft:#12374a;--muted:#9fb7c2;--acc:#2fd4c9}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:#0b1f2a}
a{color:#0b3a4f}a:hover{opacity:.9}
.sr-only{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px;overflow:hidden}

/* layout contenuti */
.page-wrap{max-width:1100px;margin:2rem auto;padding:0 1rem}
.page-wrap h1{font-size:2rem;line-height:1.2;margin:.2rem 0 1rem;font-weight:700}
.page-wrap p{margin:.6rem 0}
.btn{display:inline-block;background:var(--acc);color:#082126;text-decoration:none;font-weight:700;padding:.65rem 1rem;border-radius:.7rem;box-shadow:0 6px 24px rgba(47,212,201,.18)}
.btn:hover{transform:translateY(-1px)}

/* Header */
.site-header,.site-footer{background:var(--bg);color:var(--fg)}
.topbar{max-width:1100px;margin:0 auto;padding:.75rem 1rem;display:flex;gap:.75rem;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06)}
.logo{display:inline-flex;gap:.5rem;color:var(--fg);text-decoration:none;font-weight:700}
.logo .logo-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--acc);color:#082126;font-weight:800}
.lang-switcher{display:flex;gap:.5rem}
.lang-switcher a{color:var(--muted);text-decoration:none;font-weight:600;padding:.2rem .35rem;border-radius:.5rem}
.lang-switcher a:hover{color:var(--fg);background:rgba(255,255,255,.06)}
.lang-switcher a.active{background:var(--acc);color:#0f2b3a}
.nav-toggle{display:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--fg);padding:.35rem .5rem;border-radius:.5rem}

.primary-nav{background:var(--soft)}
.primary-nav ul{max-width:1100px;margin:0 auto;list-style:none;display:flex;gap:1rem;padding:.25rem 1rem}
.primary-nav a{color:var(--fg);text-decoration:none;font-weight:600;padding:.6rem .75rem;border-radius:.6rem}
.primary-nav a:hover{background:rgba(255,255,255,.06)}

/* Footer */
.footer-grid{max-width:1100px;margin:0 auto;padding:2rem 1rem;display:grid;gap:1.25rem;grid-template-columns:1.3fr 1fr 1fr}
.foot-col p,.foot-col li{color:var(--muted)}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.foot-col a{color:var(--fg);text-decoration:none}
.foot-col a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:.9rem 1rem;text-align:center;color:var(--muted)}

@media(max-width:820px){
 .nav-toggle{display:inline-block}
 .primary-nav{display:none}
 .primary-nav.open{display:block}
 .primary-nav ul{flex-direction:column}
 .footer-grid{grid-template-columns:1fr}
}
/* base contenuti + uniform layout */
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;line-height:1.6;color:#0b1f2a}
.page-wrap{max-width:1100px;margin:2rem auto;padding:0 1rem}
.page-wrap h1{font-size:2rem;line-height:1.2;margin:.2rem 0 1rem;font-weight:700}
.btn{display:inline-block;background:var(--acc);color:#082126;text-decoration:none;font-weight:700;padding:.65rem 1rem;border-radius:.7rem;box-shadow:0 6px 24px rgba(47,212,201,.18)}
.btn:hover{transform:translateY(-1px)}
:root{--bg:#0f2b3a;--soft:#12374a;--fg:#e8f2f6;--muted:#9fb7c2;--acc:#2fd4c9;--ink:#0b1f2a;--ink-soft:#1c3340;--link:#0d4054;--link-h:#0f586f}
html,body{background:#fff;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;line-height:1.6}
a{color:var(--link);text-decoration:none;font-weight:600}
a:hover{color:var(--link-h);text-decoration:underline}
.page-wrap,.container,.content,.wrap,main:not(.page-wrap){max-width:1100px;margin:2rem auto;padding:0 1rem}
h1{font-size:2rem;line-height:1.2;margin:.2rem 0 1rem;font-weight:700;color:var(--ink)}
h2{font-size:1.35rem;margin:1.25rem 0 .5rem;font-weight:700;color:var(--ink)}
h3{font-size:1.1rem;margin:1rem 0 .5rem;font-weight:700;color:var(--ink-soft)}
p{margin:.5rem 0 1rem;color:var(--ink-soft)}
.btn{display:inline-block;background:var(--acc);color:#082126;text-decoration:none;font-weight:700;padding:.65rem 1rem;border-radius:.7rem;box-shadow:0 6px 24px rgba(47,212,201,.18);transition:transform .12s ease}
.btn:hover{transform:translateY(-1px)}
.tags,.categories,.pill-list{display:flex;flex-wrap:wrap;gap:.5rem}
.tag,.pill{border:1px solid rgba(13,64,84,.18);padding:.3rem .55rem;border-radius:.6rem;background:#f7fbfc;color:var(--link);font-weight:600}
table{border-collapse:collapse;width:100%}
th,td{padding:.6rem .7rem;border-bottom:1px solid #e6edf1}
input,select,textarea{font:inherit;padding:.55rem .7rem;border:1px solid #d6e3ea;border-radius:.6rem}
label{font-weight:600;color:var(--ink-soft)}
/* neutralizza stili inline residui */
body[style],main[style],.content[style],.container[style]{background:#fff !important;color:var(--ink) !important}
/* Card/listati in stile home (fallback generico) */
main article, .card, .post-card {
  background:#fff; border:1px solid #e6edf1; border-radius:14px;
  box-shadow:0 6px 22px rgba(2,10,20,.06); overflow:hidden;
}
main article h2 a, .card h3 a, .post-card h3 a { text-decoration:none }
main article .meta, .card .meta, .post-card .meta {
  color:#5b7889; font-size:.9rem; display:flex; gap:.75rem; margin:.4rem 0 0;
}
/* Toni testo/links nelle pagine secondarie */
.breadcrumb, .breadcrumbs, nav.breadcrumbs, .page-subtitle, .lead {
  color: var(--ink-soft);
}
.breadcrumb a, .breadcrumbs a { color: var(--link); }
.breadcrumb a:hover, .breadcrumbs a:hover { color: var(--link-h); }

/* ===== Header (topbar + navbar) ===== */
.site-header .topbar{background:#0b2a37;color:#e6edf3}
.site-header .navbar{background:#0c3546;color:#e6edf3;border-top:1px solid rgba(255,255,255,.06)}
.site-header .container{max-width:1100px;margin:0 auto;display:flex;gap:16px;align-items:center;padding:10px 16px}
.site-header .topbar .container{justify-content:space-between}

.site-header .brand{font-weight:700}
.site-header .lang{display:flex;gap:10px;align-items:center}
.site-header .lang a{opacity:.9}

.site-header .menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.site-header .menu li{list-style:none}
.site-header .menu a{text-decoration:none;color:#e6edf3;opacity:.95}

.site-header .search input{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);color:#e6edf3;min-width:200px}

.nav-toggle{display:none}
@media (max-width: 960px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:transparent;color:#e6edf3}
  .menu{display:none}
  .menu.open{display:flex;flex-direction:column;gap:10px}
  .site-header .search input{min-width:140px}
}

/* ===== Footer (main + legal) ===== */
.site-footer .footer-main{background:#0c3546;color:#cfe0ea}
.site-footer .footer-legal{background:#0b2a37;color:#9aa5b1;border-top:1px solid rgba(255,255,255,.06)}
.site-footer .container{max-width:1100px;margin:0 auto;padding:18px 16px}
.site-footer .grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
@media (max-width: 900px){ .site-footer .grid{grid-template-columns:1fr} }
.site-footer h3{margin:0 0 8px 0;font-size:1rem;color:#e6edf3}
.site-footer ul{margin:0;padding-left:0;list-style:none}
.site-footer li{list-style:none}
.site-footer a{color:#e6edf3;text-decoration:none;opacity:.95}
.site-footer .row{display:flex;justify-content:space-between;align-items:center;gap:12px}

/* ===== Stop ai doppioni: se per errore ce n'è un secondo, nascondilo ===== */
header.site-header ~ header.site-header{display:none!important}
footer.site-footer ~ footer.site-footer{display:none!important}
/* Skip to content */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:12px;width:auto;height:auto;padding:8px 10px;background:#0c3546;color:#e6edf3;border-radius:8px;z-index:1000}

.main-hero{display:block;margin:0}
.main-hero img{aspect-ratio:1200/630;width:100%;height:auto;border-radius:12px}

/* Ritocchi rapidi */
.site-header .menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.site-footer ul{list-style:none;margin:0;padding:0}
/* Skip to content */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:12px;width:auto;height:auto;padding:8px 10px;background:#0c3546;color:#e6edf3;border-radius:8px;z-index:1000}

.main-hero{display:block;margin:0}
.main-hero img{aspect-ratio:1200/630;width:100%;height:auto;border-radius:12px}

/* Ritocchi rapidi */
.site-header .menu{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.site-footer ul{list-style:none;margin:0;padding:0}
/* ====== LANG SWITCH ====== */
.lang-item{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 2.2rem; padding:.25rem .45rem; border-radius: .6rem;
  font-weight:600; letter-spacing:.02em;
  transition: transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.lang-item:hover{ transform: translateY(-1px) }
.lang-item.is-active{
  background: rgba(255,255,255,.10);
  box-shadow: inset 0 -2px 0 var(--accent, #39d0ad);
}
.lang-item:focus-visible{ outline:2px solid var(--accent, #39d0ad); outline-offset:2px }

/* ====== MAIN NAV ====== */
.nav-link{
  position:relative; padding:.4rem .55rem; border-radius:.5rem; font-weight:700;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
.nav-link:hover{ transform: translateY(-1px) }
.nav-link::after{
  content:""; position:absolute; left:12%; right:12%; bottom:-6px; height:2px;
  background: var(--accent, #39d0ad); transform: scaleX(0); transform-origin:left;
  transition: transform .18s ease;
}
.nav-link:hover::after, .nav-link.is-active::after{ transform: scaleX(1) }
.nav-link.is-active{ color:#e6edf3 }

/* ====== SOCIAL PILL ====== */
.social-link{
  --bg: rgba(255,255,255,.08);
  width:32px;height:32px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--bg);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  margin-left:.35rem;
}
.social-link:hover{ transform:translateY(-1px) scale(1.05); box-shadow:0 6px 18px rgba(0,0,0,.25) }
.social-link:focus-visible{ outline:2px solid var(--accent, #39d0ad); outline-offset:2px }

/* Icone via background-image (fallback: testo nascosto) */
.social-link .label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0) }
.social-x { background-image:url("/img/social/x.svg"); background-repeat:no-repeat; background-position:center; background-size:60% }
.social-fb{ background-image:url("/img/social/facebook.svg"); background-repeat:no-repeat; background-position:center; background-size:64% }
.social-te{ background-image:url("/img/social/telegram.svg"); background-repeat:no-repeat; background-position:center; background-size:62% }
/* Se aggiungi /static/img/social/youtube.svg attiverà subito questa: */
.social-yt{ background-image:url("/static/img/social/youtube.svg"); background-repeat:no-repeat; background-position:center; background-size:64% }

/* Pulse breve quando clicchi */
@keyframes pulse1{0%{transform:scale(1)}50%{transform:scale(1.07)}100%{transform:scale(1)}}
.pulse{ animation: pulse1 .25s ease }

/* Riduci animazioni per chi lo richiede */
@media (prefers-reduced-motion: reduce){
  .lang-item,.nav-link,.social-link{ transition:none }
  .nav-link:hover,.lang-item:hover,.social-link:hover{ transform:none }
}
/* LANG pills + flags */
.lang-item{
  display:inline-flex;align-items:center;justify-content:center;
  gap:.4rem; min-width:2.3rem; padding:.28rem .52rem;
  border:1px solid rgba(255,255,255,.14); border-radius:.65rem;
  font-weight:700; letter-spacing:.02em;
  color:#cfe7ef; background:transparent;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lang-item:hover{ transform:translateY(-1px); background:rgba(20,184,166,.16); border-color:rgba(20,184,166,.55) }
.lang-item.is-active{
  background:#14b8a6; color:#062a36; border-color:#14b8a6;
  box-shadow:0 0 0 3px rgba(20,184,166,.15) inset;
}
.lang-item:focus-visible{ outline:2px solid #14b8a6; outline-offset:2px }

/* bandiera (SVG) o emoji */
.lang-item .flag{ width:16px;height:16px; border-radius:2px; object-fit:cover; }
.lang-item .flag-emoji{ font-size:14px; line-height:1; }
/* ===== TOP BAR LAYOUT ===== */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 0}
.top-sep{border:0;border-top:1px solid rgba(255,255,255,.06);margin:8px 0 0}

/* ===== BRAND ===== */
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}
.brand-logo{width:28px;height:28px;display:inline-block}
.brand-veri{font-weight:800;letter-spacing:.02em;color:#14b8a6}   /* VERI: teal */
.brand-doxa{font-weight:800;letter-spacing:.02em;color:#60a5fa}   /* DOXA: azzurro */
.brand:hover .brand-veri{filter:brightness(1.08)}
.brand:hover .brand-doxa{filter:brightness(1.08)}

/* ===== LANG pills + flags ===== */
.top-lang{display:flex;align-items:center;gap:.35rem}
.lang-item{
  display:inline-flex;align-items:center;gap:.35rem;
  min-width:2.3rem;padding:.28rem .52rem;border-radius:.65rem;
  border:1px solid rgba(255,255,255,.14); background:transparent;
  font-weight:700;color:#cfe7ef; letter-spacing:.02em;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lang-item .code{line-height:1}
.lang-item .flag{width:16px;height:16px;border-radius:2px;object-fit:cover;filter:grayscale(100%) opacity(.85);transition:filter .18s ease}
.lang-item .flag-emoji{font-size:14px;line-height:1;filter:grayscale(100%) opacity(.85);transition:filter .18s ease}
.lang-item:hover{transform:translateY(-1px);background:rgba(20,184,166,.16);border-color:rgba(20,184,166,.55)}
.lang-item:hover .flag,.lang-item:hover .flag-emoji{filter:none}
.lang-item.is-active{
  background:#14b8a6;color:#062a36;border-color:#14b8a6;box-shadow:0 0 0 3px rgba(20,184,166,.15) inset
}
.lang-item.is-active .flag,.lang-item.is-active .flag-emoji{filter:none}
.lang-item:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}

/* ===== SOCIAL ===== */
.top-social{display:flex;align-items:center;gap:.35rem}
.social-link{
  width:32px;height:32px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease
}
.social-link:hover{transform:translateY(-1px) scale(1.05);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.social-link .label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.social-x  {background:url("/img/social/x.svg") center/60% no-repeat}
.social-fb {background:url("/img/social/facebook.svg") center/64% no-repeat}
.social-te {background:url("/img/social/telegram.svg") center/62% no-repeat}
.social-yt {background:url("/static/img/social/youtube.svg") center/64% no-repeat}
@media (prefers-reduced-motion:reduce){
  .lang-item,.social-link{transition:none}
}
/* Brand compatto, 2 colori */
.brand{gap:0}
.brand-veri,.brand-doxa{font-weight:800;letter-spacing:.02em}
.brand-veri{color:#14b8a6}
.brand-doxa{color:#60a5fa}
.brand-veri,.brand-doxa{text-shadow:0 0 .5px rgba(0,0,0,.35)}
/* Brand compatto, 2 colori */
.brand{gap:0}
.brand-veri,.brand-doxa{font-weight:800;letter-spacing:.02em}
.brand-veri{color:#14b8a6}
.brand-doxa{color:#60a5fa}
.brand-veri,.brand-doxa{text-shadow:0 0 .5px rgba(0,0,0,.35)}
/* Pill della lingua riempita con la bandiera quando attiva */
.lang-item.flag-fill{
  background-image: var(--flag-url);
  background-size: cover; background-position: center;
  border-color: transparent;
  /* overlay per leggibilità del testo sulla bandiera */
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,.28);
  color:#fff;
}
.lang-item.flag-fill .flag,.lang-item.flag-fill .flag-emoji{display:none} /* nasconde l'iconcina dentro */
.lang-item.flag-fill .code{font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.5)}
/* Boost visibilità logo su header scuro */
.brand-logo{
  width:36px;height:36px;padding:5px;border-radius:10px;
  background:linear-gradient(180deg,rgba(10,43,56,.92),rgba(8,35,46,.88));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 2px rgba(20,184,166,.20) inset;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));
}
.brand:hover .brand-logo{
  box-shadow:0 10px 26px rgba(0,0,0,.42), 0 0 0 2px rgba(20,184,166,.30) inset;
}
/* --- OVERRIDES LOGO --- */
.brand{ display:flex; align-items:center; gap:12px }  /* distacco logo-testo */
.brand-logo{
  width:48px; height:48px; padding:6px; border-radius:12px;
  background:linear-gradient(180deg,rgba(10,43,56,.92),rgba(8,35,46,.88));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 2px rgba(20,184,166,.20) inset;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));
}
@media (max-width:640px){
  .brand-logo{ width:40px; height:40px; padding:5px }
  .brand{ gap:8px }
}
/* --- OVERRIDES LOGO --- */
.brand{ display:flex; align-items:center; gap:12px }  /* distacco logo-testo */
.brand-logo{
  width:48px; height:48px; padding:6px; border-radius:12px;
  background:linear-gradient(180deg,rgba(10,43,56,.92),rgba(8,35,46,.88));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 2px rgba(20,184,166,.20) inset;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.35));
}
@media (max-width:640px){
  .brand-logo{ width:40px; height:40px; padding:5px }
  .brand{ gap:8px }
}
/* --- OVERRIDES FLAG-FILL --- */
.lang-item.flag-fill{
  background-image: var(--flag-url);
  background-size: cover; background-position: center;
  border-color: transparent;
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,.28);
  color:#fff; font-weight:700; text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.lang-item.flag-fill .flag,.lang-item.flag-fill .flag-emoji{ display:none }
/* flag fill della lingua attiva */
.lang-item.flag-fill{
  background-image: var(--flag-url);
  background-size: cover; background-position: center;
  border-color: transparent;
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,.28);
  color:#fff; font-weight:700; text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.lang-item.flag-fill .flag,
.lang-item.flag-fill .flag-emoji{ display:none }
/* --- Brand VERIDOXA unito --- */
.brand-name{display:inline-flex;gap:0}
.brand-name .brand-veri{margin-right:-.05em} /* incolla la A di VERI alla D di DOXA */

/* --- Scudo leggermente più grande --- */
.brand-logo{width:56px;height:56px;padding:7px;border-radius:14px}
@media (max-width:640px){ .brand-logo{width:48px;height:48px;padding:6px} }
/* --- Brand VERIDOXA unito --- */
.brand-name{display:inline-flex;gap:0}
.brand-name .brand-veri{margin-right:-.05em} /* incolla la A di VERI alla D di DOXA */

/* --- Scudo leggermente più grande --- */
.brand-logo{width:56px;height:56px;padding:7px;border-radius:14px}
@media (max-width:640px){ .brand-logo{width:48px;height:48px;padding:6px} }
/* Pill lingua riempita con bandiera */
.lang-item.flag-fill{
  background-image: var(--flag-url);
  background-size: cover;
  background-position: center;
  border-color: transparent;
  box-shadow: inset 0 0 0 9999px rgba(0,0,0,.28);
  color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.lang-item.flag-fill .flag,.lang-item.flag-fill .flag-emoji{display:none}
/* --- VERIDOXA un'unica parola --- */
.brand-name{display:inline-flex;gap:0}
.brand-name .brand-veri,
.brand-name .brand-doxa{margin:0!important;letter-spacing:0}
.brand-name .brand-veri{margin-right:-.02em!important} /* incolla VERI a DOXA */

/* --- Scudo leggermente più grande (desktop), controllato su mobile --- */
.brand-logo{width:60px;height:60px;padding:8px;border-radius:14px}
@media (max-width:640px){
  .brand-logo{width:50px;height:50px;padding:6px}
}
/* RIGA BOMBA: azzera ogni spazio fra VERI e DOXA */
.brand-name{display:inline-flex!important;gap:0!important;letter-spacing:0!important;word-spacing:0!important}
.brand-name .brand-veri,
.brand-name .brand-doxa{display:inline-block!important;margin:0!important;padding:0!important;letter-spacing:0!important}

/* Mangia l'ultimo pixel: regola se serve (-.04em…-.10em) */
.brand-name .brand-veri{margin-right:-.06em!important}
/* Brand unito, zero gap a tutti i livelli */
.brand-name{display:inline!important;letter-spacing:0!important;word-spacing:0!important}
.brand-name .brand-veri,
.brand-name .brand-doxa{
  display:inline!important;      /* no inline-block => niente spazio tra tag */
  margin:0!important;
  padding:0!important;
  letter-spacing:0!important;
  word-spacing:0!important;
}

/* Se il tema mette margine al 2° span (tipo span+span) annullalo */
.brand-name .brand-veri + .brand-doxa{margin-left:0!important}

/* micro-colla (aggiusta se vuoi) */
.brand-name .brand-veri{margin-right:-.02em!important}
/* brand in un unico nodo, nessun "respiro" possibile */
.brand-name{display:flex!important;gap:0!important;align-items:baseline;letter-spacing:0!important;word-spacing:0!important}
.brand-name .brand-veri,
.brand-name .brand-doxa{display:block!important;margin:0!important;padding:0!important;letter-spacing:0!important;word-spacing:0!important}

/* disinnesca eventuali regole tipo span+span { margin-left } del tema */
.brand-name .brand-veri + .brand-doxa{margin-left:0!important}

/* micro-colla tra i due pezzi: regola se vuoi (.00 → -.10em) */
.brand-name .brand-veri{margin-right:-.04em!important}

/* se qualche tema mette content: " " prima/dopo, annulla */
.brand-name::before,.brand-name::after,
.brand-name .brand-veri::after{content:none!important}
/* === VERIDOXA: una parola, due colori === */
.brand-word{
  /* dove “tagliare” il colore: 4 caratteri (=VERI) */
  --split-ch: 4ch;
  font-weight: 800;
  letter-spacing: 0;
  word-spacing: 0;
  /* gradiente: sinistra colore VERI, destra colore DOXA */
  background-image: linear-gradient(90deg,
    #1dd4c9 0 var(--split-ch),
    #22a0ff var(--split-ch) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}

/* wrapper brand + scudo: distacco leggero */
.brand-wrap{display:flex;align-items:center;gap:.75rem}
.brand-logo{width:44px;height:44px}
/* === VERIDOXA: una parola, due colori (niente spazi) === */
.brand-word{
  --split-ch: 4ch;            /* 4 lettere = VERI */
  font-weight: 800;
  letter-spacing: 0;
  word-spacing: 0;
  background-image: linear-gradient(90deg,
    #1dd4c9 0 var(--split-ch),   /* VERI */
    #22a0ff var(--split-ch) 100% /* DOXA */
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}

/* logo scudo, un pelo più grande */
.brand-logo{width:48px;height:48px;vertical-align:middle;margin-right:.6rem}
/* === nav-fix v2025-08-23 === */
/* Neutralizza bordi/ombre/pseudo-linee preesistenti */
.primary-nav, .primary-nav li, .primary-nav a {
  border: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
.primary-nav a::before,
.primary-nav a::after { content: none !important; }

/* Underline unica (hover + pagina attiva) */
.primary-nav a {
  position: relative;
  text-decoration: none;
}
.primary-nav a[data-current="true"],
.primary-nav a[aria-current="page"],
.primary-nav a[aria-current="true"] { font-weight: 600; }

.primary-nav a:hover::after,
.primary-nav a[data-current="true"]::after,
.primary-nav a[aria-current="page"]::after,
.primary-nav a[aria-current="true"]::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -0.35rem;
  height: 2px;
  background: var(--accent, #20b2aa);
}
/* === language accents v2025-08-23 === */
:root { --accent:#20b2aa; --accent-weak:#0f6663; }

/* IT */ html[lang="it"] { --accent:#2eb24b; --accent-weak:#1b6a2d; }
/* EN */ html[lang="en"] { --accent:#3b82f6; --accent-weak:#1e40af; }
/* ES */ html[lang="es"] { --accent:#f59e0b; --accent-weak:#92400e; }
/* FR */ html[lang="fr"] { --accent:#8b5cf6; --accent-weak:#4c1d95; }
/* DE */ html[lang="de"] { --accent:#ef4444; --accent-weak:#7f1d1d; }
/* PT */ html[lang="pt"] { --accent:#10b981; --accent-weak:#065f46; }

/* Applicazione rapida degli accenti */
.lang-switcher .lang-item.active {
  background: var(--accent); border-color: var(--accent-weak); color: #fff;
}
.button.primary, .btn.primary { background: var(--accent); border-color: var(--accent-weak); }
.button.primary:hover, .btn.primary:hover { filter: brightness(1.05); }
/* focus state accessibile */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: .25rem;
}
/* nav-hardkill A */
.topbar{ border-bottom:0 !important; }
/* nav-hardkill B */
.primary-nav, .primary-nav ul, .primary-nav li, .primary-nav a, .primary-nav .nav-link{
  border:0 !important; box-shadow:none !important; background-image:none !important;
}
/* nav-hardkill C */
.primary-nav .nav-link::before,
.primary-nav .nav-link::after,
.primary-nav a::before,
.primary-nav a::after,
.nav-link::before,
.nav-link::after{
  content:none !important; display:none !important;
}
/* nav-hardkill D */
.primary-nav a[aria-current="page"],
.primary-nav a[aria-current="true"],
.primary-nav a[data-current="true"]{ font-weight:700; }
/* lang-theme: brand */
.brand-word{
  background: linear-gradient(
    90deg,
    var(--accent) 0%,
    color-mix(in srgb, var(--accent) 35%, #ffffff 65%) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: transform .18s ease, filter .18s ease;
}
.brand-word:hover{ transform: translateY(-1px); filter: drop-shadow(0 1px 0 color-mix(in srgb, var(--accent) 35%, transparent)); }
/* lang-theme: nav links */
.primary-nav a{
  transition: color .18s ease, background-color .18s ease, transform .12s ease;
  color: var(--fg);
}
.primary-nav a:hover{ color: var(--accent); transform: translateY(-1px); }
.primary-nav a[aria-current="page"],
.primary-nav a[aria-current="true"],
.primary-nav a[data-current="true"],
.primary-nav .is-active{
  color: var(--accent);
  font-weight: 700;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  border-radius: .6rem;
}
/* lang-theme: nav container */
.primary-nav{
  border: 1px solid color-mix(in srgb, var(--accent) 25%, transparent);
  border-radius: .9rem;
  /* niente ombre pesanti */
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent) inset;
}
/* flag palette per menu */
:root{ --accent-a: var(--accent); --accent-b: var(--accent); }

/* IT: verde → rosso */
html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }
/* EN: blu → rosso */
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* ES: rosso → giallo */
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* FR: blu → rosso */
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* DE: rosso → oro */
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* PT: verde → rosso */
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }
/* nav themed wipe (hover/active) */
.primary-nav a{
  position:relative;
  z-index:0;
  color:var(--fg);
  transition:color .18s ease, transform .12s ease, background-color .18s ease;
  border-radius:.6rem;
  /* film gradient che si espande */
  background-image: linear-gradient(90deg,var(--accent-a),var(--accent-b));
  background-size:0% 100%;
  background-repeat:no-repeat;
}
.primary-nav a:hover{
  transform:translateY(-1px);
  color:#062a36;                 /* testo scuro su pill chiara */
  background-size:100% 100%;
}

/* stato attivo: resta evidenziato */
.primary-nav a[aria-current="page"],
.primary-nav a[aria-current="true"],
.primary-nav a[data-current="true"],
.primary-nav .is-active{
  color:#062a36;
  font-weight:700;
  background-size:100% 100%;
}

/* micro ombra interna leggerissima per definire il pill */
.primary-nav a:hover,
.primary-nav a[aria-current],
.primary-nav .is-active{
  box-shadow:0 0 0 1px rgba(0,0,0,.05) inset;
}
/* easing più evidente sul wipe */
.primary-nav a{ transition: color .18s ease, transform .12s ease, background-size .22s cubic-bezier(.2,.7,.2,1); }
.primary-nav a[aria-current],
.primary-nav .is-active{
  outline:1px solid color-mix(in srgb, var(--accent-b) 35%, transparent);
  outline-offset:2px;
}
/* flag palette per menu */
:root{ --accent-a: var(--accent); --accent-b: var(--accent); }

/* IT: verde → rosso */
html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }
/* EN: blu → rosso */
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* ES: rosso → giallo */
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* FR: blu → rosso */
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* DE: rosso → oro */
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* PT: verde → rosso */
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }
/* flag palette per menu */
:root{ --accent-a: var(--accent); --accent-b: var(--accent); }

/* IT: verde → rosso */
html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }
/* EN: blu → rosso */
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* ES: rosso → giallo */
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* FR: blu → rosso */
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
/* DE: rosso → oro */
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
/* PT: verde → rosso */
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }
:root{ --accent-a: var(--accent); --accent-b: var(--accent); }
html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }
/* nav wipe – base */
.primary-nav a{
  position:relative; z-index:0; border-radius:.6rem;
  color:var(--fg);
  transition:color .18s ease, transform .12s ease, background-color .18s ease;
  background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b));
  background-size:0% 100%; background-repeat:no-repeat;
}
/* nav wipe – hover */
.primary-nav a:hover{
  transform:translateY(-1px);
  color:#062a36;
  background-size:100% 100%;
}
/* nav wipe – active */
.primary-nav a[aria-current="page"],
.primary-nav a[aria-current="true"],
.primary-nav a[data-current="true"],
.primary-nav .is-active{
  color:#062a36;
  font-weight:700;
  background-size:100% 100%;
}
/* nav wipe – soft inset */
.primary-nav a:hover,
.primary-nav a[aria-current],
.primary-nav .is-active{
  box-shadow:0 0 0 1px rgba(0,0,0,.05) inset;
}
.primary-nav a{ transition: color .18s ease, transform .12s ease, background-size .22s cubic-bezier(.2,.7,.2,1); }
/* nav-wipe FIX (override dell'hardkill) */
.primary-nav a{
  display:inline-block;
  position:relative; z-index:0; border-radius:.6rem;
  color:var(--fg);
  background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
  background-size:0% 100% !important;
  background-repeat:no-repeat !important;
  transition: color .18s ease, transform .12s ease, background-size .22s cubic-bezier(.2,.7,.2,1);
}
.primary-nav a:hover{
  transform:translateY(-1px);
  color:#062a36;
  background-size:100% 100% !important;
}
.primary-nav a[aria-current],
.primary-nav .is-active{
  color:#062a36; font-weight:700;
  background-size:100% 100% !important;
}
:root{ --font-ui:"Inter","Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,system-ui,-apple-system,sans-serif; }
body{ font-family:var(--font-ui); }
:root{ --accent-a:var(--accent); --accent-b:var(--accent); }

html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }  /* IT: verde→rosso   */
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }  /* EN: blu→rosso     */
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }  /* ES: rosso→giallo  */
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }  /* FR: blu→rosso     */
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }  /* DE: rosso→oro     */
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }  /* PT: verde→rosso   */
/* altezza fissa: evita che il menu faccia muovere la search */
:root{ --nav-h: 44px; }
.primary-nav ul{ display:flex; align-items:center; }
.primary-nav li{ height:var(--nav-h); display:flex; align-items:center; }
.primary-nav a{
  display:inline-flex; align-items:center; justify-content:center;
  height:var(--nav-h); line-height:var(--nav-h); padding:0 .8rem; border-radius:.7rem;
  font-weight:600; color:var(--fg);
  position:relative; z-index:0;
  background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
  background-size:0% 100% !important; background-repeat:no-repeat !important;
  transition: color .18s ease, transform .12s ease, background-size .22s cubic-bezier(.2,.7,.2,1);
}
.primary-nav a:hover{
  transform:translateY(-2px);
  color:#062a36;
  background-size:100% 100% !important;
}
/* attivo/attuale: riempito + bordo interno soft */
.primary-nav a[aria-current],
.primary-nav .is-active{
  color:#062a36; font-weight:700;
  background-size:100% 100% !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-b) 25%, transparent) inset,
              0 6px 18px rgba(0,0,0,.06);
}
/* la search non deve “seguire” i movimenti del menu */
.header-search{ flex:0 0 auto; align-self:center; position:relative; }
.header-search input[type="search"]{
  min-height:38px; line-height:38px;
  border:1px solid color-mix(in srgb, var(--accent) 25%, #0f6663);
}
.header-search input[type="search"]:focus{
  border-color:var(--accent);
  outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);
  outline-offset:2px;
}
/* nav-kill residual */
.site-header .primary-nav,
.site-header .primary-nav::before,
.site-header .primary-nav::after{
  border:0 !important; box-shadow:none !important; background-image:none !important;
}
:root{ --font-ui:"Inter","Segoe UI",Roboto,"Noto Sans","Helvetica Neue",Arial,system-ui,-apple-system,sans-serif; }
body{ font-family:var(--font-ui); }
:root{ --accent-a:var(--accent); --accent-b:var(--accent); }
html[lang="it"]{ --accent-a:#2eb24b; --accent-b:#e84d4d; }
html[lang="en"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
html[lang="es"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
html[lang="fr"]{ --accent-a:#3b82f6; --accent-b:#ef4444; }
html[lang="de"]{ --accent-a:#ef4444; --accent-b:#f59e0b; }
html[lang="pt"]{ --accent-a:#10b981; --accent-b:#ef4444; }
:root{ --nav-h:44px; }
.primary-nav ul{display:flex;align-items:center}
.primary-nav li{height:var(--nav-h);display:flex;align-items:center}
.header-search{flex:0 0 auto;align-self:center;position:relative}
.site-header .primary-nav a{
  display:inline-flex;align-items:center;justify-content:center;
  height:var(--nav-h);line-height:var(--nav-h);padding:0 .8rem;border-radius:.7rem;
  font-weight:600;color:var(--fg);position:relative;z-index:0;will-change:transform;
  transform:translateY(0);transition:color .18s ease,transform .12s ease;
}
.site-header .primary-nav a:hover{ transform:translateY(-2px) !important; }
/* fallback: semplice colore a tema */
.site-header .primary-nav a:hover{ color:var(--accent) !important; }

/* se supportato: testo con gradiente bandiera */
@supports (-webkit-background-clip:text) or (background-clip:text){
  .site-header .primary-nav a:hover{
    background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
    -webkit-background-clip:text;background-clip:text;color:transparent !important;
  }
}
.site-header .primary-nav a[aria-current],
.site-header .primary-nav .is-active{
  color:#062a36 !important; font-weight:700;
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-b) 25%, transparent) inset, 0 6px 18px rgba(0,0,0,.06);
}
@supports (-webkit-background-clip:text) or (background-clip:text){
  /* per l'attivo preferiamo pill piena (non solo testo) → nessun clip */
}
/* nav THEME hover: neutralizza vecchi background e applica tema bandiera */
.primary-nav a:hover{
  background: none !important;            /* spegne vecchio bg grigio */
  transform: translateY(-2px) !important; /* micro-movimento */
  color: var(--accent) !important;        /* fallback colore singolo */
}
/* Se supportato: gradiente bandiera sul TESTO */
@supports (-webkit-background-clip:text) or (background-clip:text){
  .primary-nav a:hover{
    background-image: linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
    -webkit-background-clip: text; background-clip: text;
    color: transparent !important;
  }
}
/* nav ACTIVE: pill piena a tema bandiera */
.primary-nav a[aria-current],
.primary-nav a:focus-visible,
.primary-nav a:active,
.primary-nav .is-active{
  color:#062a36 !important; font-weight:700;
  background: linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-b) 25%, transparent) inset,
              0 6px 18px rgba(0,0,0,.06);
  border-radius:.7rem;
}
/* === NAV FINAL OVERRIDE === */
:root{ --nav-h:44px; }
#main-nav ul{display:flex;align-items:center}
#main-nav li{height:var(--nav-h);display:flex;align-items:center}
#main-nav a{
  display:inline-flex;align-items:center;justify-content:center;
  height:var(--nav-h);line-height:var(--nav-h);padding:0 .85rem;border-radius:.7rem;
  font-weight:600;position:relative;z-index:0;will-change:transform;
  transform:translateY(0);color:var(--fg);
  transition:color .18s ease,transform .12s ease,background-size .22s cubic-bezier(.2,.7,.2,1);
}
#main-nav a:hover{
  transform:translateY(-2px) !important;
  background:none !important;
  color:var(--accent) !important;
}
@supports (-webkit-background-clip:text) or (background-clip:text){
  #main-nav a:hover{
    background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
    -webkit-background-clip:text;background-clip:text;color:transparent !important;
  }
}
#main-nav a[aria-current],
#main-nav a:focus-visible,
#main-nav a:active,
#main-nav .is-active{
  color:#062a36 !important;font-weight:700;
  -webkit-background-clip:initial;background-clip:initial;
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b)) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-b) 25%,transparent) inset,0 6px 18px rgba(0,0,0,.06);
}
.header-search{flex:0 0 auto;align-self:center;position:relative}
/* === NAV FINAL MICRO === */
:root{ --nav-h:44px; }
#main-nav ul{display:flex;align-items:center}
#main-nav li{height:var(--nav-h);display:flex;align-items:center}
#main-nav a{display:inline-flex;align-items:center;justify-content:center;height:var(--nav-h);line-height:var(--nav-h);padding:0 .85rem;border-radius:.7rem;font-weight:600;color:var(--fg);will-change:transform;transform:translateY(0);transition:color .18s,transform .12s,background-size .22s}
#main-nav a:hover{transform:translateY(-2px)!important;background:none!important;color:var(--accent)!important}
@supports (-webkit-background-clip:text) or (background-clip:text){
#main-nav a:hover{background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;-webkit-background-clip:text;background-clip:text;color:transparent!important}
}
#main-nav a[aria-current],#main-nav a:focus-visible,#main-nav a:active,#main-nav .is-active{color:#062a36!important;font-weight:700;background:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-b)25%,transparent) inset,0 6px 18px rgba(0,0,0,.06)}
.header-search{flex:0 0 auto;align-self:center;position:relative}
/* fallback: forzo anche su .primary-nav */
body .primary-nav a:hover{transform:translateY(-2px)!important;background:none!important;color:var(--accent)!important}
@supports (-webkit-background-clip:text) or (background-clip:text){
body .primary-nav a:hover{background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;-webkit-background-clip:text;background-clip:text;color:transparent!important}
}
body .primary-nav a[aria-current]{color:#062a36!important;font-weight:700;background:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-b)25%,transparent) inset,0 6px 18px rgba(0,0,0,.06)}
/* --- Language pills + flags --- */
.flag{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-right:.35em;border-radius:999px;background:rgba(255,255,255,.12)}
.flag::before{font-size:.85em;line-height:1}
.flag-it::before{content:"🇮🇹"}.flag-en::before{content:"🇬🇧"}
.flag-es::before{content:"🇪🇸"}.flag-fr::before{content:"🇫🇷"}
.flag-de::before{content:"🇩🇪"}.flag-pt::before{content:"🇵🇹"}
/* aspetto pill per i link lingua (senza toccare altro) */
a:has(> .flag){display:inline-flex;align-items:center;gap:.35em;padding:.2rem .55rem;border-radius:999px;background:rgba(255,255,255,.08);text-decoration:none}
a:has(> .flag):hover{background:rgba(255,255,255,.16)}
/* flags */
.flag-img{width:1.05em;height:1.05em;border-radius:999px;vertical-align:-.15em;margin-right:.35em;object-fit:cover;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset}
.top-lang .is-active{background:rgba(255,255,255,.16);border-radius:999px;padding:.2rem .55rem}
.top-lang .is-active .flag-img{box-shadow:0 0 0 1px rgba(255,255,255,.45) inset}
.top-lang .is-active{background:rgba(255,255,255,.16);border-radius:999px;padding:.2rem .55rem}
.top-lang .is-active .flag-img{box-shadow:0 0 0 1px rgba(255,255,255,.45) inset}
.top-lang .is-active{background:rgba(42,212,141,.16);border-color:rgba(42,212,141,.55);box-shadow:0 0 0 1px rgba(42,212,141,.35) inset;border-radius:999px;padding:.2rem .55rem}
.nav-link.container{align-items:center}.nav-link.menu{display:flex;gap:.8rem}.nav-link.navbar{padding:.4rem 0}.topbar{padding:.25rem 0}
/* === Language accent theme ============================================ */
:root{ --accent:#14b8a6; --accent2:#0ea5e9; --accent-ink:#fff; }
html[lang="it"]{ --accent:#22c55e; --accent2:#16a34a; }
html[lang="en"]{ --accent:#2563eb; --accent2:#1d4ed8; }
html[lang="es"]{ --accent:#f59e0b; --accent2:#ef4444; }
html[lang="fr"]{ --accent:#2563eb; --accent2:#60a5fa; }
html[lang="de"]{ --accent:#ef4444; --accent2:#f59e0b; }
html[lang="pt"]{ --accent:#22c55e; --accent2:#ef4444; }

/* Pill lingua */
.top-lang .lang-item{
  border-radius:999px; padding:.20rem .55rem;
  display:inline-flex; align-items:center; gap:.35rem; line-height:1;
}
.top-lang .lang-item .flag-img{ width:18px; height:18px; vertical-align:middle; }
.top-lang .lang-item.is-active{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:var(--accent-ink);
  box-shadow:0 2px 10px rgba(0,0,0,.25), 0 0 0 2px rgba(255,255,255,.25) inset;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
/* Hover/idle pill */
.top-lang .lang-item{
  border:1px solid rgba(255,255,255,.12);
  transition:background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.top-lang .lang-item:hover{
  border-color:rgba(255,255,255,.28);
  box-shadow:0 2px 10px rgba(0,0,0,.15);
}
/* lang-pill-active-fix */
.lang-switcher a[aria-current="true"]{background:var(--acc, var(--accent)); color:#fff}
/* --- from: /var/www/veridoxa/static/css/footer.css --- */
.site-footer{padding:2rem 0;border-top:1px solid var(--accent);}
.site-footer .cols{display:grid;gap:1rem;grid-template-columns:1fr;}
@media(min-width:768px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr;}}
.footer-brand{display:flex;align-items:center;gap:.6rem;}
.footer-nav a{display:block;opacity:.9;text-decoration:none;margin:.25rem 0}
.footer-nav a:hover{opacity:1;text-decoration:underline}
.foot-copy{margin-top:.75rem;opacity:.8}
.foot-tagline{font-size:.9rem;opacity:.8;margin:.3rem 0 0}
.foot-tagline{opacity:1;color:rgba(255,255,255,.9);line-height:1.4;font-size:.95rem;margin:.35rem 0 0}
.footer-social{display:flex;gap:.5rem;margin-top:.6rem}
.footer-social .sc{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.45);text-decoration:none;color:#fff;font-weight:600;font-size:.75rem;line-height:1;opacity:.92;transition:transform .15s,opacity .15s}
.footer-social .sc:hover{opacity:1;transform:translateY(-1px)}
/* --- tidy footer layout (veridoxa) --- */
.site-footer{padding:2.5rem 0 2rem;border-top:1px solid var(--accent);}
.site-footer .cols{
  width:min(1200px,100% - 2rem);   /* container centrato con padding laterale */
  margin:0 auto;
  display:grid; gap:1.25rem;
  grid-template-columns:1.4fr 1fr 1fr; align-items:start;
}
@media(min-width:1280px){ .site-footer .cols{ width:min(1280px,100% - 2.5rem); } }
@media(max-width:767.98px){ .site-footer .cols{ grid-template-columns:1fr; } }

/* allineamento delle 3 colonne */
.site-footer .cols>*:nth-child(1){justify-self:start;text-align:left;}
.site-footer .cols>*:nth-child(2){justify-self:center;text-align:left;}
.site-footer .cols>*:nth-child(3){justify-self:end;text-align:left;}

/* righe eleganti tra le colonne (solo desktop) */
@media(min-width:768px){
  .site-footer .cols>nav{border-left:1px solid rgba(255,255,255,.14); padding-left:1rem;}
}

/* brand: logo non attaccato al bordo + presenza elegante */
.footer-brand{display:flex;align-items:center;gap:.75rem;}
.footer-brand img{display:block;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.25);}

/* tagline ben leggibile */
.foot-tagline{opacity:1;color:rgba(255,255,255,.9);line-height:1.4;font-size:.95rem;margin:.35rem 0 0}

/* social: restano a sinistra nel brand */
.footer-social{display:flex;gap:.5rem;margin-top:.6rem;justify-content:flex-start}
.footer-social .sc{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.45);text-decoration:none;color:#fff;font-weight:600;font-size:.75rem;line-height:1;opacity:.92;transition:transform .15s,opacity .15s}
.footer-social .sc:hover{opacity:1;transform:translateY(-1px)}

/* separatore sopra la riga copy */
.foot-copy{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:.75rem;margin-top:1rem;opacity:.85}
/* tidy layout */
.site-footer{padding:2.5rem 0 2rem;border-top:1px solid var(--accent);}
.site-footer .cols{width:min(1200px,100% - 2rem);margin:0 auto;display:grid;gap:1.25rem;}
@media(min-width:768px){.site-footer .cols{grid-template-columns:1.4fr 1fr 1fr;}}
@media(max-width:767.98px){.site-footer .cols{grid-template-columns:1fr;}}
.site-footer .cols>*:nth-child(1){justify-self:start;text-align:left;}
.site-footer .cols>*:nth-child(2){justify-self:center;text-align:left;}
.site-footer .cols>*:nth-child(3){justify-self:end;text-align:left;}
@media(min-width:768px){.site-footer .cols>nav{border-left:1px solid rgba(255,255,255,.14);padding-left:1rem;}}
.footer-brand{display:flex;align-items:center;gap:.75rem;}
.footer-brand img{display:block;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.footer-social{justify-content:flex-start}
.foot-tagline{color:rgba(255,255,255,.9);line-height:1.4;font-size:.95rem;margin:.35rem 0 0;opacity:1}
.foot-copy{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding-top:.75rem;margin-top:1rem;opacity:.85}
@media(min-width:768px){.site-footer .cols>nav{border-left:0;padding-left:0}}
@media(min-width:768px){
.site-footer{padding-top:2rem}
.site-footer .cols{grid-template-columns:1.2fr 2.2fr 0.8fr;align-items:center}
.foot-tagline{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-social{margin-top:0;justify-content:flex-end;align-self:center}
}
@media(min-width:768px){
.site-footer .cols{grid-template-columns:1.2fr 2fr 1fr;grid-template-areas:". tagline social" "links1 links2 brand";row-gap:1rem;}
.footer-brand{grid-area:brand;justify-self:end}
.foot-tagline{grid-area:tagline;justify-self:center;text-align:center;margin:0}
nav.footer-social{grid-area:social;justify-self:end;margin:0}
nav.footer-nav.links-primary{grid-area:links1;justify-self:center}
nav.footer-nav.links-legal{grid-area:links2;justify-self:center}
}
.foot-copy{background:#fff;color:#10242c;border-top:1px solid rgba(0,0,0,.08);padding:.75rem 0}
.foot-copy .inner{width:min(1200px,100% - 2rem);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.foot-copy a{color:inherit;text-decoration:none}
.foot-copy a:hover{text-decoration:underline}
.lang-switch{display:flex;gap:.5rem}
.lang-switch .pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;border-radius:999px;border:1px solid rgba(0,0,0,.18);padding:0 .55rem;font-weight:600;font-size:.8rem;opacity:.95}
.lang-switch .pill.active{background:var(--accent);border-color:var(--accent);color:#fff;opacity:1}
@media(max-width:768px){.foot-copy .inner{flex-direction:column;gap:.5rem}}
.site-footer .cols .foot-tagline{display:none}
.foot-copy .inner{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem}
.foot-tagline-bar{font-size:.9rem;opacity:.9}
@media(max-width:768px){.foot-copy .inner{grid-template-columns:1fr;justify-items:center}.foot-tagline-bar{margin-bottom:.25rem}}
.site-footer .cols .foot-tagline{display:block}
.foot-copy .foot-tagline-bar{display:none}
@media(min-width:768px){
.site-footer .cols{grid-template-columns:1.4fr 1.8fr 1fr;grid-template-areas:"tagline . social" "links1 links2 brand";}
.foot-tagline{justify-self:start;text-align:left;margin:0}
}
.foot-copy .inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem}
.foot-copy .copy{justify-self:start;text-align:left}
.foot-copy .lang-switch{justify-self:end}
@media(max-width:768px){.foot-copy .inner{grid-template-columns:1fr;justify-items:center}.foot-copy .copy{text-align:center}.foot-copy .lang-switch{justify-self:center}}
.footer-brand img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25));}
.footer-brand{display:flex;align-items:center;gap:.6rem}
.footer-brand .shield{width:64px;height:64px;object-fit:contain;border-radius:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}
.footer-brand .wordmark{font-weight:800;letter-spacing:.02em;font-size:1.35rem;line-height:1; background:linear-gradient(180deg,#76B6FF 0%,#CDE0FF 100%);-webkit-background-clip:text;color:transparent}
.footer-brand a{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.footer-brand .shield{width:64px;height:64px;object-fit:contain;border-radius:12px;   background:rgba(255,255,255,.06);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.footer-brand .wordmark{font-weight:800;letter-spacing:.02em;font-size:1.35rem;line-height:1;   background:linear-gradient(180deg,var(--accent) 0%,#CDE0FF 100%);-webkit-background-clip:text;color:transparent}

/* pillola lingua attiva nel footer */
.lang-switch .pill.active,
.lang-switch .pill[aria-current="page"]{
  background: #0ea5e9;  /* azzurrino "selected" */
  color:#fff;
  border-color:#0ea5e9;
}
/* --- from: /var/www/veridoxa/static/css/nav-override.css --- */
/* MENU OVERRIDE A TEMA LINGUA */
:root{ --nav-h:44px; }
#nav-menu ul{display:flex;align-items:center}
#nav-menu li{height:var(--nav-h);display:flex;align-items:center}

#nav-menu a{
  display:inline-flex;align-items:center;justify-content:center;
  height:var(--nav-h);line-height:var(--nav-h);padding:0 .85rem;border-radius:.7rem;
  font-weight:600;color:var(--fg);will-change:transform;transform:translateY(0);
  transition:color .18s,transform .12s,background-size .22s;
}

/* hover: micro-lift + colore/gradiente bandiera */
#nav-menu a:hover{transform:translateY(-2px)!important;background:none!important;color:var(--accent)!important}
@supports (-webkit-background-clip:text) or (background-clip:text){
  #nav-menu a:hover, #nav-menu a:hover *{
    background-image:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;
    -webkit-background-clip:text;background-clip:text;color:transparent!important;
  }
}

/* attivo/focus: pill piena elegante (resta evidenziata) */
#nav-menu a[aria-current], #nav-menu a:focus-visible, #nav-menu .is-active{
  color:#062a36!important;font-weight:700;
  -webkit-background-clip:initial;background-clip:initial;
  background:linear-gradient(90deg,var(--accent-a),var(--accent-b))!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-b)25%,transparent) inset,0 6px 18px rgba(0,0,0,.06);
}

/* la search non si muove */
.header-search{flex:0 0 auto;align-self:center;position:relative}
/* fallback per markup .nav-link */
#nav-menu.nav-link.menu li{height:var(--nav-h);display:flex;align-items:center}
#nav-menu.nav-link.menu a{display:inline-flex;align-items:center;justify-content:center}
/* soft tones */
:root{ --tint-hover:18%; --tint-active:26%; }
/* base: leggibilità */
body #nav-menu a{
  color:#fff !important;
  background-image:none !important;
  -webkit-background-clip:initial; background-clip:initial;
}
/* hover: micro-lift + tinta soft */
body #nav-menu a:hover{
  transform:translateY(-2px)!important;
  color:var(--accent) !important;
  background:color-mix(in srgb, var(--accent-a) var(--tint-hover), transparent) !important;
  background-image:none !important;
}
/* active/focus: pill elegante */
body #nav-menu a[aria-current],
body #nav-menu a:focus-visible,
body #nav-menu .is-active{
  color:#fff !important;
  background:color-mix(in srgb, var(--accent-a) var(--tint-active), transparent) !important;
  background-image:none !important;
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-a) 28%, transparent) inset;
}
/* --- dark header quick fix (reversibile) --- */
.nav-link.navbar{
  background: linear-gradient(180deg,#0e2a38 0%,#0a1f2b 100%);
  color:#e6f3f7;
  padding-top: 12px; padding-bottom: 12px;
}
.nav-link.navbar .nav-link{ color:#e6f3f7; }
.nav-link.navbar .nav-link:hover{ color:#ffffff; }
.nav-link.navbar .search input{
  background:#0d2330; border:1px solid rgba(255,255,255,.18); color:#e6f3f7;
}
.nav-link.navbar .search input::placeholder{ color:rgba(230,243,247,.7); }
/* --- NAV layout fix (desktop) --- */
.nav-link.navbar .menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.nav-link.navbar .menu>li{display:inline-block;margin:0}
.nav-link.navbar .nav-toggle{display:none}
/* mobile: riusa il toggle esistente (.open) */
@media (max-width: 992px){
  .nav-link.navbar .nav-toggle{display:inline-block}
  .nav-link.navbar .menu{display:none;flex-direction:column;gap:12px}
  .nav-link.navbar .menu.open{display:flex}
}
/* nav layout (desktop): menu inline + search a destra */
.nav-link.navbar .container{display:flex;align-items:center;gap:32px}
.nav-link.navbar .menu{display:flex;flex-wrap:wrap;gap:28px;margin:0;padding:0;list-style:none}
.nav-link.navbar .menu>li{display:inline-block;margin:0}
.nav-link.navbar .search{margin-left:auto}
.nav-link.navbar .search input{min-width:280px;width:28vw;max-width:460px}

/* mobile: mantieni toggle e colonna */
@media (max-width: 992px){
  .nav-link.navbar .container{flex-direction:column;align-items:stretch;gap:12px}
  .nav-link.navbar .nav-toggle{display:inline-block}
  .nav-link.navbar .menu{display:none;flex-direction:column;gap:12px}
  .nav-link.navbar .menu.open{display:flex}
  .nav-link.navbar .search{margin-left:0}
  .nav-link.navbar .search input{width:100%;min-width:0;max-width:none}
}
/* === NAV layout centrato (desktop) === */
.nav-link.navbar .container{
  max-width:1200px;
  margin:0 auto;
  /* Use a flex layout instead of a grid to avoid spacing issues on the home page */
  display:flex;
  align-items:center;
  gap:28px;
  padding:12px 18px;
  justify-content:space-between;
}
.nav-link.navbar .nav-toggle{display:none}
.nav-link.navbar .menu{
  /* Centre the navigation items horizontally in the flex container */
  display:flex;
  justify-content:center;
  gap:28px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav-link.navbar .menu>li{display:inline-block;margin:0}
.nav-link.navbar .search{
  /* Align the search form to the right when using flex */
  margin-left:auto;
}
.nav-link.navbar .search input{min-width:280px;width:30vw;max-width:460px}

/* === Mobile: stack con toggle === */
@media (max-width: 992px){
  .nav-link.navbar .container{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .nav-link.navbar .nav-toggle{display:inline-block}
  .nav-link.navbar .menu{display:none;flex-direction:column;gap:12px}
  .nav-link.navbar .menu.open{display:flex}
  .nav-link.navbar .search{align-self:stretch}
  .nav-link.navbar .search input{width:100%;min-width:0;max-width:none}
}
/* search box tuning */
.nav-link.navbar .search label{display:none!important}
.nav-link.navbar .search input{min-width:220px;width:24vw;max-width:360px}
/* active pill fallback */
.nav-link.navbar .menu a.nav-link.active{
  background: rgba(21,158,108,.28);
  color: #eafff4; border-radius:12px; padding:.45rem .75rem;
}
/* centering & spacing fine-tuning */
.nav-link.navbar .menu{gap:24px}
.nav-link.navbar .container{gap:22px}
#nav-menu a.nav-link.active{background:rgba(255,255,255,.12);border-radius:12px;padding:.35rem .6rem}
#nav-menu a.nav-link.active{background:rgba(255,255,255,.12);border-radius:12px;padding:.35rem .6rem}
#nav-menu a.nav-link.active{background:rgba(255,255,255,.14);border-radius:12px;padding:.35rem .6rem}
/* kill glow on language pills */
.top-lang .lang-item,
.top-lang .lang-item.is-active,
.top-lang .lang-item .flag-img{ box-shadow:none !important; filter:none !important; }

/* logo: niente glow, ma ombra soft neutra per stacco su sfondo chiaro */
.topbar [class*="logo"],
.topbar [class*="brand"],
.topbar img[alt*="logo"],
.topbar img[alt*="veridoxa"]{
  box-shadow:none !important;            /* no glow */
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.18)) !important; /* ombra soft */
}
/* search accent (solo bordo, no glow) */
.nav-link.search input{
  border:1px solid var(--accent, rgba(255,255,255,.35));
  outline:0;
  box-shadow:none !important;
}
.nav-link.search input:focus{
  border-color:var(--accent, #3fb27f);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--accent,#3fb27f) 35%, transparent) !important; /* alone line, niente glow */
}
/* ============ NO GLOW (pill lingue) ============ */
.top-lang .lang-item,
.top-lang .lang-item.is-active,
.top-lang .lang-item .flag-img{
  box-shadow:none !important;
  filter:none !important;
}

/* ============ NO GLOW (logo) + ombra soft ============ */
/* rimuovi qualsiasi pseudo-layer che possa creare il bagliore */
.topbar [class*="logo"]::before,
.topbar [class*="logo"]::after,
.topbar [class*="brand"]::before,
.topbar [class*="brand"]::after{
  content:none !important;
  box-shadow:none !important;
  filter:none !important;
}
/* eventuali div extra usati come glow */
.topbar .logo-glow,
.topbar .glow,
.topbar .shine,
.topbar .blob{ display:none !important; }

/* l'immagine/simbolo del logo: niente glow, SOLO ombra morbida */
.topbar img,
.topbar svg{
  box-shadow:none !important;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.18)) !important;
}
/* --- Pill lingue: piatte, nessun glow --- */
.top-lang .lang-item,
.top-lang .lang-item.is-active,
.top-lang .lang-item .flag-img{
  box-shadow:none !important;
  filter:none !important;
}

/* --- Logo: spegni qualsiasi glow/pseudo-layer --- */
.topbar .brand-logo{      /* l'icona vera e propria */
  filter:none !important;
  box-shadow:none !important;
  background:none !important;
}
.topbar .brand::before,
.topbar .brand::after{
  content:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* --- Logo: SOLO ombra morbida sotto --- */
.topbar .brand{
  filter: drop-shadow(0 10px 26px rgba(0,0,0,.22)) !important;
}
/* --- Search: leggero accento col tema corrente --- */
.nav-link.search input{
  border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);
  box-shadow:none;
}
.nav-link.search input:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .2rem color-mix(in srgb, var(--accent) 28%, transparent);
  outline:0;
}
/* --- Brand layout --- */
.topbar .brand{display:flex;align-items:center;gap:.6rem}

/* --- Logo più grande + ombra soft (no glow) --- */
/* più specifico del vecchio selettore generico e con !important */
.topbar a.brand>.brand-logo{
  width:56px;height:auto;
  box-shadow:none!important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)) !important;
}
@media (max-width:1024px){
  .topbar a.brand>.brand-logo{
    width:48px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.20)) !important;
  }
}
@media (max-width:640px){
  .topbar a.brand>.brand-logo{
    width:42px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18)) !important;
  }
}

/* --- Scritta VERIDOXA leggermente più grande --- */
.topbar .brand-word{font-size:1.35rem;font-weight:700;letter-spacing:.5px}
/* --- Layout brand (scudo + scritta) --- */
.topbar .brand{display:flex;align-items:center;gap:.65rem}

/* --- Scudo più grande + SOLO ombra morbida (no glow) --- */
.topbar a.brand>.brand-logo{
  width:60px; height:auto;                /* desktop */
  box-shadow:none !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)) !important;
}
@media (max-width:1024px){
  .topbar a.brand>.brand-logo{
    width:52px;
    filter:drop-shadow(0 10px 20px rgba(0,0,0,.20)) !important;
  }
}
@media (max-width:640px){
  .topbar a.brand>.brand-logo{
    width:46px;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.18)) !important;
  }
}

/* --- NO glow su pill lingue --- */
.top-lang .lang-item,
.top-lang .lang-item::before,
.top-lang .lang-item::after,
.top-lang .lang-item .flag-img{
  box-shadow:none !important; filter:none !important;
}

/* --- Scritta VERIDOXA leggermente più grande --- */
.topbar .brand-word{font-size:1.35rem;font-weight:700;letter-spacing:.4px}
/* Accent per lingua (usa l’attributo lang della pagina) */
html[lang="it"]{ --accent:#22c55e; }  /* verde */
html[lang="en"]{ --accent:#3b82f6; }  /* blu */
html[lang="es"]{ --accent:#f59e0b; }  /* ambra */
html[lang="fr"]{ --accent:#60a5fa; }  /* azzurro */
html[lang="de"]{ --accent:#f97316; }  /* arancio */
html[lang="pt"]{ --accent:#10b981; }  /* teal */

/* Bordo/alone del campo search allineato all’accent */
.nav-link.search input{
  border-color: color-mix(in srgb, var(--accent), #ffffff 60%);
}
.nav-link.search input:focus{
  outline: 2px solid var(--accent);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--accent), transparent 85%);
}
/* Logo scudo: dimensione stabile + ombra morbida (no glow) */
.topbar a.brand img.brand-logo{
  width:56px;height:56px;max-width:none !important;
  display:inline-block;vertical-align:middle;
  box-shadow:none !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.22)) !important;
}
@media (max-width:1024px){ .topbar a.brand img.brand-logo{width:48px;height:48px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.20)) !important} }
@media (max-width:640px){  .topbar a.brand img.brand-logo{width:40px;height:40px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.18)) !important}  }
/* — Un solo scudo nel brand — */
.topbar a.brand img:not(.brand-logo){display:none !important}

/* — Scudo grande + ombra morbida (NO glow) — */
.topbar a.brand .brand-logo{
  width:56px;height:56px;max-width:none;
  display:inline-block;vertical-align:middle;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.22)) !important;
}
@media (max-width:1024px){ .topbar a.brand .brand-logo{width:48px;height:48px} }
@media (max-width:640px){  .topbar a.brand .brand-logo{width:42px;height:42px} }

/* — Search box accéntato (usa --accent) — */
:root{--accent:#2dd4bf} /* fallback */
.topbar .nav-link.search input{
  border:2px solid var(--accent);
  outline:0;
}
.topbar .nav-link.search input:focus{
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);
}
:root{ --accent:#2ecf86; } /* fallback */

.topbar a.brand{ position:relative; display:flex; align-items:center; gap:.6rem; }

/* alone morbido dietro al logo, tinto con --accent (niente glow duro) */
.topbar a.brand::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-10px; top:-8px; width:calc(100% + 22px); height:calc(100% + 18px);
  background: radial-gradient(60% 60% at 40% 35%,
              color-mix(in srgb, var(--accent) 38%, transparent) 0%,
              rgba(0,0,0,0) 100%);
  filter: blur(12px);
}

/* logo (immagine scudo) un po' più grande, con drop-shadow soft */
.topbar a.brand .brand-logo{
  position:relative; z-index:1;
  width:68px !important; height:auto !important;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.22));
}
@media (max-width:1024px){ .topbar a.brand .brand-logo{ width:58px !important; } }
@media (max-width:640px){  .topbar a.brand .brand-logo{ width:50px !important; } }

/* campo di ricerca con accento lingua */
.nav-link.search input{
  border:1.5px solid rgba(255,255,255,.18);
  caret-color: var(--accent);
}
.nav-link.search input:focus{
  border-color: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
  outline: none;
}

/* restore: brand logo 64 + soft shadow */
.topbar a.brand img.brand-logo{width:64px!important;height:64px!important;max-width:none!important;display:inline-block;vertical-align:middle;box-shadow:none!important;filter:drop-shadow(0 14px 26px rgba(0,0,0,.22))!important}
/* ---- Logo: ombra morbida dietro, no glow ---- */
.topbar a.brand{ position:relative; }                    /* per ancorare la pseudo-ombra */
.topbar a.brand img.brand-logo{ position:relative; z-index:1; } /* logo sopra l'ombra */

/* “tappetino” sfumato dietro al logo */
.topbar a.brand::before{
  content:"";
  position:absolute;
  left:-10px;            /* regola fine se serve */
  top:-10px;
  width:86px;            /* attorno al logo 64x64 per vedere l’ombra */
  height:86px;
  border-radius:22px;    /* forma arrotondata */
  pointer-events:none;
  z-index:0;
  /* sfumatura radiale soft, tinta teal, senza glow duro */
  background: radial-gradient(60% 60% at 40% 35%,
              rgba(35,163,154,.22) 0%,
              rgba(35,163,154,.12) 55%,
              rgba(35,163,154,0) 100%);
  filter: blur(10px);
  opacity:.95;
}
/* Il contorno del logo resta pulito: una leggera drop-shadow per staccarlo dal bianco */
.topbar a.brand img.brand-logo{
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.20)) !important;
  width:64px!important; height:64px!important;
}
/* === BRAND SHADOW: più grande + più visibile, tinta accent === */
.topbar a.brand{ position:relative; overflow:visible; }           /* non tagliare la pseudo */
.topbar a.brand img.brand-logo{ position:relative; z-index:1; }   /* scudo sopra l'ombra */

/* tappetino sfumato dietro al logo (tinta: var(--accent) con fallback) */
.topbar a.brand::before{
  content:"";
  position:absolute;
  left:-20px;          /* sposta per centrare dietro il 64x64 */
  top:-20px;
  width:110px;         /* tappetino più grande per far “staccare” */
  height:110px;
  border-radius:26px;
  pointer-events:none;
  z-index:0;
  /* ombra morbida ma più intensa; usa --accent se presente */
  background: radial-gradient(60% 60% at 40% 35%,
              color-mix(in srgb, var(--accent, #23a39a) 30%, transparent) 0%,
              color-mix(in srgb, var(--accent, #23a39a) 18%, transparent) 55%,
              transparent 100%);
  filter: blur(18px);
  opacity: 1;
  mix-blend-mode: multiply;   /* aiuta a “tingere” sul bianco senza glow */
}
/* leggera drop-shadow neutra sullo scudo per separarlo dal bianco */
.topbar a.brand img.brand-logo{
  width:64px!important; height:64px!important;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.22)) !important;
}
/* --- Accent per lingua (niente SSI/JS): usa <html lang=".."> --- */
:root{ --accent:#23a39a; }               /* fallback */
html[lang="it"]{ --accent:#2ecc71; }     /* IT */
html[lang="en"]{ --accent:#3b82f6; }     /* EN */
html[lang="es"]{ --accent:#f59e0b; }     /* ES */
html[lang="fr"]{ --accent:#2563eb; }     /* FR */
html[lang="de"]{ --accent:#f43f5e; }     /* DE */
html[lang="pt"]{ --accent:#16a34a; }     /* PT */

/* --- Ombra morbida e più visibile, tinta con var(--accent) --- */
.topbar a.brand{ position:relative; }
.topbar a.brand::before{
  content:"";
  position:absolute;
  left:-18px; top:-18px;
  width:110px; height:110px;          /* area più ampia per far “respirare” l’ombra */
  border-radius:26px;
  background: radial-gradient(60% 60% at 40% 35%,
              var(--accent) 0%, rgba(0,0,0,0) 70%);
  opacity:.30;                        /* intensità dell’ombra */
  filter: blur(16px);
  pointer-events:none; z-index:0;
}
.topbar a.brand img.brand-logo{ position:relative; z-index:1; } /* logo sopra l’ombra */
/* --- Logo: ombra soffice “a tema lingua” dietro lo scudo --- */
.topbar{ overflow:visible !important; }
.topbar a.brand{ position:relative; }
.topbar a.brand img.brand-logo{
  position:relative; z-index:1;
  width:64px!important; height:64px!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.22)) !important;
}
/* tappetino sfumato dietro il logo */
.topbar a.brand::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  /* regola fine se vuoi spostarla */
  left:-18px; top:-18px; width:112px; height:112px; border-radius:28px;
  /* sfumatura radiale con il colore lingua */
  background: radial-gradient(60% 60% at 42% 36%,
              color-mix(in srgb, var(--accent, #22c55e) 60%, transparent) 0%,
              color-mix(in srgb, var(--accent, #22c55e) 28%, transparent) 55%,
              transparent 100%);
  filter: blur(14px);
  opacity:.55;             /* se vuoi più forte, porta a .65/.7 */
}

/* --- Input di ricerca con accento lingua (bordino + focus) --- */
.nav-link.search input{
  border:1.5px solid color-mix(in srgb, var(--accent,#22c55e) 65%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent,#22c55e) 35%, #000);
  transition: box-shadow .2s ease, border-color .2s ease;
}
.nav-link.search input:focus{
  outline:0;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent,#22c55e) 30%, transparent);
  border-color: var(--accent,#22c55e);
}
/* Ombra soffice a tema lingua – più evidente */
.topbar a.brand{ position:relative; }
.topbar a.brand img.brand-logo{
  position:relative; z-index:1;
  width:64px!important; height:64px!important;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.22)) !important;
}
/* FALLBACK visibile con rgba(var(--accent-rgb)) */
.topbar a.brand::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-22px; top:-22px; width:128px; height:128px; border-radius:32px;
  background: radial-gradient(60% 60% at 42% 36%,
            rgba(var(--accent-rgb,34,197,94), .45) 0%,
            rgba(var(--accent-rgb,34,197,94), .22) 55%,
            rgba(var(--accent-rgb,34,197,94), 0) 100%);
  filter: blur(18px);
  opacity:.75;
}
/* Se color-mix è supportato, usa una fusione più fine */
@supports (background: color-mix(in srgb, red, blue)) {
  .topbar a.brand::after{
    background: radial-gradient(60% 60% at 42% 36%,
      color-mix(in srgb, var(--accent,#22c55e) 60%, transparent) 0%,
      color-mix(in srgb, var(--accent,#22c55e) 28%, transparent) 55%,
      transparent 100%);
  }
}
/* No underline sotto il testo VERIDOXA */
.topbar a.brand,
.topbar a.brand:hover,
.topbar a.brand:focus{
  text-decoration: none !important;
}
.topbar .brand-word{
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
/* nav active + brand cleanup */
.brand-word{border-bottom:none!important;display:inline-block;letter-spacing:.08em}
.brand-wrap{gap:.5rem;align-items:center}
.header .primary-nav a[aria-current="page"],
.header .primary-nav a.is-active{color:var(--accent);font-weight:600}
.header .primary-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.375rem}
/* --- from: /var/www/veridoxa/static/css/content-styles.css --- */
/* content-styles.css v1 — base tipografia e contenuto */
:root{--content-max:74ch;--lead:1.65;--lh:1.6;--muted:#6b7280}
html{scroll-behavior:smooth}
body{line-height:var(--lh);-webkit-font-smoothing:antialiased}
main,.content,article{max-width:var(--content-max);margin:0 auto;padding:0 1rem}
h1,h2,h3,h4{line-height:1.2;margin-top:1.5rem;margin-bottom:.75rem}
p{margin:.75rem 0}
a{text-decoration:none}
a:hover{text-decoration:underline}
img,video{max-width:100%;height:auto}
figure{margin:1rem 0}
ul,ol{padding-left:1.25rem;margin:.75rem 0}
blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:3px solid currentColor;opacity:.9}
code,kbd,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
pre{overflow:auto;padding:.75rem;border:1px solid #e5e7eb;border-radius:.5rem}
table{width:100%;border-collapse:collapse;margin:1rem 0}
th,td{padding:.5rem;border-bottom:1px solid #e5e7eb;text-align:left}
.lead{font-size:1.125rem;line-height:var(--lead)}
.small{font-size:.9rem;color:var(--muted)}
.btn{display:inline-block;padding:.5rem .9rem;border-radius:.5rem;border:1px solid currentColor}
/* --- micro-ux 20250828 --- */
a{color:var(--accent);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:.25rem}
:focus-visible{scroll-margin-top:4.5rem}

h1 small,h2 small,h3 small{color:var(--muted);font-weight:500}
hr{border:none;border-top:1px solid #e5e7eb;margin:1.25rem 0}
mark{background:linear-gradient(#fffcae,#fff386);padding:.1em .25em;border-radius:.2em}
kbd{border:1px solid #e5e7eb;border-bottom-width:2px;padding:.1em .35em;border-radius:.35rem}
