/* =========================
   THEME TOKENS & RESET
   ========================= */
:root{
  --container: 1200px;
  --gap: 28px;
  --radius: 24px;

  --brand: #ffd400;
  --brand-ink: #111;
  --ink: #0a0a0a;
  --muted: #6b7280;
  --bg: #ffffff;
}
@font-face {
  font-family: 'Libre Caslon Display';
  src: url('../fonts/librecaslondisplay/LibreCaslonDisplay-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.45;
}
a{text-decoration:none}
a:visited{color:var(--ink)}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}

/* =========================
   HEADER (DESKTOP + SEARCH)
   ========================= */
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter:saturate(180%) blur(8px);
  background-color:rgba(255,255,255,.85);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.site-header .navbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.site-title{font-weight:700;font-size:22px;color:var(--ink);text-decoration:none}

/* principale (desktop) */
#primary-menu{
  position:static; inset:auto; width:auto; height:auto; background:transparent;
  display:flex; gap:22px; list-style:none; margin:0; padding:0;
  opacity:1; visibility:visible; pointer-events:auto; transform:none; z-index:auto;
}
#primary-menu a{color:var(--ink);font-weight:600;text-decoration:none}
#primary-menu a:hover{text-decoration:underline}

/* ricerca header */
.search-toggle{background:none;border:none;cursor:pointer;display:grid;place-items:center}
.header-search{display:none;grid-template-columns:1fr auto;gap:10px;padding:14px 20px;border-top:1px solid rgba(0,0,0,.06)}
.header-search input{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px}
.header-search .btn-search{padding:12px 16px;border:0;border-radius:10px;background:var(--ink);color:#fff;font-weight:700}
.header-search.is-open{display:grid}

/* =================================
   HEADER (MOBILE NAVBAR + FULLSCREEN)
   ================================= */
.navbar{display:flex;align-items:center;justify-content:space-between;min-height:72px}
.brand-desktop{display:flex;align-items:center}
.brand-center{display:none}
.hamburger{display:none}

@media (max-width:768px){
  .site-header .navbar{
    display:grid !important;
    grid-template-columns:40px 1fr 40px;
    grid-auto-rows:minmax(0,auto);
    align-items:center; min-height:72px; position:relative;
  }
  .nav-left{grid-column:1;grid-row:1;display:flex;align-items:center}
  .brand-center{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:center}
  .nav-right{grid-column:3;grid-row:1;display:flex;justify-content:flex-end;align-items:center}
  .nav-center{grid-column:1 / -1;grid-row:2;height:0;overflow:visible}

  .brand-desktop{display:none !important}
  .brand-center img,.brand-center .custom-logo{max-height:36px;height:auto;width:auto}
  .brand-center .custom-logo-link{display:flex;align-items:center}

  .hamburger{display:block;width:34px;height:26px;padding:0;background:none;border:0;cursor:pointer}
  .hamburger span{display:block;width:100%;height:3px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s}
  .hamburger span+span{margin-top:6px}
  .hamburger.is-active span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .hamburger.is-active span:nth-child(2){opacity:0}
  .hamburger.is-active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

  #primary-menu{
    position:fixed !important; top:0;left:0;width:100vw;height:100vh;background:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
    padding:90px 24px 24px;margin:0 !important;
    opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.02);
    transition:opacity .25s ease,transform .25s ease,visibility .25s; z-index:9999;
  }
  #primary-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}
  #primary-menu li{margin:0;padding:0}
  #primary-menu a{color:#000;font-size:22px;font-weight:800;text-decoration:none}
  #primary-menu a:hover{color:var(--brand)}

  .menu-close{
    position:fixed !important; top:14px !important; left:16px !important; right:auto !important;
    background:none;border:none;font-size:32px;line-height:1;color:#111;cursor:pointer;z-index:10001;display:none;
  }
  body.nav-open .menu-close{display:block}

  .site-header,.navbar,.nav-center{overflow:visible !important}
}
@media (min-width:769px){.menu-close{display:none !important}}
body.nav-open{overflow:hidden}

/* =========================
   HERO SECTION
   ========================= */
.hero-news{padding:28px 0 50px}
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--gap)}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr;gap:18px}}

.hero-left{position:relative;min-height:420px;border-radius:var(--radius);isolation:isolate}
.slide{
  position:absolute;inset:0;opacity:0;transform:scale(.985);pointer-events:none;z-index:1;
  backface-visibility:hidden;will-change:opacity,transform;border-radius:var(--radius);overflow:hidden;
  transition:opacity .55s ease,transform .60s cubic-bezier(.2,.55,.2,1);
}
.slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.slide.is-leaving{opacity:0;transform:scale(.985);pointer-events:none;z-index:1}
.slide-link{display:block;height:100%;position:relative}
.slide-media{height:100%;background:center/cover no-repeat}
.slide-fallback{background:linear-gradient(135deg,#222,#444);width:100%;height:100%}
.slide-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  padding:28px;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65) 100%);color:#fff;
}

/* right list */
.pill{display:inline-flex;align-items:center;background:var(--brand);color:var(--brand-ink);padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px;line-height:1;margin-bottom:10px;align-self:flex-start;box-shadow:0 1px 0 rgba(0,0,0,.08) inset}
.meta{opacity:.9;margin-bottom:10px}
.slide-title{font-size:clamp(24px,3.2vw,42px);line-height:1.1;margin:0}
.hero-right{display:flex;flex-direction:column;gap:14px}
.tabs{display:flex;gap:18px;border-bottom:2px solid #e5e7eb}
.tab{background:none;border:none;cursor:pointer;font-weight:800;padding:12px 0;position:relative}
.tab.is-active::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:4px;border-radius:4px 4px 0 0;background:var(--brand)}
.news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.news-item a{
  display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;text-decoration:none;color:inherit;
  padding:10px;border-radius:14px;transition:background .35s,transform .35s,box-shadow .35s;
}
.news-item .thumb{width:72px;height:72px;border-radius:14px;background:#eee center/cover no-repeat;transition:transform .35s}
.news-item .kicker{font-size:13px;color:var(--muted);display:flex;gap:8px}
.news-item .title{font-size:16px;line-height:1.25;margin:6px 0 0}
.news-item.is-active a{background:var(--brand);transform:translateX(-6px);box-shadow:0 4px 18px rgba(0,0,0,.08)}
.news-item.is-active .title{color:var(--brand-ink);font-weight:900}
.news-item.is-active .kicker{color:#222}
.news-item.is-active .thumb{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.slide,.news-item a,.news-item .thumb{transition:none}}

/* =========================
   TYPOGRAPHY
   ========================= */
h1,h2,h3,.home-h2,.cat-title{  font-family: 'Libre Caslon Display', serif;font-weight:400;  }


/* =========================
   HOME CONTENT SECTIONS
   ========================= */
.home-intro{padding:32px 0 10px}
.home-h2{text-align:center;font-weight:400;font-size:clamp(26px,3.2vw,40px);line-height:1.2;margin:0 auto;max-width:980px}
.cat-section{padding:18px 0 34px}
.cat-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:12px auto 16px;max-width:var(--container);padding:0 5px}
.cat-title{font-size:clamp(22px,2.4vw,32px);font-weight:400;margin:0}
.cat-more{font-weight:700;color:#b91c1c;text-decoration:none}
.cat-more:hover{text-decoration:underline}
a.cat-more:visited {color: #b91c1c;}
.cat-grid{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}
@media (max-width:1024px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.cat-grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.06);transition:all .25s ease}
.card-link{display:block;color:inherit;text-decoration:none;padding:0 0 14px}
.card-media{height:180px;background:#f1f5f9 center/cover no-repeat}
.card-fallback{background:linear-gradient(135deg,#e5e7eb,#cbd5e1);width:100%;height:100%}
.card-meta{display:flex;gap:8px;font-size:13px;color:#6b7280;margin:10px 14px 0}
.card-title{font-family:"Libre Caslon Display",serif;font-weight:bold;font-size:20px;line-height:1.25;margin:6px 14px 0;color:#000}
.dot{opacity:.6}
.card:hover{box-shadow:0 4px 18px rgba(0,0,0,.08);transform:translateY(-1px)}
.card:hover .card-title{text-decoration:underline}
.card .card-media img {
    height: 180px;
    object-fit: cover;
}
.single-post.card-media img {
    height: 180px;
    object-fit: cover;
}
/* =========================
   HOME GRID (Main + Aside)
   ========================= */
.home-grid-wrap{padding:6px 0 30px}
.home-grid{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.home-main-col{min-width:0}
.home-aside{position:sticky;top:90px;align-self:start;border-left:1px solid #d9d9d9;border-radius:10px}
@media (max-width:1024px){.home-grid{grid-template-columns:1fr}.home-aside{position:static}}
.widget{border-radius:14px;padding:16px;margin-bottom:18px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.widget-title{font-size:18px;margin:0 0 10px}
.home-newsletter-section{padding:10px 0 22px}
.widget-newsletter{background:#f3f4f6;border-radius:16px;padding:24px}
.newsletter-title{font-size:20px;margin-bottom:8px}
.newsletter-placeholder{background:#f3f4f6;border-radius:16px;padding:48px 24px;text-align:center;font-size:clamp(18px,2.2vw,28px);color:#111827}

/* =========================
   FOOTER
   ========================= */
.site-footer{background:#111827;color:#f3f4f6;font-size:15px;padding-top:40px}
.footer-top{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-col{min-width:0}
.footer-title{font-size:22px;margin:0 0 10px}
.footer-desc{color:#9ca3af;margin:0}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-menu a{color:#f3f4f6;font-weight:500;text-decoration:none}
.footer-menu a:hover{color:var(--brand)}
.social-icons{list-style:none;display:flex;gap:14px;margin:0;padding:0}
.social-icons a{color:#f3f4f6;font-size:22px}
.social-icons a:hover{color:var(--brand)}
.footer-bottom{background:#0f172a;text-align:center;font-size:14px;padding:12px 0}
.footer-bottom p{margin:4px 0}
.footer-legal a{color:#9ca3af;text-decoration:none}
.footer-legal a:hover{color:#fff}
.footer-disclaimer{font-size:10px;text-align:center;background:#000;margin:0;padding:0}
@media (max-width:768px){.footer-top{grid-template-columns:1fr;text-align:center}.social-icons{justify-content:center}}
.home-grid .home-main-col > .cat-section.container,
.home-grid .home-main-col > .home-newsletter-section.container{max-width:100%;padding-left:0;padding-right:0}
.footer-brand img {
    width: 200px;
    filter: invert(1);
}
.footer-bottom a:visited {
    color: white;
}
/* ==============================
   SUBNAV (menu secondario)
   ============================== */
/* ==============================
   SUBNAV (desktop + mobile)
   ============================== */
nav.subnav{
  background: linear-gradient(180deg, #f8f8f8 0%, #f8f8f8 39%, rgba(0,0,0,0) 100%);
  padding: 0;
  z-index: 12;
}
.subnav .container{ overflow: visible; }

.subnav-list{
  display:flex; gap:1rem; list-style:none; margin:0; padding:0;
  overflow: visible;
}
.subnav-list > li{ position:relative; }
.subnav-list > li > a{
  display:block; padding:10px 12px;
  font-size:14px; font-weight:600; color:#111827; text-decoration:none; white-space:nowrap;
}
.subnav-list > li > a:hover{ color:#bd399c; }

/* ===== DESKTOP (>=769px): dropdown su hover ===== */
@media (min-width:769px){
  .subnav-list{ white-space:nowrap; }
  .subnav-list > li > .sub-menu{
    position:absolute; left:0; top:100%;
    display:none; min-width:220px;
    background:#fff; border:1px solid #e5e7eb; border-radius:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
    padding:8px 0; list-style:none; z-index:2000; white-space:normal;
  }
  .subnav-list > li > .sub-menu::before{
    content:""; position:absolute; top:-8px; left:0; right:0; height:8px; /* ponte anti-gap */
  }
  .subnav-list > li:hover > .sub-menu,
  .subnav-list > li > .sub-menu:hover,
  .subnav-list > li:focus-within > .sub-menu{ display:block; }

  .subnav-list > li > .sub-menu > li > a{
    display:block; padding:10px 14px; color:#111827; text-decoration:none; font-weight:600; font-size:14px; line-height:1.25;
  }
  .subnav-list > li > .sub-menu > li > a:hover{ background:#f8fafc; }
}

/* ===== MOBILE (<=768px): riga scrollabile + accordion su tap ===== */
@media (max-width:768px){
  nav.subnav{ -webkit-overflow-scrolling:touch; }
  .subnav-list{
    overflow-x:auto; overflow-y:visible;
    white-space:nowrap;
    scrollbar-width: thin;
  }
  .subnav-list > li{ flex:0 0 auto; }

  /* CHIUSO DI DEFAULT (anche se WP mette current-menu-ancestor) */
  .subnav-list > li > .sub-menu{
    display:none !important;
    position:static !important;
    background:transparent !important;
    border:none !important;
    box-shadow:none !important;
    margin:6px 0 0 0 !important;
    padding:0 !important;
    list-style:none !important;
  }
  /* APERTO solo quando JS mette .open sul LI padre */
  .subnav-list > li.open > .sub-menu{ display:block !important; }

  .subnav-list > li > .sub-menu > li{ list-style:none !important; margin:0; }
  .subnav-list > li > .sub-menu > li > a{
    display:block; padding:10px 12px; margin-top:6px;
    color:#111827; font-weight:600; white-space:normal;
  }
}

/* ===== SINGLE POST (estratto) ===== */
/* (mantengo le tue regole – niente duplicati) */

.single-hero.container{padding-top:24px}
.single-hero-img{width:100%;height:auto;display:block;border-radius:18px}
.single-header.container{padding-top:14px}
.single-kicker{color:#6b7280;font-size:14px;display:flex;align-items:center;gap:10px}
.single-kicker .single-cat{background:var(--brand);color:var(--brand-ink);font-weight:800;padding:6px 12px;border-radius:999px;text-decoration:none}
.single-dot{opacity:.6}
.single-title{  font-family: 'Libre Caslon Display', serif;font-size:clamp(30px,3.4vw,52px);line-height:1.15;margin:10px 0 6px}
.single-meta{color:#6b7280;font-size:14px}
.single-article .entry-content.container{max-width:760px;padding-top:12px}
.single-article .entry-content p{font-size:18px;line-height:1.75;margin:0 0 1.1em}
.single-article .entry-content a{color:var(--brand-ink);text-decoration:underline}
.single-article .entry-content h2{  font-family: 'Libre Caslon Display', serif;font-size:clamp(26px,2.6vw,34px);margin:1.4em 0 .4em}
.single-article .entry-content h3{font-size:clamp(20px,2.2vw,26px);margin:1.2em 0 .4em}
.single-article .entry-content ul,.single-article .entry-content ol{padding-left:1.2em;margin:0 0 1.1em}
.single-article .entry-content blockquote{margin:1.2em 0;padding:.6em 1em;border-left:4px solid #e5e7eb;color:#374151;background:#fafafa;border-radius:8px}
.single-article .entry-content hr{border:0;height:1px;background:#e5e7eb;margin:2rem 0}
.single-article .entry-content figure{margin:1.2em 0}
.single-article .entry-content figcaption{color:#6b7280;font-size:14px;text-align:center;margin-top:.5em}
.single-article .entry-content .wp-block-image img{border-radius:14px}
/* =========================
   SINGLE POST – Layout + Sidebar sticky
   ========================= */

/* Griglia: contenuto + rail a destra */
.single-layout{
  display:grid;
  grid-template-columns: minmax(0,1fr) 320px; /* main | sidebar */
  gap:28px;
  align-items:start;
  padding-top:18px;
  overflow:visible; /* fondamentale per lo sticky */
}

/* Colonna principale */
.single-layout .single-main{
  min-width:0; /* evita overflow orizzontali */
}

/* Rail sticky a destra */
.single-layout .single-rail{
  position: sticky;
  top: 90px;            /* spazio per l’header sticky (adatta se serve) */
  align-self: start;
  height: fit-content;  /* così la card/widget non si estende inutilmente */
  z-index: 10;          /* sopra a eventuali sfondi */
  border-left: 1px solid #e5e7eb; /* opzionale: piccolo separatore */
  padding-left: 18px;              /* opzionale: respiro dal separatore */
}

/* Widget nella sidebar (coerenti con i tuoi) */
.single-rail .widget{
  background:#fff;
  border-radius:14px;
  padding:16px;
  margin-bottom:18px;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}

/* Mobile: sidebar sotto il contenuto, no sticky */
@media (max-width: 900px){
  .single-layout{
    grid-template-columns: 1fr;
  }
  .single-layout .single-rail{
    position: static;
    top: auto;
    border-left: none;
    padding-left: 0;
    margin-top: 22px;
  }
}

/* Mobile: full width (va bene così) */
@media (max-width: 899px){
  .inline-sidebar{ float:none; width:auto; margin:22px 0; }
}

/* navigazione e related */
.post-nav{display:flex;justify-content:space-between;gap:14px;padding:18px 0 6px;border-top:1px solid #eee;margin-top:24px}
.post-nav a{font-weight:700}
.post-nav a:hover{text-decoration:underline}
.related-section{padding:8px 0 34px}
.related-title{  font-family: 'Libre Caslon Display', serif;font-size:clamp(22px,2.4vw,32px);font-weight:400;margin:0 0 14px}
.related-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.related-grid{grid-template-columns:1fr}}
.related-card .card-media{height:160px}
.related-card .card-title{font-size:18px}

/* tabelle/commenti (come i tuoi) */
.single-article .entry-content table{width:100%;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}
.single-article .entry-content table th,.single-article .entry-content table td{padding:10px 12px;border-top:1px solid #eef2f7}
.single-article .entry-content table th{background:#f8fafc;text-align:left}

.comments-area{margin-top:40px;padding:20px;background:#f9f9f9;border:1px solid #ddd;border-radius:8px}
.comments-area h2{font-size:1.6rem;font-weight:700;margin-bottom:20px;border-bottom:2px solid #333;padding-bottom:8px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{margin-bottom:25px;padding:15px;background:#fff;border:1px solid #e1e1e1;border-radius:6px}
.comment-author{font-weight:bold;margin-bottom:5px}
.comment-metadata{font-size:.85rem;color:#666;margin-bottom:10px}
.comment-respond{margin-top:40px;padding:20px;background:#f1f1f1;border-radius:8px}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form textarea{width:100%;padding:10px;margin-bottom:15px;border:1px solid #ccc;border-radius:4px}
.comment-form input[type="submit"]{background:#000;color:#fff;padding:10px 20px;border:none;border-radius:4px;cursor:pointer;transition:background .3s}
.comment-form input[type="submit"]:hover{background:#444}

/* archivi / categorie / tag / ricerca – griglie e paginazione (una sola volta) */
.cat-archive-hero,.tag-archive-hero,.search-hero{padding-top:24px}
.cat-archive-title,.tag-archive-title{  font-family: 'Libre Caslon Display', serif;font-size:clamp(28px,3.2vw,46px);font-weight:400;line-height:1.2;margin:0 0 6px}
.cat-archive-desc,.tag-archive-desc{color:#4b5563;max-width:760px;font-size:16px;line-height:1.6}

.cat-layout,.tag-layout,.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;padding-top:18px}
.cat-main,.tag-main,.search-main{min-width:0}
.cat-rail,.tag-rail,.search-rail{position:sticky;top:90px;align-self:start}
@media (max-width:900px){.cat-layout,.tag-layout,.search-layout{grid-template-columns:1fr}.cat-rail,.tag-rail,.search-rail{position:static}}

.cat-archive-grid,.tag-archive-grid,.search-grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.cat-archive-grid,.tag-archive-grid,.search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cat-archive-grid,.tag-archive-grid,.search-grid{grid-template-columns:1fr}}

.archive-pagination{margin:18px 0 8px}
.archive-pagination ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center}
.archive-pagination li{margin:0;padding:0}
.archive-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:10px;font-weight:700;
  background:#f3f4f6;color:#111827;transition:all .2s;text-decoration:none;
}
.archive-pagination .page-numbers:hover{background:#e5e7eb}
.archive-pagination .page-numbers.current{background:var(--brand);color:var(--brand-ink)}
.archive-pagination .prev,.archive-pagination .next{font-size:18px}
/* ===== 404 ===== */
.notfound-hero{ padding: 40px 0 10px; text-align: center; }
.notfound-kicker{
  display:inline-block; padding:6px 12px; border-radius:999px;
  background: var(--brand); color: var(--brand-ink); font-weight: 800;
  margin-bottom: 10px;
}
.notfound-title{
  font-family:"Libre Caslon Display","Libre Caslon",Georgia,serif;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 400; margin: 0 0 6px; line-height: 1.15;
}
.notfound-sub{ color:#6b7280; font-size: 16px; margin: 0 0 16px; }

.notfound-search{
  display:flex; gap:12px; justify-content:center; align-items:center;
  flex-wrap: wrap;
}
.notfound-search form.search-form,
.notfound-search form[role="search"]{ display:flex; gap:8px; }
.notfound-search input[type="search"]{
  padding:12px 14px; border:1px solid #e5e7eb; border-radius:10px; min-width: 280px;
}
.notfound-search input[type="submit"]{
  padding:12px 16px; border:0; border-radius:10px; background:#111; color:#fff; font-weight:700; cursor:pointer;
}
.btn-home{
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:0 14px; border-radius:10px; text-decoration:none;
  background:#f3f4f6; color:#111827; font-weight:700;
}
.btn-home:hover{ background:#e5e7eb; }

/* suggerimenti */
.notfound-suggest{ padding: 18px 0 30px; }
.nf-columns{
  display:grid; grid-template-columns: 2fr 1fr; gap: 28px; align-items:start;
}
@media (max-width: 900px){ .nf-columns{ grid-template-columns: 1fr; } }

.nf-title{
  font-family:"Libre Caslon Display","Libre Caslon",Georgia,serif;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 400; margin: 0 0 12px;
}
.nf-subtitle{ margin: 16px 0 8px; font-size: 15px; color:#374151; }
.nf-grid{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px;
}
@media (max-width:1024px){ .nf-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .nf-grid{ grid-template-columns: 1fr; } }

.nf-cats{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.nf-cats a{ text-decoration:none; font-weight:700; color:#111827; }
.nf-cats a:hover{ text-decoration:underline; }
.nf-cats .count{ color:#6b7280; }

.nf-tags a{
  display:inline-block; margin:4px 6px 0 0; padding:6px 10px; border-radius:999px;
  background:#f3f4f6; color:#111827; text-decoration:none; font-weight:600; font-size:14px;
}
.nf-tags a:hover{ background:#e5e7eb; }
/* autore */
body.author .cat-archive-desc{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
body.author .cat-archive-desc img.avatar{border-radius:50%;width:80px;height:80px;flex:0 0 auto}
body.author .cat-archive-desc p{margin:0 0 .6em}

/* logo dimensioni */
.site-header img.custom-logo{max-height:80px;width:auto;height:auto}

/* ===== PRIMARY MENU: reset liste + base ===== */
#primary-menu, #primary-menu ul, #primary-menu li { list-style: none; margin: 0; padding: 0; }
#primary-menu li { position: relative; }
#primary-menu .sub-menu { list-style: none; }
#primary-menu .sub-menu li::marker { content: ''; } /* elimina eventuali marker */

/* ===== DESKTOP (>=769px): dropdown su hover ===== */
@media (min-width:769px){
  #primary-menu > li { position: relative; }
  #primary-menu > li > .sub-menu{
    position: absolute; left: 0; top: 100%;
    display: none; min-width: 220px;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    padding: 8px 0; z-index: 2000;
  }
  #primary-menu > li:hover > .sub-menu,
  #primary-menu > li:focus-within > .sub-menu{ display:block; }

  #primary-menu .sub-menu a{
    display:block; padding:10px 14px;
    color:#111827; font-weight:600; font-size:14px; text-decoration:none;
    white-space:nowrap;
  }
  #primary-menu .sub-menu a:hover{ background:#f8fafc; }
}

/* ===== MOBILE (<=768px): sub-menu come accordion ===== */
@media (max-width:768px){
  #primary-menu .sub-menu{
    position: static; display: none; /* chiusa di default */
    background: transparent; border: 0; box-shadow: none; padding: 0; margin: 6px 0 0 0;
  }
  #primary-menu li.open > .sub-menu{ display:block; } /* aperta quando JS mette .open */

  /* bottone freccia */
  #primary-menu .submenu-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; margin-left:8px;
    border:0; background:transparent; cursor:pointer;
    font-size:18px; line-height:1;
  }
  #primary-menu li.open > a + .submenu-toggle{ transform: rotate(90deg); }
}
figure.single-hero.container {
    display: none;
}

figure.page-hero img {
    display: none;
}


/* ====== BOX "LEGGI ANCHE" (in-article) ====== */
.readalso-box{
  margin: 22px 0;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-left: 6px solid var(--brand);
  border-radius: 10px;
  padding: 12px 14px;
}
.readalso-title{
  display: block;
  font-weight: 800;
  color: #111827;
  margin: 0 0 6px;
}
.readalso-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.readalso-link{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
  color: #1f2937;
  text-decoration: underline;
}
.readalso-link:hover{ color:#000; }
.readalso-link::before{
  content: "»";
  opacity: .55;
  font-weight: 900;
  line-height: 1;
}

section.readalso-box {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 16px;
}

.single-post .card .card-media img {
    height: 164px;
    object-fit: cover;
}
.slide-media { position: relative; height: 100%; }
.slide-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}
.news-list .thumb img {
  width: 72px; height: 72px; object-fit: cover; border-radius: 14px;
  display: block;
}