:root{--nl-primary:#2563eb;--nl-accent:#0ea5e9;--nl-breaking:linear-gradient(90deg, rgba(220, 38, 38, 0.96), rgba(248, 113, 113, 0.95));--nl-breaking-bg:#dc2626;--nl-breaking-text:#ffffff;--nl-breaking-dot:#ef4444;}

/*
Theme Name: NotiziaLive
Theme URI: https://notizialive.uliberdev.it/
Author: Vincenzo Franconiero
Description: Tema magazine per giornali online, testate giornalistiche, editori. Eccezionali metriche Core Web Vitals, è un tema SEO-friendly.
Version: 1.0
Text Domain: notizialive
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
        Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
    line-height: 1.6;
    background-color: #0b1120;
    color: #e5e7eb;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
.site-wrapper { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at top, #1d4ed8 0, #020617 55%); }
.site-main { flex: 1; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

.top-bar { background: rgba(15, 23, 42, 0.95); border-bottom: 1px solid rgba(148, 163, 184, 0.2); color: #9ca3af; font-size: 0.85rem; }
.top-bar-inner { display: flex; align-items: center; justify-content: space-between; padding: 0.35rem 0; gap: 0.5rem; flex-wrap: wrap; }
.top-bar-left, .top-bar-right { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.top-bar-highlight { font-weight: 600; color: #bfdbfe; text-transform: uppercase; letter-spacing: 0.04em; }
.top-bar-tag { padding: 0.1rem 0.6rem; border-radius: 999px; border: 1px solid rgba(148, 163, 184, 0.35); font-size: 0.68rem; text-transform: uppercase; }
.top-bar-link { opacity: 0.85; }
.top-bar-link:hover { opacity: 1; }

.top-bar-weather {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 500;
}
.top-bar-weather-icon { font-size: 0.9rem; }
.top-bar-weather-label { font-size: 0.8rem; }

.site-header { background: rgba(15, 23, 42, 0.98); border-bottom: 1px solid rgba(148, 163, 184, 0.28); position: sticky; top: 0; z-index: 40; backdrop-filter: blur(18px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 0.9rem 0; }
.site-branding { display: flex; align-items: center; gap: 0.8rem; }
.site-logo-circle { width: 40px; height: 40px; border-radius: 999px; background: conic-gradient(from 220deg, #1d4ed8, #22c55e, #eab308, #1d4ed8); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 20px rgba(56, 189, 248, 0.45); }
.site-logo-circle span { background: #020617; width: 32px; height: 32px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.9rem; color: #e5e7eb; }
.site-title-group { display: flex; flex-direction: column; gap: 0.1rem; }
.site-title { font-size: 1.35rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.site-description { font-size: 0.8rem; color: #9ca3af; }

.main-navigation { display: flex; align-items: center; gap: 1.5rem; }
.main-navigation ul { display: flex; align-items: center; gap: 1.3rem; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.09em; font-weight: 600; }
.main-navigation li a { padding-bottom: 0.4rem; border-bottom: 2px solid transparent; opacity: 0.85; }
.main-navigation li a:hover, .main-navigation .current-menu-item > a { border-color: #3b82f6; opacity: 1; }

.header-actions { display: flex; align-items: center; gap: 0.7rem; }
.search-toggle { border: none; background: transparent; cursor: pointer; font-size: 1.1rem; opacity: 0.8; }
.search-toggle:hover { opacity: 1; }

.theme-toggle {
    border: 1px solid rgba(148, 163, 184, 0.6);
    background: rgba(15, 23, 42, 0.9);
    border-radius: 999px;
    padding: 0.25rem 0.6rem;
    font-size: 0.8rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.theme-toggle span { font-size: 1rem; }

.btn-subscribe {
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid rgba(59, 130, 246, 0.8);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    background: linear-gradient(135deg, var(--nl-primary), var(--nl-accent));
    color: #e5e7eb;
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.35);
}

.menu-toggle { display: none; border: 1px solid rgba(148, 163, 184, 0.6); background: rgba(15, 23, 42, 0.9); border-radius: 999px; padding: 0.35rem 0.7rem; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.09em; }
.menu-toggle span { margin-left: 0.4rem; font-size: 1rem; }
.main-navigation-mobile { display: none; border-top: 1px solid rgba(148, 163, 184, 0.25); background: rgba(15, 23, 42, 0.98); }
.main-navigation-mobile ul { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.75rem 0; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.07em; }
.main-navigation-mobile li a { display: block; padding: 0.2rem 0; opacity: 0.9; }
.main-navigation-mobile li a:hover { color: #bfdbfe; }
.main-navigation-mobile.is-open { display: block; }

.breaking-bar { background: var(--nl-breaking-bg); color: #fef2f2; font-size: 0.85rem; border-bottom: 1px solid rgba(248, 250, 252, 0.12); overflow: hidden; }
.breaking-inner { display: flex; align-items: center; gap: 1rem; padding: 0.35rem 0; }
.breaking-label { font-weight: 800; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; white-space: nowrap; color: #f8f3e7; }
.breaking-label::before{ color: var(--nl-breaking-dot); animation: nl-blink 1s infinite; }
.breaking-track { overflow: hidden; flex: 1; }
.breaking-list { display: inline-flex; gap: 1.8rem; white-space: nowrap; animation: breaking-scroll 40s linear infinite; }
.breaking-item a { opacity: 0.92; }
.breaking-item a:hover { opacity: 1; text-decoration: underline; }
@keyframes breaking-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

.content-area { padding: 1.5rem 0 2rem; }
.hero { padding: 1.5rem 0 0.5rem; }
.hero-grid { display: grid; grid-template-columns: 2fr 1.1fr; gap: 1.5rem; align-items: stretch; }

.hero-main { position: relative; border-radius: 1.25rem; overflow: hidden; background: radial-gradient(circle at top, rgba(37, 99, 235, 0.3), rgba(15, 23, 42, 0.95)); border: 1px solid rgba(148, 163, 184, 0.3); box-shadow: 0 24px 60px rgba(15, 23, 42, 0.9); }
.hero-main-inner { display: grid; grid-template-columns: 1.5fr 1.3fr; height: 100%; }
.hero-media { position: relative; min-height: 220px; overflow: hidden; }
.hero-media::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0, 0, 0, 0.2), rgba(15, 23, 42, 0.85)); z-index: 1; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.03); }
.hero-category { position: absolute; left: 1.1rem; top: 1.1rem; z-index: 2; padding: 0.25rem 0.75rem; border-radius: 999px; background: rgba(15, 23, 42, 0.9); border: 1px solid rgba(148, 163, 184, 0.6); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; color: #bfdbfe; }
.hero-meta-chip { position: absolute; left: 1.1rem; bottom: 1.1rem; z-index: 2; padding: 0.2rem 0.7rem; border-radius: 999px; background: rgba(15, 23, 42, 0.9); border: 1px solid rgba(148, 163, 184, 0.5); font-size: 0.7rem; display: flex; align-items: center; gap: 0.45rem; color: #e5e7eb; }
.hero-meta-dot { width: 4px; height: 4px; border-radius: 999px; background: #22c55e; }

.hero-content { padding: 1.4rem 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; justify-content: space-between; }
.hero-eyebrow { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.18em; color: #93c5fd; font-weight: 700; }
.hero-title { font-size: 1.45rem; line-height: 1.25; font-weight: 800; }
.hero-excerpt { font-size: 0.9rem; color: #cbd5f5; margin-top: 0.2rem; }
.hero-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: 0.3rem; font-size: 0.8rem; color: #9ca3af; flex-wrap: wrap; }
.hero-meta-left { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.hero-author { display: flex; align-items: center; gap: 0.4rem; }
.hero-author-avatar { width: 22px; height: 22px; border-radius: 999px; background: radial-gradient(circle at 30% 0, #22c55e, #1d4ed8); display: inline-flex; align-items: center; justify-content: center; font-size: 0.65rem; font-weight: 700; color: #e5e7eb; }
.hero-cta { margin-top: 0.6rem; display: flex; align-items: center; gap: 0.5rem; }
.hero-cta a { padding: 0.4rem 0.9rem; border-radius: 999px; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 700; border: 1px solid rgba(148, 163, 184, 0.6); background: rgba(15, 23, 42, 0.9); }

.hero-secondary-list { display: flex; flex-direction: column; gap: 0.75rem; }
.hero-secondary-card { border-radius: 0.9rem; padding: 0.8rem 0.9rem; background: rgba(15, 23, 42, 0.9); border: 1px solid rgba(148, 163, 184, 0.25); display: grid; grid-template-columns: 1.6fr 1fr; gap: 0.7rem; align-items: center; }

.content-grid { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(260px, 0.95fr); gap: 1.75rem; align-items: flex-start; }

.section-title { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.18em; color: #9ca3af; margin-bottom: 0.6rem; }

.posts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
.posts-grid.dense { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.post-card { border-radius: 1rem; overflow: hidden; background: rgba(15, 23, 42, 0.88); border: 1px solid rgba(148, 163, 184, 0.25); display: flex; flex-direction: column; min-height: 100%; }
.post-card-thumb { position: relative; min-height: 150px; overflow: hidden; }
.post-card-thumb img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); }
.post-card-body { padding: 0.85rem 0.95rem 1rem; display: flex; flex-direction: column; gap: 0.4rem; }
.post-card-category { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.16em; color: #93c5fd; }
.post-card-title { font-size: 1rem; font-weight: 700; }
.post-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.15rem; font-size: 0.75rem; color: #6b7280; flex-wrap: wrap; }
.post-card-meta .reading-time { font-style: italic; }
.post-card-excerpt { margin-top: 0.25rem; font-size: 0.85rem; color: #9ca3af; }
.post-card-footer { margin-top: 0.5rem; display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem; color: #6b7280; }
.post-card-readmore { text-transform: uppercase; letter-spacing: 0.13em; font-weight: 600; font-size: 0.75rem; color: #005ea8; }
.post-card-readmore:hover { color: #5f3c00; border-bottom: 1px solid #005ea8; }
.post-card-badge { font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.15em; padding: 0.1rem 0.5rem; border-radius: 999px; border: 1px solid rgba(234, 179, 8, 0.8); color: #facc15; }

.highlight-sections { margin-top: 1.6rem; margin-bottom: 0.3rem; }
.highlight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.highlight-block { border-radius: 1rem; background: rgba(15, 23, 42, 0.96); border: 1px solid rgba(148, 163, 184, 0.32); padding: 0.85rem 0.9rem; display: flex; flex-direction: column; gap: 0.5rem; }
.highlight-header { display: flex; justify-content: space-between; align-items: center; gap: 0.4rem; margin-bottom: 0.1rem; }
.highlight-title { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.16em; color: #9ca3af; }
.highlight-viewall { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.12em; opacity: 0.8; }

.sidebar { position: sticky; top: 4.5rem; }
.widget { border-radius: 1rem; background: rgba(15, 23, 42, 0.92); border: 1px solid rgba(148, 163, 184, 0.3); padding: 0.9rem 1rem; margin-bottom: 0.9rem; }
.widget-title { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.16em; color: #9ca3af; margin-bottom: 0.6rem; }
.widget-highlight { background: radial-gradient(circle at top, rgba(34, 197, 94, 0.2), rgba(15, 23, 42, 0.98)); border-color: rgba(34, 197, 94, 0.6); }

.single-hero { padding: 1.7rem 0 0; }
.single-category { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.18em; color: #93c5fd; margin-bottom: 0.3rem; }
.single-title { font-size: 1.9rem; line-height: 1.2; font-weight: 800; margin-bottom: 0.5rem; }
.single-meta { font-size: 0.85rem; color: #9ca3af; display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; }
.single-meta-dot { width: 3px; height: 3px; border-radius: 999px; background: #4b5563; }
.single-meta-reading { font-style: italic; }
.single-cover { margin-top: 1.2rem; border-radius: 1.2rem; overflow: hidden; border: 1px solid rgba(148, 163, 184, 0.4); box-shadow: 0 22px 60px rgba(15, 23, 42, 0.95); }

.single-content-wrapper { margin-top: 1.35rem; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1.2fr); gap: 1.5rem; align-items: flex-start; }
.single-content { font-size: 1rem; color: #e5e7eb; }
.single-content p + p { margin-top: 0.75rem; }

.single-meta-box { border-radius: 1rem; padding: 0.9rem 1rem; background: rgba(15, 23, 42, 0.95); border: 1px solid rgba(148, 163, 184, 0.4); font-size: 0.9rem; color: #9ca3af; }

.related-posts { margin-top: 1.6rem; }

.pagination { display: flex; justify-content: center; gap: 0.4rem; margin-top: 1.2rem; font-size: 0.85rem; }
.pagination a, .pagination span { padding: 0.3rem 0.65rem; border-radius: 999px; border: 1px solid rgba(148, 163, 184, 0.5); }
.pagination .current { background: linear-gradient(135deg, #2563eb, #0ea5e9); border-color: transparent; color: #e5e7eb; }

.site-footer { margin-top: auto; border-top: 1px solid rgba(148, 163, 184, 0.4); background: rgba(15, 23, 42, 0.98); padding: 1.3rem 0 1.2rem; font-size: 0.85rem; color: #9ca3af; }
.footer-inner { display: flex; flex-wrap: wrap; gap: 0.9rem; align-items: center; justify-content: space-between; }

.header-search-panel { display: none; background: rgba(15, 23, 42, 0.97); border-top: 1px solid rgba(148, 163, 184, 0.3); }
.header-search-panel-inner { padding: 0.7rem 0; }
.header-search-form { display: flex; gap: 0.7rem; align-items: center; }
.header-search-form input[type="search"] { flex: 1; padding: 0.45rem 0.7rem; border-radius: 999px; border: 1px solid rgba(148, 163, 184, 0.6); background: #020617; color: #e5e7eb; }
.header-search-form button { padding: 0.4rem 0.8rem; border-radius: 999px; border: 1px solid rgba(59, 130, 246, 0.8); background: linear-gradient(135deg, var(--nl-primary), var(--nl-accent)); color: #e5e7eb; }

.archive-header { padding: 1.4rem 0 0.8rem; }
.archive-title { font-size: 1.4rem; font-weight: 800; margin-bottom: 0.15rem; }

/* LIGHT THEME */
body.theme-light {
    background-color: #f5e5d5;
    color: #111827;
}
body.theme-light .site-wrapper {
    background: #f5e5d5;
}
body.theme-light .top-bar {
    background: #f5e5d5;
    color: #5f4b32;
    border-bottom-color: rgba(120, 90, 40, 0.16);
}
body.theme-light .site-header {
    background: #f5e5d5;
    border-bottom-color: rgba(120, 90, 40, 0.12);
}
body.theme-light .site-title { color: #111827; }
body.theme-light .site-description { color: #6b7280; }
body.theme-light .main-navigation li a { color: #111827; }
body.theme-light .header-actions .search-toggle { color: #5f4b32; }
body.theme-light .theme-toggle {
    background: rgba(255, 255, 255, 0.4);
    border-color: rgba(120, 90, 40, 0.18);
    color: #4e3c29;
}
body.theme-light .btn-subscribe {
    background: #005ea8;
    color: #fffaf2;
    border-color: rgba(138, 90, 0, 0.35);
    box-shadow: none;
}
body.theme-light .main-navigation-mobile {
    background: #f5e5d5;
    border-top-color: rgba(120, 90, 40, 0.12);
}
body.theme-light .header-search-panel {
    background: #f5e5d5;
    border-top-color: rgba(120, 90, 40, 0.12);
}
body.theme-light .header-search-form input[type="search"] {
    background: rgba(255, 255, 255, 0.75);
    border-color: rgba(120, 90, 40, 0.18);
    color: #2f2418;
}

/* ===== HEADER: logo centrato + 2 banner + categorie sotto ===== */
.masthead {
    background: rgba(15, 23, 42, 0.98);
    border-bottom: 1px solid rgba(148, 163, 184, 0.28);
}
.masthead-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem;
    align-items: center;
    padding: 0.9rem 0;
}
.header-ad {
    min-height: 60px;
    border-radius: 0.9rem;
    border: 1px dashed rgba(148, 163, 184, 0.45);
    background: rgba(2, 6, 23, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem;
    color: #9ca3af;
    font-size: 0.8rem;
}
.header-ad .ad-inner { width: 100%; display: flex; align-items: center; justify-content: center; }
.header-ad--left { justify-self: start; }
.header-ad--right { justify-self: end; }

.brand-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    text-align: center;
}
.brand-center .site-title-group { align-items: center; }

.categories-bar {
    background: rgba(2, 6, 23, 0.55);
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.categories-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.55rem 0;
}
.categories-nav ul {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    font-weight: 700;
}
.categories-nav a {
    padding: 0.25rem 0;
    border-bottom: 2px solid transparent;
    opacity: 0.9;
}
.categories-nav a:hover,
.categories-nav .current-menu-item > a {
    border-color: var(--nl-primary);
    opacity: 1;
}
.categories-actions {
    display: flex;
    align-items: center;
    gap: 0.7rem;
}

/* Sticky wrapper (manteniamo tutto fissato in alto) */
.site-header { position: static; }
.masthead-wrap { position: sticky; top: 0; z-index: 40; backdrop-filter: blur(18px); }

/* Light theme variants */
body.theme-light .masthead {
    background: rgba(255, 255, 255, 0.98);
    border-bottom-color: #e5e7eb;
}
body.theme-light .header-ad {
    background: #ffffff;
    border-color: #e5e7eb;
    color: #6b7280;
}
body.theme-light .categories-bar {
    background: #ffffff;
    border-top-color: #e5e7eb;
}
body.theme-light .categories-nav a { color: #111827; }

@media (max-width: 960px) {
    .masthead-inner {
        grid-template-columns: 1fr;
        justify-items: center;
    }
    .header-ad { width: 100%; max-width: 720px; }
    .header-ad--left, .header-ad--right { justify-self: center; }
    .categories-bar-inner { flex-direction: column; align-items: flex-start; }
}



/* Search panel toggle fix */
.header-search-panel.is-open { display: block; }



@keyframes nl-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.2; }
}
.breaking-label::before{ color: var(--nl-breaking-dot); animation: nl-blink 1s infinite; }



/* ===== Customizer vars (override) ===== */
:root{
  --nl-topbar-bg: var(--nl-topbar-bg, #0f172a);
  --nl-topbar-text: var(--nl-topbar-text, #9ca3af);
  --nl-breaking-bg: var(--nl-breaking-bg, #dc2626);
  --nl-breaking-text: var(--nl-breaking-text, #ffffff);
  --nl-breaking-dot: var(--nl-breaking-dot, #22c55e);
}

/* Top Bar (meteo) */
.top-bar{
  background: var(--nl-topbar-bg);
  color: var(--nl-topbar-text);
}
.top-bar a, .top-bar span{ color: inherit; }

/* Breaking bar colors */
.breaking-bar{
  background: var(--nl-breaking-bg);
  color: var(--nl-breaking-text);
}
.breaking-item a{ color: inherit; }

/* Pallino lampeggiante prima di "Ultim'ora" */
@keyframes nl-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0.2; } }
.breaking-label::before{
  content: '●';
  margin-right: 0.45rem;
  font-size: 0.8rem;
  color: var(--nl-breaking-dot);
  animation: nl-blink 1s infinite;
}

/* =========================================
   HEADER FT STYLE - OVERRIDE DEFINITIVO
   ========================================= */

/* sfondo generale header */
.site-header,
.masthead,
.categories-bar,
.main-navigation-mobile,
.header-search-panel,
.header-search-panel.is-open {
    background: #f5e5d5 !important;
}

/* solo logo + adv sticky */
.masthead-sticky {
    position: sticky;
    top: 0;
    z-index: 40;
    backdrop-filter: blur(10px);
    background: rgba(245, 229, 213, 0.96) !important;
    border-bottom: 1px solid rgba(120, 90, 40, 0.12) !important;
}

/* header principale non sticky */
.site-header {
    position: static !important;
    border-bottom: none !important;
    backdrop-filter: none !important;
}

/* masthead */
.masthead {
    border-bottom: none !important;
}

/* adv */
.header-ad {
    background: rgba(255, 255, 255, 0.28) !important;
    border: 1px dashed rgba(120, 90, 40, 0.26) !important;
    color: #7a6246 !important;
}

/* barra categorie */
.categories-bar {
    border-top: 1px solid rgba(120, 90, 40, 0.10) !important;
    border-bottom: 1px solid rgba(120, 90, 40, 0.12) !important;
}

.categories-nav a {
    color: #4e3c29 !important;
}

.categories-nav a:hover,
.categories-nav .current-menu-item > a {
    color: #2f2418 !important;
    border-color: #005ea8 !important;
}

/* bottoni header */
.search-toggle {
    color: #5f4b32 !important;
    opacity: 0.9 !important;
}

.theme-toggle,
.menu-toggle {
    background: rgba(255, 255, 255, 0.4) !important;
    border-color: rgba(120, 90, 40, 0.18) !important;
    color: #4e3c29 !important;
}

.btn-subscribe {
    background: #005ea8 !important;
    color: #fffaf2 !important;
    border-color: rgba(138, 90, 0, 0.35) !important;
    box-shadow: none !important;
}

/* menu mobile */
.main-navigation-mobile {
    border-top: 1px solid rgba(120, 90, 40, 0.12) !important;
}

.main-navigation-mobile li a {
    color: #4e3c29 !important;
}

.main-navigation-mobile li a:hover {
    color: #2f2418 !important;
}

/* search panel */
.header-search-panel {
    border-top: 1px solid rgba(120, 90, 40, 0.12) !important;
}

.header-search-form input[type="search"] {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(120, 90, 40, 0.18) !important;
    color: #2f2418 !important;
}

.header-search-form button {
    background: #8a5a00 !important;
    color: #fffaf2 !important;
    border-color: rgba(138, 90, 0, 0.35) !important;
}

/* light theme: neutralizza il bianco */
body.theme-light .site-header,
body.theme-light .masthead,
body.theme-light .categories-bar,
body.theme-light .main-navigation-mobile,
body.theme-light .header-search-panel {
    background: #f5e5d5 !important;
}

body.theme-light .header-ad {
    background: rgba(255, 255, 255, 0.28) !important;
    border-color: rgba(120, 90, 40, 0.26) !important;
    color: #7a6246 !important;
}

body.theme-light .categories-nav a {
    color: #4e3c29 !important;
}

body.theme-light .categories-nav a:hover,
body.theme-light .categories-nav .current-menu-item > a {
    color: #2f2418 !important;
    border-color: #005ea8 !important;
}

body.theme-light .theme-toggle,
body.theme-light .menu-toggle {
    background: rgba(255, 255, 255, 0.4) !important;
    border-color: rgba(120, 90, 40, 0.18) !important;
    color: #4e3c29 !important;
}

body.theme-light .btn-subscribe {
    background: #005ea8 !important;
    color: #fffaf2 !important;
    border-color: rgba(138, 90, 0, 0.35) !important;
    box-shadow: none !important;
}

body.theme-light .header-search-form input[type="search"] {
    background: rgba(255, 255, 255, 0.75) !important;
    border-color: rgba(120, 90, 40, 0.18) !important;
    color: #2f2418 !important;
}

/* =========================================
   HOME LIGHT BOXES - tono su tono
   ========================================= */
body.theme-light .hero-main,
body.theme-light .hero-secondary-card,
body.theme-light .post-card,
body.theme-light .highlight-block,
body.theme-light .widget {
    background: #f6e8da !important;
    border: 1px solid #dbc7b2 !important;
    box-shadow: 0 6px 18px rgba(120, 90, 40, 0.05) !important;
}

body.theme-light .hero-main {
    box-shadow: 0 16px 36px rgba(120, 90, 40, 0.06) !important;
}

body.theme-light .hero-content,
body.theme-light .post-card-body {
    color: #2f2418;
}

body.theme-light .hero-title,
body.theme-light .post-card-title,
body.theme-light .hero-secondary-title a,
body.theme-light .widget a {
    color: #2f2418;
}

body.theme-light .hero-excerpt,
body.theme-light .post-card-excerpt,
body.theme-light .post-card-meta,
body.theme-light .post-card-footer,
body.theme-light .section-title {
    color: #6e5a43 !important;
}

body.theme-light .hero-category,
body.theme-light .hero-meta-chip,
body.theme-light .hero-cta a {
    background: rgba(255, 250, 242, 0.82) !important;
    border-color: #dbc7b2 !important;
    color: #005ea8 !important;
}

/* =========================================
   SEZIONI CATEGORIA HOME
   ========================================= */
.homepage-category-block {
    margin-top: 2.2rem;
}

.homepage-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.homepage-block-header .section-title {
    margin-bottom: 0;
}

.section-link {
    position: relative;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #005ea8;
    text-decoration: none;
    transition: all 0.25s ease;
}

/* linea sotto elegante */
.section-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.25s ease;
}

/* hover */
.section-link:hover {
    color: #6f4700;
}

.section-link:hover::after {
    width: 100%;
}

.card-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #005ea8;
    margin-bottom: 0.45rem;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #6e5a43;
}

/* =========================================
   ECONOMIA E FINANZA
   ========================================= */
.economia-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
    gap: 1.25rem;
    align-items: start;
}

.economia-featured-card {
    border-radius: 1rem;
    overflow: hidden;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 10px 24px rgba(120, 90, 40, 0.05);
}

.economia-featured-thumb img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.economia-featured-body {
    padding: 1.15rem 1.2rem 1.25rem;
}

.economia-featured-title {
    font-size: 1.45rem;
    line-height: 1.22;
    font-weight: 800;
    margin-bottom: 0.6rem;
    color: #2f2418;
}

.economia-featured-title a {
    color: inherit;
}

.economia-featured-excerpt {
    margin-top: 0.75rem;
    font-size: 0.96rem;
    color: #5f4b32;
}

.economia-compact-list {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.economia-compact-item {
    padding: 1rem 1rem 1.05rem;
    border-radius: 1rem;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
}

.economia-compact-title {
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
    color: #2f2418;
}

.economia-compact-title a {
    color: inherit;
}

/* =========================================
   AZIONI
   ========================================= */
.azioni-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.azioni-row-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 1rem;
    overflow: hidden;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
}

.azioni-row-thumb img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
    display: block;
}

.azioni-row-body {
    padding: 1rem 1rem 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.azioni-row-title {
    font-size: 1.08rem;
    line-height: 1.35;
    font-weight: 800;
    color: #2f2418;
    margin-bottom: 0.45rem;
}

.azioni-row-title a {
    color: inherit;
}

.azioni-row-excerpt {
    margin-top: 0.65rem;
    font-size: 0.9rem;
    color: #5f4b32;
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 960px) {
    .economia-layout {
        grid-template-columns: 1fr;
    }

    .azioni-row-card {
        grid-template-columns: 1fr;
    }

    .azioni-row-body {
        padding: 1rem;
    }
}

@media (max-width: 640px) {
    .homepage-block-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .economia-featured-thumb img {
        height: 220px;
    }
}

/* =========================================
   HOME BLOCKS LIGHT - tono su tono
   ========================================= */
body.theme-light .hero-main,
body.theme-light .hero-secondary-card,
body.theme-light .post-card,
body.theme-light .highlight-block,
body.theme-light .widget {
    background: #f6e8da !important;
    border: 1px solid #dbc7b2 !important;
    box-shadow: 0 6px 18px rgba(120, 90, 40, 0.05) !important;
}

body.theme-light .hero-main {
    box-shadow: 0 16px 36px rgba(120, 90, 40, 0.06) !important;
}

body.theme-light .hero-content,
body.theme-light .post-card-body {
    color: #2f2418;
}

body.theme-light .hero-title,
body.theme-light .post-card-title,
body.theme-light .hero-secondary-title a,
body.theme-light .widget a {
    color: #2f2418;
}

body.theme-light .hero-excerpt,
body.theme-light .post-card-excerpt,
body.theme-light .post-card-meta,
body.theme-light .post-card-footer,
body.theme-light .section-title {
    color: #6e5a43 !important;
}

body.theme-light .hero-category,
body.theme-light .hero-meta-chip,
body.theme-light .hero-cta a {
    background: rgba(255, 250, 242, 0.82) !important;
    border-color: #dbc7b2 !important;
    color: #5a4328 !important;
}

/* =========================================
   SEZIONI HOME
   ========================================= */
.homepage-category-block {
    margin-top: 2.3rem;
}

.homepage-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.homepage-block-header .section-title {
    margin-bottom: 0;
}

.section-link {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #005ea8;
}

.card-kicker {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #8a5a00;
    margin-bottom: 0.45rem;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #6e5a43;
}

/* =========================================
   ECONOMIA E FINANZA
   ========================================= */
.economia-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
    gap: 1.25rem;
    align-items: start;
}

.economia-featured-card {
    border-radius: 1rem;
    overflow: hidden;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 10px 24px rgba(120, 90, 40, 0.05);
}

.economia-featured-thumb img {
    width: 100%;
    height: 320px;
    object-fit: cover;
    display: block;
}

.economia-featured-body {
    padding: 1.15rem 1.2rem 1.25rem;
}

.economia-featured-title {
    font-size: 1.45rem;
    line-height: 1.22;
    font-weight: 800;
    margin-bottom: 0.6rem;
    color: #2f2418;
}

.economia-featured-title a {
    color: inherit;
}

.economia-featured-excerpt {
    margin-top: 0.75rem;
    font-size: 0.96rem;
    color: #5f4b32;
}

.economia-compact-list {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.economia-compact-item {
    padding: 1rem 1rem 1.05rem;
    border-radius: 1rem;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
}

.economia-compact-title {
    font-size: 1rem;
    line-height: 1.35;
    font-weight: 700;
    color: #2f2418;
}

.economia-compact-title a {
    color: inherit;
}

/* =========================================
   AZIONI
   ========================================= */
.azioni-layout {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.azioni-row-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
    border-radius: 1rem;
    overflow: hidden;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
}

.azioni-row-thumb img {
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
    display: block;
}

.azioni-row-body {
    padding: 1rem 1rem 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.azioni-row-title {
    font-size: 1.08rem;
    line-height: 1.35;
    font-weight: 800;
    color: #2f2418;
    margin-bottom: 0.45rem;
}

.azioni-row-title a {
    color: inherit;
}

.azioni-row-excerpt {
    margin-top: 0.65rem;
    font-size: 0.9rem;
    color: #5f4b32;
}

/* =========================================
   MATERIE PRIME - GOLD LOOK
   ========================================= */
.homepage-block-header--gold .section-title,
.homepage-block-header--gold .section-link {
    color: #8c6408 !important;
}

.materie-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.95fr);
    gap: 1.2rem;
    align-items: start;
}

.materie-featured-card {
    border-radius: 1.1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #f5e3b3, #f1d48a);
    border: 1px solid #d6b76a;
    box-shadow: 0 12px 28px rgba(140, 100, 8, 0.10);
}

.materie-featured-inner {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    min-height: 100%;
}

.materie-featured-thumb img {
    width: 100%;
    height: 100%;
    min-height: 290px;
    object-fit: cover;
    display: block;
}

.materie-featured-body {
    padding: 1.25rem 1.2rem;
    color: #4b3505;
}

.materie-featured-title {
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 0.65rem;
}

.materie-featured-title a {
    color: inherit;
}

.materie-featured-excerpt {
    margin-top: 0.8rem;
    font-size: 0.95rem;
    color: #5e4407;
}

.card-kicker--gold,
.card-meta--gold {
    color: #7b5706;
}

.materie-mini-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
}

.materie-mini-card {
    padding: 1rem 1rem 1.05rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #f8e9bf, #f4dc9e);
    border: 1px solid #d9bb75;
    box-shadow: 0 8px 20px rgba(140, 100, 8, 0.08);
}

.materie-mini-title {
    font-size: 1rem;
    line-height: 1.34;
    font-weight: 800;
    color: #4b3505;
}

.materie-mini-title a {
    color: inherit;
}

/* =========================================
   BONUS INCENTIVI - GREEN/BLUE LOOK
   ========================================= */
.homepage-block-header--bonus .section-title,
.homepage-block-header--bonus .section-link {
    color: #1d5a5f !important;
}

.bonus-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.bonus-card {
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #dff3ef, #dbe9ff);
    border: 1px solid #b7d7d1;
    box-shadow: 0 10px 24px rgba(29, 90, 95, 0.08);
}

.bonus-card-thumb img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
}

.bonus-card-body {
    padding: 1rem 1rem 1.1rem;
}

.card-kicker--bonus,
.card-meta--bonus {
    color: #1d5a5f;
}

.bonus-card-title {
    font-size: 1.08rem;
    line-height: 1.35;
    font-weight: 800;
    color: #163f43;
    margin-bottom: 0.45rem;
}

.bonus-card-title a {
    color: inherit;
}

.bonus-card-excerpt {
    margin-top: 0.65rem;
    font-size: 0.9rem;
    color: #355b5e;
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 960px) {
    .economia-layout,
    .materie-layout {
        grid-template-columns: 1fr;
    }

    .azioni-row-card {
        grid-template-columns: 1fr;
    }

    .azioni-row-body {
        padding: 1rem;
    }

    .bonus-layout {
        grid-template-columns: 1fr;
    }

    .materie-featured-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .homepage-block-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .economia-featured-thumb img {
        height: 220px;
    }

    .bonus-card-thumb img {
        height: 190px;
    }
}

/* =========================================
   SEZIONI COLORATE INTERE
   ========================================= */
.homepage-category-block--materie,
.homepage-category-block--bonus {
    padding: 1.35rem;
    border-radius: 1.25rem;
    margin-top: 2.4rem;
}

/* =========================================
   MATERIE PRIME - SFONDO INTERA SEZIONE ORO
   ========================================= */
.homepage-category-block--materie {
    background: linear-gradient(135deg, #ecd391, #e3bf67);
    border: 1px solid #cfa84e;
    box-shadow: 0 14px 30px rgba(140, 100, 8, 0.10);
}

.homepage-category-block--materie .section-title,
.homepage-category-block--materie .section-link,
.homepage-category-block--materie .card-kicker,
.homepage-category-block--materie .card-meta {
    color: #6b4a00 !important;
}

.homepage-category-block--materie .materie-featured-card {
    border-radius: 1.1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #f8e8bd, #f5ddb4);
    border: 1px solid #d9b86c;
    box-shadow: 0 12px 24px rgba(140, 100, 8, 0.08);
}

.homepage-category-block--materie .materie-featured-body {
    color: #4b3505;
}

.homepage-category-block--materie .materie-featured-title,
.homepage-category-block--materie .materie-mini-title {
    color: #4b3505;
}

.homepage-category-block--materie .materie-featured-title a,
.homepage-category-block--materie .materie-mini-title a {
    color: inherit;
}

.homepage-category-block--materie .materie-featured-excerpt {
    color: #5e4407;
}

.homepage-category-block--materie .materie-mini-card {
    padding: 1rem 1rem 1.05rem;
    border-radius: 1rem;
    background: rgba(255, 248, 226, 0.72);
    border: 1px solid #d7b76d;
    box-shadow: 0 8px 18px rgba(140, 100, 8, 0.07);
}

/* =========================================
   BONUS INCENTIVI - SFONDO INTERA SEZIONE
   ========================================= */
.homepage-category-block--bonus {
    background: linear-gradient(135deg, #caebe4, #cfe0ff);
    border: 1px solid #a9cbc5;
    box-shadow: 0 14px 30px rgba(29, 90, 95, 0.08);
}

.homepage-category-block--bonus .section-title,
.homepage-category-block--bonus .section-link,
.homepage-category-block--bonus .card-kicker,
.homepage-category-block--bonus .card-meta {
    color: #1d5a5f !important;
}

.homepage-category-block--bonus .bonus-card {
    border-radius: 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #eefaf7, #eef4ff);
    border: 1px solid #b7d7d1;
    box-shadow: 0 10px 22px rgba(29, 90, 95, 0.07);
}

.homepage-category-block--bonus .bonus-card-title {
    color: #163f43;
}

.homepage-category-block--bonus .bonus-card-title a {
    color: inherit;
}

.homepage-category-block--bonus .bonus-card-excerpt {
    color: #355b5e;
}

/* =========================================
   HOME: FONT EDITORIALE COME NELL'ARTICOLO
   ========================================= */

/* Titoli principali home */
.hero-title,
.hero-secondary-title,
.economia-featured-title,
.economia-compact-title,
.azioni-row-title,
.materie-featured-title,
.materie-mini-title,
.bonus-card-title,
.post-card-title,
.related-item h3 {
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.02em;
    color: #2f2418;
}

/* Hero principale */
.hero-title {
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    line-height: 1.12;
    font-weight: 700;
}

/* Titoli secondari */
.hero-secondary-title,
.economia-featured-title,
.materie-featured-title {
    line-height: 1.2;
    font-weight: 700;
}

/* Card e sezioni */
.economia-compact-title,
.azioni-row-title,
.materie-mini-title,
.bonus-card-title,
.post-card-title {
    line-height: 1.3;
    font-weight: 700;
}

/* Excerpt un po' più editoriali ma ancora leggibili */
.hero-excerpt,
.economia-featured-excerpt,
.azioni-row-excerpt,
.materie-featured-excerpt,
.bonus-card-excerpt,
.post-card-excerpt {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 0.98rem;
    line-height: 1.6;
}

/* Meta e label restano più puliti */
.card-meta,
.post-card-meta,
.post-card-footer,
.hero-secondary-date,
.hero-meta,
.section-link,
.card-kicker,
.hero-eyebrow {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
        Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

/* =========================================
   HERO HOME - LOOK EDITORIALE CHIARO
   ========================================= */
body.theme-light .hero-grid {
    align-items: stretch;
}

body.theme-light .hero-main,
body.theme-light .hero-secondary-list {
    height: 100%;
}

body.theme-light .hero-main {
    background: #f6e8da !important;
    border: 1px solid #dbc7b2 !important;
    box-shadow: 0 16px 36px rgba(120, 90, 40, 0.06) !important;
}

body.theme-light .hero-main-inner {
    display: grid;
    grid-template-columns: 1.45fr 1.1fr;
    min-height: 100%;
    height: 100%;
}

body.theme-light .hero-media::before {
    background: linear-gradient(135deg, rgba(60, 40, 20, 0.10), rgba(60, 40, 20, 0.02)) !important;
}

body.theme-light .hero-content {
    background: #f8ecdf;
    color: #2f2418 !important;
}

body.theme-light .hero-title,
body.theme-light .hero-title a {
    color: #2f2418 !important;
}

body.theme-light .hero-excerpt {
    color: #5f4b32 !important;
}

body.theme-light .hero-category,
body.theme-light .hero-meta-chip,
body.theme-light .hero-cta a {
    background: rgba(255, 250, 242, 0.88) !important;
    border: 1px solid #dbc7b2 !important;
    color: #5a4328 !important;
}

body.theme-light .hero-eyebrow {
    color: #005ea8 !important;
}

body.theme-light .hero-meta,
body.theme-light .hero-secondary-date {
    color: #6e5a43 !important;
}

body.theme-light .hero-author-avatar {
    background: linear-gradient(135deg, #caa76b, #8a5a00) !important;
    color: #fffaf2 !important;
}

/* colonna destra allineata */
body.theme-light .hero-secondary-list {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 0.75rem;
}

body.theme-light .hero-secondary-card {
    min-height: 0;
    height: 100%;
    background: #f6e8da !important;
    border: 1px solid #dbc7b2 !important;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04) !important;
    grid-template-columns: 1.55fr 0.95fr;
}

body.theme-light .hero-secondary-title,
body.theme-light .hero-secondary-title a {
    color: #2f2418 !important;
}

body.theme-light .hero-secondary-meta {
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #005ea8 !important;
    margin-bottom: 0.35rem;
}

body.theme-light .hero-secondary-thumb img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
}

/* meta autore nelle card */
.card-meta {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #6e5a43;
}

/* responsive */
@media (max-width: 960px) {
    body.theme-light .hero-main-inner {
        grid-template-columns: 1fr;
    }

    body.theme-light .hero-secondary-list {
        grid-template-rows: auto;
    }

    body.theme-light .hero-secondary-card {
        height: auto;
    }
}

/* =========================================
   SIDEBAR - CENTRO DATI
   ========================================= */
.sidebar-centro-dati {
    position: sticky;
    top: 2rem;
}

.widget-centro-dati {
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.05);
}

.widget-centro-dati .widget-title {
    margin-bottom: 0.45rem;
    color: #2f2418;
}

.widget-centro-dati-intro {
    margin-bottom: 1rem;
    font-size: 0.92rem;
    line-height: 1.6;
    color: #6e5a43;
}

.centro-dati-more.centro-dati-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: 0.7rem 1rem;
    border-radius: 999px;
    background: #8a5a00;
    color: #fffaf2;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border: 1px solid rgba(138, 90, 0, 0.35);
    text-decoration: none;
    transition: all 0.2s ease;
}

.centro-dati-more.centro-dati-button:hover {
    background: #734900;
    color: #fffaf2;
}

.centro-dati-list {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.centro-dati-item {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 0.75rem;
    align-items: start;
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(120, 90, 40, 0.12);
}

.centro-dati-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.centro-dati-thumb img {
    width: 100%;
    height: 72px;
    object-fit: cover;
    border-radius: 0.7rem;
    display: block;
}

.centro-dati-body {
    min-width: 0;
}

.centro-dati-meta {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-bottom: 0.35rem;
    font-size: 0.76rem;
    color: #8a7258;
}

.centro-dati-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1rem;
    line-height: 1.32;
    font-weight: 700;
    color: #ffd700;
}

.centro-dati-title a {
    color: inherit;
    text-decoration: none;
}

.centro-dati-more {
    display: inline-block;
    margin-top: 0.8rem;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #8a5a00;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.centro-dati-more:hover {
    border-color: #8a5a00;
    color: #5f3c00;
}

@media (max-width: 960px) {
    .sidebar-centro-dati {
        position: static;
        top: auto;
    }
}

.sidebar-video-box {
    margin-top: 1rem;
}

.sidebar-video-link {
    display: block;
    border-radius: 0.9rem;
    overflow: hidden;
}

.sidebar-video {
    width: 100%;
    max-width: 100%;
    display: block;
    border-radius: 0.9rem;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
    transition: transform 0.3s ease;
}

.sidebar-video-link:hover .sidebar-video {
    transform: scale(1.03);
}

/* =========================================
   MOBILE FIX COMPLETO (NON DISTRUTTIVO)
   ========================================= */

/* ===== TABLET ===== */
@media (max-width: 1024px){

  .container{
    padding: 0 0.9rem;
  }

  .hero-grid{
    grid-template-columns: 1fr;
  }

  .hero-main-inner{
    grid-template-columns: 1fr;
  }

  .content-grid{
    grid-template-columns: 1fr;
  }

  .posts-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .posts-grid.dense{
    grid-template-columns: repeat(2, 1fr);
  }

  .highlight-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .sidebar{
    position: static;
  }
}


/* ===== MOBILE ===== */
@media (max-width: 768px){

  /* ===== HEADER ===== */
  .categories-nav{
    display: none;
  }

  .menu-toggle{
    display: inline-flex;
  }

  .header-actions .search-toggle,
  .header-actions .theme-toggle,
  .header-actions .btn-subscribe{
    display: none;
  }

  .categories-bar-inner{
    flex-direction: row;
    justify-content: space-between;
  }

  /* ===== HERO ===== */
  .hero{
    padding-top: 1rem;
  }

  .hero-title{
    font-size: 1.4rem;
    line-height: 1.25;
  }

  .hero-excerpt{
    font-size: 0.9rem;
  }

  .hero-secondary-card{
    grid-template-columns: 1fr;
  }

  .hero-media{
    min-height: 200px;
  }

  /* ===== POSTS ===== */
  .posts-grid{
    grid-template-columns: 1fr;
  }

  .posts-grid.dense{
    grid-template-columns: 1fr;
  }

  .post-card-thumb{
    min-height: 180px;
  }

  /* ===== HIGHLIGHTS ===== */
  .highlight-grid{
    grid-template-columns: 1fr;
  }

  /* ===== ECONOMIA / AZIONI ===== */
  .economia-layout,
  .materie-layout{
    grid-template-columns: 1fr;
  }

  .azioni-row-card{
    grid-template-columns: 1fr;
  }

  .azioni-row-body{
    padding: 0.9rem;
  }

  .economia-featured-thumb img{
    height: 200px;
  }

  /* ===== BONUS ===== */
  .bonus-layout{
    grid-template-columns: 1fr;
  }

  .bonus-card-thumb img{
    height: 180px;
  }

  /* ===== TYPOGRAPHY ===== */
  .section-title{
    font-size: 0.8rem;
  }

  /* ===== BREAKING BAR ===== */
  .breaking-inner{
    gap: 0.6rem;
  }

  .breaking-label{
    font-size: 0.65rem;
  }

  /* ===== SIDEBAR ===== */
  .sidebar{
    margin-top: 1.5rem;
  }

  .widget{
    padding: 0.8rem;
  }

  .centro-dati-item{
    grid-template-columns: 70px 1fr;
  }

  .centro-dati-thumb img{
    height: 60px;
  }

  /* ===== FOOTER ===== */
  .nl-footer-top{
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .nl-footer-sideblocks{
    grid-template-columns: 1fr;
  }

  .nl-footer-brand{
    flex-direction: column;
    align-items: flex-start;
  }

  .nl-footer-links-row{
    gap: 0.3rem;
    font-size: 0.8rem;
  }

  .nl-footer-bottom{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
}


/* ===== SMALL MOBILE ===== */
@media (max-width: 480px){

  .container{
    padding: 0 0.7rem;
  }

  .hero-title{
    font-size: 1.25rem;
  }

  .post-card-title{
    font-size: 0.95rem;
  }

  .economia-featured-title,
  .materie-featured-title{
    font-size: 1.2rem;
  }

  .azioni-row-title{
    font-size: 1rem;
  }

  .bonus-card-title{
    font-size: 1rem;
  }

  .hero-content{
    padding: 1rem;
  }

  .post-card-body{
    padding: 0.8rem;
  }

  .nl-footer-name{
    font-size: 1.1rem;
  }

  .nl-footer-desc{
    font-size: 0.85rem;
  }
}

/* =========================================
   FOOTER EDITORIALE DARK + NEWSLETTER LIGHT
   ========================================= */

.site-footer.nl-news-footer {
    margin-top: 3rem;
    padding: 0;
    background: rgba(15, 23, 42, 0.98) !important;
    border-top: 1px solid rgba(148, 163, 184, 0.22) !important;
    color: #cbd5e1 !important;
    font-size: 0.85rem;
}

.site-footer.nl-news-footer .container {
    padding-top: 2.3rem;
    padding-bottom: 1.4rem;
}

.nl-footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    gap: 2rem;
    align-items: start;
    padding-bottom: 1.6rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.nl-footer-brand {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.nl-footer-logo {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.nl-footer-logo .custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.nl-footer-logo img,
.nl-footer-logo .custom-logo {
    max-height: 56px;
    width: auto;
}

.nl-footer-tagline {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.nl-footer-brand-text {
    max-width: 680px;
}

.nl-footer-name {
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.01em;
    color: #f8fafc;
    margin-bottom: 0.45rem;
}

.nl-footer-desc {
    font-size: 0.96rem;
    line-height: 1.7;
    color: #94a3b8;
    max-width: 60ch;
}

/* blocco extra “da testata” */
.nl-footer-sideblocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

.nl-footer-mini {
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(148, 163, 184, 0.14);
}

.nl-footer-mini-title {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #93c5fd;
    margin-bottom: 0.55rem;
}

.nl-footer-mini-list {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.nl-footer-mini-list a {
    color: #e5e7eb;
    font-size: 0.92rem;
    line-height: 1.45;
    border-bottom: 1px solid transparent;
}

.nl-footer-mini-list a:hover {
    color: #ffffff;
    border-color: rgba(147, 197, 253, 0.5);
}

/* NEWSLETTER RESTA CHIARA */
.nl-footer-newsletter {
    padding: 1.1rem 1.15rem;
	margin-top: 1.2rem;
    border: 1px solid rgba(120, 90, 40, 0.16);
    border-radius: 1rem;
    background: #f6e8da;
    color: #4e3c29;
}

.nl-footer-title {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 800;
    color: #8a5a00;
    margin-bottom: 0.5rem;
}

.nl-footer-sub {
    font-size: 0.94rem;
    line-height: 1.65;
    color: #5f4b32;
    margin-bottom: 1rem;
}

.nl-footer-form {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.7rem;
}

.nl-footer-form input[type="email"] {
    flex: 1;
    min-width: 0;
    padding: 0.82rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(120, 90, 40, 0.18);
    background: rgba(255, 255, 255, 0.82);
    color: #2f2418;
    outline: none;
    box-shadow: none;
}

.nl-footer-form input[type="email"]:focus {
    border-color: rgba(138, 90, 0, 0.45);
    box-shadow: 0 0 0 3px rgba(138, 90, 0, 0.08);
}

.nl-footer-form button {
    padding: 0.82rem 1.1rem;
    border-radius: 999px;
    border: 1px solid rgba(138, 90, 0, 0.35);
    background: #8a5a00;
    color: #fffaf2;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: none;
}

.nl-footer-form button:hover {
    background: #734900;
}

.nl-footer-note {
    font-size: 0.78rem;
    line-height: 1.55;
    color: #7a6246;
}

.nl-footer-links-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    padding: 1rem 0 1.05rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.nl-footer-link {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    color: #cbd5e1;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.nl-footer-link:hover {
    color: #ffffff;
    border-color: #93c5fd;
}

.nl-footer-sep {
    color: rgba(203, 213, 225, 0.35);
    font-size: 0.8rem;
    margin: 0 0.15rem;
}

.nl-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    color: #94a3b8;
    font-size: 0.8rem;
    line-height: 1.6;
}

.nl-footer-meta {
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 768px) {

    .nl-footer-top {
        grid-template-columns: 1fr;
        gap: 1.2rem;
    }

    /* 👉 CENTRATURA BLOCCO */
    .nl-footer-sideblocks {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
    }

    /* 👉 CENTRA CONTENUTO INTERNO */
    .nl-footer-mini-list {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
    }

    /* 👉 LOGO + TESTO CENTRATI */
    .nl-footer-brand {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .nl-footer-links-row {
        gap: 0.3rem;
        font-size: 0.8rem;
        justify-content: center;
        text-align: center;
    }

    .nl-footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 0.4rem;
        text-align: center;
    }

    .nl-footer-meta {
        text-align: center;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .nl-footer-name {
        font-size: 1.1rem;
    }

    .nl-footer-desc {
        font-size: 0.85rem;
    }

    .nl-footer-form {
        flex-direction: column;
        align-items: stretch;
    }

    .nl-footer-form button {
        width: 100%;
    }
}

/* SOCIAL STRIP FOOTER (DARK) */
.nl-footer-social-wrap {
    margin-top: 1.5rem;
    margin-bottom: 1.2rem;
}

.nl-footer-social-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #94a3b8;
    margin-bottom: 0.6rem;
}

.nl-footer-social {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.nl-social-link {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(148,163,184,0.18);
    color: #e5e7eb;
    transition: all 0.25s ease;
}

.nl-social-link svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.nl-social-link:hover {
    background: #ffffff;
    color: #0f172a;
    transform: translateY(-2px);
}

.nl-footer-right {
    display: flex;
    flex-direction: column;
}

.nl-footer-social-wrap {
    margin-bottom: 1rem;
}

.nl-footer-sideblocks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.1rem;
}

.nl-footer-mini {
    min-width: 0;
}

.nl-footer-right {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.nl-footer-social-wrap {
    margin-bottom: 1rem;
}

@media (max-width: 960px) {
    .nl-footer-sideblocks {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   SEARCH PAGE
   ========================================= */
.search-page {
    padding: 1.8rem 0 2.4rem;
}

.search-page-header {
    margin-bottom: 1.4rem;
}

.search-page-kicker {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 800;
    color: #8a5a00;
    margin-bottom: 0.45rem;
}

.search-page-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.15;
    font-weight: 700;
    color: #2f2418;
    margin-bottom: 0.45rem;
}

.search-page-title span {
    color: #8a5a00;
}

.search-page-summary {
    font-size: 0.92rem;
    color: #6e5a43;
}

.search-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.search-result-card {
    border-radius: 1rem;
    overflow: hidden;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.search-result-card-thumb {
    display: block;
}

.search-result-card-thumb img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.search-result-card-body {
    padding: 1rem 1rem 1.05rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    height: 100%;
}

.search-result-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.search-result-card-category {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #8a5a00;
}

.search-result-card-meta {
    font-size: 0.78rem;
    color: #8a7258;
}

.search-result-card-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.18rem;
    line-height: 1.28;
    font-weight: 700;
    color: #2f2418;
}

.search-result-card-title a {
    color: inherit;
    text-decoration: none;
}

.search-result-card-excerpt {
    font-size: 0.94rem;
    line-height: 1.65;
    color: #5f4b32;
}

.search-result-card-excerpt p:last-child {
    margin-bottom: 0;
}

.search-result-card-footer {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-top: 0.4rem;
}

.search-result-card-author {
    font-size: 0.8rem;
    color: #8a7258;
}

.search-result-card-more {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #8a5a00;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.search-result-card-more:hover {
    color: #5f3c00;
    border-color: #8a5a00;
}

.search-page-pagination {
    margin-top: 1.5rem;
}

.search-empty-state {
    margin-top: 0.5rem;
}

.search-empty-state-inner {
    padding: 1.3rem 1.2rem;
    border-radius: 1rem;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
    max-width: 760px;
}

.search-empty-state-kicker {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #8a5a00;
    margin-bottom: 0.45rem;
}

.search-empty-state-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #2f2418;
    margin-bottom: 0.55rem;
}

.search-empty-state-text {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #5f4b32;
    margin-bottom: 1rem;
}

.search-empty-state-form .header-search-form {
    width: 100%;
}

@media (max-width: 960px) {
    .search-results-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .search-page {
        padding: 1.4rem 0 2rem;
    }

    .search-result-card-thumb img {
        height: 190px;
    }

    .search-result-card-title {
        font-size: 1.05rem;
    }

    .search-result-card-excerpt {
        font-size: 0.9rem;
    }

    .search-empty-state-inner {
        padding: 1rem;
    }

    .search-empty-state-title {
        font-size: 1.25rem;
    }
}

/* =========================================
   ARCHIVE PAGE
   ========================================= */
.archive-page {
    padding: 1.6rem 0 2.4rem;
}

.archive-page-header {
    margin-bottom: 1.4rem;
}

.archive-page-kicker {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 800;
    color: #8a5a00;
    margin-bottom: 0.45rem;
}

.archive-page-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.85rem, 3vw, 2.7rem);
    line-height: 1.12;
    font-weight: 700;
    color: #2f2418;
    margin-bottom: 0.55rem;
}

.archive-page-description {
    max-width: 760px;
    font-size: 0.98rem;
    line-height: 1.7;
    color: #5f4b32;
}

.archive-page-description p {
    margin: 0;
}

.archive-page-grid {
    align-items: start;
}

.archive-page-content {
    min-width: 0;
}

.archive-posts-grid {
    gap: 1.2rem;
}

.archive-page-pagination {
    margin-top: 1.5rem;
}

.archive-empty-state {
    margin-top: 0.4rem;
}

.archive-empty-state-inner {
    padding: 1.3rem 1.2rem;
    border-radius: 1rem;
    background: #f6e8da;
    border: 1px solid #dbc7b2;
    box-shadow: 0 8px 20px rgba(120, 90, 40, 0.04);
    max-width: 760px;
}

.archive-empty-state-kicker {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
    color: #8a5a00;
    margin-bottom: 0.45rem;
}

.archive-empty-state-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 700;
    color: #2f2418;
    margin-bottom: 0.55rem;
}

.archive-empty-state-text {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #5f4b32;
    margin-bottom: 1rem;
}

.archive-empty-state-form .header-search-form {
    width: 100%;
}

/* Light theme coherence */
body.theme-light .archive-page-title {
    color: #2f2418;
}

body.theme-light .archive-page-description {
    color: #5f4b32;
}

/* Optional: archivi più ariosi su mobile */
@media (max-width: 960px) {
    .archive-page {
        padding: 1.4rem 0 2rem;
    }
}

@media (max-width: 640px) {
    .archive-page-title {
        font-size: 1.9rem;
    }

    .archive-page-description {
        font-size: 0.92rem;
    }

    .archive-empty-state-inner {
        padding: 1rem;
    }

    .archive-empty-state-title {
        font-size: 1.25rem;
    }
}

/* ===== Override colori link card ===== */

/* Titoli e link nelle card */
.post-card a,
.search-result-card a {
    color: #2f2418;
}

/* Hover */
.post-card a:hover,
.search-result-card a:hover {
    color: #005ea8;
}

/* Categoria */
.post-card-category,
.search-result-card-category {
    color: #005ea8;
}

/* Link "Leggi" */
.search-result-card-more,
.post-card-more {
    color: #005ea8;
}

.search-result-card-more:hover,
.post-card-more:hover {
    color: #5f3c00;
}

/* =========================================
   404 PAGE
   ========================================= */
.error-404-page {
    padding: 2.5rem 0 3rem;
}

.error-404-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}

.error-404-code {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 4.5rem;
    font-weight: 700;
    color: #005ea8;
    line-height: 1;
    margin-bottom: 0.6rem;
}

.error-404-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 700;
    color: #2f2418;
    margin-bottom: 0.6rem;
}

.error-404-text {
    font-size: 1rem;
    line-height: 1.7;
    color: #5f4b32;
    margin-bottom: 1.4rem;
}

.error-404-actions {
    margin-bottom: 1.6rem;
}

.error-404-btn {
    display: inline-block;
    padding: 0.55rem 1.2rem;
    border-radius: 999px;
    background: #005ea8;
    color: #fffaf2;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    transition: all 0.2s ease;
}

.error-404-btn:hover {
    background: #5f3c00;
    color: #fff;
}

.error-404-search {
    margin-bottom: 1.6rem;
}

.error-404-search-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: #005ea8;
    margin-bottom: 0.5rem;
}

.error-404-search .header-search-form {
    max-width: 520px;
    margin: 0 auto;
}

.error-404-suggestions-title {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 800;
    color: #005ea8;
    margin-bottom: 0.5rem;
}

.error-404-links {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.error-404-links a {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #2f2418;
    border-bottom: 1px solid transparent;
    transition: all 0.2s ease;
}

.error-404-links a:hover {
    color: #005ea8;
    border-color: #005ea8;
}

@media (max-width: 640px) {
    .error-404-code {
        font-size: 3.2rem;
    }

    .error-404-title {
        font-size: 1.5rem;
    }

    .error-404-text {
        font-size: 0.92rem;
    }
}

.post-card-readmore {
    position: relative;
    text-transform: uppercase;
    letter-spacing: 0.13em;
    font-weight: 600;
    font-size: 0.75rem;
    color: #005ea8;
    text-decoration: none;
    transition: all 0.25s ease;
}

.post-card-readmore::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.25s ease;
}

.post-card-readmore:hover {
    color: #6f4700;
}

.post-card-readmore:hover::after {
    width: 100%;
}

/* =========================================
   MOBILE HEADER: solo logo + 1 adv
   ========================================= */
@media (max-width: 768px) {
    /* nasconde il primo adv */
    .masthead .header-ad--left {
        display: none;
    }

    /* resta logo + adv sotto */
    .masthead-inner {
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 0.65rem;
        padding: 0.7rem 0;
    }

    .brand-center {
        order: 1;
    }

    .masthead .header-ad--right {
        order: 2;
        width: 100%;
        max-width: 300px; /* ridotto rispetto a desktop */
        min-height: 46px; /* un po' più compatto */
        padding: 0.35rem 0.5rem;
        border-radius: 0.75rem;
        font-size: 0.72rem;
    }

    .masthead .header-ad--right .ad-inner {
        min-height: 38px;
    }

    /* logo un po' più compatto */
    .brand-center .custom-logo,
    .brand-center img.custom-logo {
        max-height: 42px;
        width: auto;
    }
}

/* ancora più compatto su telefoni piccoli */
@media (max-width: 480px) {
    .masthead .header-ad--right {
        max-width: 260px;
        min-height: 40px;
        padding: 0.3rem 0.45rem;
        font-size: 0.68rem;
    }

    .masthead .header-ad--right .ad-inner {
        min-height: 32px;
    }

    .brand-center .custom-logo,
    .brand-center img.custom-logo {
        max-height: 38px;
    }
}

/* ===== MOBILE MENU OVERLAY FIX DEFINITIVO ===== */
#mobile-menu.main-navigation-mobile {
	background: #e8d5c0 !important;
    color: #2f2418 !important;
    border-top: none !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-overlay-inner {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    padding: 1.15rem 1.5rem 1.25rem;
	background: #e8d5c0 !important;
    color: #2f2418 !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-brand {
    display: flex;
    justify-content: center;
    margin-top: 0.6rem;
    margin-bottom: 1rem;
}

#mobile-menu.main-navigation-mobile .mobile-menu-brand img,
#mobile-menu.main-navigation-mobile .mobile-menu-brand .custom-logo {
    max-height: 62px;
    width: auto;
}

#mobile-menu.main-navigation-mobile .mobile-menu-utility {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

#mobile-menu.main-navigation-mobile .mobile-menu-search-link,
#mobile-menu.main-navigation-mobile .mobile-menu-paper-link,
#mobile-menu.main-navigation-mobile .mobile-menu-social-link,
#mobile-menu.main-navigation-mobile .mobile-menu-login,
#mobile-menu.main-navigation-mobile .mobile-menu-primary li a,
#mobile-menu.main-navigation-mobile .mobile-menu-close {
    color: #2f2418 !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-social {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary {
    flex: 1 1 auto;
    overflow-y: auto;
    margin-top: 0.3rem;
    padding-right: 0.1rem;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary ul {
    margin: 0;
    padding: 0;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary li {
    border-bottom: 1px solid rgba(120, 90, 40, 0.16) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.95rem 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.02rem;
    line-height: 1.25;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary li a::after {
    content: "›";
    font-size: 2rem;
    line-height: 1;
    font-family: sans-serif;
    opacity: 0.75;
    color: #6e5a43 !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(120, 90, 40, 0.16);
    flex-shrink: 0;
}

#mobile-menu.main-navigation-mobile .mobile-menu-login {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.92rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#mobile-menu.main-navigation-mobile .mobile-menu-subscribe {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 1rem;
    background: #b31628 !important;
    color: #fffaf2 !important;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
}

#mobile-menu.main-navigation-mobile .mobile-menu-close {
    position: absolute;
    top: 0.85rem;
    right: 1rem;
    width: 42px;
    height: 42px;
    border: none;
    background: transparent;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    opacity: 1;
}

@media (max-width: 768px) {
    #mobile-menu.main-navigation-mobile {
        display: none;
    }

    #mobile-menu.main-navigation-mobile.is-open {
        display: block !important;
    }
}

/* =========================================
   CUSTOMIZER BINDINGS SAFE OVERRIDE
   ========================================= */

:root{
    --nl-primary:#2563eb;
    --nl-accent:#0ea5e9;
    --nl-breaking:linear-gradient(90deg, rgba(220, 38, 38, 0.96), rgba(248, 113, 113, 0.95));
    --nl-breaking-bg:#dc2626;
    --nl-breaking-text:#ffffff;
    --nl-breaking-dot:#22c55e;

    --nl-topbar-bg:#f5e5d5;
    --nl-topbar-text:#5f4b32;

    --nl-body-bg:#f5e5d5;
    --nl-body-text:#2f2418;
    --nl-surface:#f6e8da;
    --nl-border:#dbc7b2;
    --nl-heading:#2f2418;
    --nl-link:#005ea8;
    --nl-link-hover:#5f3c00;
    --nl-button-bg:#005ea8;
    --nl-button-text:#fffaf2;

    --nl-mobile-menu-bg:#f5e5d5;
    --nl-mobile-menu-text:#2f2418;
    --nl-mobile-menu-cta-bg:#005ea8;
    --nl-mobile-menu-cta-text:#fffaf2;

    --nl-sidebar-title:#2f2418;
    --nl-sidebar-box-bg:#f6e8da;

    --nl-footer-bg:#020617;
    --nl-footer-text:#e5e7eb;
}

/* ===== base ===== */
body,
body.theme-light,
body.theme-light .site-wrapper {
    background-color: var(--nl-body-bg);
    color: var(--nl-body-text);
}

body.theme-light .site-wrapper {
    background: var(--nl-body-bg);
}

a {
    color: inherit;
}

/* ===== top bar ===== */
.top-bar,
body.theme-light .top-bar {
    background: var(--nl-topbar-bg) !important;
    color: var(--nl-topbar-text) !important;
    border-bottom-color: rgba(120, 90, 40, 0.16) !important;
}

.top-bar a,
.top-bar span,
.top-bar-link,
.top-bar-weather-label,
body.theme-light .top-bar a,
body.theme-light .top-bar span {
    color: var(--nl-topbar-text) !important;
}

/* ===== breaking ===== */
.breaking-bar {
    background: var(--nl-breaking-bg) !important;
    color: var(--nl-breaking-text) !important;
}

.breaking-label::before {
    color: var(--nl-breaking-dot) !important;
}

/* ===== header buttons / links ===== */
.btn-subscribe,
body.theme-light .btn-subscribe,
.header-search-form button,
body.theme-light .header-search-form button,
.nl-footer-form button,
.centro-dati-more.centro-dati-button {
    background: var(--nl-button-bg) !important;
    color: var(--nl-button-text) !important;
    border-color: rgba(138, 90, 0, 0.35) !important;
}

.section-link,
.card-kicker,
.post-card-readmore,
.search-result-card-more,
.centro-dati-more,
.archive-page-kicker,
.search-page-kicker,
.error-404-search-label,
.error-404-suggestions-title,
.error-404-btn,
.error-404-code {
    color: var(--nl-link) !important;
}

.section-link:hover,
.post-card-readmore:hover,
.search-result-card-more:hover,
.centro-dati-more:hover,
.error-404-btn:hover {
    color: var(--nl-link-hover) !important;
}

/* ===== titoli ===== */
.site-title,
body.theme-light .site-title,
.hero-title,
.economia-featured-title,
.economia-compact-title,
.azioni-row-title,
.materie-featured-title,
.materie-mini-title,
.bonus-card-title,
.post-card-title,
.search-result-card-title,
.archive-page-title,
.search-page-title,
.error-404-title,
.error-404-links a,
.centro-dati-title,
.hero-secondary-title,
.single-title {
    color: var(--nl-heading) !important;
}

/* ===== testi ===== */
.hero-excerpt,
.economia-featured-excerpt,
.azioni-row-excerpt,
.materie-featured-excerpt,
.bonus-card-excerpt,
.post-card-excerpt,
.search-page-summary,
.archive-page-description,
.archive-empty-state-text,
.search-empty-state-text,
.error-404-text,
.nl-footer-sub,
.nl-footer-note,
.nl-footer-desc {
    color: var(--nl-body-text) !important;
    opacity: 0.82;
}

/* ===== superfici / card ===== */
body.theme-light .hero-main,
body.theme-light .hero-secondary-card,
body.theme-light .post-card,
body.theme-light .highlight-block,
body.theme-light .widget,
.economia-featured-card,
.economia-compact-item,
.azioni-row-card,
.search-result-card,
.search-empty-state-inner,
.archive-empty-state-inner,
.widget-centro-dati,
.nl-footer-newsletter {
    background: var(--nl-surface) !important;
    border-color: var(--nl-border) !important;
}

/* ===== sidebar ===== */
.widget-centro-dati,
.widget,
body.theme-light .widget {
    background: var(--nl-sidebar-box-bg) !important;
}

.widget-title,
.widget-centro-dati .widget-title {
    color: var(--nl-sidebar-title) !important;
}

/* ===== footer ===== */
.site-footer.nl-news-footer {
    background: var(--nl-footer-bg) !important;
    color: var(--nl-footer-text) !important;
}

.nl-footer-link,
.nl-footer-mini-list a,
.nl-footer-social-label,
.nl-footer-tagline,
.nl-footer-bottom,
.nl-footer-meta,
.nl-footer-desc {
    color: var(--nl-footer-text) !important;
}

.nl-footer-mini-title {
    color: var(--nl-link) !important;
}

/* ===== mobile menu overlay ===== */
#mobile-menu.main-navigation-mobile {
    background: var(--nl-mobile-menu-bg) !important;
    color: var(--nl-mobile-menu-text) !important;
    border-top: none !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-overlay-inner {
    background: var(--nl-mobile-menu-bg) !important;
    color: var(--nl-mobile-menu-text) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-search-link,
#mobile-menu.main-navigation-mobile .mobile-menu-paper-link,
#mobile-menu.main-navigation-mobile .mobile-menu-social-link,
#mobile-menu.main-navigation-mobile .mobile-menu-login,
#mobile-menu.main-navigation-mobile .mobile-menu-primary li a,
#mobile-menu.main-navigation-mobile .mobile-menu-close {
    color: var(--nl-mobile-menu-text) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary li {
    border-bottom: 1px solid color-mix(in srgb, var(--nl-mobile-menu-text) 18%, transparent) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-primary li a::after {
    color: color-mix(in srgb, var(--nl-mobile-menu-text) 65%, transparent) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-footer-actions {
    border-top: 1px solid color-mix(in srgb, var(--nl-mobile-menu-text) 18%, transparent) !important;
}

#mobile-menu.main-navigation-mobile .mobile-menu-subscribe {
    background: var(--nl-mobile-menu-cta-bg) !important;
    color: var(--nl-mobile-menu-cta-text) !important;
}

/* ===== header beige overrides convertiti ===== */
.site-header,
.masthead,
.categories-bar,
.main-navigation-mobile,
.header-search-panel,
.header-search-panel.is-open,
body.theme-light .site-header,
body.theme-light .masthead,
body.theme-light .categories-bar,
body.theme-light .main-navigation-mobile,
body.theme-light .header-search-panel {
    background: var(--nl-body-bg) !important;
}

.masthead-sticky {
    background: color-mix(in srgb, var(--nl-body-bg) 96%, transparent) !important;
}

.header-ad,
body.theme-light .header-ad {
    background: color-mix(in srgb, white 55%, var(--nl-body-bg)) !important;
    border-color: color-mix(in srgb, var(--nl-border) 70%, #005ea8 10%) !important;
    color: color-mix(in srgb, var(--nl-body-text) 68%, white) !important;
}

.categories-nav a,
body.theme-light .categories-nav a,
.main-navigation-mobile li a,
body.theme-light .main-navigation-mobile li a,
.search-toggle,
.header-actions .search-toggle {
    color: var(--nl-body-text) !important;
}

.categories-nav a:hover,
.categories-nav .current-menu-item > a,
body.theme-light .categories-nav a:hover,
body.theme-light .categories-nav .current-menu-item > a,
.main-navigation-mobile li a:hover,
body.theme-light .main-navigation-mobile li a:hover {
    color: var(--nl-link) !important;
    border-color: var(--nl-link) !important;
}

.theme-toggle,
.menu-toggle,
body.theme-light .theme-toggle,
body.theme-light .menu-toggle {
    background: color-mix(in srgb, white 40%, var(--nl-body-bg)) !important;
    border-color: color-mix(in srgb, var(--nl-border) 70%, #005ea8 10%) !important;
    color: var(--nl-body-text) !important;
}

.header-search-form input[type="search"],
body.theme-light .header-search-form input[type="search"] {
    background: color-mix(in srgb, white 78%, var(--nl-body-bg)) !important;
    border-color: color-mix(in srgb, var(--nl-border) 72%, #8a5a00 10%) !important;
    color: var(--nl-body-text) !important;
}

/* ===== small editorial accents ===== */
.post-card-category,
.search-result-card-category,
.hero-eyebrow,
.archive-page-kicker,
.search-page-kicker,
.single-category {
    color: var(--nl-link) !important;
}

.entry-content a,
.single-content a,
.page-content a,
.post-content a {
    color: var(--nl-link, #8a5a00);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.entry-content a:hover,
.single-content a:hover,
.page-content a:hover,
.post-content a:hover {
    color: var(--nl-link-hover, #5f3c00);
    border-color: currentColor;
}

/* =========================================
   EDITORIAL ACCENT - CUSTOMIZER BINDING
   usa: --nl-editorial-accent / --nl-editorial-accent-hover
   ========================================= */

:root{
    --nl-editorial-accent: #005ea8;
    --nl-editorial-accent-hover: #7c5a1f;
}

/* etichette / kicker / eyebrow */
.hero-eyebrow,
.hero-secondary-meta,
.card-kicker,
.post-card-category,
.search-result-card-category,
.archive-page-kicker,
.search-page-kicker,
.single-category,
.error-404-search-label,
.error-404-suggestions-title,
.nl-footer-title,
.nl-footer-mini-title,
.widget-title,
.centro-dati-more,
.section-link,
.post-card-readmore,
.search-result-card-more {
    color: var(--nl-editorial-accent) !important;
}

/* hover elementi editoriali */
.section-link:hover,
.post-card-readmore:hover,
.search-result-card-more:hover,
.centro-dati-more:hover,
.error-404-links a:hover,
.nl-footer-mini-list a:hover {
    color: var(--nl-editorial-accent-hover) !important;
}

/* underline hover coerente */
.section-link::after,
.post-card-readmore::after {
    background: currentColor !important;
}

/* 404 */
.error-404-code {
    color: var(--nl-editorial-accent) !important;
}

.error-404-btn {
    background: var(--nl-editorial-accent) !important;
    color: #fffaf2 !important;
    border-color: var(--nl-editorial-accent) !important;
}

.error-404-btn:hover {
    background: var(--nl-editorial-accent-hover) !important;
    color: #fffaf2 !important;
}

/* newsletter footer */
.nl-footer-title {
    color: var(--nl-editorial-accent) !important;
}

.nl-footer-form button {
    background: var(--nl-editorial-accent) !important;
    border-color: var(--nl-editorial-accent) !important;
    color: #fffaf2 !important;
}

.nl-footer-form button:hover {
    background: var(--nl-editorial-accent-hover) !important;
    border-color: var(--nl-editorial-accent-hover) !important;
}

/* piccoli accenti editoriali */
.archive-page-title span,
.search-page-title span {
    color: var(--nl-editorial-accent) !important;
}

/* sidebar */
.centro-dati-more {
    border-color: transparent;
}

.centro-dati-more:hover {
    border-color: var(--nl-editorial-accent-hover) !important;
}

/* footer mini headings */
.nl-footer-mini-title {
    color: var(--nl-editorial-accent) !important;
}

/* social/utility labels se vuoi coerenza */
.nl-footer-social-label,
.nl-footer-tagline {
    color: var(--nl-footer-text) !important;
}

/* search/archive emphasis */
.search-empty-state-kicker,
.archive-empty-state-kicker {
    color: var(--nl-editorial-accent) !important;
}