/* ═══════════════════════════════════════════════════════════
   FLAMA — Font primario del sito MetropolPost
   4 pesi caricati: Book (400), Medium (500), Bold (700), Black (900)
   ═══════════════════════════════════════════════════════════ */
/* ── FlamaSemicondensed webfont (book + semibold) — usato per titoli ── */
@font-face {
    font-family: 'FlamaSemicondensed';
    src: url('../fonts/flamasemicondensed-book-webfont.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'FlamaSemicondensed';
    src: url('../fonts/flamasemicondensed-semibold-webfont.woff2') format('woff2');
    font-weight: 600 900;
    font-style: normal;
    font-display: swap;
}

/* ── FlamaProSemicond (Feliciano Type — licenza commerciale) ── */
@font-face {
    font-family: 'FlamaProSemicond';
    src: url('../fonts/FlamaProSemicond-Basic.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'FlamaProSemicond';
    src: url('../fonts/FlamaProSemicond-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'FlamaProSemicond';
    src: url('../fonts/FlamaProSemicond-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'FlamaProSemicond';
    src: url('../fonts/FlamaProSemicond-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
/* ── Flama body ── */
@font-face {
    font-family: 'Flama';
    src: url('../fonts/Flama-Basic.woff2') format('woff2');
    font-weight: 400 500;
    font-style: normal;
    font-display: swap;
}
/* ── Flama bold → FlamaSemicondensed-Semibold (compat 38 override 'Flama') ── */
@font-face {
    font-family: 'Flama';
    src: url('../fonts/flamasemicondensed-semibold-webfont.woff2') format('woff2');
    font-weight: 600 900;
    font-style: normal;
    font-display: swap;
}
/* ── Alias FlamaSemicond → FlamaProSemicond ── */
@font-face {
    font-family: 'FlamaSemicond';
    src: url('../fonts/FlamaProSemicond-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'FlamaSemicond';
    src: url('../fonts/FlamaProSemicond-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ==========================================================================
   MetropolPost Child Theme — main.css v1.4
   Replica fedele del vecchio sito JNews.
   Dati estratti da: Kreu_-_Metropolpost_-_MetropolPost1html.html
   ========================================================================== */

:root {
    /* === COLORI ESATTI VECCHIO SITO === */
    --mp-body-bg: #123457;          /* body bg blu medio (intorno al container) */
    --mp-topbar-bg: #082d48;        /* topbar (Privatësia | data) */
    --mp-midbar-bg: #0a3d62;        /* midbar (logo + menu) */
    --mp-footer-bg: #082d48;
    --mp-accent: #dd3333;           /* badge categoria, link evidenza */
    --mp-dark: #313131;
    --mp-light: #eeeeee;
    --mp-white: #ffffff;
    --mp-border: #e5e5e5;
    --mp-muted: #888888;

    --mp-font-heading: 'FlamaSemicondensed', 'FlamaProSemicond', 'FlamaSemicond', 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --mp-font-body: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --mp-font-display: 'FlamaSemicondensed', 'FlamaProSemicond', 'FlamaSemicond', 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --mp-container-width: 1240px;

    --mp-sp-1: 4px; --mp-sp-2: 8px; --mp-sp-3: 12px; --mp-sp-4: 16px;
    --mp-sp-5: 24px; --mp-sp-6: 32px; --mp-sp-7: 48px; --mp-sp-8: 64px;
}

/* ==========================================================================
   BASE
   ========================================================================== */

* { box-sizing: border-box; }
html { background: var(--mp-body-bg); }
.mp-body {
    font-family: var(--mp-font-body);
    color: var(--mp-dark);
    background: var(--mp-body-bg);
    line-height: 1.6;
    margin: 0; padding: 0;
}

/* === BOXED LAYOUT: container max-width centrato bianco con bg blu intorno === */
.mp-boxed-wrap {
    max-width: var(--mp-container-width);
    margin: 0 auto;
    background: var(--mp-white);
}
.mp-container {
    max-width: var(--mp-container-width);
    margin: 0 auto;
    padding: 0 var(--mp-sp-4);
}

a { color: var(--mp-dark); text-decoration: none; transition: color .15s; }
a:hover { color: var(--mp-accent); }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--mp-font-heading);
    color: var(--mp-dark);
    line-height: 1.25; margin: 0 0 var(--mp-sp-3) 0; font-weight: 700;
}

img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }

.screen-reader-text { position: absolute; left: -9999px; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; background: var(--mp-topbar-bg); color: #fff; padding: 8px 16px; z-index: 9999; }

/* ==========================================================================
   HEADER - 2 livelli (topbar + midbar) con colori distinti
   ========================================================================== */

.mp-site-header { background: var(--mp-midbar-bg); }

/* === TOPBAR === */
.mp-topbar {
    background: var(--mp-topbar-bg);
    color: rgba(255,255,255,.85);
    font-size: 12px;
    height: 33px;
    line-height: 33px;
}
.mp-topbar-inner { display: flex; justify-content: space-between; align-items: center; height: 100%; gap: var(--mp-sp-4); }

.mp-topbar-left { display: flex; align-items: center; gap: 10px; }
.mp-topbar-left a { color: rgba(255,255,255,.85); }
.mp-topbar-left a:hover { color: var(--mp-accent); }
.mp-topbar-sep { color: rgba(255,255,255,.3); }

.mp-topbar-right { display: flex; align-items: center; gap: 14px; }
.mp-topbar-social {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px;
    color: rgba(255,255,255,.85);
    transition: color .2s, transform .2s;
}
.mp-topbar-social svg { width: 14px; height: 14px; }
.mp-topbar-social:hover { color: var(--mp-accent); transform: translateY(-1px); }
.mp-topbar-date { display: inline-flex; align-items: center; gap: 6px; }

/* === MIDBAR (logo + menu + lingua + search) === */
.mp-header-main {
    background: var(--mp-midbar-bg);
    height: 74px;
    border-bottom: 5px solid var(--mp-midbar-bg);
}
.mp-header-inner {
    display: flex; align-items: center;
    gap: var(--mp-sp-5);
    height: 100%;
}

.mp-site-branding { flex-shrink: 0; }
.mp-site-title-link { display: block; text-decoration: none; }
.mp-site-title-text {
    font-family: var(--mp-font-heading);
    font-weight: 900;
    font-size: 32px;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1;
}
.mp-site-title-text .mp-dot { color: var(--mp-accent); }
.mp-custom-logo-link { display: block; }
.mp-custom-logo-link img { max-height: 50px; width: auto; display: block; }

/* === MENU PRINCIPALE - bianco SEMPRE, nessun underline === */
.mp-main-nav { flex: 1; }
.mp-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; align-items: center; flex-wrap: wrap; }
.mp-menu li { position: relative; }
.mp-menu a,
.mp-menu li > a,
.mp-menu li.current-menu-item > a,
.mp-menu li.current_page_item > a,
.mp-menu li.current-menu-parent > a,
.mp-menu a:link,
.mp-menu a:visited,
.mp-menu a:hover,
.mp-menu a:active,
.mp-menu a:focus {
    color: #ffffff !important;
    text-decoration: none !important;
    display: block;
    padding: 0 14px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 74px;
    transition: opacity .15s;
}
.mp-menu a:hover { opacity: 0.7; }

/* Submenu dropdown */
.mp-menu .menu-item-has-children > a > .mp-submenu-arrow,
.mp-menu .menu-item-has-children > a::after {
    content: " ▾";
    display: inline-block;
    margin-left: 4px;
    font-size: 10px;
    opacity: .7;
}
.mp-menu .sub-menu {
    position: absolute; top: 100%; left: 0;
    background: var(--mp-topbar-bg);
    list-style: none; margin: 0; padding: 8px 0;
    min-width: 220px;
    box-shadow: 0 8px 24px rgba(0,0,0,.25);
    z-index: 100;
    opacity: 0; visibility: hidden;
    transform: translateY(8px);
    transition: opacity .15s, transform .15s, visibility .15s;
}
.mp-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mp-menu .sub-menu a { padding: 10px 16px; text-transform: none; font-size: 13px; font-weight: 500; line-height: 1.5; }
.mp-menu .sub-menu a:hover { background: rgba(255,255,255,.05); opacity: 1; }

/* === HEADER RIGHT (lingua + search) === */
.mp-header-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

.mp-lang-switcher { position: relative; }
.mp-lang-toggle {
    display: inline-flex; align-items: center; gap: 4px;
    background: transparent; border: 0; padding: 6px 8px;
    color: #fff;
}
.mp-flag-al {
    display: inline-block;
    width: 22px; height: 16px;
    line-height: 0;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(255,255,255,.15);
}
.mp-lang-caret { color: rgba(255,255,255,.7); font-size: 10px; }

.mp-search-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; padding: 6px;
    color: #fff;
    border-radius: 50%;
    width: 36px; height: 36px;
    transition: background .15s;
}
.mp-search-toggle:hover { background: rgba(255,255,255,.1); }

.mp-menu-toggle {
    display: none;
    background: transparent; border: 0; padding: 6px;
    flex-direction: column; gap: 4px;
    width: 36px; height: 36px;
    justify-content: center;
}
.mp-menu-toggle span { display: block; width: 22px; height: 2px; background: #fff; }

/* === SEARCH MODAL === */
.mp-search-modal {
    position: fixed; inset: 0;
    background: rgba(8,45,72,.95);
    z-index: 99999;
    display: none !important;
    align-items: center; justify-content: center;
    padding: var(--mp-sp-5);
}
.mp-search-modal.mp-open { display: flex !important; }
.mp-search-modal[hidden] { display: none !important; }
.mp-search-modal-inner { width: 100%; max-width: 600px; }
.mp-search-modal form { display: flex; gap: 8px; }
.mp-search-modal input {
    flex: 1; padding: 16px 20px; font-size: 18px;
    border: 0; border-radius: 2px; outline: none;
}
.mp-search-modal button {
    padding: 0 24px; background: var(--mp-accent); color: #fff;
    border: 0; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1px; border-radius: 2px; font-size: 14px;
}
.mp-search-close {
    position: absolute; top: 20px; right: 20px;
    background: transparent; border: 0; color: #fff;
    font-size: 40px; line-height: 1; padding: 0 12px;
}

/* ==========================================================================
   TICKER BLIC - sotto midbar, sfondo bianco
   ========================================================================== */

/* ==========================================================================
   HERO BLOCK 1+4 / variants
   ========================================================================== */

.mp-hero-zone { background: #ffffff; padding: var(--mp-sp-5) 0; }
.mp-hero { display: grid; gap: var(--mp-sp-3); }
.mp-hero-1-4 {
    grid-template-columns: 1.4fr 1fr;
}
.mp-hero-1-4 .mp-hero-main { /* main = colonna 1, occupa la sua colonna intera */ }
.mp-hero-1-4 .mp-hero-sub-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--mp-sp-3);
}
.mp-hero-1-6 .mp-hero-sub-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: var(--mp-sp-3);
}
.mp-hero-1-6 {
    grid-template-columns: 2fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}
.mp-hero-1-6 .mp-hero-main { grid-column: 1; grid-row: span 2; }
.mp-hero-2-4 { grid-template-columns: repeat(4, 1fr); grid-template-rows: auto auto; }
.mp-hero-2-4 .mp-hero-main:nth-child(-n+2) { grid-column: span 2; }
.mp-hero-5-grid { grid-template-columns: repeat(5, 1fr); }
.mp-hero-carousel { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.mp-hero-item {
    position: relative; overflow: hidden;
    min-height: 220px;
    background: var(--mp-midbar-bg);
    border-radius: 2px;
}
.mp-hero-main { min-height: 460px; }
.mp-hero-link, .mp-hero-link:hover {
    color: #fff !important;
    display: block; height: 100%;
    text-decoration: none;
}
.mp-hero-thumb { position: absolute; inset: 0; overflow: hidden; }
.mp-hero-thumb img,
.mp-hero-thumb svg {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.mp-hover-zoom .mp-hero-item:hover .mp-hero-thumb img,
.mp-hover-zoom .mp-hero-item:hover .mp-hero-thumb svg { transform: scale(1.08); }
.mp-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.4) 45%, rgba(0,0,0,0) 80%);
    pointer-events: none;
}
.mp-hero-content {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: var(--mp-sp-5);
    z-index: 2;
}
.mp-hero-sub .mp-hero-content { padding: var(--mp-sp-3) var(--mp-sp-4); }
.mp-hero-title {
    color: #fff !important;
    font-size: 22px;
    margin: 10px 0 0 0;
    font-weight: 700;
    line-height: 1.25;
    font-family: var(--mp-font-heading);
}
.mp-hero-main .mp-hero-title { font-size: 32px; line-height: 1.2; }
.mp-hero-sub .mp-hero-title { font-size: 15px; line-height: 1.4; }
.mp-hero-meta { margin-top: 10px; font-size: 13px; color: rgba(255,255,255,.85); }
.mp-hero-meta time { color: rgba(255,255,255,.85); }
.mp-hero-excerpt { color: rgba(255,255,255,.88); font-size: 14px; margin-top: 8px; line-height: 1.5; }

/* ==========================================================================
   BADGE CATEGORIA (jeg_post_category replica)
   ========================================================================== */

.mp-cat-badge {
    display: inline-block;
    background: var(--mp-accent);
    color: #fff !important;
    padding: 4px 12px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    line-height: 1.4;
    font-family: var(--mp-font-body);
}
.mp-cat-badge:hover { background: var(--mp-white); color: var(--mp-accent) !important; }

/* ==========================================================================
   MAIN ZONE - layout 2/3 main + 1/3 sidebar (jeg_col_2o3 + jeg_col_1o3)
   ========================================================================== */

.mp-main-zone { background: #ffffff; padding: var(--mp-sp-6) 0; }
.mp-grid-main-sidebar {
    display: grid;
    grid-template-columns: 2fr 1fr;  /* 2/3 + 1/3 come vecchio JNews */
    gap: var(--mp-sp-6);
    align-items: start;
}
.mp-main-col { min-width: 0; display: flex; flex-direction: column; gap: var(--mp-sp-6); }
.mp-sidebar-col { display: flex; flex-direction: column; gap: var(--mp-sp-4); position: sticky; top: 20px; }
.mp-main-top, .mp-main-bottom { display: flex; flex-direction: column; gap: var(--mp-sp-6); }

/* ==========================================================================
   BLOCCO CATEGORIA - replica jeg_postblock_2 con heading top (CLICNEWS style)
   ========================================================================== */

.mp-cat-block { background: #ffffff; padding: 0; margin: 0; }
.mp-cat-block.mp-bg-light { background: var(--mp-light); padding: var(--mp-sp-5); }

.mp-cat-block-header {
    display: flex; align-items: stretch; justify-content: space-between;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: var(--mp-sp-5);
    position: relative;
}
.mp-cat-block-title {
    margin: 0;
    font-size: 18px;
    font-family: var(--mp-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
    position: relative;
    padding-bottom: 0;
    color: var(--mp-dark);
}
.mp-cat-block-title > span {
    display: inline-block;
    padding: 0;
    border: 0;
    color: var(--mp-dark);
    margin: 0;
}
/* Header con linea grigia continua sotto + prefisso rosso a sinistra */
.mp-cat-block-header {
    position: relative;
    padding-bottom: 14px;
    margin-bottom: 22px;
    border-bottom: 1px solid #e5e7eb;
}
.mp-cat-block-header::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 50px;
    height: 3px;
    background: var(--mp-accent, #dd3333);
}
.mp-cat-block-title-accent { color: var(--mp-accent); }

.mp-cat-block-more,
.mp-cat-block-tabs {
    display: flex; align-items: center; gap: 16px;
    font-size: 12px; font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--mp-muted);
}
.mp-cat-block-more a, .mp-cat-tab {
    color: var(--mp-muted) !important;
    background: transparent;
    border: 0;
    padding: 6px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: color .15s;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none !important;
}
.mp-cat-block-more a:hover, .mp-cat-tab:hover { color: var(--mp-dark) !important; }
.mp-cat-tab.is-active { color: var(--mp-accent) !important; }
.mp-cat-tab-panel { display: none; }
.mp-cat-tab-panel.is-active { display: block; }
.mp-cat-tab-panel[hidden] { display: none; }

.mp-cat-block-empty {
    padding: 30px;
    text-align: center;
    color: var(--mp-muted);
    font-style: italic;
}

/* === Layout: big-side (1 grande + 3 piccoli laterali) === */
/* === big-side: 1 grande sx (Wayback style) + 3 piccole orizzontali dx === */
.mp-cat-block-big-side .mp-cat-block-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: var(--mp-sp-5, 24px);
    align-items: start;
}
.mp-cat-block-big-side .mp-cat-item-main {
    grid-row: span 3;
    grid-column: 1;
    position: relative;
    cursor: pointer;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/10;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-thumb img,
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-thumb svg {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s ease;
}
.mp-cat-block-big-side .mp-cat-item-main:hover .mp-cat-item-thumb img,
.mp-cat-block-big-side .mp-cat-item-main:hover .mp-cat-item-thumb svg {
    transform: scale(1.04);
}
/* Badge sopra l'immagine (top-left dentro thumb) */
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-badge-overlay {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-badge-overlay .mp-cat-badge {
    pointer-events: auto;
    position: relative;
    z-index: 3;
}
/* Body: SOTTO l'immagine, no overlay scuro */
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-body {
    padding: 14px 0 0 0;
    color: var(--mp-dark);
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-body a,
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-body .mp-cat-item-more {
    pointer-events: auto;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-title {
    font-family: var(--mp-font-heading);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 10px 0;
    color: var(--mp-dark);
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}
.mp-cat-block-big-side .mp-cat-item-main:hover .mp-cat-item-title a {
    color: var(--mp-accent, #dd3333);
}
.mp-cat-block-big-side .mp-cat-item-main .mp-post-date {
    color: #888;
    font-size: 12px;
    margin-bottom: 10px;
    display: block;
}
.mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-excerpt {
    color: #555;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 14px 0;
}
/* removed: stile unificato sopra */
/* removed: hover unificato */
/* (rimosse regole testo bianco overlay — sostituite dalle nuove con sfondo bianco) */

/* Cards secondarie a destra: layout VERTICALE (immagine sopra, contenuto sotto) */
.mp-cat-block-big-side .mp-cat-item-sub {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 18px;
    position: relative;
    cursor: pointer;
}
.mp-cat-block-big-side .mp-cat-item-sub:last-child { margin-bottom: 0; }
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-thumb {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-thumb img,
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-thumb svg {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .4s ease;
}
.mp-cat-block-big-side .mp-cat-item-sub:hover .mp-cat-item-thumb img,
.mp-cat-block-big-side .mp-cat-item-sub:hover .mp-cat-item-thumb svg {
    transform: scale(1.04);
}
/* Badge dentro l'immagine in basso-sx */
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body {
    padding: 12px 0 0 0;
    color: var(--mp-dark);
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body a {
    pointer-events: auto;
}
/* Sposta il badge della sub DENTRO il thumb in basso-sinistra */
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body .mp-cat-badge {
    position: absolute;
    top: -32px; /* esce dal body, entra nel thumb */
    left: 14px;
    z-index: 3;
    pointer-events: auto;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-title {
    font-family: var(--mp-font-heading);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 8px 0;
    overflow: visible;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-title a {
    color: var(--mp-dark);
    text-decoration: none;
    transition: color .2s;
}
.mp-cat-block-big-side .mp-cat-item-sub:hover .mp-cat-item-title a {
    color: var(--mp-accent, #dd3333);
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-post-date {
    color: #888;
    font-size: 11px;
    display: block;
}

/* Responsive: mobile in colonna pulita */
@media (max-width: 767px) {
    .mp-cat-block-big-side .mp-cat-block-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    .mp-cat-block-big-side .mp-cat-item-main {
        grid-row: auto;
        grid-column: 1;
    }
    .mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-title { font-size: 17px; }
    .mp-cat-block-big-side .mp-cat-item-main .mp-cat-item-excerpt { font-size: 13px; }
    /* Sub mobile: verticali stretti */
    .mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-thumb {
        aspect-ratio: 16/9;
    }
    .mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-title { font-size: 14px; }
    .mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body .mp-cat-badge {
        font-size: 10px;
        padding: 3px 9px;
    }
}

/* === big-bottom === */
.mp-cat-block-big-bottom .mp-cat-block-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mp-sp-4); }
.mp-cat-block-big-bottom .mp-cat-item-main { grid-column: 1 / -1; }

/* === Grid 3/4 === */
.mp-cat-block-grid-3 .mp-cat-block-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mp-sp-4); }
.mp-cat-block-grid-4 .mp-cat-block-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mp-sp-4); }

/* === List === */
.mp-cat-block-list .mp-cat-block-grid { display: flex; flex-direction: column; gap: 0; }
.mp-cat-block-list .mp-cat-item { display: grid; grid-template-columns: 140px 1fr; gap: 14px; align-items: center; }

.mp-cat-item { background: transparent; }
.mp-cat-item .mp-cat-item-thumb-link { display: block; overflow: hidden; }
.mp-cat-item img,
.mp-cat-item svg { transition: transform .3s ease; width: 100%; }
.mp-cat-item:hover img,
.mp-cat-item:hover svg { transform: scale(1.05); }
.mp-cat-item-body { padding: var(--mp-sp-3) 0; }
.mp-cat-item-title { font-size: 16px; margin: 6px 0; font-family: var(--mp-font-heading); line-height: 1.4; font-weight: 600; }
.mp-cat-item-title a { color: var(--mp-dark); }
.mp-cat-item-title a:hover { color: var(--mp-accent); }
.mp-cat-item-excerpt { font-size: 14px; color: var(--mp-muted); margin: 6px 0 0 0; line-height: 1.5; }
.mp-post-date { font-size: 12px; color: var(--mp-muted); display: inline-flex; align-items: center; gap: 4px; }
.mp-post-date::before { content: "🕐"; font-size: 11px; opacity: .7; }

/* ==========================================================================
   CAROUSEL
   ========================================================================== */

.mp-carousel { background: #fff; padding: 0; margin: 0; position: relative; }
.mp-carousel-header { margin-bottom: var(--mp-sp-4); }
.mp-carousel-wrap { position: relative; }
.mp-carousel-viewport { overflow: hidden; }
.mp-carousel-track {
    list-style: none; margin: 0; padding: 0;
    display: flex;
    gap: var(--mp-sp-4);
    transition: transform .35s ease;
}
.mp-carousel-slide { flex: 0 0 auto; min-width: 0; }
.mp-carousel-cols-2 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4)) / 2); }
.mp-carousel-cols-3 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4) * 2) / 3); }
.mp-carousel-cols-4 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4) * 3) / 4); }
.mp-carousel-cols-5 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4) * 4) / 5); }
.mp-carousel-cols-6 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4) * 5) / 6); }

/* Layout orizzontale: foto sx + testo dx */
.mp-carousel-item {
    background: transparent;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    height: 120px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}
/* Niente border/shadow su hover — solo il titolo cambia colore */
/* Click ovunque */
.mp-carousel-overlay-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    text-indent: -9999px;
    overflow: hidden;
}
/* Foto sinistra */
.mp-carousel-thumb {
    flex: 0 0 140px;
    height: 100%;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.mp-carousel-thumb img,
.mp-carousel-thumb svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.mp-carousel-item:hover .mp-carousel-thumb img,
.mp-carousel-item:hover .mp-carousel-thumb svg {
    transform: scale(1.06);
}
/* Body destra */
.mp-carousel-body {
    flex: 1 1 auto;
    padding: 0 14px 12px 14px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    position: relative;
    z-index: 2;
    pointer-events: none; /* Lascia passare i click all'overlay-link */
}
.mp-carousel-body .mp-cat-badge,
.mp-carousel-body a,
.mp-carousel-body time {
    pointer-events: auto;
}
.mp-carousel-title {
    font-size: 15px;
    margin: 4px 0;
    font-family: var(--mp-font-heading);
    line-height: 1.4;
    font-weight: 600;
    /* Limita a 3 righe con ellipsis */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-carousel-title a {
    color: var(--mp-dark);
    text-decoration: none;
    transition: color .2s;
}
/* Hover: titolo diventa ROSSO (come Wayback originale) */
.mp-carousel-item:hover .mp-carousel-title a {
    color: var(--mp-accent, #dd3333);
}
.mp-carousel-title a:hover { color: var(--mp-accent); }

/* ==========================================================================
   WIDGET TITLES (sidebar)
   ========================================================================== */

.mp-widget { background: #fff; padding: 0; margin-bottom: var(--mp-sp-4); }
.mp-widget-title {
    margin: 0 0 16px 0;
    padding: 0 0 12px 0;
    border-bottom: 3px solid var(--mp-dark);
    color: var(--mp-dark);
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: var(--mp-font-heading);
    font-weight: 800;
}
.mp-widget-title span { display: inline-block; }

/* ==========================================================================
   MOST READ
   ========================================================================== */

.mp-most-read { list-style: none; margin: 0; padding: 0; counter-reset: mp-rank; }
.mp-most-read-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mp-border); }
.mp-most-read-item:last-child { border-bottom: 0; }
.mp-rank {
    font-family: var(--mp-font-heading);
    font-size: 32px; font-weight: 900;
    color: var(--mp-accent);
    line-height: 1; min-width: 36px;
}
.mp-most-read-body h4 { font-size: 14px; margin: 0 0 4px 0; line-height: 1.35; font-family: var(--mp-font-body); }
.mp-most-read-body h4 a { color: var(--mp-dark); font-weight: 500; }
.mp-most-read-body h4 a:hover { color: var(--mp-accent); }
.mp-most-read-thumb { flex-shrink: 0; width: 70px; }
.mp-most-read-thumb img { width: 70px; height: 50px; object-fit: cover; }

/* ==========================================================================
   RECENT MINI
   ========================================================================== */

.mp-recent-mini { list-style: none; margin: 0; padding: 0; }
.mp-recent-mini li { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--mp-border); }
.mp-recent-mini li:last-child { border-bottom: 0; }
.mp-recent-mini-thumb { flex-shrink: 0; width: 80px; }
.mp-recent-mini-thumb img { width: 80px; height: 60px; object-fit: cover; }
.mp-recent-mini-body h5 { font-size: 13px; margin: 0 0 4px 0; line-height: 1.35; font-family: var(--mp-font-body); font-weight: 500; }
.mp-recent-mini-body h5 a { color: var(--mp-dark); }
.mp-recent-mini-body h5 a:hover { color: var(--mp-accent); }

/* ==========================================================================
   EDITORIAL CHOICE
   ========================================================================== */

.mp-editorial-2x2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mp-sp-3); }
.mp-editorial-row-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mp-sp-3); }
.mp-editorial-item h4 { font-size: 14px; margin-top: 6px; }
.mp-editorial-item h4 a { color: var(--mp-dark); }

/* ==========================================================================
   BANNER DENONCO
   ========================================================================== */

.mp-banner {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: var(--mp-sp-5);
    background: var(--mp-accent);
    color: #fff !important;
    text-decoration: none !important;
    text-align: center;
    font-weight: 900;
    font-size: 22px;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 2px;
    transition: background .15s;
}
.mp-banner:hover { background: var(--mp-topbar-bg); color: #fff !important; }
.mp-banner-img { max-height: 40px; width: auto; }

/* ==========================================================================
   SINGLE POST
   ========================================================================== */

.mp-single-wrap { padding: var(--mp-sp-6) var(--mp-sp-4); }
.mp-single { background: #fff; padding: var(--mp-sp-6); }
.mp-single-header { margin-bottom: var(--mp-sp-5); padding-bottom: var(--mp-sp-4); border-bottom: 1px solid var(--mp-border); }
.mp-single-title { font-size: 36px; margin: var(--mp-sp-3) 0; line-height: 1.15; }
.mp-single-meta { color: var(--mp-muted); font-size: 14px; }
.mp-single-featured { margin: 0 0 var(--mp-sp-5) 0; }
.mp-single-featured img { width: 100%; }
.mp-single-featured figcaption { font-size: 13px; color: var(--mp-muted); padding: 8px 4px; font-style: italic; }
.mp-single-content { font-size: 17px; line-height: 1.75; }
.mp-single-content p { margin: 0 0 var(--mp-sp-4) 0; }
.mp-single-content h2 { font-size: 26px; margin: var(--mp-sp-6) 0 var(--mp-sp-3) 0; }
.mp-single-content h3 { font-size: 22px; margin: var(--mp-sp-5) 0 var(--mp-sp-3) 0; }
.mp-single-content blockquote { border-left: 4px solid var(--mp-accent); padding: 0 0 0 var(--mp-sp-4); margin: var(--mp-sp-5) 0; font-style: italic; color: var(--mp-topbar-bg); font-size: 19px; }
.mp-single-content img { margin: var(--mp-sp-4) 0; }
.mp-single-footer { margin-top: var(--mp-sp-6); padding-top: var(--mp-sp-4); border-top: 1px solid var(--mp-border); }
.mp-single-tags a { display: inline-block; padding: 4px 10px; margin: 0 4px 4px 0; background: var(--mp-light); border-radius: 2px; font-size: 12px; color: var(--mp-topbar-bg); }
.mp-single-tags a:hover { background: var(--mp-topbar-bg); color: #fff; }

.mp-related { margin-top: var(--mp-sp-7); }
.mp-section-title { font-size: 18px; text-transform: uppercase; letter-spacing: 1px; border-bottom: 2px solid var(--mp-topbar-bg); padding-bottom: var(--mp-sp-2); margin-bottom: var(--mp-sp-5); }
.mp-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mp-sp-4); }
.mp-related-item h4 { font-size: 14px; margin-top: 8px; color: var(--mp-dark); font-family: var(--mp-font-body); font-weight: 500; }

/* ==========================================================================
   ARCHIVE
   ========================================================================== */

.mp-archive-wrap { padding: var(--mp-sp-6) var(--mp-sp-4); }
.mp-archive-header { margin-bottom: var(--mp-sp-5); padding-bottom: var(--mp-sp-4); border-bottom: 2px solid var(--mp-topbar-bg); }
.mp-archive-title { font-size: 30px; margin: 0; }
.mp-archive-desc { margin-top: var(--mp-sp-3); color: var(--mp-muted); }

.mp-archive-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--mp-sp-4); }
.mp-archive-item { background: #fff; padding: var(--mp-sp-4); border: 1px solid var(--mp-border); }
.mp-archive-item-title { font-size: 18px; margin: 8px 0; line-height: 1.4; }
.mp-archive-item-title a { color: var(--mp-dark); }
.mp-archive-item-title a:hover { color: var(--mp-accent); }
.mp-archive-excerpt { font-size: 14px; color: var(--mp-muted); margin: 8px 0 0 0; }

.mp-pagination { margin-top: var(--mp-sp-6); text-align: center; }
.mp-pagination .page-numbers {
    display: inline-block; padding: 8px 14px; margin: 0 2px;
    background: #fff; color: var(--mp-topbar-bg); border: 1px solid var(--mp-border);
    text-decoration: none; font-weight: 600;
}
.mp-pagination .page-numbers.current,
.mp-pagination .page-numbers:hover { background: var(--mp-topbar-bg); color: #fff; border-color: var(--mp-topbar-bg); }

/* ==========================================================================
   FOOTER - 2 sezioni (primary + secondary), col-md-9 + col-md-3
   ========================================================================== */

.mp-site-footer {
    background: var(--mp-footer-bg);
    color: #eaeaea;
    margin-top: var(--mp-sp-7);
}
.mp-site-footer a { color: #e0e0e0; }
.mp-site-footer a:hover { color: var(--mp-accent); }

.mp-footer-content { padding: var(--mp-sp-6) 0; }

/* === FOOTER PRIMARY (riga 1: privacy a sx + redazione a dx) === */
.mp-footer-primary {
    display: grid;
    grid-template-columns: 3fr 1fr;  /* col-md-9 + col-md-3 */
    gap: var(--mp-sp-5);
    padding-bottom: var(--mp-sp-5);
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.mp-footer-menu {
    list-style: none; margin: 0; padding: 0;
    display: flex; gap: var(--mp-sp-5);
}
.mp-footer-menu a {
    color: #e2e2e2;
    text-decoration: none;
    font-size: 13px;
}
.mp-footer-menu a:hover { color: var(--mp-accent); }

.mp-footer-redazione {
    text-align: right;
    font-size: 13px;
    line-height: 1.6;
}
.mp-footer-redazione strong { display: block; color: #fff; font-weight: 600; }
.mp-footer-redazione a { color: #e0e0e0; }

/* === FOOTER SECONDARY (riga 2: marketing a sx + vuoto a dx) === */
.mp-footer-secondary {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: var(--mp-sp-5);
    padding: var(--mp-sp-5) 0;
    font-size: 12px;
    line-height: 1.6;
    color: #eaeaea;
}
.mp-footer-secondary strong { color: #fff; font-weight: 700; }

/* === FOOTER BOTTOM (copyright) === */
.mp-footer-bottom {
    padding: var(--mp-sp-4) 0;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: 12px;
    color: #c0c0c0;
    line-height: 1.6;
}
.mp-footer-bottom strong { color: #fff; }

/* ==========================================================================
   EMPTY HOME NOTICE
   ========================================================================== */

.mp-empty-home-notice {
    background: #fff; padding: var(--mp-sp-7); border-radius: 4px;
    border: 2px dashed var(--mp-topbar-bg); text-align: center;
}
.mp-empty-home-notice .button {
    display: inline-block; background: var(--mp-topbar-bg); color: #fff;
    padding: 12px 24px; text-decoration: none; font-weight: 700;
    margin-top: var(--mp-sp-3);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 980px) {
    .mp-grid-main-sidebar { grid-template-columns: 1fr; }
    .mp-sidebar-col { position: static; }
    .mp-footer-primary, .mp-footer-secondary { grid-template-columns: 1fr; }
    .mp-footer-redazione { text-align: left; }
    .mp-hero-1-4 { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
    .mp-hero-1-4 .mp-hero-main { grid-column: 1 / -1; grid-row: auto; }
    .mp-hero-1-6 { grid-template-columns: 1fr 1fr; }
    .mp-cat-block-big-side .mp-cat-block-grid { grid-template-columns: 1fr; }
    .mp-cat-block-grid-4 .mp-cat-block-grid { grid-template-columns: repeat(2, 1fr); }
    .mp-related-grid { grid-template-columns: repeat(2, 1fr); }
    .mp-archive-grid { grid-template-columns: 1fr; }
    .mp-carousel-cols-3 .mp-carousel-slide,
    .mp-carousel-cols-4 .mp-carousel-slide,
    .mp-carousel-cols-5 .mp-carousel-slide,
    .mp-carousel-cols-6 .mp-carousel-slide { flex: 0 0 calc((100% - var(--mp-sp-4)) / 2); }
    .mp-carousel-prev { left: 0; }
    .mp-carousel-next { right: 0; }

    /* Mobile menu */
    .mp-menu-toggle { display: inline-flex; order: -1; }
    .mp-main-nav { position: relative; flex: 0; }
    .mp-menu {
        display: none;
        position: absolute; top: 100%; left: -8px; right: -8px;
        background: var(--mp-topbar-bg);
        flex-direction: column; padding: 8px 0;
        margin-top: 14px;
        box-shadow: 0 8px 24px rgba(0,0,0,.3);
        z-index: 50;
    }
    .mp-main-nav.mp-open .mp-menu { display: flex; }
    .mp-menu a {
        padding: 12px 18px !important;
        line-height: 1.4 !important;
        border-bottom: 1px solid rgba(255,255,255,.05);
    }
    .mp-header-inner { gap: var(--mp-sp-3); }
}

@media (max-width: 620px) {
    .mp-topbar-inner { flex-direction: column; gap: 6px; padding: 4px 0; height: auto; }
    .mp-topbar { height: auto; }
    .mp-topbar-left, .mp-topbar-right { justify-content: center; }
    .mp-site-title-text { font-size: 26px; }
    .mp-single-title { font-size: 26px; }
    .mp-hero-1-4 { grid-template-columns: 1fr; }
    .mp-hero-1-4 .mp-hero-main { min-height: 320px; }
    .mp-hero-2-4 { grid-template-columns: 1fr 1fr; }
    .mp-hero-5-grid { grid-template-columns: repeat(2, 1fr); }
    .mp-cat-block-grid-3 .mp-cat-block-grid,
    .mp-cat-block-big-bottom .mp-cat-block-grid { grid-template-columns: 1fr; }
    .mp-carousel-cols-2 .mp-carousel-slide,
    .mp-carousel-cols-3 .mp-carousel-slide,
    .mp-carousel-cols-4 .mp-carousel-slide,
    .mp-carousel-cols-5 .mp-carousel-slide,
    .mp-carousel-cols-6 .mp-carousel-slide { flex: 0 0 100%; }
    .mp-editorial-row-4, .mp-editorial-2x2 { grid-template-columns: 1fr; }
}

/* =============================================================== */
/* TICKER BLIC - Slide singolo con frecce e data                   */
/* =============================================================== */

.mp-ticker-zone {
    background: #fff;
    }

.mp-ticker-zone .mp-container {
    padding: 10px var(--mp-sp-4, 16px) 0;
}

.mp-blic {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #fff;
    border: 1px solid var(--mp-border, #e5e7eb);
    border-radius: 4px;
    overflow: hidden;
    min-height: 44px;
}

/* === Label rosso === */
.mp-blic-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    background: var(--blic-accent, #dd3333);
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
}

.mp-blic-icon {
    flex-shrink: 0;
}

/* === Track + items === */
.mp-blic-track {
    position: relative;
    flex: 1;
    overflow: hidden;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 0 18px;
}

.mp-blic-item {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 18px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s ease, visibility 0s linear .4s;
    pointer-events: none;
    transition: opacity .4s ease;
    pointer-events: none;
}

.mp-blic-item.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .4s ease, visibility 0s linear 0s;
    z-index: 2;
}

.mp-blic-title {
    flex: 1;
    min-width: 0;
    color: var(--mp-dark, #0f172a);
    font-weight: 600;
    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mp-blic-title:hover {
    color: var(--blic-accent, #dd3333);
}

.mp-blic-date {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
}

/* === Frecce navigazione === */
.mp-blic-nav {
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
    border-left: 1px solid var(--mp-border, #e5e7eb);
}

.mp-blic-prev,
.mp-blic-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    background: transparent;
    border: none;
    color: #64748b;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
    padding: 0;
}

.mp-blic-prev:hover,
.mp-blic-next:hover {
    background: #f8fafc;
    color: var(--blic-accent, #dd3333);
}

.mp-blic-prev {
    border-right: 1px solid var(--mp-border, #e5e7eb);
}

/* === Mobile === */
@media (max-width: 600px) {
    .mp-blic-label span {
        display: none; /* solo icona su mobile */
    }
    .mp-blic-label {
        padding: 0 10px;
    }
    .mp-blic-date {
        display: none;
    }
    .mp-blic-track {
        padding: 0 12px;
    }
    .mp-blic-item {
        padding: 0 12px;
    }
}


/* ═══════════════════════════════════════════════════════════
   MODULO 3 — SLIDER DARK FULL-WIDTH
   ═══════════════════════════════════════════════════════════ */
.mp-slider-dark {
    position: relative;
    width: 100%;
    margin: 0 0 var(--mp-sp-6, 32px);
    background: #000;
}
.mp-slider-dark-header { margin-bottom: var(--mp-sp-3, 12px); padding: 0 var(--mp-sp-4, 16px); }

.mp-slider-dark-stage {
    position: relative;
    width: 100%;
    height: var(--mp-sd-height, 540px);
    min-height: var(--mp-sd-height, 540px);
    overflow: hidden;
    background: #000;
}

.mp-slider-dark-track {
    position: relative;
    width: 100%;
    height: 100%;
}

.mp-slide-dark {
    position: absolute;
    inset: 0;
    background-color: #000;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    visibility: hidden;
    transition: opacity .7s ease, visibility .7s ease;
    z-index: 1;
}
.mp-slide-dark.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* Overlay scuro per leggibilità testo */
.mp-slide-dark-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.1) 100%),
        linear-gradient(90deg, rgba(0,0,0,.4) 0%, rgba(0,0,0,.15) 60%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

/* Link cliccabile su tutta la slide (sotto il content) */
.mp-slide-dark-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-indent: -9999px;
}

/* Content */
.mp-slide-dark-content {
    position: relative;
    z-index: 3;
    max-width: 760px;
    padding: 60px 60px 50px 60px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    pointer-events: none; /* lascia passare i click al link sottostante */
}
.mp-slide-dark-content > * { pointer-events: auto; } /* tranne badge/titolo */

.mp-slide-dark-badge {
    display: inline-block;
    align-self: flex-start;
    background: var(--mp-accent, #dd3333);
    color: #fff;
    font-family: var(--mp-font-body, 'Roboto', sans-serif);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    padding: 7px 14px;
    margin-bottom: 22px;
    text-decoration: none;
    transition: background .2s;
}
.mp-slide-dark-badge:hover { background: #c92525; color: #fff; }

.mp-slide-dark-title {
    font-family: 'Flama', 'Helvetica', 'Arial', sans-serif;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.15;
    color: #fff;
    margin: 0 0 26px 0;
    letter-spacing: -.3px;
}
.mp-slide-dark-title a {
    color: #fff;
    text-decoration: none;
    transition: opacity .2s;
}
.mp-slide-dark-title a:hover { opacity: .85; color: #fff; }

.mp-slide-dark-date {
    font-family: var(--mp-font-body, 'Roboto', sans-serif);
    font-size: 11px;
    font-weight: 700;
    color: rgba(255,255,255,.85);
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

/* Dots verticali a destra */
.mp-slider-dark-dots {
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 14px;
    opacity: 0;
    transition: opacity .35s ease;
    pointer-events: none;
}
.mp-slider-dark:hover .mp-slider-dark-dots,
.mp-slider-dark:focus-within .mp-slider-dark-dots {
    opacity: 1;
    pointer-events: auto;
}
/* Touch devices: dots sempre visibili (no hover possibile) */
@media (hover: none) {
    .mp-slider-dark-dots {
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}
.mp-slider-dark-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.7);
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: all .25s;
}
.mp-slider-dark-dot:hover { border-color: #fff; transform: scale(1.15); }
.mp-slider-dark-dot.is-active {
    background: #fff;
    border-color: #fff;
    transform: scale(1.2);
}

/* Responsive */
@media (max-width: 1024px) {
    .mp-slider-dark-content { padding: 70px 50px 70px 70px; }
    .mp-slide-dark-title { font-size: 32px; }
}
@media (max-width: 768px) {
    .mp-slider-dark-stage { height: 420px; }
    .mp-slider-dark-content { padding: 40px 60px 40px 28px; max-width: 100%; }
    .mp-slide-dark-title { font-size: 24px; line-height: 1.2; margin-bottom: 18px; }
    .mp-slide-dark-badge { font-size: 11px; padding: 5px 11px; margin-bottom: 16px; }
    .mp-slide-dark-date { font-size: 10px; }
    .mp-slider-dark-dots { right: 14px; gap: 11px; }
    .mp-slider-dark-dot { width: 9px; height: 9px; }
}
@media (max-width: 480px) {
    .mp-slider-dark-stage { height: 360px; }
    .mp-slide-dark-title { font-size: 20px; }
}

/* ═══════════════════════════════════════════════════════════
   VISIBILITY TOGGLES — Desktop/Tablet/Mobile
   Breakpoint:  ≤480 Mobile  | 481-1024 Tablet  | ≥1025 Desktop
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 480px) {
    .mp-hide-mobile { display: none !important; }
}
@media (min-width: 481px) and (max-width: 1024px) {
    .mp-hide-tablet { display: none !important; }
}
@media (min-width: 1025px) {
    .mp-hide-desktop { display: none !important; }
}


/* ═══════════════════════════════════════════════════════════
   HERO — Overlay-link pattern (click ovunque) + mobile font
   ═══════════════════════════════════════════════════════════ */
.mp-hero-item {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.mp-hero-thumb-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

/* ═══════════════════════════════════════════════════════════
   FIX HERO IMG — markup attuale: <img class="mp-hero-thumb"> dentro .mp-hero-thumb-wrap
   Le regole legacy a riga 325-333 usavano selettore '.mp-hero-thumb img'
   (img DENTRO .mp-hero-thumb) che non matcha il markup corrente dove
   l'img STESSO ha class mp-hero-thumb. Senza queste regole, l'img non
   prende width:100% + object-fit:cover → bande nere o stretching errato.
   ═══════════════════════════════════════════════════════════ */
.mp-hero-thumb-wrap > img,
.mp-hero-thumb-wrap > svg,
img.mp-hero-thumb,
svg.mp-hero-thumb {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .5s ease;
}
.mp-hover-zoom .mp-hero-item:hover .mp-hero-thumb-wrap > img,
.mp-hover-zoom .mp-hero-item:hover .mp-hero-thumb-wrap > svg,
.mp-hover-zoom .mp-hero-item:hover img.mp-hero-thumb {
    transform: scale(1.08);
}
/* Link invisibile che copre tutta la card — cattura click ovunque */
.mp-hero-overlay-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-indent: -9999px;
    overflow: hidden;
    color: transparent;
    background: transparent;
}
.mp-hero-overlay-link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -3px;
}
/* Content sta sopra overlay-link ma NON cattura click, eccetto i suoi link interni */
.mp-hero-content {
    z-index: 3;
    pointer-events: none;
}
.mp-hero-content .mp-cat-badge,
.mp-hero-content .mp-hero-title a,
.mp-hero-content a {
    pointer-events: auto;
}
.mp-hero-title a {
    color: inherit;
    text-decoration: none;
}
.mp-hero-item:hover .mp-hero-title a { color: inherit; }

/* ─── Hover JNews-style: content sale + data appare ─── */
.mp-hero-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 22px 20px;
    z-index: 3;
    pointer-events: none;
    transition: transform .4s ease;
    will-change: transform;
}
.mp-hero-sub .mp-hero-content { padding: 14px 16px; }
.mp-hero-content .mp-cat-badge,
.mp-hero-content .mp-hero-title a,
.mp-hero-content a { pointer-events: auto; }

.mp-hero-meta {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-top: 0;
    transition: max-height .4s ease, opacity .35s ease .05s, margin-top .4s ease;
}
.mp-hero-item:hover .mp-hero-content {
    transform: translateY(-10px);
}
.mp-hero-item:hover .mp-hero-meta {
    max-height: 80px;
    opacity: 1;
    margin-top: 10px;
}
/* Overlay si scurisce leggermente su hover */
.mp-hero-item:hover .mp-hero-overlay {
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.4) 50%, rgba(0,0,0,.15) 100%);
}
.mp-hero-overlay {
    transition: background .35s ease;
}

/* Mobile: niente effetto hover (touch device) - data sempre visibile */
@media (hover: none) {
    .mp-hero-meta { max-height: 80px; opacity: 1; margin-top: 10px; }
    .mp-hero-item:hover .mp-hero-content { transform: none; }
}

/* ─── Mobile: 1 big full-width + 4 sub in scroll orizzontale ─── */
@media (max-width: 767px) {
    .mp-hero-1-4,
    .mp-hero-1-6 {
        grid-template-columns: 1fr;
    }
    .mp-hero-1-4 .mp-hero-main,
    .mp-hero-1-6 .mp-hero-main {
        min-height: 320px;
    }
    .mp-hero-1-4 .mp-hero-sub-wrap,
    .mp-hero-1-6 .mp-hero-sub-wrap {
        display: flex;
        flex-direction: row;
        grid-template-columns: none;
        grid-template-rows: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 12px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
        /* Bordo "peek" per suggerire scroll: */
        scroll-padding-left: 16px;
    }
    .mp-hero-1-4 .mp-hero-sub-wrap::-webkit-scrollbar,
    .mp-hero-1-6 .mp-hero-sub-wrap::-webkit-scrollbar {
        display: none;
    }
    .mp-hero-1-4 .mp-hero-sub-wrap .mp-hero-item,
    .mp-hero-1-6 .mp-hero-sub-wrap .mp-hero-item {
        flex: 0 0 78%;
        scroll-snap-align: start;
        min-height: 200px;
    }
    /* Mobile: font size più piccolo + padding contenuto ridotto */
    .mp-hero-main .mp-hero-title { font-size: 19px; line-height: 1.25; }
    .mp-hero-sub  .mp-hero-title { font-size: 13px; line-height: 1.3; }
    .mp-hero-content { padding: 14px 16px; }
    .mp-hero-sub .mp-hero-content { padding: 10px 12px; }
    .mp-hero-meta { font-size: 11px; margin-top: 6px; }
    .mp-cat-badge { font-size: 10px; padding: 4px 8px; }
}
/* Tablet (481-1024px): font intermedio */
@media (min-width: 481px) and (max-width: 1024px) {
    .mp-hero-main .mp-hero-title { font-size: 24px; }
    .mp-hero-sub  .mp-hero-title { font-size: 14px; }
}


/* ═══════════════════════════════════════════════════════════
   BARLOW SEMI CONDENSED — TEST GLOBALE
   Applica il font a tutti i titoli e al body del tema MP.
   Se non piace, rimuovi questa sezione per tornare a Helvetica.
   ═══════════════════════════════════════════════════════════ */
/* === FONT SCOPING: Barlow Semi Condensed SOLO ai widget MP della home === */
.mp-slider-dark, .mp-slider-dark *,
.mp-hero, .mp-hero *,
.mp-cat-block, .mp-cat-block *,
.mp-carousel, .mp-carousel *,
.mp-most-read, .mp-most-read *,
.mp-editorial, .mp-editorial *,
.mp-recent-mini, .mp-recent-mini * {
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
/* Header, footer, articoli singoli, e qualsiasi altro contesto:
   ereditano il font default del tema Astra (nessuna interferenza) */

.mp-carousel-nav:hover {
    background: var(--mp-accent, #dd3333);
    color: #fff;
}
.mp-carousel-prev { left: 0; }
.mp-carousel-next { right: 0; }

/* Allinea verticalmente le frecce con l'altezza degli item (120px) */
.mp-carousel-wrap {
    display: flex;
    align-items: stretch;
}
.mp-carousel-nav {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10;
    width: 24px;
    height: auto;
    background: #e8e8e8;
    border: none;
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 0;
    align-self: center;
    transition: background .2s, color .2s;
}
/* Le frecce si allungano per tutta l'altezza degli item (120px nel viewport) */
.mp-carousel-wrap > .mp-carousel-nav {
    height: 120px;
}
.mp-carousel-viewport {
    flex: 1 1 auto;
}

/* Lascia spazio per le frecce ai lati del viewport */
.mp-carousel-viewport {
    margin-left: 48px;
    margin-right: 48px;
    overflow: hidden;
}

/* Responsive: cards più piccole su mobile + 1 card visibile */
@media (max-width: 767px) {
    .mp-carousel-cols-3 .mp-carousel-slide,
    .mp-carousel-cols-4 .mp-carousel-slide,
    .mp-carousel-cols-5 .mp-carousel-slide {
        flex: 0 0 90%;
    }
    .mp-carousel-item { height: 110px; }
    .mp-carousel-thumb { flex: 0 0 120px; }
    .mp-carousel-title { font-size: 13px; -webkit-line-clamp: 3; }
    .mp-carousel-nav { width: 28px; height: 110px; }
    .mp-carousel-viewport { margin-left: 44px; margin-right: 44px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .mp-carousel-cols-4 .mp-carousel-slide,
    .mp-carousel-cols-5 .mp-carousel-slide {
        flex: 0 0 calc((100% - var(--mp-sp-4) * 2) / 3);
    }
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Layout "featured-list-2col" (CLICNEWS)
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block-featured-list-2col .mp-cat-fl-wrap {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

/* Overlay-link per click ovunque */
.mp-cat-overlay-link {
    position: absolute;
    inset: 0;
    z-index: 2;
    text-indent: -9999px;
    overflow: hidden;
}

/* ─── FEATURED (primo articolo grande) ─── */
.mp-cat-feat {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: stretch;
    position: relative;
    cursor: pointer;
    min-height: 280px;
}
.mp-cat-feat-thumb {
    aspect-ratio: 4/3;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.mp-cat-feat-thumb img,
.mp-cat-feat-thumb svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.mp-cat-feat:hover .mp-cat-feat-thumb img,
.mp-cat-feat:hover .mp-cat-feat-thumb svg {
    transform: scale(1.04);
}
.mp-cat-feat-thumb .mp-cat-badge-overlay {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
}
.mp-cat-feat-thumb .mp-cat-badge-overlay .mp-cat-badge {
    pointer-events: auto;
    position: relative;
    z-index: 3;
}
.mp-cat-feat-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0;
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.mp-cat-feat-body a,
.mp-cat-feat-body .mp-cat-feat-more {
    pointer-events: auto;
}
.mp-cat-feat-title {
    font-family: var(--mp-font-heading);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 12px 0;
    color: var(--mp-dark);
}
.mp-cat-feat-title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}
.mp-cat-feat:hover .mp-cat-feat-title a {
    color: var(--mp-accent, #dd3333);
}
.mp-cat-feat-date {
    color: #888;
    font-size: 12px;
    margin-bottom: 14px;
}
.mp-cat-feat-excerpt {
    color: #555;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 22px 0;
}
/* removed: stile unificato sopra */
/* removed: hover unificato sopra */

/* ─── LISTA 2-COL (articoli successivi) ─── */
.mp-cat-list-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
}
.mp-cat-list-item {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 14px;
    min-height: 84px;
    position: relative;
    cursor: pointer;
}
.mp-cat-list-thumb {
    flex: 0 0 110px;
    height: 84px;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.mp-cat-list-thumb img,
.mp-cat-list-thumb svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mp-cat-list-body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2px 0;
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.mp-cat-list-body a {
    pointer-events: auto;
}
.mp-cat-list-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    font-family: var(--mp-font-heading);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-cat-list-title a {
    color: var(--mp-dark);
    text-decoration: none;
    transition: color .2s;
}
.mp-cat-list-item:hover .mp-cat-list-title a {
    color: var(--mp-accent, #dd3333);
}
.mp-cat-list-date {
    color: #888;
    font-size: 11px;
    margin-top: 6px;
}

/* ─── Footer "Shfaq më shumë" ─── */
.mp-cat-fl-footer {
    margin-top: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--mp-border, #e5e7eb);
    text-align: center;
}
/* removed: stile unificato sopra */
.mp-cat-fl-more:hover {
    background: var(--mp-accent, #dd3333);
    color: #fff;
    border-color: var(--mp-accent, #dd3333);
}

/* ─── Responsive ─── */
@media (max-width: 767px) {
    /* === FEATURED CARD === */
    /* Forza flex column (non grid) per ordine pulito immagine → contenuto */
    .mp-cat-block-featured-list-2col .mp-cat-feat {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        min-height: auto !important;
        gap: 14px !important;
    }
    /* Immagine: contenuta, no aspect-ratio fisso che la sforaisse */
    .mp-cat-block-featured-list-2col .mp-cat-feat-thumb {
        width: 100% !important;
        aspect-ratio: 16/9 !important;
        max-height: 240px !important;
        position: relative !important;
    }
    .mp-cat-block-featured-list-2col .mp-cat-feat-thumb img,
    .mp-cat-block-featured-list-2col .mp-cat-feat-thumb svg {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    /* Body: flow normale sotto l'immagine — NESSUNA sovrapposizione possibile */
    .mp-cat-block-featured-list-2col .mp-cat-feat-body {
        width: 100% !important;
        padding: 0 !important;
        display: block !important;
        position: static !important;
    }
    .mp-cat-feat-date {
        font-size: 11px;
        color: #888;
        margin: 0 0 8px 0;
    }
    .mp-cat-feat-title {
        font-size: 17px;
        line-height: 1.25;
        margin: 0 0 10px 0;
    }
    .mp-cat-feat-excerpt {
        font-size: 13px;
        line-height: 1.5;
        margin: 0 0 12px 0;
        -webkit-line-clamp: 3;
    }
    .mp-cat-feat-more {
        padding: 9px 20px;
        font-size: 10px;
    }

    /* Badge dentro l'immagine, top-left */
    .mp-cat-feat-thumb .mp-cat-badge-overlay {
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        z-index: 5;
    }
    .mp-cat-feat-thumb .mp-cat-badge-overlay .mp-cat-badge {
        font-size: 10px;
        padding: 3px 9px;
    }

    /* === LISTA 2-COL → 1 COL mobile === */
    .mp-cat-list-2col {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }
    .mp-cat-list-thumb { flex: 0 0 90px; height: 70px; }
    .mp-cat-list-item { min-height: 70px; }
    .mp-cat-list-title { font-size: 13px; }

    /* === HEADER (titolo blocco + tabs) === */
    .mp-cat-block-header {
        flex-wrap: wrap;
        gap: 10px;
    }
    .mp-cat-block-header .mp-cat-block-tabs {
        flex-wrap: wrap;
        gap: 4px;
    }
    .mp-cat-block-header .mp-cat-tab {
        padding: 4px 10px !important;
        font-size: 10px !important;
        letter-spacing: .3px;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .mp-cat-feat-title { font-size: 20px; }
    .mp-cat-list-thumb { flex: 0 0 90px; }
}


/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Tabs ridisegnate (override delle regole vecchie)
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block-header .mp-cat-block-tabs {
    display: flex;
    gap: 6px;
    align-items: center;
}
.mp-cat-block-header .mp-cat-tab {
    background: #e9e9e9 !important;
    color: #666 !important;
    text-shadow: none;
    border: none !important;
    padding: 5px 14px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: .5px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, color .2s ease !important;
    border-radius: 2px;
    line-height: 1.4;
}
.mp-cat-block-header .mp-cat-tab:hover,
.mp-cat-block-header .mp-cat-tab.is-active,
.mp-cat-block-header .mp-cat-tab[aria-selected="true"] {
    background: var(--mp-accent, #dd3333) !important;
    color: #fff !important;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Featured grid robusto + font esplicito
   Fix: quando un tab panel passa da hidden a visible, il flex/grid
        del .mp-cat-feat deve restare 2-col
   ═══════════════════════════════════════════════════════════ */
.mp-cat-tab-panel:not(.is-active) { display: none; }
.mp-cat-tab-panel.is-active       { display: block; }

.mp-cat-block-featured-list-2col .mp-cat-fl-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
}
@media (min-width: 768px) {
    .mp-cat-block-featured-list-2col .mp-cat-feat {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto !important;
        gap: 28px !important;
    }
}

/* Font esplicito Barlow per i titoli del category block */
.mp-cat-feat-title,
.mp-cat-feat-title a,
.mp-cat-list-title,
.mp-cat-list-title a,
.mp-cat-block-title,
.mp-cat-block-title span,
.mp-cat-feat-excerpt,
.mp-cat-feat-more,
.mp-cat-fl-more,
.mp-cat-feat-date,
.mp-cat-list-date {
    font-family: 'Flama', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif !important;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Modalità Carousel (toggle per grid-3 / grid-4)
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block-grid-carousel {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: var(--mp-sp-4, 16px);
    grid-template-columns: none !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding-bottom: 4px;
}
.mp-cat-block-grid-carousel::-webkit-scrollbar {
    display: none;
}
/* Ogni card occupa 1/N in desktop (configurabile via --mp-cc-visible, default 3) */
.mp-cat-block-grid-carousel > .mp-cat-item {
    flex: 0 0 calc(
        (100% - var(--mp-sp-4, 16px) * (var(--mp-cc-visible, 3) - 1))
        / var(--mp-cc-visible, 3)
    );
    scroll-snap-align: start;
    min-width: 0;
}
/* Tablet: max 2 colonne se admin imposta >2 (per leggibilità) */
@media (max-width: 1024px) and (min-width: 768px) {
    .mp-cat-block-grid-carousel > .mp-cat-item {
        flex: 0 0 calc((100% - var(--mp-sp-4, 16px)) / 2);
    }
}
/* Mobile: 1 card visibile + peek leggero della successiva */
@media (max-width: 767px) {
    .mp-cat-block-grid-carousel > .mp-cat-item {
        flex: 0 0 85%;
    }
}

/* Nav controls (sotto la grid) */
.mp-cat-carousel-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 20px;
    position: relative;
}
/* Linee grigie: solo se la nav contiene effettivamente almeno 1 freccia */
.mp-cat-carousel-nav:has(.mp-cat-carousel-arrow)::before,
.mp-cat-carousel-nav:has(.mp-cat-carousel-arrow)::after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: #d9d9d9;
    align-self: center;
}
.mp-cat-carousel-nav:has(.mp-cat-carousel-arrow)::before { margin-right: 12px; }
.mp-cat-carousel-nav:has(.mp-cat-carousel-arrow)::after  { margin-left: 12px; }

/* Fallback per browser senza :has() (Firefox <121): nascondi nav vuota */
.mp-cat-carousel-nav:empty {
    display: none;
}
.mp-cat-carousel-arrow {
    width: 32px;
    height: 32px;
    background: #d9d9d9;
    border: none;
    color: #666;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, color .2s;
    padding: 0;
    border-radius: 0;
}
.mp-cat-carousel-arrow:hover {
    background: var(--mp-accent, #dd3333);
    color: #fff;
}
.mp-cat-carousel-arrow:disabled {
    opacity: .4;
    cursor: not-allowed;
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Variante senza tab/header (show_tabs OFF)
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block.mp-no-tabs .mp-cat-block-header {
    /* Header senza tabs: niente linea, padding ridotto */
    border-bottom: none;
    padding-bottom: 8px;
    margin-bottom: 16px;
}
/* Se il border-bottom era invasivo (linea spessa nera) lo rendiamo sottile + grigio */
.mp-cat-block.mp-no-tabs .mp-cat-block-title > span {
    border-bottom: none;
    padding-bottom: 0;
}


/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Layout LIST (Wayback style)
   Immagine grande sx + body top con titolo + data + excerpt
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block-list .mp-cat-block-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.mp-cat-block-list .mp-cat-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 18px;
    padding: 0;
    position: relative;
    cursor: pointer;
}
.mp-cat-block-list .mp-cat-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
/* Click ovunque */
.mp-cat-block-list .mp-cat-overlay-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* Immagine grande sx */
.mp-cat-block-list .mp-cat-item-thumb {
    flex: 0 0 200px;
    aspect-ratio: 16/10;
    overflow: hidden;
    position: relative;
    z-index: 0;
}
.mp-cat-block-list .mp-cat-item-thumb img,
.mp-cat-block-list .mp-cat-item-thumb svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}
.mp-cat-block-list .mp-cat-item:hover .mp-cat-item-thumb img,
.mp-cat-block-list .mp-cat-item:hover .mp-cat-item-thumb svg {
    transform: scale(1.04);
}
/* Badge sopra l'immagine in basso-sx */
.mp-cat-block-list .mp-cat-item .mp-cat-item-body .mp-cat-badge {
    pointer-events: auto;
}

/* Body dx: allineato in alto, padding solo a destra */
.mp-cat-block-list .mp-cat-item-body {
    flex: 1 1 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 6px;
    position: relative;
    z-index: 1;
    pointer-events: none;
}
.mp-cat-block-list .mp-cat-item-body a {
    pointer-events: auto;
}

/* Badge categoria sopra il titolo */
.mp-cat-block-list .mp-cat-item-body > .mp-cat-badge {
    margin-bottom: 4px;
}

/* Titolo grande nero */
.mp-cat-block-list .mp-cat-item-title {
    font-family: var(--mp-font-heading);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    color: var(--mp-dark);
}
.mp-cat-block-list .mp-cat-item-title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}
.mp-cat-block-list .mp-cat-item:hover .mp-cat-item-title a {
    color: var(--mp-accent, #dd3333);
}

/* Data */
.mp-cat-block-list .mp-cat-item-body .mp-post-date {
    color: #888;
    font-size: 12px;
    margin: 0;
}

/* Excerpt 2 righe con ellipsis */
.mp-cat-block-list .mp-cat-item-excerpt {
    color: #555;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

/* Responsive */
@media (max-width: 767px) {
    /* Mantieni layout orizzontale (img sx + body dx) come Wayback */
    .mp-cat-block-list .mp-cat-item {
        flex-direction: row !important;
        gap: 14px;
        padding-bottom: 18px;
    }
    .mp-cat-block-list .mp-cat-item-thumb {
        flex: 0 0 130px;
        width: 130px;
        aspect-ratio: 4/3;
    }
    .mp-cat-block-list .mp-cat-item-body {
        gap: 6px;
    }
    .mp-cat-block-list .mp-cat-item-title {
        font-size: 14px;
        line-height: 1.3;
        /* Tronca a 3 righe per evitare overflow su mobile */
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .mp-cat-block-list .mp-cat-item-body .mp-post-date {
        font-size: 11px;
    }
    /* Nascondi excerpt su mobile (poco spazio, titolo prevale) */
    .mp-cat-block-list .mp-cat-item-excerpt {
        display: none;
    }
    /* Badge più piccolo sopra il titolo */
    .mp-cat-block-list .mp-cat-item-body > .mp-cat-badge {
        font-size: 10px;
        padding: 3px 8px;
        margin-bottom: 2px;
    }
    .mp-cat-block-list .mp-cat-block-grid { gap: 18px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .mp-cat-block-list .mp-cat-item-thumb { flex: 0 0 220px; }
    .mp-cat-block-list .mp-cat-item-title { font-size: 19px; }
}

/* ═══════════════════════════════════════════════════════════
   CATEGORY-BLOCK — Bottone "Më shumë" in fondo al blocco
   ═══════════════════════════════════════════════════════════ */

/* Linee laterali con SPAN REALI (pseudo-element non funzionavano) */
.mp-cat-block-more-line {
    flex: 1 1 auto;
    height: 1px;
    background: #e5e7eb;
    display: block;
    min-width: 30px;
    align-self: center;
}

.mp-cat-block-more-wrap {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 28px;
    padding-top: 0;
    border-top: none;
}
/* Linee grigie SUI LATI del bottone */
/* pseudo rimossi, ora usiamo span reali */
/* BOTTONE UNIFICATO "Më shumë" — usato in TUTTI i widget */
.mp-cat-block-more-btn,
.mp-cat-feat-more,
.mp-cat-item-more,
.mp-cat-fl-more {
    display: inline-block;
    flex: 0 0 auto;
    padding: 13px 42px;
    border: 1px solid #d9d9d9;
    color: var(--mp-dark) !important;
    text-decoration: none;
    font-family: var(--mp-font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all .2s;
    background: transparent;
    white-space: nowrap;
    align-self: flex-start;
}
.mp-cat-block-more-btn:hover,
.mp-cat-feat-more:hover,
.mp-cat-item-more:hover,
.mp-cat-fl-more:hover {
    background: var(--mp-accent, #dd3333);
    color: #fff !important;
    border-color: var(--mp-accent, #dd3333);
}

/* Mobile: bottone full-width più compatto */
@media (max-width: 767px) {
    
/* Linee laterali con SPAN REALI (pseudo-element non funzionavano) */
.mp-cat-block-more-line {
    flex: 1 1 auto;
    height: 1px;
    background: #e5e7eb;
    display: block;
    min-width: 30px;
    align-self: center;
}

.mp-cat-block-more-wrap {
        margin-top: 20px;
        gap: 10px;
    }
    .mp-cat-block-more-btn {
        padding: 11px 22px;
        font-size: 10px;
        letter-spacing: 1.4px;
    }
}

/* ═══════════════════════════════════════════════════════════
   CAROUSEL — Stile IMMERSIVE (pattern Hero: body in basso + hover lift + data reveal)
   ═══════════════════════════════════════════════════════════ */
.mp-carousel-style-immersive .mp-carousel-item {
    aspect-ratio: 16 / 9;
    height: auto;
    background: #000;
    border: none;
    overflow: hidden;
    cursor: pointer;
    position: relative;
}

/* Thumb: copre tutta la card */
.mp-carousel-style-immersive .mp-carousel-thumb {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}
.mp-carousel-style-immersive .mp-carousel-thumb img,
.mp-carousel-style-immersive .mp-carousel-thumb svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.mp-carousel-style-immersive .mp-carousel-item:hover .mp-carousel-thumb img,
.mp-carousel-style-immersive .mp-carousel-item:hover .mp-carousel-thumb svg {
    transform: scale(1.06);
}

/* Overlay gradient nero dal basso */
.mp-carousel-style-immersive .mp-carousel-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(0,0,0,.92) 0%,
        rgba(0,0,0,.55) 40%,
        rgba(0,0,0,.15) 75%,
        rgba(0,0,0,0) 100%);
    z-index: 1;
    transition: background .35s ease;
}
.mp-carousel-style-immersive .mp-carousel-item:hover .mp-carousel-thumb::after {
    background: linear-gradient(to top,
        rgba(0,0,0,.95) 0%,
        rgba(0,0,0,.65) 50%,
        rgba(0,0,0,.25) 100%);
}

/* Body: assoluto in basso, sale al hover (Hero pattern) */
.mp-carousel-style-immersive .mp-carousel-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 16px 14px 8px 14px;
    z-index: 2;
    color: #fff;
    pointer-events: none;
    transition: transform .4s ease;
    will-change: transform;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}
.mp-carousel-style-immersive .mp-carousel-item:hover .mp-carousel-body {
    transform: translateY(-10px);
}
.mp-carousel-style-immersive .mp-carousel-body a,
.mp-carousel-style-immersive .mp-carousel-body .mp-cat-badge {
    pointer-events: auto;
}

/* Badge categoria visibile default */
.mp-carousel-style-immersive .mp-carousel-body .mp-cat-badge {
    display: inline-block;
    margin: 0;
}

/* Titolo bianco visibile default */
.mp-carousel-style-immersive .mp-carousel-title {
    color: #fff;
    font-family: var(--mp-font-heading);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-carousel-style-immersive .mp-carousel-title a {
    color: #fff;
    text-decoration: none;
}

/* Data: NASCOSTA di default, appare in fade al hover */
.mp-carousel-style-immersive .mp-post-date {
    color: rgba(255,255,255,.85);
    font-size: 11px;
    letter-spacing: .3px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    transition: max-height .4s ease, opacity .35s ease .05s;
}
.mp-carousel-style-immersive .mp-carousel-item:hover .mp-post-date {
    max-height: 30px;
    opacity: 1;
}

/* Touch device: data sempre visibile (no hover) */
@media (hover: none) {
    .mp-carousel-style-immersive .mp-post-date {
        max-height: 30px;
        opacity: 1;
    }
    .mp-carousel-style-immersive .mp-carousel-item:hover .mp-carousel-body {
        transform: none;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .mp-carousel-style-immersive .mp-carousel-item { aspect-ratio: 16/9; }
    .mp-carousel-style-immersive .mp-carousel-title { font-size: 14px; }
    .mp-carousel-style-immersive .mp-carousel-body { padding: 12px 12px 6px 12px; }
}


/* ═══════════════════════════════════════════════════════════
   PROTEZIONE OVERLAY-LINK: forza parent relative su tutti i container card
   Previene che un overlay-link si attacchi al body se il parent perde relative
   ═══════════════════════════════════════════════════════════ */
.mp-hero-item,
.mp-carousel-item,
.mp-cat-item,
.mp-cat-item-main,
.mp-cat-item-sub {
    position: relative !important;
}

/* Costringi overlay-link a NON essere più grande del parent */
.mp-hero-overlay-link,
.mp-carousel-overlay-link,
.mp-cat-overlay-link,
.mp-slide-dark-link {
    max-width: 100%;
    max-height: 100%;
}

/* ═══════════════════════════════════════════════════════════
   FIX CRITICO: position:relative SU TUTTI gli mp-cat-item
   Senza questo, gli overlay-link scappano a parent superiori
   creando aree cliccabili "fantasma" su tutta la pagina
   ═══════════════════════════════════════════════════════════ */
.mp-cat-item,
.mp-cat-item-main,
.mp-cat-item-sub,
.mp-cat-feat-main,
.mp-cat-feat-sub-item {
    position: relative !important;
}

/* Sicurezza extra: overlay-link non più grande del proprio parent */
.mp-cat-overlay-link {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
}

/* ═══════════════════════════════════════════════════════════
   CAROUSEL — Recupero spazio quando frecce OFF
   ═══════════════════════════════════════════════════════════ */
.mp-carousel-no-arrows .mp-carousel-viewport {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   HOME — Pre-Footer Full Width Zone
   Zona widget full-width sopra il footer, niente sidebar laterale
   ═══════════════════════════════════════════════════════════ */
.mp-home-prefooter-zone {
    width: 100%;
    background: transparent;
    padding: 40px 0;
}
.mp-home-prefooter-zone .mp-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
}
.mp-home-prefooter-zone > .mp-container > .mp-widget {
    margin-bottom: 24px;
}
.mp-home-prefooter-zone > .mp-container > .mp-widget:last-child {
    margin-bottom: 0;
}

/* Mobile */
@media (max-width: 767px) {
    .mp-home-prefooter-zone {
        padding: 24px 0;
    }
    .mp-home-prefooter-zone .mp-container {
        padding: 0 12px;
    }
}

/* ═══════════════════════════════════════════════════════════
   WIDGET VIDEO — Facade lazy load YouTube/Facebook
   ═══════════════════════════════════════════════════════════ */
.mp-video-widget {
    width: 100%;
}
.mp-video-grid {
    display: grid;
    gap: 18px;
}
.mp-video-cols-1 .mp-video-grid { grid-template-columns: 1fr; }
.mp-video-cols-2 .mp-video-grid { grid-template-columns: repeat(2, 1fr); }
.mp-video-cols-3 .mp-video-grid { grid-template-columns: repeat(3, 1fr); }
.mp-video-cols-4 .mp-video-grid { grid-template-columns: repeat(4, 1fr); }

.mp-video-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: #000;
    position: relative;
    overflow: hidden;
}

/* Facade thumb */
.mp-video-facade {
    position: relative;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
    background: #000;
}
.mp-video-aspect-16-9 .mp-video-facade { aspect-ratio: 16/9; }
.mp-video-aspect-9-16 .mp-video-facade { aspect-ratio: 9/16; }
.mp-video-aspect-1-1  .mp-video-facade { aspect-ratio: 1/1; }
.mp-video-aspect-4-3  .mp-video-facade { aspect-ratio: 4/3; }

.mp-video-thumb,
.mp-video-thumb-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease, filter .3s ease;
}
.mp-video-thumb-placeholder {
    background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
}
.mp-video-facade:hover .mp-video-thumb {
    transform: scale(1.03);
    filter: brightness(.85);
}

.mp-video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    pointer-events: none;
}
.mp-video-play-btn {
    width: 70px;
    height: 70px;
    display: block;
    transition: transform .3s ease;
}
.mp-video-facade:hover .mp-video-play-btn {
    transform: scale(1.1);
}
.mp-video-provider-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0,0,0,.75);
    color: #fff;
    font-family: var(--mp-font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 4px 10px;
    text-transform: uppercase;
}

/* Quando il player è attivo: facade trasformata in container iframe */
.mp-video-facade.mp-video-playing {
    cursor: default;
}
.mp-video-facade.mp-video-playing > * {
    display: block !important;
}

/* Titolo sotto il video */
.mp-video-title {
    font-family: var(--mp-font-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0;
    padding: 0 12px 12px;
    color: #fff;
    background: #000;
}

/* Container ha sfondo bianco con titolo nero (alternativa) */
.mp-video-item:not(:has(.mp-video-title)) {
    background: transparent;
}

/* Responsive */
@media (max-width: 1024px) {
    .mp-video-cols-3 .mp-video-grid,
    .mp-video-cols-4 .mp-video-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 600px) {
    .mp-video-cols-2 .mp-video-grid,
    .mp-video-cols-3 .mp-video-grid,
    .mp-video-cols-4 .mp-video-grid {
        grid-template-columns: 1fr;
    }
    .mp-video-play-btn {
        width: 55px;
        height: 55px;
    }
}

/* ═══════════════════════════════════════════════════════════
   WIDGET METEO MOTI — Auto-responsive container queries
   ═══════════════════════════════════════════════════════════ */
.mp-weather {
    container-type: inline-size;
    border-radius: 8px;
    overflow: hidden;
    font-family: var(--mp-font-heading);
    position: relative;
}
.mp-weather.mp-weather-loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity .2s;
}

/* HEADER (blu metropol) */
.mp-weather-header {
    background: #082d48;
    color: #fff;
    padding: 16px 22px;
}
.mp-weather-city-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.mp-weather-city-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.mp-weather-city-name {
    font-family: var(--mp-font-heading);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
}

/* Custom dropdown city picker */
.mp-weather-picker {
    position: relative;
    display: inline-block;
}
.mp-weather-picker-toggle {
    font-family: var(--mp-font-heading);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
    background: transparent;
    border: 0;
    padding: 4px 8px 4px 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
    transition: opacity .15s;
}
.mp-weather-picker-toggle:hover { opacity: 0.85; }
.mp-weather-picker-arrow {
    opacity: 0.7;
    transition: transform .2s;
}
.mp-weather-picker-toggle[aria-expanded="true"] .mp-weather-picker-arrow {
    transform: rotate(180deg);
}

.mp-weather-picker-list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 180px;
    max-height: 320px;
    overflow-y: auto;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #0a3d62;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    z-index: 100;
    font-family: var(--mp-font-heading);
}
.mp-weather-picker-list[hidden] {
    display: none !important;
}
.mp-weather-picker-list li {
    padding: 9px 16px;
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px;
    cursor: pointer;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.mp-weather-picker-list li:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}
.mp-weather-picker-list li.is-selected {
    background: var(--mp-accent, #dd3333);
    color: #fff;
    font-weight: 700;
}
.mp-weather-picker-list::-webkit-scrollbar { width: 6px; }
.mp-weather-picker-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 3px; }
.mp-weather-picker-list::-webkit-scrollbar-track { background: transparent; }
.mp-weather-date {
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    margin-top: 2px;
}

.mp-weather-current {
    display: flex;
    align-items: center;
    gap: 14px;
}
.mp-weather-current-icon { display: flex; align-items: center; }
.mp-weather-temp-big {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}
.mp-weather-temp-desc {
    font-size: 11px;
    color: rgba(255,255,255,0.7);
    margin-top: 4px;
}

.mp-weather-sun {
    display: flex;
    gap: 22px;
    padding-left: 20px;
    border-left: 1px solid rgba(255,255,255,0.15);
}
.mp-weather-sun-item { text-align: center; }
.mp-weather-sun-label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
    margin-bottom: 3px;
    white-space: nowrap;
}
.mp-weather-sun-time {
    font-size: 13px;
    font-weight: 700;
}

/* 7-DAY FORECAST GRID */
.mp-weather-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}
.mp-weather-day {
    padding: 14px 6px 20px 6px;
    text-align: center;
    border-right: 1px solid rgba(0,0,0,0.05);
    position: relative;
}
.mp-weather-day:last-child { border-right: 0; }
.mp-weather-day-name {
    font-size: 10px;
    color: #888;
    letter-spacing: 1px;
    margin-bottom: 8px;
    font-weight: 700;
}
.mp-weather-day-icon {
    margin: 0 auto 6px;
    display: flex;
    justify-content: center;
}
.mp-weather-day-temps {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: baseline;
    margin-top: 4px;
}
.mp-weather-day-tmax {
    font-size: 16px;
    font-weight: 700;
    color: #d32f2f;
}
.mp-weather-day-tmin {
    font-size: 14px;
    font-weight: 500;
    color: #1976d2;
}

/* SOT (oggi) evidenziato */
.mp-weather-day.is-today {
    background: #fef9e7;
}
.mp-weather-day.is-today::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #f59e0b;
}
.mp-weather-day.is-today .mp-weather-day-name {
    color: #92400e;
}

/* CONTAINER QUERY: in sidebar stretta → layout verticale */
@container (max-width: 420px) {
    .mp-weather-city-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .mp-weather-current {
        order: -1;
    }
    .mp-weather-sun {
        padding-left: 0;
        border-left: 0;
        padding-top: 12px;
        border-top: 1px solid rgba(255,255,255,0.15);
        width: 100%;
        justify-content: space-between;
    }
    /* Lista verticale invece di grid 7 colonne */
    .mp-weather-days {
        grid-template-columns: 1fr;
    }
    .mp-weather-day {
        display: grid;
        grid-template-columns: 50px 40px 1fr;
        align-items: center;
        gap: 12px;
        padding: 8px 16px;
        border-right: 0;
        border-bottom: 1px solid rgba(0,0,0,0.05);
        text-align: left;
    }
    .mp-weather-day:last-child { border-bottom: 0; }
    .mp-weather-day-name { margin: 0; }
    .mp-weather-day-icon { margin: 0; }
    .mp-weather-day-temps { justify-content: flex-end; gap: 10px; }
    .mp-weather-day.is-today {
        border-left: 3px solid #f59e0b;
        padding-left: 13px;
    }
    .mp-weather-day.is-today::before { display: none; }
}

/* Errore */
.mp-weather-error {
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 13px;
    background: #f9f9f9;
    border-radius: 8px;
}

/* Mobile native (sotto 600px viewport) — fallback se container query non supportato */
@media (max-width: 600px) {
    .mp-weather-city-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .mp-weather-sun {
        padding-left: 0;
        border-left: 0;
        padding-top: 12px;
        border-top: 1px solid rgba(255,255,255,0.15);
        width: 100%;
    }
}

/* ═══════════════════════════════════════════════════════════
   HEADER PRIMARY MENU — Active/Hover + Mega Menu
   ═══════════════════════════════════════════════════════════ */
.mp-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
    align-items: stretch;
}
.mp-menu-item {
    position: relative;
    display: flex;
    align-items: center;
}
.mp-site-header .mp-menu .mp-menu-link,
ul#mp-primary-menu li.mp-menu-item > a.mp-menu-link,
.mp-site-header ul#mp-primary-menu .mp-menu-item .mp-menu-link {
    color: rgba(255,255,255,0.88) !important;
    font-family: 'Flama', sans-serif !important;
    font-size: var(--mp-menu-fs, 15px) !important;
    font-weight: 700 !important;
    letter-spacing: var(--mp-menu-ls, 1.5px) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 22px var(--mp-menu-px, 16px) 19px var(--mp-menu-px, 16px) !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    height: auto !important;
    background: transparent !important;
}

/* MENU forza no-wrap */
ul#mp-primary-menu {
    flex-wrap: nowrap !important;
}
.mp-menu-link:hover,
.mp-menu-link:focus {
    color: #fff !important;
}
.mp-menu-caret {
    display: inline-flex;
    align-items: center;
    color: var(--mp-accent, #dd3333);
    transition: transform .25s ease;
    margin-left: 2px;
}
.mp-menu-caret svg {
    width: 12px;
    height: 12px;
}

/* Hover state: linea rossa 3/4 width */
.mp-menu-link::after {
    content: '';
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 3px;
    background: var(--mp-accent, #dd3333);
    transition: width .25s ease;
}
.mp-menu-item:hover .mp-menu-link::after,
.mp-menu-link:focus::after {
    width: 75%;
}

/* Active state: linea rossa 3/4 width permanente */
.mp-menu-item.is-active .mp-menu-link {
    color: #fff !important;
}
.mp-menu-item.is-active .mp-menu-link::after {
    width: 75%;
}

.mp-menu-item.has-megamenu:hover .mp-menu-caret {
    transform: rotate(180deg);
}

/* ═══════════════════════════════════════════════════════════
   MEGA MENU (dropdown sotto voce con sottocategorie)
   ═══════════════════════════════════════════════════════════ */
/* Megamenu attaccato all'header — full width container */
.mp-header-main {
    position: relative;
}
.mp-megamenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    background: #ffffff !important;
    color: #333 !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.18);
    border-top: 3px solid var(--mp-accent, #dd3333);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility 0s linear .2s;
    z-index: 1000;
}
.mp-megamenu * {
    color: inherit;
}
.mp-header-main.mp-megamenu-open .mp-megamenu.is-open,
.mp-megamenu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .25s ease;
}


.mp-megamenu-inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 36px 20px 28px 20px;
    box-sizing: border-box;
}
.mp-megamenu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 2px 32px;
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
}
.mp-megamenu-grid li {
    margin: 0;
    padding: 0;
}
.mp-site-header .mp-megamenu .mp-megamenu-grid a,
ul#mp-primary-menu .mp-megamenu-grid li a {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    padding: 11px 12px 11px 0 !important;
    text-decoration: none !important;
    font-family: 'Flama', sans-serif !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    transition: color .15s, padding-left .2s ease !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* TIER 1 — TOP (>=50 post) bold nero pieno */
.mp-megamenu-grid a.mp-cat-tier-1 {
    color: #0f172a !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
}
/* TIER 2 — MEDIUM (10-49) medium grigio scuro */
.mp-megamenu-grid a.mp-cat-tier-2 {
    color: #374151 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
/* TIER 3 — LOW (<10) regular grigio medio (ancora leggibile) */
.mp-megamenu-grid a.mp-cat-tier-3 {
    color: #6b7280 !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
}

/* Count piccolo a destra (tutti tier) */
.mp-megamenu-grid a .mp-cat-count {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-size: 12px !important;
    flex-shrink: 0;
    margin-left: auto;
    padding-left: 8px;
}

/* Hover: rosso accent (override tier color) */
.mp-megamenu-grid a:hover {
    color: var(--mp-accent, #dd3333) !important;
    padding-left: 6px !important;
}
.mp-megamenu-grid a:hover .mp-cat-count {
    color: rgba(221, 51, 51, 0.5) !important;
}
.mp-site-header .mp-megamenu .mp-megamenu-grid a:hover,
ul#mp-primary-menu .mp-megamenu-grid li a:hover {
    color: var(--mp-accent, #dd3333) !important;
    padding-left: 8px !important;
}
.mp-site-header .mp-megamenu .mp-megamenu-grid a::after,
ul#mp-primary-menu .mp-megamenu-grid li a::after {
    display: none !important;
}
.mp-megamenu-grid a::after {
    display: none !important;
}
.mp-megamenu-grid a:hover {
    color: var(--mp-accent, #dd3333) !important;
}

.mp-megamenu-footer {
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
    text-align: right;
}
.mp-megamenu-view-all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--mp-accent, #dd3333) !important;
    font-family: 'Flama', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    padding: 10px 18px !important;
    border: 1px solid var(--mp-accent, #dd3333);
    transition: all .2s ease;
}
.mp-megamenu-view-all:hover {
    background: var(--mp-accent, #dd3333) !important;
    color: #fff !important;
}
.mp-megamenu-view-all:hover {
    opacity: 0.7;
}

/* Mobile: nasconde megamenu, mostra come sottomenu accordion */


@media (max-width: 1024px) {
    .mp-megamenu {
        position: static;
        transform: none;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        border-top: 0;
        background: rgba(0,0,0,0.15);
    }
    .mp-megamenu-inner {
        padding: 16px 20px;
    }
    .mp-megamenu-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .mp-megamenu-grid a {
        color: #fff !important;
        padding: 10px 0;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .mp-megamenu-grid a:hover {
        color: var(--mp-accent, #dd3333) !important;
    }
    .mp-megamenu-view-all {
        color: var(--mp-accent, #dd3333) !important;
    }
}


/* Menu primary: non straborda */
.mp-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.mp-site-branding,
.mp-header-right {
    flex: 0 0 auto;
}
.mp-main-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE MENU — Drawer off-canvas + accordion
   ═══════════════════════════════════════════════════════════ */

/* Hamburger: nascosto su desktop */
.mp-header-right .mp-menu-toggle {
    display: none;
    background: transparent;
    border: 0;
    padding: 4px 8px;
    cursor: pointer;
    order: 99;
    color: #fff;
    line-height: 0;
    transition: opacity .15s;
}
.mp-header-right .mp-menu-toggle:hover {
    opacity: 0.75;
}
.mp-header-right .mp-menu-toggle svg {
    width: 50px;
    height: 30px;
    display: block;
}

/* Mobile drawer */
.mp-mobile-overlay {
    display: none;
}

.mp-mobile-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: none;
    background: #082d48;
    color: #fff;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.mp-mobile-drawer.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .3s ease, transform .3s ease;
}
.mp-mobile-drawer.is-open {
    transform: translateX(0);
}

.mp-mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    position: sticky;
    top: 0;
    background: #082d48;
    z-index: 10;
    overflow: visible;
}
.mp-mobile-drawer-close {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);
    color: #fff;
    cursor: pointer;
    padding: 8px;
    display: flex;
    border-radius: 4px;
    transition: background .15s, border-color .15s;
}
.mp-mobile-drawer-close:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.4);
}
.mp-mobile-drawer-title {
    font-family: var(--mp-font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
}
.mp-mobile-drawer-close {
    background: transparent;
    border: 0;
    color: #fff;
    cursor: pointer;
    padding: 4px;
    display: flex;
}

.mp-mobile-drawer-nav {
    padding: 12px 0 0 0;
    max-width: 920px;
    margin: 0 auto;
}
.mp-mobile-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
.mp-mobile-item {
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mp-mobile-item-link,
.mp-mobile-item-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    border: 0;
    padding: 18px 24px;
    color: #fff !important;
    font-family: var(--mp-font-heading);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    text-align: left;
    line-height: 1;
}
.mp-mobile-item-link:hover,
.mp-mobile-item-toggle:hover {
    background: rgba(255,255,255,0.06);
}

.mp-mobile-item-caret {
    color: var(--mp-accent, #dd3333);
    transition: transform .25s;
    flex-shrink: 0;
}
.mp-mobile-item.is-open .mp-mobile-item-caret {
    transform: rotate(180deg);
}

.mp-mobile-sub {
    background: rgba(0,0,0,0.18);
    padding: 4px 0 12px 0;
}
.mp-mobile-sublist {
    list-style: none;
    margin: 0;
    padding: 14px 16px 6px 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px 12px;
}
.mp-mobile-sublist li {
    margin: 0;
}
.mp-mobile-sublist a {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
    padding: 10px 6px;
    text-decoration: none !important;
    font-family: var(--mp-font-heading);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    transition: color .15s;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* TIER 1 — TOP */
.mp-mobile-sublist a.mp-cat-tier-1 {
    color: #ffffff !important;
    font-size: 14.5px;
    font-weight: 700;
}
/* TIER 2 — MEDIUM */
.mp-mobile-sublist a.mp-cat-tier-2 {
    color: rgba(255,255,255,0.85) !important;
    font-size: 13.5px;
    font-weight: 500;
}
/* TIER 3 — LOW */
.mp-mobile-sublist a.mp-cat-tier-3 {
    color: rgba(255,255,255,0.65) !important;
    font-size: 13px;
    font-weight: 400;
}
.mp-mobile-sublist a .mp-cat-count {
    color: rgba(255,255,255,0.4) !important;
    font-weight: 400;
    font-size: 11px;
    margin-left: auto;
    padding-left: 8px;
    flex-shrink: 0;
}
.mp-mobile-sublist a:hover,
.mp-mobile-sublist a:active {
    color: var(--mp-accent, #dd3333) !important;
}

/* 3 colonne su tablet/landscape */
@media (min-width: 600px) {
    .mp-mobile-sublist {
        grid-template-columns: repeat(3, 1fr);
        padding: 16px 24px 8px 24px;
    }
}
/* 4 colonne su tablet landscape */
@media (min-width: 900px) {
    .mp-mobile-sublist {
        grid-template-columns: repeat(4, 1fr);
        padding: 18px 30px 10px 30px;
    }
}

.mp-mobile-view-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 12px 16px 14px 16px;
    padding: 11px 22px;
    color: var(--mp-accent, #dd3333) !important;
    font-family: var(--mp-font-heading);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none !important;
    border: 1px solid var(--mp-accent, #dd3333);
    transition: all .2s;
}
.mp-mobile-view-all:hover,
.mp-mobile-view-all:active {
    background: var(--mp-accent, #dd3333) !important;
    color: #fff !important;
}

/* Body lock quando drawer aperto */
body.mp-drawer-open {
    overflow: hidden;
}

/* Responsive: hamburger visibile, menu desktop nascosto */
@media (max-width: 1024px) {
    .mp-header-right .mp-menu-toggle {
        display: inline-flex;
    }
    .mp-main-nav {
        display: none;
    }
    /* Megamenu desktop nascosti su mobile (gestiti dal drawer) */
    .mp-megamenu {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   LANGUAGE SWITCHER — Bandierine dropdown
   ═══════════════════════════════════════════════════════════ */
.mp-lang-switcher {
    position: relative;
    display: inline-block;
}
.mp-lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 3px;
    padding: 5px 7px 5px 6px;
    color: #fff;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    font-family: var(--mp-font-heading);
    line-height: 1;
}
/* Nascondo label corrente (rimasta nel codice solo per ARIA) */
.mp-lang-current-label {
    display: none;
}
.mp-lang-toggle:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.3);
}
.mp-lang-flag-current {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}
.mp-lang-flag-current svg {
    border-radius: 2px;
    display: block;
}
.mp-lang-current-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #fff;
}
.mp-lang-caret {
    color: rgba(255,255,255,0.7);
    transition: transform .2s;
    margin-left: 1px;
}
.mp-lang-toggle[aria-expanded="true"] .mp-lang-caret {
    transform: rotate(180deg);
}

/* Dropdown lista lingue */
.mp-lang-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 160px;
    margin: 0;
    padding: 6px 0;
    list-style: none;
    background: #0a3d62;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
    z-index: 1000000;
    font-family: var(--mp-font-heading);
}
.mp-lang-list[hidden] {
    display: none !important;
}
.mp-lang-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 14px;
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.mp-lang-list li:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}
.mp-lang-list li.is-active {
    background: var(--mp-accent, #dd3333);
    color: #fff;
    font-weight: 700;
}
.mp-lang-list li.is-active .mp-lang-label::after {
    content: ' ✓';
    opacity: 0.8;
    margin-left: 4px;
}
.mp-lang-flag {
    display: inline-flex;
    line-height: 0;
    flex-shrink: 0;
}
.mp-lang-flag svg {
    border-radius: 2px;
    display: block;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.15);
}
.mp-lang-label {
    flex: 1;
}

/* Hide Google Translate banner orribile */
.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-balloon-frame {
    display: none !important;
}
body {
    top: 0 !important;
}
.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE DRAWER — lang switcher + search dentro
   ═══════════════════════════════════════════════════════════ */
.mp-mobile-drawer-tools {
    display: flex;
    align-items: center;
    gap: 10px;
}
.mp-mobile-drawer-tools .mp-lang-toggle {
    height: 33px;
    box-sizing: border-box;
    padding: 5px 8px 5px 7px;
}
.mp-mobile-drawer-search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    padding: 6px 9px;
    transition: background .15s, border-color .15s;
    line-height: 1;
    height: 33px;
    box-sizing: border-box;
}
.mp-mobile-drawer-search:hover {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.3);
}

/* Lang switcher DENTRO drawer: dropdown si apre verso il basso */
.mp-mobile-drawer-tools {
    overflow: visible;
}
.mp-mobile-drawer-tools .mp-lang-switcher {
    position: relative;
}
.mp-mobile-drawer-tools .mp-lang-list {
    top: calc(100% + 8px);
    left: 0;
    right: auto;
    z-index: 1000000;
}

@media (max-width: 1024px) {
    /* Su mobile: nascondi lang+search dell'header (sono nel drawer ora) */
    .mp-header-right > .mp-lang-switcher,
    .mp-header-right > .mp-search-toggle {
        display: none !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   SOCIAL ICONS WIDGET
   ═══════════════════════════════════════════════════════════ */
.mp-topbar-widget {
    display: inline-flex;
    align-items: center;
}
.mp-social-icons {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.mp-social-icons li {
    margin: 0;
    line-height: 0;
}
.mp-social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.75);
    transition: color .15s, transform .15s;
    text-decoration: none !important;
}
.mp-social-icons a:hover {
    transform: translateY(-1px);
}

/* Hover colori brand */
.mp-social-icons a.mp-social-facebook:hover  { color: #1877F2; }
.mp-social-icons a.mp-social-instagram:hover { color: #E4405F; }
.mp-social-icons a.mp-social-x:hover         { color: #ffffff; }
.mp-social-icons a.mp-social-youtube:hover   { color: #FF0000; }
.mp-social-icons a.mp-social-tiktok:hover    { color: #ffffff; }
.mp-social-icons a.mp-social-linkedin:hover  { color: #0A66C2; }
.mp-social-icons a.mp-social-telegram:hover  { color: #26A5E4; }
.mp-social-icons a.mp-social-whatsapp:hover  { color: #25D366; }

/* Style: rounded (footer) */
.mp-social-style-rounded a {
    width: 38px; height: 38px;
    border: 1px solid currentColor;
    border-radius: 50%;
}
/* Style: filled */
.mp-social-style-filled a {
    width: 36px; height: 36px;
    border-radius: 50%;
    color: #fff;
}
.mp-social-style-filled a.mp-social-facebook  { background: #1877F2; }
.mp-social-style-filled a.mp-social-instagram { background: #E4405F; }
.mp-social-style-filled a.mp-social-x         { background: #000; }
.mp-social-style-filled a.mp-social-youtube   { background: #FF0000; }
.mp-social-style-filled a.mp-social-tiktok    { background: #000; }
.mp-social-style-filled a.mp-social-linkedin  { background: #0A66C2; }
.mp-social-style-filled a.mp-social-telegram  { background: #26A5E4; }
.mp-social-style-filled a.mp-social-whatsapp  { background: #25D366; }

.mp-social-style-filled a:hover { opacity: 0.85; }

/* Separator visivo tra social e data nel topbar */
.mp-topbar-right .mp-topbar-widget + .mp-topbar-date {
    border-left: 1px solid rgba(255,255,255,0.18);
    margin-left: 14px;
    padding-left: 14px;
}

/* Generic .mp-icon (svg helper) */
.mp-icon {
    flex-shrink: 0;
    vertical-align: middle;
}

/* ═══════════════════════════════════════════════════════════
   MOBILE FIX FORZATI — 14 Mag 2026
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .mp-topbar {
        display: none !important;
    }
    .mp-header-right .mp-menu-toggle {
        margin-right: 16px !important;
    }
    .mp-header-inner {
        padding-right: 24px;
    }
    .mp-mobile-item.is-highlight .mp-mobile-item-link,
    .mp-mobile-item.is-highlight .mp-mobile-item-toggle {
        color: var(--mp-accent, #dd3333) !important;
    }
}

.mp-mobile-drawer-footer {
    padding: 20px 24px 32px 24px;
    margin-top: 0;
    border-top: 1px solid rgba(255,255,255,0.1);
}
.mp-mobile-utility-links {
    list-style: none;
    margin: 0;
    padding: 8px 0;
    display: flex;
    flex-direction: column;
}
.mp-mobile-utility-links li { margin: 0; }
.mp-mobile-utility-links a {
    display: block;
    padding: 12px 0;
    color: rgba(255,255,255,0.72) !important;
    font-family: var(--mp-font-heading);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    transition: color .15s;
}
.mp-mobile-utility-links a:hover { color: #fff !important; }
.mp-mobile-drawer-date {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.6);
    font-family: var(--mp-font-heading);
    font-size: 13px;
}
.mp-mobile-drawer-date .mp-icon { opacity: 0.7; flex-shrink: 0; }
.mp-mobile-drawer-social {
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    justify-content: center;
}
.mp-mobile-drawer-social .mp-social-icons { gap: 22px; }
.mp-mobile-drawer-social .mp-social-icons a {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 50%;
    color: rgba(255,255,255,0.85);
}
.mp-mobile-drawer-social .mp-social-icons a:hover { border-color: currentColor; }
.mp-mobile-drawer-social .mp-social-icons svg { width: 18px; height: 18px; }


/* DENONCO CTA — call to action evidenziata nel drawer footer */
.mp-mobile-denonco-btn {
    display: block;
    margin: 0 0 18px 0;
    padding: 14px 20px;
    background: var(--mp-accent, #dd3333);
    color: #fff !important;
    font-family: var(--mp-font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    border-radius: 3px;
    transition: opacity .15s, transform .15s;
}
.mp-mobile-denonco-btn:hover,
.mp-mobile-denonco-btn:active {
    opacity: 0.92;
    transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   FOOTER — Riscritto pulito (3 rows: top / mid / bottom)
   ═══════════════════════════════════════════════════════════ */
.mp-site-footer {
    background: #0a3d62;
    color: rgba(255,255,255,0.85);
    font-family: var(--mp-font-heading);
    font-size: 14px;
    line-height: 1.6;
    padding: 36px 0 24px 0;
    margin-top: 40px;
}
.mp-site-footer .mp-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 24px;
}

.mp-footer-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
.mp-footer-row:last-child,
.mp-footer-row-mid {
    border-bottom: 0;
}
.mp-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 8px;
}

.mp-footer-row-top {
    justify-content: space-between;
}
.mp-footer-row-mid {
    justify-content: space-between;
    align-items: center;
}

.mp-footer-col-left,
.mp-footer-col-right {
    flex: 1 1 auto;
}
.mp-footer-col-right {
    text-align: right;
}

/* ROW 1: privacy links + redazione */
.mp-footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 0;
    align-items: center;
}
.mp-footer-menu li {
    margin: 0;
    padding: 0 14px;
    border-right: 1px solid rgba(255,255,255,0.2);
}
.mp-footer-menu li:first-child {
    padding-left: 0;
}
.mp-footer-menu li:last-child {
    border-right: 0;
    padding-right: 0;
}
.mp-footer-menu a {
    color: rgba(255,255,255,0.85) !important;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.3px;
    transition: color .15s;
}
.mp-footer-menu a:hover {
    color: #fff !important;
}

.mp-footer-redazione {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    color: rgba(255,255,255,0.75);
}
.mp-footer-redazione-line {
    display: block;
    line-height: 1.5;
    white-space: nowrap;
}
.mp-footer-redazione strong {
    color: #fff;
    font-weight: 700;
}
.mp-footer-redazione a {
    color: rgba(255,255,255,0.85) !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255,255,255,0.3) !important;
    transition: color .15s;
}
.mp-footer-redazione a:hover {
    color: #fff !important;
}

/* ROW 2: marketing line + social */
.mp-footer-marketing {
    font-size: 13px;
    color: rgba(255,255,255,0.78);
    line-height: 1.6;
}
.mp-footer-marketing strong {
    color: #fff;
    font-weight: 700;
}
.mp-footer-social {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 0 0 auto;
}
.mp-footer-social .mp-social-icons {
    gap: 16px;
}
.mp-footer-social .mp-social-icons a {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 50%;
    color: rgba(255,255,255,0.85);
}
.mp-footer-social .mp-social-icons a:hover {
    border-color: currentColor;
}
.mp-footer-social .mp-social-icons svg {
    width: 16px;
    height: 16px;
}

/* ROW 3: copyright pieno */
.mp-footer-bottom {
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    line-height: 1.75;
    text-align: left !important;
    padding-top: 20px;
    display: block;
    max-width: 100%;
}
.mp-footer-bottom * {
    text-align: left !important;
}
.mp-footer-bottom strong {
    color: rgba(255,255,255,0.9);
    font-weight: 700;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
    .mp-footer-row-top,
    .mp-footer-row-mid {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .mp-footer-col-right {
        text-align: left;
        width: 100%;
    }
    .mp-footer-social {
        justify-content: center;
        width: 100%;
    }
    .mp-footer-menu {
        flex-wrap: wrap;
        gap: 4px 0;
    }
    .mp-footer-bottom {
        text-align: left;
        font-size: 11.5px;
    }
}

/* Marketing: 2 righe controllate */
.mp-footer-marketing-line {
    display: block;
    line-height: 1.6;
}
.mp-footer-marketing-line + .mp-footer-marketing-line {
    margin-top: 2px;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER FIX FORZATI — overrides finali
   ═══════════════════════════════════════════════════════════ */

/* 1) NEN DREJTIMIN E — nowrap forzato con specificità alta */
.mp-site-footer .mp-footer-redazione .mp-footer-redazione-line {
    display: block !important;
    white-space: nowrap !important;
}

/* 2) BORDI ROW: nessun bordo tra le row, solo sopra il copyright */
.mp-site-footer .mp-footer-row {
    border-bottom: 0 !important;
    border-top: 0 !important;
}
.mp-site-footer .mp-footer-row-top {
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
}
.mp-site-footer .mp-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1) !important;
    margin-top: 8px;
}

/* 3) GRADIENT TRANSIZIONE: body → footer (sottile shadow di transizione) */
.mp-site-footer {
    position: relative;
    margin-top: 0;
}
.mp-site-footer::before {
    content: '';
    position: absolute;
    top: -40px;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(to bottom, rgba(10, 61, 98, 0) 0%, rgba(10, 61, 98, 0.15) 50%, rgba(10, 61, 98, 0.4) 100%);
    pointer-events: none;
    z-index: 1;
}

/* Linea accent rossa sottile sopra il footer (touch finale brand) */
.mp-site-footer::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--mp-accent, #dd3333);
}

/* ═══════════════════════════════════════════════════════════
   FOOTER OVERRIDE FINALE — vince su tutte le regole precedenti
   ═══════════════════════════════════════════════════════════ */

/* 1. Gradient transizione body→footer (#123457 → #0a3d62) */
body footer.mp-site-footer {
    background: linear-gradient(to bottom, #123457 0%, #0a3d62 80px, #0a3d62 100%) !important;
    margin-top: 0;
    position: relative;
    padding: 80px 0 24px 0;
}

/* 2. NESSUN bordo decoration sopra footer (no rosso, no shadow) */
body footer.mp-site-footer::before,
body footer.mp-site-footer::after {
    display: none !important;
    content: none !important;
}

/* 3. RESET COMPLETO bordi tra row */
body footer.mp-site-footer .mp-footer-row {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* 4. Solo UN bordo: sopra il copyright (riga sottile divisoria) */
body footer.mp-site-footer .mp-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12) !important;
    margin-top: 14px !important;
    padding-top: 18px !important;
}

/* 5. REDAZIONE — forza nowrap + font più piccolo */
body footer.mp-site-footer .mp-footer-redazione .mp-footer-redazione-line {
    display: block !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}
@media (max-width: 1200px) {
    body footer.mp-site-footer .mp-footer-redazione .mp-footer-redazione-line {
        font-size: 12px !important;
    }
}
@media (max-width: 1024px) {
    body footer.mp-site-footer .mp-footer-redazione .mp-footer-redazione-line {
        white-space: normal !important;
        font-size: 13px !important;
    }
}

/* 6. COPYRIGHT — testo pulito, niente justify */
body footer.mp-site-footer .mp-footer-bottom p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.7 !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.65) !important;
    word-spacing: normal !important;
}
body footer.mp-site-footer .mp-footer-bottom p strong {
    color: rgba(255,255,255,0.92) !important;
    font-weight: 700 !important;
}


/* ═══════════════════════════════════════════════════════════
   FOOTER REDAZIONE — Specificità BULLDOZER
   ═══════════════════════════════════════════════════════════ */
html body footer.mp-site-footer div.mp-footer-row div.mp-footer-redazione span.mp-footer-redazione-line {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: keep-all !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
html body footer.mp-site-footer .mp-footer-redazione {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    text-align: right !important;
}
html body footer.mp-site-footer .mp-footer-redazione-line + .mp-footer-redazione-line {
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER MODERNO v2.0 — Override completo (vince su tutto)
   ═══════════════════════════════════════════════════════════ */

body footer.mp-site-footer {
    background: linear-gradient(to bottom, #123457 0%, #0a3d62 80px, #0a3d62 100%) !important;
    color: rgba(255,255,255,0.85) !important;
    font-family: 'Flama', 'Helvetica Neue', sans-serif !important;
    padding: 56px 0 24px 0 !important;
    margin-top: 0 !important;
    position: relative;
}
body footer.mp-site-footer::before,
body footer.mp-site-footer::after {
    display: none !important;
}
body footer.mp-site-footer .mp-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 24px;
}

/* GRID 4 COLONNE */
body footer.mp-site-footer .mp-footer-grid {
    display: grid !important;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 48px;
    padding-bottom: 36px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

body footer.mp-site-footer .mp-footer-col-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #fff !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* COL 1 — Brand */
body footer.mp-site-footer .mp-footer-logo {
    display: inline-block;
    color: #fff !important;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-decoration: none !important;
    margin-bottom: 14px;
    font-family: var(--mp-font-heading);
}
body footer.mp-site-footer .mp-footer-logo .mp-dot {
    color: var(--mp-accent, #dd3333);
}
body footer.mp-site-footer .mp-footer-tagline {
    font-size: 13px !important;
    color: rgba(255,255,255,0.65) !important;
    line-height: 1.7 !important;
    margin: 0 0 18px 0 !important;
}
body footer.mp-site-footer .mp-footer-social-icons .mp-social-icons {
    gap: 10px !important;
}
body footer.mp-site-footer .mp-footer-social-icons .mp-social-icons a {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    border-radius: 50% !important;
    color: rgba(255,255,255,0.85) !important;
}
body footer.mp-site-footer .mp-footer-social-icons .mp-social-icons a:hover {
    border-color: currentColor !important;
}
body footer.mp-site-footer .mp-footer-social-icons .mp-social-icons svg {
    width: 14px !important;
    height: 14px !important;
}

/* COL 2 — Sezioni link */
body footer.mp-site-footer .mp-footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 9px;
}
body footer.mp-site-footer .mp-footer-links li {
    margin: 0 !important;
}
body footer.mp-site-footer .mp-footer-links a {
    color: rgba(255,255,255,0.72) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: color .15s, padding-left .15s ease;
}
body footer.mp-site-footer .mp-footer-links a:hover {
    color: #fff !important;
    padding-left: 4px;
}
body footer.mp-site-footer .mp-footer-utility {
    margin-top: 10px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.08);
}
body footer.mp-site-footer .mp-footer-utility a {
    color: rgba(255,255,255,0.55) !important;
    font-size: 12px !important;
}

/* COL 3 — Redazione */
body footer.mp-site-footer .mp-footer-info-block {
    margin-bottom: 14px;
}
body footer.mp-site-footer .mp-footer-info-block:last-child {
    margin-bottom: 0;
}
body footer.mp-site-footer .mp-footer-info-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px !important;
    color: rgba(255,255,255,0.5) !important;
    letter-spacing: 0.5px;
    margin-bottom: 3px;
    line-height: 1;
}
body footer.mp-site-footer .mp-footer-info-label svg {
    opacity: 0.7;
}
body footer.mp-site-footer .mp-footer-info-value {
    display: block;
    font-size: 13px !important;
    color: rgba(255,255,255,0.92) !important;
    text-decoration: none !important;
    line-height: 1.4;
    word-break: break-word;
}
body footer.mp-site-footer .mp-footer-info-strong {
    font-weight: 600 !important;
}
body footer.mp-site-footer a.mp-footer-info-value:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(255,255,255,0.3) !important;
}

/* COL 4 — Marketing */
body footer.mp-site-footer .mp-footer-marketing-text {
    font-size: 13px !important;
    color: rgba(255,255,255,0.72) !important;
    line-height: 1.6 !important;
    margin: 0 0 16px 0 !important;
}
body footer.mp-site-footer .mp-footer-cta {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 10px 20px !important;
    border: 1px solid var(--mp-accent, #dd3333) !important;
    color: var(--mp-accent, #dd3333) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    transition: all .2s ease;
}
body footer.mp-site-footer .mp-footer-cta:hover {
    background: var(--mp-accent, #dd3333) !important;
    color: #fff !important;
}

/* BOTTOM — Copyright pieno */
body footer.mp-site-footer .mp-footer-bottom {
    padding-top: 22px;
}
body footer.mp-site-footer .mp-footer-bottom p {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.7 !important;
    font-size: 12px !important;
    color: rgba(255,255,255,0.55) !important;
    word-spacing: normal !important;
}
body footer.mp-site-footer .mp-footer-bottom p strong {
    color: rgba(255,255,255,0.88) !important;
    font-weight: 700 !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    body footer.mp-site-footer .mp-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 32px;
    }
}
@media (max-width: 600px) {
    body footer.mp-site-footer {
        padding: 40px 0 20px 0 !important;
    }
    body footer.mp-site-footer .mp-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-bottom: 26px;
    }
    body footer.mp-site-footer .mp-footer-bottom p {
        font-size: 11.5px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER FIX: width container + linea singola sopra copyright
   ═══════════════════════════════════════════════════════════ */

/* 1. Container footer: forza max-width var(--mp-container-width, 1240px) come il resto del sito */
body footer.mp-site-footer .mp-container,
body footer.mp-site-footer .mp-footer-content {
    max-width: 1380px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* 2. UNA SOLA linea divisoria sopra copyright (sotto grid) */
body footer.mp-site-footer .mp-footer-grid {
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    padding-bottom: 36px !important;
    margin-bottom: 0 !important;
}

/* Rimuovo TUTTE le altre linee in fondo */
body footer.mp-site-footer .mp-footer-bottom {
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin-top: 0 !important;
    padding-top: 22px !important;
}

/* Vecchie regole conflict — neutralizzo */
body footer.mp-site-footer .mp-footer-row,
body footer.mp-site-footer .mp-footer-row-top,
body footer.mp-site-footer .mp-footer-row-mid {
    border: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER WIDTH FIX BULLDOZER — forza container a var(--mp-container-width, 1240px)
   ═══════════════════════════════════════════════════════════ */

html body footer.mp-site-footer {
    width: 100% !important;
    box-sizing: border-box !important;
}

html body footer.mp-site-footer > .mp-container,
html body footer.mp-site-footer .mp-footer-content {
    max-width: 1380px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
    display: block !important;
}

html body footer.mp-site-footer .mp-footer-grid,
html body footer.mp-site-footer .mp-footer-bottom {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Forza tutto a respect dello stesso container width */
html body footer.mp-site-footer * {
    max-width: 100%;
    box-sizing: border-box;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER WIDTH = SITE WIDTH (1240px da --mp-container-width)
   ═══════════════════════════════════════════════════════════ */
html body footer.mp-site-footer > .mp-container,
html body footer.mp-site-footer .mp-footer-content {
    max-width: var(--mp-container-width, 1240px) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--mp-sp-4, 16px) !important;
    padding-right: var(--mp-sp-4, 16px) !important;
    box-sizing: border-box !important;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER MOBILE — Layout asimmetrico (brand pieno, poi 2 col, copyright pieno)
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    body footer.mp-site-footer .mp-footer-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas:
            "brand brand"
            "sections redazione"
            "sections marketing" !important;
        gap: 28px 24px !important;
    }
    body footer.mp-site-footer .mp-footer-col-brand     { grid-area: brand; }
    body footer.mp-site-footer .mp-footer-col-sections  { grid-area: sections; }
    body footer.mp-site-footer .mp-footer-col-redazione { grid-area: redazione; }
    body footer.mp-site-footer .mp-footer-col-marketing { grid-area: marketing; }

    body footer.mp-site-footer .mp-footer-col-marketing {
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,0.08);
        margin-top: 0;
    }
}

@media (max-width: 600px) {
    body footer.mp-site-footer .mp-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas:
            "brand brand"
            "sections redazione"
            "sections marketing" !important;
        gap: 24px 18px !important;
    }

    body footer.mp-site-footer .mp-footer-col-title {
        font-size: 11px !important;
        margin-bottom: 14px !important;
    }
    body footer.mp-site-footer .mp-footer-info-block {
        margin-bottom: 12px;
    }
    body footer.mp-site-footer .mp-footer-info-value {
        font-size: 12.5px !important;
        word-break: break-all;
    }
    body footer.mp-site-footer .mp-footer-marketing-text {
        font-size: 12.5px !important;
    }
}

/* Su schermi MOLTO stretti (<420px) → tutto in 1 colonna */
@media (max-width: 420px) {
    body footer.mp-site-footer .mp-footer-grid {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "brand"
            "sections"
            "redazione"
            "marketing" !important;
    }
    body footer.mp-site-footer .mp-footer-col-marketing {
        border-top: 1px solid rgba(255,255,255,0.08);
        padding-top: 24px;
    }
}

/* ═══════════════════════════════════════════════════════════
   FOOTER FONT FAMILY — forza Flama ovunque
   ═══════════════════════════════════════════════════════════ */
html body footer.mp-site-footer,
html body footer.mp-site-footer * {
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

html body footer.mp-site-footer .mp-footer-col-title {
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════
   MP WIDGET — Visibility controller D/T/M + Header pattern
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 1025px) {
    .mp-hide-desktop {
        display: none !important;
    }
}
@media (min-width: 769px) and (max-width: 1024px) {
    .mp-hide-tablet {
        display: none !important;
    }
}
@media (max-width: 768px) {
    .mp-hide-mobile {
        display: none !important;
    }
}

.mp-widget-title {
    margin: 0 0 16px 0 !important;
    padding: 0 0 12px 0 !important;
    color: #0a3d62 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    font-family: 'Flama', sans-serif !important;
    border-bottom: 0 !important;
    position: relative !important;
}
.mp-widget-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #dd3333 0%, #dd3333 25%, #e5e7eb 25%, #e5e7eb 100%);
}

/* ═══════════════════════════════════════════════════════════
   WIDGET MOST READ (MË TË LEXUARAT)
   ═══════════════════════════════════════════════════════════ */
.mp-most-read-widget .mp-mr-container {
    font-family: var(--mp-font-heading);
}

.mp-mr-filter {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.mp-mr-tab {
    border: 1px solid #e5e7eb;
    background: transparent;
    color: #6b7280;
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    font-family: var(--mp-font-heading);
    transition: all .15s;
    text-transform: uppercase;
}
.mp-mr-tab:hover {
    border-color: #dd3333;
    color: #dd3333;
}
.mp-mr-tab.is-active {
    background: #dd3333;
    color: #fff;
    border-color: #dd3333;
}

.mp-mr-list {
    transition: opacity .15s;
}
.mp-mr-list.is-loading {
    opacity: 0.4;
    pointer-events: none;
}

.mp-mr-item {
    padding: 12px 0;
    border-top: 1px solid #e5e7eb;
}
.mp-mr-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.mp-mr-thumb {
    display: block;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: 3px;
}
.mp-mr-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .3s;
}
.mp-mr-thumb:hover img {
    transform: scale(1.04);
}

.mp-mr-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.mp-mr-body {
    flex: 1;
    min-width: 0;
}

.mp-mr-cat {
    display: inline-block;
    font-size: 11px;
    color: #dd3333 !important;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none !important;
    margin-bottom: 4px;
    transition: opacity .15s;
}
.mp-mr-cat:hover {
    opacity: 0.75;
}

.mp-mr-title {
    margin: 3px 0 4px 0 !important;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.4;
    font-family: var(--mp-font-heading);
}
.mp-mr-item.is-hero .mp-mr-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
}
.mp-mr-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color .15s;
}
.mp-mr-title a:hover {
    color: #dd3333 !important;
}

.mp-mr-date {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    margin-top: 2px;
}

.mp-mr-num {
    font-size: 13.5px;
    line-height: 1.4;
    font-weight: 900;
    color: #cbd5e1;
    font-family: var(--mp-font-heading);
    min-width: 22px;
    text-align: right;
    flex-shrink: 0;
}
.mp-mr-num.is-hero-num {
    font-size: 15px;
    line-height: 1.3;
    color: #dd3333;
}

.mp-mr-empty {
    color: #94a3b8;
    font-size: 13px;
    padding: 12px 0;
}

@media (max-width: 768px) {
    .mp-mr-filter {
        gap: 0;
        border: 1px solid #e5e7eb;
        border-radius: 3px;
        overflow: hidden;
    }
    .mp-mr-tab {
        flex: 1;
        border: 0;
        border-left: 1px solid #e5e7eb;
        padding: 11px 0;
        font-size: 12px;
        border-radius: 0;
    }
    .mp-mr-tab:first-child {
        border-left: 0;
    }
    .mp-mr-tab:hover {
        border-color: transparent;
    }
}

/* ═══════════════════════════════════════════════════════════
   WIDGET MOST READ — Tab inline con titolo (v3)
   - font originali ripristinati
   - header diventa flex: titolo a sx + tab a dx, tutto su 1 riga
   - tab piccoli (squared come altri widget MP, no rounded)
   ═══════════════════════════════════════════════════════════ */

.mp-most-read-widget .mp-widget-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    flex-wrap: wrap;
}

.mp-most-read-widget .mp-widget-title > .mp-mr-filter {
    margin: 0;
}

.mp-most-read-widget .mp-mr-filter {
    display: flex;
    gap: 0;
    margin-bottom: 0;
    flex-wrap: nowrap;
    text-transform: none;
    letter-spacing: 0;
}

.mp-most-read-widget .mp-mr-tab {
    border: 1px solid #e5e7eb;
    border-right: 0;
    background: transparent;
    color: #6b7280;
    padding: 3px 9px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.8px;
    line-height: 1.3;
    cursor: pointer;
    font-family: var(--mp-font-heading);
    text-transform: uppercase;
    border-radius: 0;
    transition: all .15s;
}
.mp-most-read-widget .mp-mr-tab:last-child {
    border-right: 1px solid #e5e7eb;
}
.mp-most-read-widget .mp-mr-tab:hover {
    color: #dd3333;
    border-color: #dd3333;
}
.mp-most-read-widget .mp-mr-tab.is-active {
    background: #dd3333;
    color: #fff;
    border-color: #dd3333;
}

@media (max-width: 768px) {
    .mp-most-read-widget .mp-widget-title {
        flex-direction: column;
        align-items: stretch;
    }
    .mp-most-read-widget .mp-mr-filter {
        margin-top: 8px;
    }
    .mp-most-read-widget .mp-mr-tab {
        flex: 1;
        padding: 10px 0;
        font-size: 12px;
    }
}

/* ═══════════════════════════════════════════════════════════
   WIDGET MOST READ — Header wrapper (v4 — definitivo)
   .mp-mr-header = flex container con titolo sx + tab dx
   ═══════════════════════════════════════════════════════════ */

html body .mp-most-read-widget .mp-mr-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
    margin: 0 0 16px 0 !important;
    padding: 0 0 12px 0 !important;
    position: relative !important;
}

html body .mp-most-read-widget .mp-mr-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #dd3333 0%, #dd3333 25%, #e5e7eb 25%, #e5e7eb 100%);
}

html body .mp-most-read-widget .mp-mr-header .mp-widget-title {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    flex: 1 1 auto !important;
    line-height: 1.2 !important;
}
html body .mp-most-read-widget .mp-mr-header .mp-widget-title::after {
    display: none !important;
}
html body .mp-most-read-widget .mp-mr-header .mp-widget-title span {
    display: inline !important;
}

html body .mp-most-read-widget .mp-mr-header .mp-mr-filter {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    gap: 0 !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

html body .mp-most-read-widget .mp-mr-tab {
    flex: 0 0 auto !important;
    border: 1px solid #e5e7eb !important;
    border-right: 0 !important;
    background: transparent !important;
    color: #6b7280 !important;
    padding: 4px 10px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    line-height: 1.3 !important;
    cursor: pointer !important;
    font-family: 'Flama', sans-serif !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    transition: all .15s !important;
    margin: 0 !important;
}
html body .mp-most-read-widget .mp-mr-tab:last-child {
    border-right: 1px solid #e5e7eb !important;
}
html body .mp-most-read-widget .mp-mr-tab:hover {
    color: #dd3333 !important;
    border-color: #dd3333 !important;
}
html body .mp-most-read-widget .mp-mr-tab.is-active {
    background: #dd3333 !important;
    color: #fff !important;
    border-color: #dd3333 !important;
}

@media (max-width: 768px) {
    html body .mp-most-read-widget .mp-mr-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    html body .mp-most-read-widget .mp-mr-header .mp-mr-filter {
        margin-top: 10px !important;
        border: 1px solid #e5e7eb !important;
    }
    html body .mp-most-read-widget .mp-mr-tab {
        flex: 1 !important;
        padding: 11px 0 !important;
        font-size: 12px !important;
        border: 0 !important;
        border-left: 1px solid #e5e7eb !important;
    }
    html body .mp-most-read-widget .mp-mr-tab:first-child {
        border-left: 0 !important;
    }
    html body .mp-most-read-widget .mp-mr-tab:last-child {
        border-right: 0 !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   Most Read — placeholder thumbnail (riuso pattern globale)
   ═══════════════════════════════════════════════════════════ */
.mp-most-read-widget .mp-mr-thumb {
    display: block;
    overflow: hidden;
    border-radius: 3px;
    margin-bottom: 12px;
    background: #f3f4f6;
}
.mp-most-read-widget .mp-mr-thumb img,
.mp-most-read-widget .mp-mr-thumb .mp-thumb {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .3s;
}
.mp-most-read-widget .mp-mr-thumb:hover img,
.mp-most-read-widget .mp-mr-thumb:hover .mp-thumb {
    transform: scale(1.04);
}
.mp-most-read-widget .mp-mr-thumb .mp-thumb-placeholder {
    width: 100%;
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mp-most-read-widget .mp-mr-thumb .mp-thumb-placeholder svg {
    width: 100%;
    height: 100%;
}

/* ═══════════════════════════════════════════════════════════
   MP BANNER v2 — Media library + altezza auto + width custom
   ═══════════════════════════════════════════════════════════ */

.widget_mp_widget_banner .mp-banner-wrap {
    width: 100%;
    margin: 0 auto;
    line-height: 0;
}

.widget_mp_widget_banner .mp-banner {
    display: block;
    background: transparent !important;
    padding: 0 !important;
    color: inherit !important;
    text-decoration: none !important;
    font-weight: normal !important;
    font-size: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    border-radius: 0 !important;
    transition: opacity .2s;
    line-height: 0;
}
.widget_mp_widget_banner .mp-banner:hover {
    background: transparent !important;
    opacity: 0.92;
}

.widget_mp_widget_banner .mp-banner-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════
   WIDGET RECENT SIDEBAR (refresh v2)
   ═══════════════════════════════════════════════════════════ */

.widget_mp_widget_recent_mini .mp-recent-mini {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--mp-font-heading);
}
.widget_mp_widget_recent_mini .mp-recent-mini-item {
    display: flex !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #e5e7eb !important;
    margin: 0 !important;
    align-items: flex-start;
}
.widget_mp_widget_recent_mini .mp-recent-mini-item:last-child {
    border-bottom: 0 !important;
}
.widget_mp_widget_recent_mini .mp-recent-mini-thumb {
    flex-shrink: 0;
    display: block;
    width: 80px;
    overflow: hidden;
    border-radius: 3px;
}
.widget_mp_widget_recent_mini .mp-recent-mini-thumb img,
.widget_mp_widget_recent_mini .mp-recent-mini-thumb .mp-thumb {
    width: 80px;
    height: 60px;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.widget_mp_widget_recent_mini .mp-recent-mini-thumb:hover img,
.widget_mp_widget_recent_mini .mp-recent-mini-thumb:hover .mp-thumb {
    transform: scale(1.05);
}
.widget_mp_widget_recent_mini .mp-recent-mini-body {
    flex: 1;
    min-width: 0;
}
.widget_mp_widget_recent_mini .mp-recent-mini-body .mp-cat-badge {
    font-size: 10px;
    padding: 2px 7px;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
}
.widget_mp_widget_recent_mini .mp-recent-mini-title {
    margin: 4px 0 4px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    font-family: 'Flama', sans-serif !important;
}
.widget_mp_widget_recent_mini .mp-recent-mini-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color .15s;
}
.widget_mp_widget_recent_mini .mp-recent-mini-title a:hover {
    color: #dd3333 !important;
}
.widget_mp_widget_recent_mini .mp-recent-mini-date {
    display: block;
    font-size: 11px;
    color: #94a3b8;
}

/* ═══════════════════════════════════════════════════════════
   WIDGET EDITORIAL (refresh v2)
   ═══════════════════════════════════════════════════════════ */

.widget_mp_widget_editorial .mp-editorial {
    font-family: var(--mp-font-heading);
}

.widget_mp_widget_editorial .mp-editorial-big {
    display: block;
}
.widget_mp_widget_editorial .mp-editorial-big .mp-editorial-item:first-child .mp-editorial-thumb {
    aspect-ratio: 16/9;
}
.widget_mp_widget_editorial .mp-editorial-big .mp-editorial-item:first-child .mp-editorial-title {
    font-size: 18px;
}
.widget_mp_widget_editorial .mp-editorial-big .mp-editorial-item ~ .mp-editorial-item {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e5e7eb;
}

.widget_mp_widget_editorial .mp-editorial-2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.widget_mp_widget_editorial .mp-editorial-row-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.widget_mp_widget_editorial .mp-editorial-list .mp-editorial-item {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #e5e7eb;
    align-items: flex-start;
}
.widget_mp_widget_editorial .mp-editorial-list .mp-editorial-item:last-child {
    border-bottom: 0;
}
.widget_mp_widget_editorial .mp-editorial-list .mp-editorial-thumb {
    flex-shrink: 0;
    width: 100px;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: 3px;
}
.widget_mp_widget_editorial .mp-editorial-list .mp-editorial-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.widget_mp_widget_editorial .mp-editorial-list .mp-editorial-body {
    flex: 1;
    min-width: 0;
}

.widget_mp_widget_editorial .mp-editorial-item {
    overflow: hidden;
}
.widget_mp_widget_editorial .mp-editorial-thumb {
    display: block;
    margin-bottom: 8px;
    overflow: hidden;
    border-radius: 3px;
    aspect-ratio: 4/3;
}
.widget_mp_widget_editorial .mp-editorial-thumb img,
.widget_mp_widget_editorial .mp-editorial-thumb .mp-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}
.widget_mp_widget_editorial .mp-editorial-thumb:hover img,
.widget_mp_widget_editorial .mp-editorial-thumb:hover .mp-thumb {
    transform: scale(1.04);
}
.widget_mp_widget_editorial .mp-editorial-body .mp-cat-badge {
    font-size: 10px;
    padding: 2px 7px;
    letter-spacing: 0.8px;
    margin-bottom: 4px;
}
.widget_mp_widget_editorial .mp-editorial-title {
    margin: 4px 0 4px 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    font-family: 'Flama', sans-serif !important;
}
.widget_mp_widget_editorial .mp-editorial-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color .15s;
}
.widget_mp_widget_editorial .mp-editorial-title a:hover {
    color: #dd3333 !important;
}
.widget_mp_widget_editorial .mp-editorial-date {
    display: block;
    font-size: 11px;
    color: #94a3b8;
}

@media (max-width: 768px) {
    .widget_mp_widget_editorial .mp-editorial-row-4,
    .widget_mp_widget_editorial .mp-editorial-2x2 {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST v2 — Modern editorial layout
   ═══════════════════════════════════════════════════════════ */

.mp-single-wrap {
    padding: 24px var(--mp-sp-4, 16px) 60px var(--mp-sp-4, 16px);
    background: #fff;
    max-width: var(--mp-container-width, 1240px);
    margin: 0 auto;
    font-family: var(--mp-font-heading);
}

.mp-breadcrumb {
    font-size: 12px;
    color: #6b7280;
    margin: 0 0 16px 0;
    text-align: center;
    font-family: var(--mp-font-heading);
}
.mp-breadcrumb a {
    color: #6b7280;
    text-decoration: none;
    transition: color .15s;
}
.mp-breadcrumb a:hover {
    color: #dd3333;
}
.mp-breadcrumb-sep {
    margin: 0 4px;
    color: #cbd5e1;
}

.mp-single-header {
    text-align: center;
    margin-bottom: 24px;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}
.mp-single-header-inner {
    padding: 0 16px;
}
.mp-single-header .mp-cat-badge {
    margin-bottom: 14px;
}
.mp-single-title {
    font-size: 38px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 8px 0 14px 0 !important;
    font-family: 'Flama', sans-serif !important;
}
.mp-single-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #6b7280;
    flex-wrap: wrap;
    justify-content: center;
}
.mp-single-meta .mp-icon {
    vertical-align: -2px;
    margin-right: 3px;
    opacity: 0.7;
}
.mp-meta-sep {
    color: #cbd5e1;
}

.mp-single-featured {
    margin: 0 0 28px 0;
    text-align: center;
}
.mp-single-featured img {
    width: 100%;
    max-width: 1100px;
    height: auto;
    display: block;
    margin: 0 auto;
}
.mp-single-featured figcaption {
    font-size: 12px;
    color: #94a3b8;
    padding: 10px 16px 0 16px;
    font-style: italic;
    max-width: 1100px;
    margin: 0 auto;
    text-align: left;
}
.mp-single-featured figcaption .mp-icon {
    vertical-align: -1px;
    margin-right: 4px;
}

.mp-single-body {
    display: grid;
    grid-template-columns: 60px 1fr 300px;
    gap: 24px;
    align-items: start;
    max-width: 1200px;
    margin: 0 auto;
}

.mp-single-share-col {
    position: sticky;
    top: 20px;
    align-self: start;
}
.mp-share-sticky {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}
.mp-share-label {
    font-size: 10px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 4px;
}
.mp-share-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f3f4f6;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    text-decoration: none !important;
    transition: all .2s;
    padding: 0;
}
.mp-share-btn:hover {
    transform: scale(1.05);
}
.mp-share-fb:hover { background: #1877f2; color: #fff; }
.mp-share-x:hover  { background: #000; color: #fff; }
.mp-share-wa:hover { background: #25d366; color: #fff; }
.mp-share-tg:hover { background: #0088cc; color: #fff; }
.mp-share-copy:hover { background: #0a3d62; color: #fff; }
.mp-share-copy.copied { background: #16a34a; color: #fff; }

.mp-single-content-col {
    min-width: 0;
}
.mp-single {
    padding: 0;
    background: transparent;
}

.mp-single-content {
    font-size: 17px;
    line-height: 1.78;
    color: #1f2937;
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.mp-single-content p {
    margin: 0 0 1.2em 0;
}
.mp-single-content p:first-of-type::first-letter {
    font-weight: 700;
    color: #0f172a;
}
.mp-single-content strong {
    color: #0f172a;
    font-weight: 700;
}
.mp-single-content h2 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    margin: 1.8em 0 0.7em 0 !important;
    font-family: 'Flama', sans-serif !important;
}
.mp-single-content h3 {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
    margin: 1.5em 0 0.6em 0 !important;
    font-family: 'Flama', sans-serif !important;
}
.mp-single-content blockquote {
    margin: 1.6em 0 !important;
    padding: 18px 24px !important;
    border-left: 4px solid #dd3333 !important;
    background: #fafafa !important;
    font-style: italic !important;
    color: #475569 !important;
    font-size: 17px !important;
    border-radius: 0 3px 3px 0;
}
.mp-single-content blockquote p:last-child {
    margin-bottom: 0;
}
.mp-single-content blockquote cite {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    color: #94a3b8;
    font-style: normal;
}
.mp-single-content a {
    color: #dd3333;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.mp-single-content a:hover {
    text-decoration-thickness: 2px;
}
.mp-single-content img {
    max-width: 100%;
    height: auto;
    margin: 1.5em 0;
    display: block;
}
.mp-single-content ul,
.mp-single-content ol {
    margin: 0 0 1.2em 1.4em;
    padding: 0;
}
.mp-single-content li {
    margin: 0 0 0.5em 0;
}

.mp-single-tags {
    margin-top: 32px;
    padding-top: 18px;
    border-top: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.mp-single-tags-label {
    font-size: 11px;
    font-weight: 700;
    color: #6b7280;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}
.mp-single-tags .mp-tag-list a,
.mp-single-tags a {
    display: inline-block;
    padding: 5px 12px;
    margin: 0 4px 4px 0;
    background: #f3f4f6;
    color: #475569 !important;
    font-size: 12px;
    text-decoration: none !important;
    border-radius: 3px;
    transition: all .15s;
}
.mp-single-tags .mp-tag-list a:hover,
.mp-single-tags a:hover {
    background: #dd3333;
    color: #fff !important;
}

.mp-sidebar-col {
    min-width: 0;
}

/* RELATED POSTS — 3 in fila */
.mp-related {
    margin-top: 50px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.mp-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.mp-related-item {
    background: transparent;
}
.mp-related-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 3px;
    margin-bottom: 10px;
}
.mp-related-thumb img,
.mp-related-thumb .mp-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.mp-related-thumb:hover img,
.mp-related-thumb:hover .mp-thumb {
    transform: scale(1.04);
}
.mp-related-body .mp-cat-badge {
    font-size: 10px;
    padding: 2px 7px;
    margin-bottom: 5px;
}
.mp-related-title {
    margin: 4px 0 4px 0 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    font-family: 'Flama', sans-serif !important;
}
.mp-related-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color .15s;
}
.mp-related-title a:hover {
    color: #dd3333 !important;
}
.mp-related-date {
    display: block;
    font-size: 11px;
    color: #94a3b8;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .mp-single-body {
        grid-template-columns: 50px 1fr;
    }
    .mp-sidebar-col {
        grid-column: 1 / -1;
        margin-top: 32px;
    }
}
@media (max-width: 768px) {
    .mp-single-title {
        font-size: 28px !important;
    }
    .mp-single-body {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .mp-single-share-col {
        position: static;
    }
    .mp-share-sticky {
        flex-direction: row;
        justify-content: center;
        padding: 14px 0;
        border-top: 1px solid #e5e7eb;
        border-bottom: 1px solid #e5e7eb;
    }
    .mp-share-label {
        display: none;
    }
    .mp-single-content {
        font-size: 16px;
    }
    .mp-related-grid {
        grid-template-columns: 1fr;
    }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST v4 — SEMPLICE: post sx, sidebar dx
   ═══════════════════════════════════════════════════════════ */

html body .mp-single-wrap {
    padding: 24px var(--mp-sp-4, 16px) 60px var(--mp-sp-4, 16px) !important;
    max-width: var(--mp-container-width, 1240px) !important;
    margin: 0 auto !important;
    background: #fff !important;
}

html body .mp-single-wrap .mp-single-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 40px !important;
    align-items: start !important;
    float: none !important;
}

html body .mp-single-wrap .mp-single-content-col {
    grid-column: 1 !important;
    min-width: 0 !important;
    float: none !important;
    width: auto !important;
}

html body .mp-single-wrap .mp-sidebar-col {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 320px !important;
    float: none !important;
    width: auto !important;
}

html body .mp-single-wrap .mp-single-header {
    text-align: left !important;
    margin: 0 0 24px 0 !important;
    max-width: 100% !important;
}

html body .mp-single-wrap .mp-single-featured {
    margin: 0 0 24px 0 !important;
    max-width: 100% !important;
}
html body .mp-single-wrap .mp-single-featured img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

html body .mp-single-wrap .mp-single-share-inline {
    margin: 0 0 24px 0;
    padding: 12px 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}
html body .mp-single-wrap .mp-single-share-inline .mp-share-sticky {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap;
}
html body .mp-single-wrap .mp-single-share-inline .mp-share-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-right: 4px;
    margin-bottom: 0;
}

html body .mp-single-wrap .mp-single-meta {
    justify-content: flex-start !important;
}

html body .mp-single-wrap .mp-single-content,
html body .mp-single-wrap .mp-single {
    max-width: 100% !important;
    width: 100% !important;
}

html body .mp-single-wrap .mp-single-content img,
html body .mp-single-wrap .mp-single-content iframe,
html body .mp-single-wrap .mp-single-content video {
    max-width: 100% !important;
    height: auto;
}

html body .mp-single-wrap .mp-related {
    margin-top: 50px;
}
html body .mp-single-wrap .mp-related-grid {
    grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 1024px) {
    html body .mp-single-wrap .mp-single-body {
        grid-template-columns: 1fr !important;
    }
    html body .mp-single-wrap .mp-sidebar-col {
        grid-column: 1 !important;
        max-width: 100% !important;
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    html body .mp-single-wrap .mp-related-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST FIX: breadcrumb left + clean meta
   ═══════════════════════════════════════════════════════════ */

html body .mp-single-wrap .mp-breadcrumb {
    text-align: left !important;
    margin: 0 0 12px 0 !important;
}

html body .mp-single-wrap .mp-single-header,
html body .mp-single-wrap .mp-single-header-inner {
    text-align: left !important;
}

html body .mp-single-wrap .mp-single-meta {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap;
}

html body .mp-single-wrap .mp-single-meta .dashicons,
html body .mp-single-wrap .mp-single-meta i.fa,
html body .mp-single-wrap .mp-single-meta i.fas,
html body .mp-single-wrap .mp-single-meta i.far {
    display: none !important;
}

html body .mp-single-wrap .mp-single-meta .ast-icon,
html body .mp-single-wrap .mp-single-meta .ahfb-svg-iconset {
    display: none !important;
}

html body .mp-single-wrap .mp-single-meta .posted-on,
html body .mp-single-wrap .mp-single-meta .byline,
html body .mp-single-wrap .mp-single-meta .cat-links,
html body .mp-single-wrap .mp-single-meta .comments-link {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST FIX: pulizia linee parassita + icone duplicate Astra
   ═══════════════════════════════════════════════════════════ */

html body .mp-single-wrap .mp-single-header,
html body .mp-single-wrap article.mp-single,
html body .mp-single-wrap .ast-article-single,
html body .mp-single-wrap .entry-header,
html body .mp-single-wrap .entry-content,
html body .mp-single-wrap .mp-single-content {
    border: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

html body .mp-single-wrap .mp-single-featured {
    border: 0 !important;
    padding: 0 !important;
}
html body .mp-single-wrap .mp-single-featured img {
    border: 0 !important;
    margin: 0 !important;
}

html body .mp-single-wrap .mp-single-meta .ast-icon,
html body .mp-single-wrap .mp-single-meta .ast-icon-svg,
html body .mp-single-wrap .mp-single-meta .ahfb-svg-iconset,
html body .mp-single-wrap .mp-single-meta .ast-image-icon,
html body .mp-single-wrap .mp-post-date::before,
html body .mp-single-wrap .mp-post-date::after,
html body .mp-single-wrap .mp-single-meta > svg:first-child,
html body .mp-single-wrap .mp-single-meta span.posted-on > svg,
html body .mp-single-wrap .mp-single-meta time::before {
    display: none !important;
    content: none !important;
}

html body .mp-single-wrap .ast-single-post-banner {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   PREV / NEXT NAVIGATION (stile JNews)
   ═══════════════════════════════════════════════════════════ */
.mp-prev-next {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin: 40px 0 30px 0;
    padding: 24px 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    font-family: var(--mp-font-heading);
}

.mp-prev-next-item {
    display: block;
    padding: 16px 18px;
    background: transparent;
    border: 1px solid #e5e7eb;
    border-radius: 3px;
    text-decoration: none !important;
    transition: all .2s;
    min-width: 0;
}
.mp-prev-next-item:hover {
    border-color: #dd3333;
    background: #fef9f9;
}
.mp-prev-next-item.mp-next-post {
    text-align: right;
}

.mp-prev-next-caption {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #dd3333;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 6px;
}
.mp-prev-next-caption .mp-icon {
    vertical-align: -1px;
}

.mp-prev-next-title {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
    font-family: 'Flama', sans-serif !important;
    transition: color .15s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-prev-next-item:hover .mp-prev-next-title {
    color: #dd3333 !important;
}

@media (max-width: 768px) {
    .mp-prev-next {
        grid-template-columns: 1fr;
    }
    .mp-prev-next-item.mp-next-post {
        text-align: left;
    }
}

/* Prev/Next override: no border + no top line */
html body .mp-single-wrap .mp-prev-next {
    border-top: 0 !important;
    padding-top: 0 !important;
}
html body .mp-single-wrap .mp-prev-next-item {
    border: 0 !important;
    background: transparent !important;
    padding: 16px 0 !important;
}
html body .mp-single-wrap .mp-prev-next-item:hover {
    border: 0 !important;
    background: transparent !important;
}
html body .mp-single-wrap .mp-prev-next-item.mp-next-post {
    padding-left: 20px;
}
html body .mp-single-wrap .mp-prev-next-item.mp-prev-post {
    padding-right: 20px;
    border-right: 1px solid #e5e7eb !important;
}
@media (max-width: 768px) {
    html body .mp-single-wrap .mp-prev-next-item.mp-prev-post {
        border-right: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        padding-right: 0;
        padding-bottom: 16px;
    }
    html body .mp-single-wrap .mp-prev-next-item.mp-next-post {
        padding-left: 0;
        padding-top: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════
   HERO BLOCK — Layout 1-1-2
   Eredita estetica da .mp-hero-1-4 (overlay scuro, titolo bianco, hover).
   Override solo del sub-wrap: invece di 2×2 grid → 1 wide top + 2 small bottom.
   Totale: 4 articoli (1 big sx + 1 wide top dx + 2 small bottom dx).
   ═══════════════════════════════════════════════════════════ */

.mp-hero-1-1-2 {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--mp-sp-3, 12px);
}

.mp-hero-1-1-2 .mp-hero-main {
    grid-column: 1;
    min-height: 460px;
}

.mp-hero-1-1-2 .mp-hero-sub-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: var(--mp-sp-3, 12px) !important;
}

.mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(1) {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    min-height: 220px;
}

.mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 220px;
}
.mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 220px;
}

/* TABLET 769-1024: main full width sopra, sub-wrap diventa 2 col con wide e 2 small */
@media (max-width: 1024px) {
    .mp-hero-1-1-2 {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .mp-hero-1-1-2 .mp-hero-main {
        grid-column: 1 / -1;
    }
}

/* MOBILE ≤768: stack 1 colonna */
@media (max-width: 768px) {
    .mp-hero-1-1-2 .mp-hero-main {
        min-height: 320px;
    }
    .mp-hero-1-1-2 .mp-hero-sub-wrap {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }
    .mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(1),
    .mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(2),
    .mp-hero-1-1-2 .mp-hero-sub-wrap .mp-hero-sub:nth-child(3) {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-height: 180px;
    }
}

/* ═══════════════════════════════════════════════════════════
   ARCHIVE PAGE — Categoria / Tag / Author / Date
   ═══════════════════════════════════════════════════════════ */

html body .mp-archive-wrap {
    padding: 24px var(--mp-sp-4, 16px) 60px var(--mp-sp-4, 16px) !important;
    max-width: var(--mp-container-width, 1240px) !important;
    margin: 0 auto !important;
    background: #fff !important;
    font-family: var(--mp-font-heading);
}

html body .mp-archive-wrap .mp-archive-header {
    margin: 0 0 32px 0;
    padding: 0 0 16px 0;
    position: relative;
    border-bottom: 0 !important;
}
html body .mp-archive-wrap .mp-archive-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #dd3333 0%, #dd3333 25%, #e5e7eb 25%, #e5e7eb 100%);
}
html body .mp-archive-wrap .mp-archive-header .mp-breadcrumb {
    text-align: left !important;
    margin: 0 0 10px 0 !important;
}
html body .mp-archive-wrap .mp-archive-title {
    margin: 0 0 8px 0 !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.15 !important;
    font-family: 'Flama', sans-serif !important;
}
html body .mp-archive-wrap .mp-archive-desc {
    margin: 0 0 8px 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.5;
    max-width: 760px;
}
html body .mp-archive-wrap .mp-archive-count {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
}
html body .mp-archive-wrap .mp-archive-count strong {
    color: #0f172a;
}

html body .mp-archive-wrap .mp-archive-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 40px !important;
    align-items: start !important;
}
html body .mp-archive-wrap .mp-archive-main-col {
    grid-column: 1 !important;
    min-width: 0 !important;
}
html body .mp-archive-wrap .mp-sidebar-col {
    grid-column: 2 !important;
    min-width: 0 !important;
    max-width: 320px !important;
}

/* Fallback list (se zona mp_archive_main vuota, mostra lista standard) */
.mp-archive-fallback {
    display: block;
}
.mp-archive-fallback-item {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #e5e7eb;
    align-items: flex-start;
}
.mp-archive-fallback-item:first-child {
    padding-top: 0;
}
.mp-archive-fallback-thumb {
    display: block;
    width: 180px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 3px;
}
.mp-archive-fallback-thumb img,
.mp-archive-fallback-thumb .mp-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.mp-archive-fallback-thumb:hover img,
.mp-archive-fallback-thumb:hover .mp-thumb {
    transform: scale(1.04);
}
.mp-archive-fallback-body .mp-cat-badge {
    font-size: 10px;
    padding: 2px 7px;
    margin-bottom: 6px;
}
.mp-archive-fallback-title {
    margin: 4px 0 6px 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    font-family: 'Flama', sans-serif !important;
}
.mp-archive-fallback-title a {
    color: #0f172a !important;
    text-decoration: none !important;
    transition: color .15s;
}
.mp-archive-fallback-title a:hover {
    color: #dd3333 !important;
}
.mp-archive-fallback-excerpt {
    margin: 4px 0 6px 0;
    font-size: 13.5px;
    color: #475569;
    line-height: 1.55;
}
.mp-archive-fallback-date {
    display: block;
    font-size: 11px;
    color: #94a3b8;
}

.mp-archive-noresults {
    padding: 60px 20px;
    text-align: center;
    font-size: 16px;
    color: #6b7280;
    background: #fafafa;
    border-radius: 4px;
}

/* Paginazione */
.mp-archive-pagination,
.mp-archive-wrap .pagination,
.mp-archive-wrap .nav-links {
    display: flex !important;
    justify-content: center;
    gap: 6px;
    padding: 30px 0 0 0;
    margin: 0 !important;
}
.mp-archive-wrap .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 13px;
    text-decoration: none;
    border-radius: 3px;
    font-weight: 500;
    transition: all .15s;
}
.mp-archive-wrap .page-numbers.current {
    background: #dd3333 !important;
    color: #fff !important;
}
.mp-archive-wrap .page-numbers:hover {
    background: #dd3333;
    color: #fff;
}

@media (max-width: 1024px) {
    html body .mp-archive-wrap .mp-archive-body {
        grid-template-columns: 1fr !important;
    }
    html body .mp-archive-wrap .mp-sidebar-col {
        grid-column: 1 !important;
        max-width: 100% !important;
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    html body .mp-archive-wrap .mp-archive-title {
        font-size: 26px !important;
    }
    .mp-archive-fallback-item {
        grid-template-columns: 120px 1fr;
        gap: 12px;
    }
    .mp-archive-fallback-thumb {
        width: 120px;
    }
    .mp-archive-fallback-title {
        font-size: 15px !important;
    }
    .mp-archive-fallback-excerpt {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════
   ARCHIVE — Top zone (full-width sopra body 2 colonne)
   ═══════════════════════════════════════════════════════════ */

html body .mp-archive-wrap .mp-archive-top {
    margin: 0 0 40px 0 !important;
    width: 100% !important;
}
html body .mp-archive-wrap .mp-archive-top .mp-widget {
    margin: 0 !important;
    padding: 0 !important;
}

/* ═══════════════════════════════════════════════════════════
   CAT BLOCK — Paginazione widget (modalità "mostra tutti")
   ═══════════════════════════════════════════════════════════ */
.mp-cat-block-pagination {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    padding: 30px 0 10px 0 !important;
    margin: 0 !important;
    text-align: center !important;
    width: 100% !important;
    grid-column: 1 / -1 !important;
    font-family: var(--mp-font-heading);
}
.mp-cat-block-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 13px;
    text-decoration: none;
    border-radius: 3px;
    font-weight: 500;
    transition: all .15s;
}
.mp-cat-block-pagination .page-numbers.current {
    background: #dd3333 !important;
    color: #fff !important;
}
.mp-cat-block-pagination a.page-numbers:hover {
    background: #dd3333;
    color: #fff;
}
.mp-cat-block-pagination .page-numbers.dots {
    background: transparent;
    color: #94a3b8;
}

/* ═══════════════════════════════════════════════════════════
   ARCHIVE: header minimalista (solo breadcrumb)
   ═══════════════════════════════════════════════════════════ */

html body .mp-archive-wrap .mp-archive-header {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
html body .mp-archive-wrap .mp-archive-header::after {
    display: none !important;
    content: none !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGINE STATICHE — Privacy, About, Contatti, ecc
   ═══════════════════════════════════════════════════════════ */

body.page .site,
body.page .ast-container {
    background: #fff !important;
}

body.page .entry-content,
body.page .entry-header,
body.page main#main {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0px 20px !important;
    background: #fff !important;
    font-family: 'Flama', sans-serif !important;
}

body.page .entry-title,
body.page h1.entry-title {
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 30px 0 !important;
    padding: 0 0 16px 0 !important;
    border-bottom: 0 !important;
    position: relative;
    font-family: 'Flama', sans-serif !important;
}
body.page .entry-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, #dd3333 0%, #dd3333 25%, #e5e7eb 25%, #e5e7eb 100%);
}

body.page .entry-content p,
body.page .entry-content li {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #1e293b !important;
    margin: 0 0 16px 0 !important;
    font-family: 'Flama', sans-serif !important;
}

body.page .entry-content h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 40px 0 16px 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.page .entry-content h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #dd3333 !important;
    margin: 28px 0 12px 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

body.page .entry-content a {
    color: #dd3333 !important;
    text-decoration: underline !important;
    transition: color .15s;
}
body.page .entry-content a:hover {
    color: #b8002b !important;
}

body.page .entry-content strong {
    color: #0f172a !important;
    font-weight: 700 !important;
}

body.page .entry-content em {
    color: #475569 !important;
    font-style: italic !important;
}

body.page .entry-content ul,
body.page .entry-content ol {
    margin: 0 0 16px 0 !important;
    padding-left: 24px !important;
}

@media (max-width: 768px) {
    body.page .entry-title {
        font-size: 26px !important;
    }
    body.page .entry-content h2 {
        font-size: 20px !important;
    }
    body.page .entry-content h3 {
        font-size: 16px !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   PAGINE STATICHE — FIX font Flama (override Astra)
   ═══════════════════════════════════════════════════════════ */

html body.page,
html body.page .entry-content,
html body.page .entry-content p,
html body.page .entry-content li,
html body.page .entry-content h1,
html body.page .entry-content h2,
html body.page .entry-content h3,
html body.page .entry-content h4,
html body.page .entry-content h5,
html body.page .entry-content h6,
html body.page .entry-title,
html body.page h1.entry-title,
html body.page article,
html body.page main {
    font-family: 'Flama', 'Flama Bold', Helvetica, Arial, sans-serif !important;
}

html body.page .entry-content p,
html body.page .entry-content li {
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #1e293b !important;
    font-family: 'Flama', Helvetica, Arial, sans-serif !important;
}

html body.page .entry-content h2 {
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
}

html body.page .entry-content h3 {
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #dd3333 !important;
}

/* ═══════════════════════════════════════════════════════════
   PAGINA DENONCO — Kontakt / Form denuncia
   ═══════════════════════════════════════════════════════════ */

.mp-denonco-page {
    background: #fff;
    padding: 30px 0 60px;
    min-height: 60vh;
}

.mp-denonco-page .mp-container {
    max-width: var(--mp-container-width, 1240px);
    margin: 0 auto;
    padding: 0 20px;
}

/* Breadcrumb */
.mp-denonco-page .mp-breadcrumb {
    font-family: 'Flama', Helvetica, Arial, sans-serif;
    font-size: 13px;
    color: #64748b;
    margin-bottom: 20px;
}
.mp-denonco-page .mp-breadcrumb a {
    color: #dd3333;
    text-decoration: none;
}
.mp-denonco-page .mp-breadcrumb a:hover { text-decoration: underline; }
.mp-denonco-page .mp-breadcrumb .sep { margin: 0 6px; color: #94a3b8; }
.mp-denonco-page .mp-breadcrumb .current { color: #1e293b; }

/* Header pagina */
.mp-denonco-page .mp-page-header {
    margin-bottom: 30px;
    padding-bottom: 14px;
    position: relative;
}
.mp-denonco-page .mp-page-title {
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif !important;
    font-size: 36px;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
    line-height: 1.2;
}
.mp-denonco-page .mp-page-header::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 4px;
    background: linear-gradient(to right, #dd3333 0%, #dd3333 25%, #e5e7eb 25%, #e5e7eb 100%);
}

/* Alert success/error */
.mp-denonco-page .mp-alert {
    padding: 16px 20px;
    border-radius: 4px;
    margin-bottom: 24px;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
}
.mp-denonco-page .mp-alert-success {
    background: #d1fae5;
    border-left: 4px solid #10b981;
    color: #065f46;
}
.mp-denonco-page .mp-alert-error {
    background: #fee2e2;
    border-left: 4px solid #dc2626;
    color: #991b1b;
}

/* Shënim redaksional */
.mp-denonco-page .mp-editorial-note {
    background: #fff8e6;
    border-left: 4px solid #dd3333;
    padding: 20px 24px;
    margin-bottom: 32px;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #1e293b;
}
.mp-denonco-page .mp-editorial-note p { margin: 0 0 12px; }
.mp-denonco-page .mp-editorial-note p:last-child { margin-bottom: 0; }
.mp-denonco-page .mp-editorial-note a {
    color: #dd3333;
    font-weight: 600;
    text-decoration: none;
}
.mp-denonco-page .mp-editorial-note a:hover { text-decoration: underline; }

/* Honeypot — invisibile a utenti reali, visibile a bot */
.mp-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Form grid */
.mp-denonco-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 28px;
    margin-bottom: 40px;
}
.mp-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
    margin-bottom: 24px;
}
.mp-form-field-full { grid-column: 1 / -1; }

.mp-form-field label {
    display: block;
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.mp-form-field .mp-required { color: #dd3333; }
.mp-form-field .mp-optional {
    color: #94a3b8;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    font-size: 11px;
}
.mp-form-field input,
.mp-form-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 3px;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
    font-size: 15px;
    color: #0f172a;
    background: #fff;
    box-sizing: border-box;
    transition: border-color 0.15s;
}
.mp-form-field input:focus,
.mp-form-field textarea:focus {
    outline: none;
    border-color: #dd3333;
    box-shadow: 0 0 0 3px rgba(221,51,51,0.1);
}
.mp-form-field textarea {
    resize: vertical;
    min-height: 140px;
}
.mp-form-field small {
    display: block;
    color: #64748b;
    font-size: 12px;
    margin-top: 4px;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
}

/* Submit button */
.mp-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}
.mp-btn-submit {
    background: #dd3333;
    color: #fff;
    border: none;
    padding: 12px 32px;
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    border-radius: 3px;
    transition: background 0.15s;
}
.mp-btn-submit:hover { background: #b91c1c; }
.mp-privacy-note {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
}
.mp-privacy-note a {
    color: #dd3333;
    text-decoration: none;
}
.mp-privacy-note a:hover { text-decoration: underline; }

/* Contact info footer */
.mp-contact-info {
    border-top: 1px solid #e5e7eb;
    padding-top: 28px;
}
.mp-contact-info h3 {
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif !important;
    font-size: 18px;
    color: #0f172a;
    margin: 0 0 18px;
}
.mp-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.mp-contact-item {
    background: #f8fafc;
    padding: 16px 18px;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}
.mp-contact-item strong {
    display: block;
    font-family: 'Flama Bold', Helvetica, Arial, sans-serif;
    font-size: 13px;
    color: #0f172a;
    margin-bottom: 4px;
}
.mp-contact-item a {
    color: #dd3333;
    text-decoration: none;
    font-family: 'Flama', Helvetica, Arial, sans-serif;
    font-size: 14px;
}
.mp-contact-item a:hover { text-decoration: underline; }

/* Mobile responsive */
@media (max-width: 768px) {
    .mp-denonco-page { padding: 20px 0 40px; }
    .mp-denonco-page .mp-page-title { font-size: 26px; }
    .mp-form-grid { grid-template-columns: 1fr; gap: 14px; }
    .mp-form-actions { flex-direction: column; align-items: stretch; }
    .mp-btn-submit { width: 100%; }
    .mp-contact-grid { grid-template-columns: 1fr; }
    .mp-denonco-form { padding: 20px; }
}


/* ═══════════════════════════════════════════════════════════
   FIX HOROSKOPI FULL-WIDTH — sidebar rimossa, main-col 100%
   Specificity allineata al bulldozer .mp-archive-wrap esistente (riga ~6040)
   ═══════════════════════════════════════════════════════════ */
html body .mp-archive-wrap.mp-horoskopi-wrap .mp-archive-body {
    grid-template-columns: minmax(0, 1fr) !important;
}
html body .mp-archive-wrap.mp-horoskopi-wrap .mp-archive-main-col {
    width: 100% !important;
    max-width: 100% !important;
}



/* ═══════════════════════════════════════════════════════════
   FONT OVERRIDE — batte Astra parent (Roboto/Merriweather)
   Astra inline CSS usa selettori semplici (h1, body) specificity 0,0,1
   Noi usiamo "html body" = specificity 0,0,2 + !important per safety
   ═══════════════════════════════════════════════════════════ */
html body,
html body button,
html body input,
html body select,
html body textarea,
html body .ast-button,
html body .ast-custom-button,
html body .entry-content,
html body .entry-content p,
html body p {
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .entry-title,
html body .ast-archive-title,
html body .site-title,
html body .site-title a,
html body .widget-title,
html body .entry-content :where(h1, h2, h3, h4, h5, h6) {
    font-family: 'FlamaSemicond', 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* Numeri grossi / display elements del design MP (slider numbers, hero badges) */
html body .mp-slide-dark-number,
html body .mp-me-te-lexuarat-number-hero {
    font-family: 'FlamaSemicond', 'Flama', sans-serif !important;
    font-weight: 900;
}
   MP WEATHER HERO STYLE — rettangolo con foto adaptive + card overlay SX
   Selezionabile in admin via campo 'style'.
   La foto background è hardcoded per ogni theme (Unsplash CDN).
   ═══════════════════════════════════════════════════════════ */
.mp-weather.mp-weather-style-hero {
    margin: 0;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    padding: 0 !important;
    container-type: normal !important;
    box-shadow: none !important;
}

.mp-weather-hero {
    position: relative;
    width: 100%;
    height: clamp(240px, 50vw, 370px);
    border-radius: 12px;
    overflow: hidden;
}

.mp-weather-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}

.mp-weather-hero-card {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 280px;
    padding: 22px 24px 24px 24px;
    border-radius: 22px;
    background-image: linear-gradient(180deg, #8cc1f2 0%, #4286da 100%);
    color: #ffffff;
    z-index: 2;
    font-family: 'Flama', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.mp-weather-hero.mp-weather-theme-sunny  .mp-weather-hero-card { background-image: linear-gradient(180deg, #ffc174 0%, #ed8035 100%); }
.mp-weather-hero.mp-weather-theme-cloudy .mp-weather-hero-card { background-image: linear-gradient(180deg, #a8b8c8 0%, #6d8095 100%); }
.mp-weather-hero.mp-weather-theme-fog    .mp-weather-hero-card { background-image: linear-gradient(180deg, #9aa8b8 0%, #5d6d80 100%); }
.mp-weather-hero.mp-weather-theme-rainy  .mp-weather-hero-card { background-image: linear-gradient(180deg, #8cc1f2 0%, #4286da 100%); }
.mp-weather-hero.mp-weather-theme-snow   .mp-weather-hero-card { background-image: linear-gradient(180deg, #c5dff5 0%, #7aade0 100%); }
.mp-weather-hero.mp-weather-theme-thunder .mp-weather-hero-card { background-image: linear-gradient(180deg, #7a8595 0%, #3d4858 100%); }
.mp-weather-hero.mp-weather-theme-night  .mp-weather-hero-card { background-image: linear-gradient(180deg, #4a5278 0%, #1e2342 100%); }

/* Height mode (Hero card altezza configurabile via widget admin) */
.mp-weather-hero.mp-weather-h-75 { height: calc(clamp(240px, 50vw, 370px) * 0.75); }
.mp-weather-hero.mp-weather-h-50 { height: calc(clamp(240px, 50vw, 370px) * 0.5); }
.mp-weather-hero.mp-weather-h-75 .mp-weather-hero-card { transform: scale(0.75); transform-origin: 0 0; }
.mp-weather-hero.mp-weather-h-50 .mp-weather-hero-card { transform: scale(0.50); transform-origin: 0 0; }

.mp-weather-hero-city {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 8px;
}
.mp-weather-hero-pin { color: #ffffff; flex-shrink: 0; width: 28px; height: 28px; }
.mp-weather-hero-city-name {
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
    font-family: 'FlamaSemicond', 'Flama', sans-serif;
}

.mp-weather-hero-icon {
    display: flex;
    justify-content: center;
    margin: 2px 0 2px 0;
}
.mp-weather-hero-icon svg { width: 130px; height: 130px; }

.mp-weather-hero-temp {
    font-size: 64px;
    font-weight: 500;
    line-height: 1;
    margin: 0 0 14px 0;
    letter-spacing: -1.5px;
    text-align: center;
    font-family: 'FlamaSemicond', 'Flama', sans-serif;
}

.mp-weather-hero-range {
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    margin: 0 0 6px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mp-weather-hero-range-sep { opacity: 0.6; margin: 0 4px; }

.mp-weather-hero-labels {
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.2px;
    display: flex;
    justify-content: space-between;
    opacity: 0.85;
}

/* AJAX loading state */
.mp-weather-loading .mp-weather-hero {
    opacity: 0.7;
    transition: opacity .2s;
}

@media (max-width: 768px) {
    .mp-weather-hero { min-height: 220px; }
    .mp-weather-hero-card { width: 200px; padding: 14px 16px; top: 14px; left: 14px; }
    .mp-weather-hero-city-name { font-size: 18px; }
    .mp-weather-hero-icon svg { width: 75px; height: 75px; }
    .mp-weather-hero-temp { font-size: 38px; }
}
@media (max-width: 480px) {
    .mp-weather-hero { min-height: 200px; aspect-ratio: 4 / 3; }
    .mp-weather-hero-card { width: 170px; padding: 12px 14px; }
    .mp-weather-hero-city-name { font-size: 16px; }
    .mp-weather-hero-icon svg { width: 65px; height: 65px; }
    .mp-weather-hero-temp { font-size: 32px; }
    .mp-weather-hero-range { font-size: 14px; }
}

/* ═══════════════════════════════════════════════════════════
   MP COOKIE NOTICE — banner informativo geo-aware (solo EU/UK/EEA)
   GA4 caricato sempre (legitimate interest); banner solo informativo.
   ═══════════════════════════════════════════════════════════ */
#mp-cookie-notice {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 340px;
    max-width: calc(100vw - 24px);
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    border: 1px solid #e0e0e0;
    padding: 14px 36px 14px 16px;
    font-family: 'Flama', 'Helvetica Neue', sans-serif;
    font-size: 13px;
    color: #333;
    z-index: 99999;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .25s ease, transform .25s ease;
}
#mp-cookie-notice.mp-cookie-visible {
    opacity: 1;
    transform: translateY(0);
}
#mp-cookie-notice.mp-cookie-leaving {
    opacity: 0;
    transform: translateY(20px);
}
#mp-cookie-notice .mp-cookie-body {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
#mp-cookie-notice .mp-cookie-icon {
    color: #082d48;
    flex-shrink: 0;
    margin-top: 2px;
}
#mp-cookie-notice .mp-cookie-content {
    flex: 1;
    min-width: 0;
}
#mp-cookie-notice p {
    margin: 0 0 10px;
    line-height: 1.45;
    font-size: 13px;
    color: #333;
}
#mp-cookie-notice p a {
    color: #dd3333;
    text-decoration: none;
}
#mp-cookie-notice p a:hover {
    text-decoration: underline;
}
#mp-cookie-notice .mp-cookie-gotit {
    background: #082d48;
    color: #fff;
    border: 0;
    padding: 7px 18px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
}
#mp-cookie-notice .mp-cookie-gotit:hover {
    background: #0a3d62;
}
#mp-cookie-notice .mp-cookie-close {
    position: absolute;
    top: 6px;
    right: 8px;
    background: transparent;
    border: 0;
    color: #999;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 6px;
    font-family: inherit;
}
#mp-cookie-notice .mp-cookie-close:hover {
    color: #555;
}

@media (max-width: 480px) {
    #mp-cookie-notice {
        width: auto;
        bottom: 12px;
        right: 12px;
        left: 12px;
    }
}

/* ═══════════════════════════════════════════════════════════
   MP SEARCH RESULTS — pagina di ricerca custom
   Template: search.php + searchform.php
   Layout: hero + toolbar + sidebar filtri + lista risultati + pagination
   ═══════════════════════════════════════════════════════════ */
.mp-search-page {
    background: #fff;
    padding: 32px 0 48px;
}
.mp-search-page .mp-container {
    max-width: var(--mp-container-width, 1240px);
    margin: 0 auto;
    padding: 0 20px;
    background: #fff;
}

/* Hero */
.mp-search-hero {
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 4px solid #e5e7eb;
    position: relative;
}
.mp-search-hero::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 25%;
    height: 4px;
    background: #dd3333;
}
.mp-search-hero-eyebrow {
    font-size: 12px;
    color: #888;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}
.mp-search-hero-query {
    font-size: 30px;
    font-weight: 500;
    margin: 0 0 18px;
    color: #082d48;
    font-family: 'FlamaSemicond', 'Flama', sans-serif;
}

/* Search form (riutilizzato anche in header se serve) */
.mp-search-form {
    width: 100%;
}
.mp-search-form-wrap {
    position: relative;
}
.mp-search-form-input {
    width: 100%;
    padding: 12px 50px 12px 18px;
    border-radius: 6px;
    border: 1px solid #d1d5db;
    font-size: 15px;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    font-family: var(--mp-font-heading);
}
.mp-search-form-input:focus {
    outline: none;
    border-color: #082d48;
    box-shadow: 0 0 0 2px rgba(8, 45, 72, 0.1);
}
.mp-search-form-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    color: #888;
    cursor: pointer;
    padding: 8px;
    line-height: 0;
}
.mp-search-form-btn:hover {
    color: #082d48;
}

/* Toolbar contatore + sort */
.mp-search-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
    padding-bottom: 14px;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: wrap;
    gap: 12px;
}
.mp-search-count {
    font-size: 14px;
    color: #555;
}
.mp-search-count strong {
    color: #082d48;
}
.mp-search-sort {
    display: flex;
    gap: 10px;
    align-items: center;
}
.mp-search-sort label {
    font-size: 13px;
    color: #555;
}
.mp-search-sort select {
    padding: 6px 28px 6px 10px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    background: #fff;
    color: #333;
    font-family: var(--mp-font-heading);
    cursor: pointer;
}

/* Body: sidebar + risultati */
.mp-search-body {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 32px;
}

/* Sidebar */
.mp-search-sidebar {
    align-self: start;
}
.mp-search-filter-group {
    margin-bottom: 28px;
}
.mp-search-filter-title {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1.5px;
    color: #082d48;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #dd3333;
}
.mp-search-filter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0;
    font-size: 13px;
    color: #333;
    cursor: pointer;
}
.mp-search-filter-item input[type="checkbox"],
.mp-search-filter-item input[type="radio"] {
    margin: 0;
    cursor: pointer;
}
.mp-search-filter-item.mp-search-filter-all {
    color: #082d48;
    font-weight: 500;
    padding: 7px 0;
}
.mp-search-filter-divider {
    height: 1px;
    background: #f0f0f0;
    margin: 6px 0;
}
.mp-search-filter-label {
    flex: 1;
}
.mp-search-filter-count {
    color: #999;
    font-size: 12px;
    font-weight: 400;
}
.mp-search-filter-apply {
    width: 100%;
    background: #082d48;
    color: #fff;
    border: 0;
    padding: 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    font-family: var(--mp-font-heading);
    margin-bottom: 8px;
}
.mp-search-filter-apply:hover {
    background: #0a3d62;
}
.mp-search-filter-reset {
    display: block;
    text-align: center;
    width: 100%;
    padding: 8px;
    font-size: 12px;
    color: #555;
    text-decoration: none;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    box-sizing: border-box;
}
.mp-search-filter-reset:hover {
    background: #f5f5f5;
    color: #082d48;
}

/* Risultati */
.mp-search-results {
    min-width: 0;
}
.mp-search-result {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 20px;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #f0f0f0;
}
.mp-search-result:last-of-type {
    border-bottom: 0;
}
.mp-search-result-thumb {
    display: block;
    width: 160px;
    height: 110px;
    overflow: hidden;
    border-radius: 6px;
    background: #e5e7eb;
}
.mp-search-result-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mp-search-result-thumb-empty {
    display: block;
    width: 100%;
    height: 100%;
    background: #e5e7eb;
}
.mp-search-result-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.mp-search-result-cat {
    background: #dd3333;
    color: #fff;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
}
.mp-search-result-cat:hover {
    background: #b32828;
    color: #fff;
}
.mp-search-result-date {
    font-size: 12px;
    color: #888;
}
.mp-search-result-title {
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 8px;
    color: #082d48;
    line-height: 1.4;
}
.mp-search-result-title a {
    color: inherit;
    text-decoration: none;
}
.mp-search-result-title a:hover {
    color: #dd3333;
}
.mp-search-result-excerpt {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
    margin: 0;
}
.mp-search-result mark {
    background: #ffeaa7;
    color: inherit;
    padding: 0 2px;
}

/* Pagination eredita da .mp-cat-block-pagination (definita altrove) */

/* Stato no results */
.mp-search-empty {
    text-align: center;
    padding: 60px 20px;
}
.mp-search-empty-icon {
    color: #d1d5db;
    margin-bottom: 14px;
}
.mp-search-empty-title {
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 10px;
    color: #082d48;
    font-family: 'FlamaSemicond', 'Flama', sans-serif;
}
.mp-search-empty-text {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Mobile */
@media (max-width: 768px) {
    .mp-search-body {
        grid-template-columns: 1fr;
    }
    .mp-search-sidebar {
        order: 2;
    }
    .mp-search-results {
        order: 1;
    }
    .mp-search-result {
        grid-template-columns: 100px 1fr;
        gap: 14px;
    }
    .mp-search-result-thumb {
        width: 100px;
        height: 75px;
    }
    .mp-search-result-title {
        font-size: 15px;
    }
    .mp-search-result-excerpt {
        font-size: 12px;
    }
    .mp-search-hero-query {
        font-size: 24px;
    }
}

/* ═══════════════════════════════════════════════════════════
   WIDGET TITLE UNIFICATION
   Forza .mp-section-title e widget-title generici a usare
   lo stesso stile di .mp-cat-block-title (font/size/peso/case)
   ma SENZA border-bottom (gestito dal widget stesso se serve)
   ═══════════════════════════════════════════════════════════ */
.mp-section-title,
.widget_mp_widget_most_read .widget-title,
.widget_mp_widget_editorial .widget-title,
.widget_mp_widget_recent_mini .widget-title,
.widget_mp_widget_banner .widget-title,
.widget_mp_widget_social_icons .widget-title {
    margin: 0 0 var(--mp-sp-5) 0;
    font-size: 18px;
    font-family: var(--mp-font-heading);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0;
    padding-bottom: 0;
    border-bottom: 0; /* No border - gestito da wrapper se serve */
}

.mp-section-title > span,
.widget_mp_widget_most_read .widget-title > span,
.widget_mp_widget_editorial .widget-title > span,
.widget_mp_widget_recent_mini .widget-title > span,
.widget_mp_widget_banner .widget-title > span,
.widget_mp_widget_social_icons .widget-title > span {
    display: inline-block;
    padding: 0;
    border: 0;
    color: var(--mp-dark);
}

/* ═══════════════════════════════════════════════════════════
   WIDGET TITLE UNIFICATION FIX — usa .mp-widget-title (non .widget-title)
   Override color blu → grigio scuro mp-dark, mantiene stile mp-cat-block-title
   ═══════════════════════════════════════════════════════════ */
.mp-section-title,
.mp-widget-title {
    margin: 0 0 var(--mp-sp-5) 0 !important;
    font-size: 18px !important;
    font-family: var(--mp-font-heading) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    color: var(--mp-dark) !important;
}

.mp-section-title > span,
.mp-widget-title > span {
    display: inline-block;
    padding: 0;
    border: 0;
    color: var(--mp-dark);
}

/* L'accent rosso vince comunque sul color del titolo */
.mp-section-title .mp-cat-block-title-accent,
.mp-widget-title .mp-cat-block-title-accent {
    color: var(--mp-accent) !important;
}


/* ═══════════════════════════════════════════════════════════
   FIX accent + linea border (v2 — corretto)
   ═══════════════════════════════════════════════════════════ */

/* L'accent preserva gli spazi messi nel form (browser di default li collassa) */
.mp-cat-block-title .mp-cat-block-title-accent,
.mp-section-title .mp-cat-block-title-accent,
.mp-widget-title .mp-cat-block-title-accent {
    white-space: pre;
}

/* Più spazio tra il titolo e la linea border */
.mp-widget-title,
.mp-section-title {
    padding-bottom: 12px !important;
}
.mp-cat-block-title {
    padding-bottom: 12px;
}


/* ═══ Fix spacing interno body (badge / titolo / data) — mp-cat-item-sub in big-side ═══ */
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body > .mp-cat-badge {
    display: inline-block;
    margin: 0 0 2px 0;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body > .mp-cat-item-title {
    margin: 0;
    display: block;
}
.mp-cat-block-big-side .mp-cat-item-sub .mp-cat-item-body > .mp-post-date {
    margin: 0;
    display: block;
}


/* ═══ Fix margin pagine statiche (Astra plain-container no-sidebar) ═══
   Astra aggiunge 60px top+bottom su #primary in queste pagine: troppo spazio.
   Lo riduciamo a 20px per dare alla pagina un look più compatto. */
.ast-plain-container.ast-no-sidebar #primary {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}
.page header.entry-header {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
}
.page header.entry-header > *:not(:last-child) {
    margin-bottom: 0 !important;
}

/* ═══ Fix spazio sopra titolo pagine statiche (Privacy, Kontakt, Denonco) ═══ */
.mp-page-static .entry-header {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.mp-page-static main#main,
.mp-page-static #primary {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ═══ Nasconde breadcrumb sulla pagina Denonco ═══ */
body.page-id-1902 .mp-breadcrumb { display: none !important; }
