
/* ====== DnD Info base (v0.2) ====== */

/* Tokens */
:root{
  --site-bg:#0c0f16;
  --site-panel:#101521;
  --site-panel-2:#0b111d;
  --site-text:#e7ecf6;
  --site-muted:#9fb0d0;
  --site-border:#1a2335;
  --site-sep:#1f2b44;
  --site-brand:#7cf0d4;
  --site-brand-2:#a8b4ff;
--sticky-top: calc(var(--header-h) + 12px);
  --max:1200px;
  --radius:14px;
  --shadow:0 10px 24px rgba(0,0,0,.35);

  --font-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-display: "Unna", Georgia, "Times New Roman", serif;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: radial-gradient(1200px 800px at 10% -10%, #15203a 0%, transparent 45%), var(--site-bg);
  color:var(--site-text);
  font-family: var(--font-ui);
  line-height: 1.6;
}

/* Typography */
h1,h2,h3{ font-family: var(--font-display); font-weight: 700; letter-spacing:.2px; line-height: 1.15; }
h4,h5,h6{ font-weight: 700; letter-spacing:.2px; }
h1{ font-size: clamp(2rem, 1.2rem + 2.4vw, 3.2rem); margin: 0 0 .5em; }
h2{ font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.4rem); margin: 1.2em 0 .4em; }
h3{ font-size: clamp(1.3rem, 1rem + 1.2vw, 1.8rem);  margin: 1.2em 0 .4em; }
p{ margin: .6em 0 1em; }
.entry-title{ margin-top:.2em; }

a{ color: var(--site-brand); text-decoration: none }
a:hover{ opacity:.9 }

/* Header / Nav */
.site-header{
  background: var(--site-panel);
  color: var(--site-text);
  border-bottom:1px solid var(--site-border);
}
.site-header .inner{
  max-width: var(--max);
  margin: 0 auto;
  padding: 16px;
  display:flex; align-items:center; gap:20px;
}
.brand{ font-weight: 800; color: var(--site-text); text-decoration:none; font-size: 20px; }
.primary-nav{ margin-left: 16px; }
.primary-nav .menu{ list-style:none; margin:0; padding:0; display:flex; gap:16px; }
.primary-nav .menu a{ color: var(--site-muted); }
.primary-nav .menu a:hover{ color: var(--site-text); }

/* Mobile nav */
.hamburger{ display:none; margin-left:auto; align-items:center; justify-content:center; gap:8px;
  padding:8px 10px; border:1px solid var(--site-border); border-radius:10px;
  background: var(--site-panel-2); color: var(--site-text); cursor:pointer; }
.hamburger .bar{ width:18px; height:2px; background:currentColor; display:block; position:relative; }
.hamburger .bar::before, .hamburger .bar::after{
  content:""; position:absolute; left:0; width:18px; height:2px; background:currentColor; transition:.2s;
}
.hamburger .bar::before{ top:-6px } .hamburger .bar::after{ top:6px }

#nav-drawer{ position:fixed; inset:0 0 0 35%; background:rgba(0,0,0,.4); z-index:999; display:none; }
#nav-drawer .panel{ position:absolute; inset:0 auto 0 0; width:min(320px, 80vw); background:var(--site-panel);
  border-right:1px solid var(--site-border); padding:16px; box-shadow: var(--shadow); }
#nav-drawer .menu{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
#nav-drawer a{ color: var(--site-text); font-size: 18px; }

@media (max-width: 900px){
  .primary-nav{ display:none }
  .hamburger{ display:inline-flex }
  body.nav-open{ overflow:hidden }
  body.nav-open #nav-drawer{ display:block }
  body.nav-open .hamburger .bar{ background:transparent }
  body.nav-open .hamburger .bar::before{ transform: translateY(6px) rotate(45deg) }
  body.nav-open .hamburger .bar::after{ transform: translateY(-6px) rotate(-45deg) }
}

/* Footer */
.site-footer{
  background: var(--site-panel);
  color: var(--site-muted);
  border-top:1px solid var(--site-border);
}
.site-footer .inner{ max-width:var(--max); margin:0 auto; padding:20px; }
.site-footer .menu{ list-style:none; margin:10px 0 0; padding:0; display:flex; gap:16px; }

/* Layout */
.site-content{ padding: 32px 16px; }
.container{ max-width: var(--max); margin: 0 auto; }
.card{ background: var(--site-panel); border:1px solid var(--site-border); border-radius: var(--radius); box-shadow: var(--shadow); padding:16px; }

/* 404 */
.page-404 .lead{ color: var(--site-muted); margin-bottom: 1.2em; }
.search-form .search-field{
  width:100%; padding:10px 12px; background:var(--site-panel-2); color:var(--site-text);
  border:1px solid var(--site-border); border-radius:10px;
}
.wp-element-button, .button, .btn{
  background: var(--site-panel-2); color: var(--site-text); border:1px solid var(--site-border);
  border-radius:10px; padding:10px 14px; display:inline-block;
}
/* ==== Home (restyle) ==== */
.hero{
  background:
    radial-gradient(1200px 700px at 12% -10%, color-mix(in srgb, var(--site-panel) 70%, black) 0%, transparent 55%),
    var(--site-bg);
  border-bottom: 1px solid var(--site-border);
}
.hero .wrap{ max-width: var(--max); margin: 0 auto; padding: 60px 16px 42px; }
.hero-grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: center; }
@media (max-width: 900px){ .hero-grid{ grid-template-columns: 1fr; } }

.hero__title{
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 1.6rem + 3.2vw, 3.4rem);
  margin: 0 0 .2em; letter-spacing:.3px;
}
.hero__subtitle{ color: var(--site-muted); font-size: 1.08rem; margin: 0 0 1.2em; max-width: 46ch; }

.hero__search{ display:flex; gap:10px; align-items:center; margin: 14px 0; }
.hero__search input[type="search"]{
  flex: 1 1 460px; padding: 12px 14px;
  background: var(--site-panel-2); color: var(--site-text);
  border: 1px solid var(--site-border); border-radius: 12px;
}
.hero__ctas{ display:flex; gap:10px; margin-top: 10px; flex-wrap: wrap; }

.hero-col--art{ display:grid; place-items:center; }
.hero-art{ width: 100%; max-width: 420px; opacity:.9; }

.btn{
  background: var(--site-panel-2); color: var(--site-text);
  border:1px solid var(--site-border); border-radius: 12px;
  padding: 11px 16px; display:inline-block; transition:.15s;
}
.btn:hover{ transform: translateY(-1px); }
.btn-primary{
  background: linear-gradient(180deg, color-mix(in srgb, var(--site-brand) 78%, #fff), var(--site-brand));
  color: #041c16; border-color: transparent;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--site-brand) 28%, transparent);
}

/* Sezioni in evidenza */
.home-sections .tiles{
  display:grid; grid-template-columns: repeat(3,1fr); gap: 16px;
  margin: 28px 0;
}
@media (max-width: 900px){ .home-sections .tiles{ grid-template-columns:1fr; } }

.tile{
  display:flex; gap:14px; align-items:flex-start;
  background: var(--site-panel); border:1px solid var(--site-border);
  border-radius: 14px; padding: 16px; color: var(--site-text); text-decoration:none;
  box-shadow: var(--shadow);
}
.tile:hover{ transform: translateY(-1px); }
.tile.is-muted{ opacity:.85 }
.tile__icon{
  width:40px; height:40px; border-radius:10px;
  display:grid; place-items:center;
  color: var(--site-brand);
  background: color-mix(in srgb, var(--site-brand) 10%, var(--site-panel-2));
  border: 1px solid color-mix(in srgb, var(--site-brand) 25%, var(--site-border));
}
.tile__body h3{ margin:0 0 6px; font-weight:800; }
.tile__body p{ margin:0; color: var(--site-muted); }

/* Ultimi post */
.home-latest h2{ margin: 10px 0 12px; }
.home-latest .posts{ display:grid; grid-template-columns: repeat(3,1fr); gap:16px; }
@media (max-width: 900px){ .home-latest .posts{ grid-template-columns:1fr; } }
.post.card{ padding:16px; }
.post__title{ margin:0 0 6px; font-weight:700; }
.post__title a{ color: var(--site-text); }
.post__meta{ color: var(--site-muted); margin:.2em 0 .8em; font-size:.9rem; }

/* --- layout due colonne sotto l'hero --- */
.home-layout{
  display:grid; gap:20px; grid-template-columns: 1.25fr .75fr;
  margin-top: 22px;
}
@media (max-width: 1100px){ .home-layout{ grid-template-columns: 1fr; } }

/* descrizione */
.about h2{ margin-top:0 }
.about-list{ margin:.4em 0 0 1.1em; color: var(--site-muted); }
.about-list li{ margin:.3em 0 }

/* sidebar latest */
.latest h2{ margin:0 0 8px }
.post-list{ display:grid; gap:10px }
.post-item{
  padding:10px 0; border-bottom:1px solid var(--site-border);
}
.post-item:last-child{ border-bottom:0 }
.post-item__title{ margin:0; font-size:1rem; font-weight:700 }
.post-item__title a{ color:var(--site-text) }
.post-item__meta{ color:var(--site-muted); font-size:.9rem }

/* hero immagine PNG */
.hero-art-img{
  width:100%; max-width: 520px; display:block;
  filter: drop-shadow(0 20px 60px rgba(0,0,0,.45));
  opacity:.95;
}

.home-layout{
  display:grid; gap:24px;
  grid-template-columns: minmax(0,1fr) 340px; /* colonna destra fissa */
  align-items:start;
}
@media (max-width: 1100px){
  .home-layout{ grid-template-columns:1fr; }
}

/* sticky solo su desktop */
.home-right{ position: sticky; top: var(--sticky-top); height: fit-content; }
@media (max-width:1100px){ .home-right{ position: static; } }

/* card “Ultimi aggiornamenti” */
.latest h2{ margin:0 0 10px }
.post-list{ display:grid; gap:12px }
.post-item{ padding:8px 0; border-bottom:1px solid var(--site-border); }
.post-item:last-child{ border-bottom:0 }
.post-item__title{ margin:0; font-size:1rem; font-weight:700; }
.post-item__title a{ color:var(--site-text); }
.post-item__meta{ color:var(--site-muted); font-size:.88rem }

.latest__more{
  display:inline-block; margin-top:12px;
  color: var(--site-brand);
  text-decoration:none;
}
.latest__more:hover{ opacity:.9 }
	/* Privilegi */
.page-privilegi .page-title{ margin-bottom: 6px; }
.select-multi select{ width:100%; min-height: 220px; }
.checkline{ display:flex; align-items:center; gap:.5rem; margin-top:10px; }

.grid--priv{
  display:grid; gap:12px;
}
.grid--priv .tile{ text-align:left; }

.pill--tasha{
  background: rgba(80,160,255,.15);
  color: #9fd0ff;
  border: 1px solid rgba(80,160,255,.35);
}

/* Modal: riuso classi del tema + lock body scroll */
body.modal-open{ overflow:hidden; }


/* ===============================
   PRIVILEGI – look & feel like Incantesimi
   =============================== */
:root{ --sticky-top: 84px; }

/* Layout colonne */
.page-privilegi .priv-layout{
  display:grid; gap:16px;
  grid-template-columns: 300px 1fr 420px;
  align-items:start;
}
@media (max-width:1200px){ .page-privilegi .priv-layout{ grid-template-columns: 280px 1fr; } }
@media (max-width:900px){ .page-privilegi .priv-layout{ grid-template-columns: 1fr; } }

.page-privilegi .panel{
  background: var(--site-panel);
  border: 1px solid var(--site-border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 14px;
}

/* FILTRI (sticky) */
.page-privilegi .priv-filters{
  position: sticky; top: var(--sticky-top);
  height: fit-content; align-self:start;
}
.page-privilegi .panel__title{
  margin:0 0 8px; font-size:.95rem; color:var(--site-muted);
  text-transform:uppercase; letter-spacing:.08em;
}
.page-privilegi .inp, .page-privilegi .sel{
  width:100%; padding:10px 12px;
  background: var(--site-panel-2); color: var(--site-text);
  border:1px solid var(--site-border); border-radius:10px;
}
.page-privilegi .sel{ min-height:240px }
.page-privilegi .lbl{ display:block; margin:8px 0 6px; color:var(--site-muted); }
.page-privilegi .check{ display:flex; align-items:center; gap:8px; margin-top:10px; }
.page-privilegi input[type="checkbox"]{ accent-color: var(--site-brand); }

/* --- Filtri Privilegi: look coerente --- */
.page-privilegi .priv-filters .panel__section{margin-bottom:14px}
.page-privilegi .priv-filters .lbl{display:block;margin:10px 0 6px;color:var(--site-muted);font-weight:700}
.page-privilegi .priv-filters .inp{height:42px}
.page-privilegi .priv-filters .sel{
  background:var(--site-panel-2)!important;
  color:var(--site-text)!important;
  border:1px solid var(--site-border)!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  min-height:240px;
}
.page-privilegi .priv-filters .sel:focus{outline:2px solid color-mix(in srgb,var(--site-brand) 40%,transparent)}
/* scrollbar coerente */
.page-privilegi .priv-filters .sel::-webkit-scrollbar{width:10px}
.page-privilegi .priv-filters .sel::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--site-border) 75%, #0a0f19); border-radius:10px;
}
.page-privilegi .priv-filters .sel::-webkit-scrollbar-track{background:transparent}

/* allineamenti */
.page-privilegi .priv-filters .check{margin-top:10px}
.page-privilegi .priv-list .list-head h2{margin:0}
.page-privilegi .priv-list #priv-count{color:var(--site-muted);font-weight:700}
/* Chip toggle per filtri */
.page-privilegi .visually-hidden{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.page-privilegi .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.page-privilegi .chip{
  padding:6px 10px;border-radius:999px;border:1px solid var(--site-border);
  background:#0e1729;color:var(--site-text);font-size:.9rem;cursor:pointer;
}
.page-privilegi .chip.is-on{
  background:color-mix(in srgb,var(--site-brand) 18%, #0e1729);
  border-color:color-mix(in srgb,var(--site-brand) 55%, var(--site-border));
}
.page-privilegi .quick{display:flex;gap:10px;margin:8px 0 2px}
.page-privilegi .quick .link{background:none;border:0;color:var(--site-muted);cursor:pointer}
.page-privilegi .quick .link:hover{color:var(--site-text)}
/* ---- Privilegi: rifiniture ---- */
.page-privilegi .panel{border-radius:14px;padding:14px}
.page-privilegi .priv-filters .panel__section{margin-bottom:16px}
.page-privilegi .priv-filters .lbl{margin:10px 0 6px}
.page-privilegi .priv-filters .chips{gap:8px}
.page-privilegi .priv-filters .chip{padding:7px 11px}
.page-privilegi .priv-filters .quick{margin:6px 0 0}

.page-privilegi .priv-list .list-head{
  position: sticky; top: 0; z-index: 2;
  display:flex; justify-content:space-between; align-items:baseline;
  padding:14px; border-bottom:1px solid var(--site-border);
  background: linear-gradient(180deg,var(--site-panel) 92%, color-mix(in srgb,var(--site-panel) 85%, black));
}
.page-privilegi .priv-list #priv-count{ color:var(--site-muted); font-weight:700 }

/* contenitore righe */
.page-privilegi .rows{
  display:grid;                         /* <— mancava */
  gap:12px;
  padding:12px;
  max-height:calc(100vh - 266px);
  overflow:auto;                        /* scroll fluido */
  padding-right:6px;
}
.page-privilegi .row:hover{
  transform: translateY(-1px);
  border-color: var(--site-sep);
  background: color-mix(in srgb,var(--site-panel-2) 92%, black);
}
.page-privilegi .row.is-active{
  outline:2px solid color-mix(in srgb,var(--site-brand) 55%, transparent);
}
.page-privilegi .row{
  display:grid;                         /* <— mancava */
  grid-template-columns:64px 1fr auto;  /* lv + contenuto + cta */
  gap:12px;                             /* <— mancava */
  padding:14px;
  background: var(--site-panel-2);      /* <— mancava */
  border:1px solid var(--site-border);  /* <— mancava */
  border-radius:12px;
  text-align:left;
}
/* meta e testo della riga */
.page-privilegi .row__title{ margin:0 0 6px; font-weight:800 }
.page-privilegi .row__meta{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 6px }
.page-privilegi .row__excerpt{ color:var(--site-muted); font-size:.95rem }

.page-privilegi .lv{
  width:54px; text-align:center; font-weight:800; font-size:.9rem;
  color:var(--site-text);
  background:#0e1729; border:1px solid var(--site-border); border-radius:10px;
  padding:6px 0;
}
.page-privilegi .pill{padding:3px 10px;font-size:.86rem}

/* pannello dettaglio */
.page-privilegi .priv-detail{
  position: sticky; top: 84px;         /* allineato allo sticky-top */
  align-self:start;
  max-height:calc(100vh - 120px);
  display:flex; flex-direction:column; overflow:hidden;
}
.page-privilegi .priv-detail .detail{ overflow:auto; padding:4px 2px 14px }
.page-privilegi .priv-detail #d-name{ font-size:1.5rem }
.page-privilegi .priv-detail .meta{
  display:grid;                         /* <— mancava */
  grid-template-columns:1fr 1fr;        /* (se vuoi 3 colonne: 1fr 1fr 1fr) */
  gap:10px; padding:0 12px; margin:6px 0 10px;
}
.page-privilegi .priv-detail .m-label{
  display:block; color:var(--site-muted); font-size:.8rem;
  text-transform:uppercase; letter-spacing:.08em;
}
.page-privilegi .sep{ border:0; border-top:1px solid var(--site-border); margin:8px 0 10px }
.page-privilegi .rows::-webkit-scrollbar{ width:10px }
.page-privilegi .rows::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--site-border) 75%, #0a0f19);
  border-radius:10px;
}

/* --- Privilegi • polish finale --- */

/* transizioni e hover */
.page-privilegi .row{
  transition: transform .12s, background .12s, border-color .12s;
}
.page-privilegi .row:hover{
  transform: translateY(-1px);
  border-color: var(--site-sep);
  background: color-mix(in srgb,var(--site-panel-2) 92%, black);
}

/* CTA a destra (Dettagli) più leggibile ma discreta */
.page-privilegi .row__cta{
  align-self:center;
  color: var(--site-muted);
  opacity:.9;
}
.page-privilegi .row:hover .row__cta{ color:var(--site-text); opacity:1 }

/* Estratto righe: 2 linee per altezza uniforme */
.page-privilegi .row__excerpt{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient: vertical;
  overflow:hidden;
}

/* Stato attivo più elegante (senza glow esterno) */
.page-privilegi .row.is-active{
  outline:0;
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--site-brand) 55%, transparent);
}

/* Meta del dettaglio: 3 colonne su desktop, 2 su tablet, 1 su mobile */
.page-privilegi .priv-detail .meta{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px; padding:0 12px; margin:6px 0 10px;
}
@media (max-width:1100px){
  .page-privilegi .priv-detail .meta{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:700px){
  .page-privilegi .priv-detail .meta{ grid-template-columns: 1fr; }
}

/* Piccoli allineamenti */
.page-privilegi .lv{ line-height:1; display:grid; place-items:center; }
.page-privilegi .pill{ padding:3px 10px; font-size:.86rem; }
.page-privilegi .sep{ border:0; border-top:1px solid var(--site-border); margin:8px 0 12px; }

/* — Privilegi • ritocchi finali — */

/* pill Liv. più “solida” */
.page-privilegi .lv{
  background:#0f1728;
  box-shadow: inset 0 0 0 1px var(--site-sep);
}

/* titolo riga più presente */
.page-privilegi .row__title{
  font-size:1.02rem;
  letter-spacing:.2px;
}

/* CTA "Dettagli" come chip discreto ma chiaro */
.page-privilegi .row__cta{
  align-self:center; white-space:nowrap;
  padding:6px 10px; border:1px solid var(--site-border);
  border-radius:10px; background:var(--site-panel);
  color:var(--site-muted);
}
.page-privilegi .row:hover .row__cta{ color:var(--site-text); border-color:var(--site-sep); }

/* meta del dettaglio più leggibile */
.page-privilegi .priv-detail .m-label{ margin-bottom:2px }
.page-privilegi .priv-detail .meta > div{
  padding:6px 8px; background:var(--site-panel);
  border:1px solid var(--site-border); border-radius:10px;
}
.page-privilegi .grid-3{
  display:grid;
  grid-template-columns: 320px 1fr 420px;
  gap:24px;
}
@media (max-width:1100px){
  .page-privilegi .grid-3{ grid-template-columns: 1fr; }
  .page-privilegi .priv-detail{ display:none; } /* mobile: nascondo il dettaglio */
}
.page-privilegi .priv-list .rows{
  max-height: calc(100vh - 260px);
  overflow:auto;
}
/* PRIVILEGI: forzo i dropdown ad altezza singola riga */
.page-privilegi select.sel {
  height: 42px !important;
  min-height: 42px !important;
  line-height: 42px;
  padding: 0 12px;
  overflow: hidden;
  display: block;
  width: 100%;
}

/* Non far espandere i section dei filtri */
.page-privilegi .panel__section { min-height: unset; }

/* === Layout globale e header sticky === */
:root{
  --page-width-desktop: 85%;
  --page-width-tablet: 92%;
  --page-width-mobile: 100%;
  --gutter: 24px;          /* già presente in fondo al file, lascialo una volta sola */
}

/* container globale per TUTTE le pagine */
.container{
  width: var(--page-width-desktop);
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* breakpoints */
@media (max-width: 1200px){
  .container{ width: var(--page-width-tablet); }
}
@media (max-width: 900px){
  .container{ width: var(--page-width-mobile); }
}


/* Header a larghezza piena, appiccicoso */
.site-header{
  position: sticky;     /* <— sticky */
  top: 0;
  z-index: 1000;
  height: var(--header-h);
  display: flex;
  align-items: center;

  /* sfondo coerente con il tema (trasparenza + blur) */
  background: rgba(12, 17, 22, .85);
  backdrop-filter: saturate(120%) blur(8px);
  -webkit-backdrop-filter: saturate(120%) blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Disposizione interna header */
.site-header .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Brand */
.site-header .brand{
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}

/* Menu */
.main-nav .menu{
  list-style: none;
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.main-nav .menu > li > a{
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  color: rgba(255,255,255,.9);
  text-decoration: none;
}
.main-nav .menu > li > a:hover,
.main-nav .menu > li.current-menu-item > a{
  background: rgba(255,255,255,.08);
  color: #fff;
}

/* Migliora ancora lo scrolling ad ancore */
h1, h2, h3, [id]{
  scroll-margin-top: calc(var(--header-h) + 12px);
}

/* === Palette di default site-wide (testi chiari su fondo scuro) === */
html, body{
  background: var(--site-bg);
  color: var(--site-text);
}

/* === Privilegi: colori coerenti con Incantesimi === */
.page-privilegi .panel{ 
  background: var(--site-panel);
  border: 1px solid var(--site-border);
  color: var(--site-text);
}

/* Testi della card */
.page-privilegi .row__title{ color: var(--site-text); font-weight: 800; }
.page-privilegi .row__meta{ color: var(--site-muted); }
.page-privilegi .lv{ color: var(--site-text); }           /* “Liv. X” nella targhetta */
.page-privilegi .empty{ color: var(--site-muted); }

/* Pill/etichette come su Incantesimi */
.page-privilegi .pill{
  display:inline-block; padding:3px 10px; border-radius:999px;
  background:#0b1323; border:1px solid var(--site-border); 
  color: var(--site-muted);
}
.page-privilegi .pill--tasha{
  background: rgba(80,160,255,.15);
  color: #9fd0ff;
  border: 1px solid rgba(80,160,255,.35);
}

/* Dettaglio: meta e corpo */
.page-privilegi .priv-detail .m-label{ color: var(--site-muted); }
.page-privilegi .priv-detail .meta{ color: var(--site-muted); }
.page-privilegi .priv-detail .detail{ color: var(--site-text); }

/* Bottone “Dettagli” coerente/leggibile (se lo tieni) */
.page-privilegi .row__cta{
  color: var(--site-muted);
  border:1px solid var(--site-sep);
  background: rgba(255,255,255,.02);
}
.page-privilegi .row:hover .row__cta{
  color: var(--site-text);
  border-color: var(--site-sep);
}
/* — Sinergie: usa lo stesso layout/skin di Privilegi — */
.page-privilegi .priv-layout,
.page-sinergie  .priv-layout{ display:grid; gap:20px; align-items:start; grid-template-columns:280px 1fr 420px; }
@media (max-width:1280px){
  .page-sinergie .priv-layout{ grid-template-columns:260px 1fr; }
  .page-sinergie .priv-detail{ grid-column:1 / -1; }
}
@media (max-width:900px){
  .page-sinergie .priv-layout{ grid-template-columns:1fr; }
  .page-sinergie .priv-filters{ order:1; }
  .page-sinergie .priv-list{ order:2; }
  .page-sinergie .priv-detail{ order:3; }
}
.page-sinergie .priv-filters{ position:sticky; top:var(--sticky-top); z-index:5; }
.page-sinergie .rows{ max-height:calc(100vh - var(--sticky-top) - 80px); overflow:auto; }
.page-sinergie .panel{ background:var(--site-panel); border:1px solid var(--site-border); color:var(--site-text); }
.page-sinergie .row{ display:grid; grid-template-columns:84px 1fr auto; gap:14px; padding:14px; border:1px solid var(--site-border); border-radius:12px; background:#0b1323; }
.page-sinergie .row:hover{ box-shadow:0 0 0 1px var(--site-border) inset; }
.page-sinergie .lv{ display:flex; align-items:center; justify-content:center; font-weight:800; border:1px solid var(--site-border); border-radius:10px; background:#0a101d; color:var(--site-text); }
.page-sinergie .row__title{ font-weight:800; color:var(--site-text); }
.page-sinergie .row__meta{ color:var(--site-muted); }
.page-sinergie .pill{ display:inline-block; padding:3px 10px; border-radius:999px; background:#0b1323; border:1px solid var(--site-border); color:var(--site-muted); }
.page-sinergie .empty{ color:var(--site-muted); }
.page-sinergie .priv-detail .m-label{ color:var(--site-muted); }
.page-sinergie .priv-detail .detail{ color:var(--site-text); }
/* Sinergie: filtri come le altre pagine */
.page-sinergie .priv-filters .inp,
.page-sinergie .priv-filters .sel{
  width: 100%;
  background: #0b1323;
  color: var(--site-text);
  border: 1px solid var(--site-border);
  border-radius: 10px;
  padding: 10px 12px;
  outline: none;
}
.page-sinergie .priv-filters .sel{ padding-right: 28px; }
/* === SINERGIE • badge tipo grande e evocativo === */
.page-sinergie .lv{
  width:54px; height:54px; border-radius:12px;
  background:#0f1728; border:1px solid var(--site-border);
  display:grid; place-items:center; position:relative;
}
.page-sinergie .lv__txt{ display:none; } /* nasconde il testo nel badge */


/* opzionale: nascondi testo su desktop grande, mantienilo su mobile */
@media (min-width: 900px){ .page-sinergie .lv__txt{ display:none; } }
/* === SINERGIE • testi chiari, tipografia e form coerenti === */
.page-sinergie .panel{ color: var(--site-text); }            /* niente nero */
.page-sinergie .row__title{ color: var(--site-text); font-weight:800; font-size:1.06rem; letter-spacing:.2px; }
.page-sinergie .row__meta,
.page-sinergie .row__excerpt,
.page-sinergie .priv-detail .m-label{ color: var(--site-muted); }
.page-sinergie .priv-detail .detail,
.page-sinergie .priv-detail .detail p{ color: var(--site-text); }

/* Filtri identici a Privilegi/Incantesimi */
.page-sinergie .panel__title{
  margin:0 0 8px; font-size:.95rem; color:var(--site-muted);
  text-transform:uppercase; letter-spacing:.08em;
}
.page-sinergie .priv-filters .panel__section{ margin-bottom:14px; }
.page-sinergie .priv-filters .lbl{ display:block; margin:10px 0 6px; color:var(--site-muted); font-weight:700; }
.page-sinergie .priv-filters .inp,
.page-sinergie .priv-filters .sel{
  width:100%; height:42px;
  background: var(--site-panel-2);
  color: var(--site-text);
  border:1px solid var(--site-border);
  border-radius:10px;
  padding:0 12px;
  outline:none;
}
.page-sinergie .priv-filters .inp::placeholder{ color: color-mix(in srgb, var(--site-muted) 85%, transparent); }
.page-sinergie .priv-filters .sel{
  appearance:none;
  padding-right:34px;                   /* spazio per freccia */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239fb0d0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat; background-position: right 10px center; background-size: 16px;
}
/* === SINERGIE • cards uniformi e leggibili === */
.page-sinergie .rows{
  display:grid; gap:12px; padding:12px;
  max-height: calc(100vh - var(--sticky-top) - 86px);
  overflow:auto;
}
.page-sinergie .row{
  width:100%;
  display:grid; grid-template-columns:64px 1fr auto; gap:12px;
  padding:14px; text-align:left;
  background: var(--site-panel-2);
  border:1px solid var(--site-border);
  border-radius:12px;
}
.page-sinergie .row:hover{
  transform: translateY(-1px);
  border-color: var(--site-sep);
  background: color-mix(in srgb, var(--site-panel-2) 92%, black);
}
.page-sinergie .row__excerpt{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; font-size:.95rem;
}
.page-sinergie .row__main{ display:grid; gap:6px; }
.page-sinergie .pill{ padding:3px 10px; border:1px solid var(--site-border); border-radius:999px; background:#0b1323; color:var(--site-muted); }

.page-sinergie .chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.page-sinergie .chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px; border-radius:999px;
  background:#0b1323; border:1px solid var(--site-border);
  color: var(--site-text);
}
.page-sinergie .chip .x{
  border:0; background:transparent; cursor:pointer;
  font-weight:800; line-height:1; color: var(--site-muted);
}
.page-sinergie .chip .x:hover{ color: var(--site-text); }
/* Cookie banner: sopra o ridotto in basso (se hai banner che coprono) */
.cookie-admin, .cookie-banner, .cookie-consent {
  z-index: 12000 !important;        /* assicurati non copra menu sticky */
  position: fixed !important;
  right: 12px; bottom: 12px; left: auto;
  max-width: 420px;
}
/* Sinergie: testo leggibile su sfondo scuro */
.page-sinergie,
.page-sinergie .panel,
.page-sinergie .priv-detail,
.page-sinergie .row,
.page-sinergie .row__excerpt,
.page-sinergie .priv-detail .detail,
.page-sinergie .priv-detail .detail p {
  color: var(--site-text) !important;
}
/* Cards uniformi e titolo più leggibile */
.page-sinergie .rows { display:grid; gap:12px; }
.page-sinergie .row{
  display:grid; grid-template-columns:64px 1fr auto; gap:12px;
  align-items:start; padding:14px; border-radius:12px;
  background:var(--site-panel-2); border:1px solid var(--site-border);
}
.page-sinergie .row__title{
  font-size:1.05rem; font-weight:800; line-height:1.15; color:var(--site-text);
}
.page-sinergie .row__excerpt{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  color:var(--site-muted); margin-top:6px;
}

/* Input e select come Incantesimi/Privilegi */
.page-sinergie .priv-filters .inp,
.page-sinergie .priv-filters .sel{
  height:42px; padding:0 12px; border-radius:10px;
  background:var(--site-panel-2); color:var(--site-text);
  border:1px solid var(--site-border);
  outline:none;
}
.page-sinergie .priv-filters .sel{ background-position:right 12px center; background-repeat:no-repeat; }

.page-sinergie .lv {
  width:64px; height:64px;
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:34px;
  background: var(--site-panel-2);
  border:1px solid rgba(255,255,255,0.05);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.4);
}

.page-sinergie .lv::before {
  content:"";
  width:34px; height:34px;
  display:block;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  flex-shrink:0;
}

.page-sinergie .lv__txt {
  font-size:0.65rem;
  font-weight:600;
  line-height:1;
  text-transform:uppercase;
  color:currentColor;
  opacity:0.85;
}

/* testo sotto l'icona (label) */
.page-sinergie .lv__txt {
  display:block;
  margin-top:4px;
  font-size:0.72rem;
  font-weight:700;
  line-height:1;
  text-transform:uppercase;
  color:var(--site-text);    /* fallback leggibile */
  opacity:0.95;
  text-align:center;
  -webkit-font-smoothing:antialiased;
}

/* forza rimozione mask/conflicting ::before */
.page-sinergie .lv::before { display: none !important; -webkit-mask: none !important; mask: none !important; }

/* usa background-image sul contenitore .lv in modo pulito */
.page-sinergie .lv.is-combo,
.page-sinergie .lv.is-counter,
.page-sinergie .lv.is-attenzione {
  background-image: none; /* rimuove eventuale background precedente */
  position: relative;
}

/* badge icon come background centrato e nitido */
.page-sinergie .lv.is-combo {
  background-image: url('/wp-content/uploads/sinergie/andromeda-chain.png');
  background-repeat: no-repeat;
  background-position: center 18%;
  background-size: 34px 34px; /* dimensione di visualizzazione */
}

/* esempio per gli altri due (sostituisci i file con i tuoi nomi) */
.page-sinergie .lv.is-counter {
  background-image: url('/wp-content/uploads/sinergie/back-forth.png');
  background-repeat: no-repeat;
  background-position: center 18%;
  background-size: 34px 34px;
}
.page-sinergie .lv.is-attenzione {
  background-image: url('/wp-content/uploads/sinergie/hand.png');
  background-repeat: no-repeat;
  background-position: center 18%;
  background-size: 34px 34px;
}

/* assicurati che il colore di sfondo del badge non copra l'icona */
.page-sinergie .lv {
  background-color: var(--site-panel-2); /* o trasparente se preferisci */
  background-blend-mode: normal;
}

/* Incontri – statblock compatto (coerente col tema) */
/* Bottoni accoppiati */
/* — Layout griglia risultati: 1 colonna mobile, 2 colonne desktop — */
/* — Schede in due colonne su desktop restano — */
#encounters-root .rows {
  display: grid;
  gap: 16px;
}
@media (min-width: 1200px){
  #encounters-root .rows { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* — Card “pergamena” — */
#encounters-root .sb-card{
  background:#f2e9d0;
  color:#2b1e12;
  border:1px solid #e1d4b3;
  border-radius:12px;
  overflow:hidden;
  box-shadow: 0 6px 14px rgba(0,0,0,.18);
  display:flex; flex-direction:column;
}
#encounters-root .sb-card .sb { padding:12px 12px 0; }
#encounters-root .sb-card .sb-actions{ display:flex; gap:8px; padding:10px 12px 12px; }
#encounters-root .sb-card .pill{ background:#efe6cc; border:1px solid #d9c89f; color:#5a4330; }

/* — Tipografia più stretta — */
#encounters-root .sb { font-family: Georgia,'Times New Roman',serif; font-size:.95rem; }
#encounters-root .sb-t { margin:0; font-weight:800; font-size:1.08rem; color:#7a1d10; letter-spacing:.02em; text-transform:uppercase; }
#encounters-root .sb-st { color:#5a4330; font-style:italic; font-size:.9rem; }
#encounters-root .sb-line { height:2px; background:linear-gradient(90deg,#7a1d10,#d2b58c); margin:8px 0; border-radius:2px; }
#encounters-root .sb-kv { margin:6px 0; line-height:1.25; }
#encounters-root .sb-kv strong { color:#7a1d10; margin-right:3px; }

/* — Caratteristiche compatte, nascoste di default — */
#encounters-root .sb-ab { margin:6px 0; }
#encounters-root .sb-ab[open] { margin-bottom:4px; }
#encounters-root .sb-ab summary{
  cursor:pointer;
  list-style:none;
  color:#7a1d10; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
}
#encounters-root .sb-ab summary::marker{ display:none; }
#encounters-root .sb-ab summary::after{
  content:" ▸"; color:#7a1d10; font-weight:800;
}
#encounters-root .sb-ab[open] summary::after{ content:" ▾"; }
#encounters-root .sb-ab__inline{
  margin-top:4px; padding:6px 8px;
  background:#efe6cc; border:1px solid #d9c89f; border-radius:6px;
  font-variant-numeric: tabular-nums;
}

/* — Sezioni — */
#encounters-root .sb-sub{
  margin:10px 0 6px; font-size:.92rem; color:#7a1d10;
  text-transform:uppercase; letter-spacing:.05em; border-bottom:2px solid #d2b58c; padding-bottom:3px;
}
#encounters-root .sb-action{ margin:2px 0; line-height:1.25; }

/* Mobile */
@media (max-width: 900px){
  #encounters-root .rows { grid-template-columns: 1fr; }
  #encounters-root .sb { font-size: 1rem; }
}

#encounters-root .sb-kv strong { margin-right: 3px; }
#encounters-root .sb-kv strong + * { margin-right: 10px; }

/* Statblock in 2 colonne interne (desktop) */
#encounters-root .sb.sb--grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
/* Su mobile torna 1 colonna */
@media (max-width: 900px){
  #encounters-root .sb.sb--grid{ grid-template-columns: 1fr; }
}

/* KV piccole per CA/PF/Velocità */
#encounters-root .sb-kv--small{
  font-size: .9rem;
  line-height: 1.25;
  margin: 4px 0;
}

/* Caratteristiche: etichetta sopra e valore sotto */
#encounters-root .sb-abi2-grid{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  margin: 6px 0 8px;
}
#encounters-root .sb-abi2{
  background:#efe6cc;
  border:1px solid #d9c89f;
  border-radius:6px;
  text-align:center;
  padding:6px 4px 5px;
}
#encounters-root .sb-abi2__lbl{
  font-size:.78rem;
  letter-spacing:.05em;
  color:#7a1d10;
  line-height:1;
  margin-bottom:2px;
}
#encounters-root .sb-abi2__val{
  font-size:.92rem;
  font-weight:700;
  line-height:1;
}

/* Sezioni secondarie */
#encounters-root .sb-kv { margin:6px 0; line-height:1.25; }
#encounters-root .sb-kv strong { color:#7a1d10; margin-right:3px; }
#encounters-root .sb-sub{
  margin:10px 0 6px; font-size:.92rem; color:#7a1d10;
  text-transform:uppercase; letter-spacing:.05em; border-bottom:2px solid #d2b58c; padding-bottom:3px;
}
#encounters-root .sb-action{ margin:2px 0; line-height:1.25; }
#encounters-root .sb-empty{ color:#7a1d10; opacity:.6; }

#encounters-root .ro-list { display: grid; gap: 6px; margin: 8px 0; }
#encounters-root .ro-item { display:flex; justify-content:space-between; align-items:center; padding:6px 8px; border:1px solid var(--site-border); border-radius:8px; background:var(--site-panel-2); }
#encounters-root .ro-item .muted{ opacity:.75; }
#encounters-root .ro-qty { display:flex; align-items:center; gap:6px; }
#encounters-root .btn--xs { padding:2px 6px; font-size:.85rem; }
#encounters-root .ro-sum { margin-top:8px; line-height:1.4; }
/* ====== INCONTRI – Contenitore e densità ====== */
.enc-container{ max-width: 1080px; margin: 0 auto; }

/* Barra principale molto compatta */
.enc-toolbar{ position:sticky; top:var(--sticky-top,12px); z-index:5; }
.enc-row--main{
  display:grid;
  grid-template-columns: 140px 140px 170px 180px auto; /* 4 campi + bottone */
  gap:10px; align-items:end;
}
.enc-row--main .tb-field .tb-label{
  display:block; margin-bottom:4px; font-size:.8rem; color:var(--site-muted); font-weight:700;
}
.enc-row--main .inp, .enc-row--main .sel{ height:38px; }     /* più bassi */
.enc-row--main .btn{ height:38px; padding:0 14px; }

/* Variante ancora più stretta (se usi enc-row--tight) */
.enc-row--tight{ grid-template-columns: 120px 120px 150px 160px auto; }

/* Opzioni avanzate – due card più dense */
.enc-adv summary{ cursor:pointer; font-weight:800; }
.enc-adv[open] summary{ margin-bottom:8px; }
.enc-adv__grid{
  display:grid; grid-template-columns: 1fr 1fr; gap:14px;
}
.enc-col{ background:var(--site-panel-2); border:1px solid var(--site-border);
  border-radius:10px; padding:12px; display:grid; gap:12px; }
.enc-col .panel__section{ margin:0; }

/* CR min/max su una riga corta */
.grid.grid-2{ display:grid; grid-template-columns: 1fr 1fr; gap:8px; }
.grid.grid-2 label{ display:flex; align-items:center; gap:8px; font-size:.9rem; }
.grid.grid-2 .inp{ height:36px; }

/* Pill più piccole e serrate */
.chk-wrap{ display:flex; flex-wrap:wrap; gap:6px; }
.chk{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 8px; border:1px solid var(--site-border);
  border-radius:999px; background:var(--site-panel-2); font-size:.92rem;
}
.chk input{ accent-color:#7cf0d4; }

/* Responsive */
@media (max-width:1100px){
  .enc-row--main{ grid-template-columns: 1fr 1fr 1fr 1fr; }
  .enc-row--main .tb-actions{ grid-column:1 / -1; justify-content:flex-start; }
  .enc-adv__grid{ grid-template-columns: 1fr; }
}
