/*
 * ═══════════════════════════════════════════════════════════════
 *  Reti Solidali — style.css
 *  Bootstrap 5 + Font Awesome 6 + WordPress base
 * ═══════════════════════════════════════════════════════════════
 */

/* ─────────────────────────────────────────────
   0. VARIABILI CSS
───────────────────────────────────────────── */
:root {

    /* =====================================================
       COLORI BRAND
    ===================================================== */
    --rs-navy:          #0084BD;
    --rs-navy-dark:     #036f9e;
    --rs-navy-light:    #0b9fdf;

    --rs-orange:        #108b9d;
    --rs-orange-dark:   #131441;
    --rs-orange-light:  #454bd8;

    --rs-cream:         #f5f3ed;
    --rs-cream-dark:    #ede9e0;

    --rs-white:         #fcfbf6;
    --rs-pure-white:    #ffffff;

    --rs-text:          #000000;
    --rs-text-muted:    #6b7280;

    --rs-border:        #e2ddd5;

    /* =====================================================
       FONT
    ===================================================== */
    --rs-font-body:      'Inter', sans-serif;
    --rs-font-display:   'Montserrat', sans-serif;

    /* =====================================================
       DIMENSIONI LAYOUT
    ===================================================== */
    --rs-header-h:       4.25rem;    /* 68px */
    --rs-drawer-w:       20rem;      /* 320px */
    --rs-drawer-w-lg:    23.75rem;   /* 380px */

    /* =====================================================
       SPAZIATURE
    ===================================================== */
    --rs-space-2xs:      .25rem;
    --rs-space-xs:       .5rem;
    --rs-space-sm:       .75rem;
    --rs-space:          1rem;
    --rs-space-md:       1.5rem;
    --rs-space-lg:       2rem;
    --rs-space-xl:       3rem;
    --rs-space-2xl:      4rem;

    /* =====================================================
       BORDER RADIUS
    ===================================================== */
    --rs-radius-sm:      .25rem;     /* 4px */
    --rs-radius:         .5rem;      /* 8px */
    --rs-radius-lg:      .75rem;     /* 12px */
    --rs-radius-xl:      1.25rem;    /* 20px */
    --rs-radius-full:    999rem;

    /* =====================================================
       OMBRE
    ===================================================== */
    --rs-shadow-sm:      0 .0625rem .1875rem rgba(26,46,90,.08);

    --rs-shadow:         0 .25rem 1rem rgba(26,46,90,.12);

    --rs-shadow-lg:      0 .5rem 2rem rgba(26,46,90,.18);

    /* =====================================================
       TRANSIZIONI
    ===================================================== */
    --rs-transition:     .28s cubic-bezier(.4,0,.2,1);

    /* =====================================================
       Z-INDEX
    ===================================================== */
    --rs-overlay-z:      1040;
    --rs-header-z:       1030;
    --rs-drawer-z:       1050;
}


/* ─────────────────────────────────────────────
   1. RESET & BASE WORDPRESS
───────────────────────────────────────────── */

/* Override Bootstrap per usare i nostri font */
*,
*::before,
*::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--rs-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.65;
    color: var(--rs-text);
    background-color: var(--rs-white);
    /* Spazio per l'header fisso */
    padding-top: var(--rs-header-h);
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--rs-font-display);
    font-weight: 800;
    color: var(--rs-navy);
    line-height: 1.2;
}

h1, .h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); }
h2, .h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
h3, .h3 { font-size: clamp(1.2rem, 2.5vw, 1.5rem); }
h4, .h4 { font-size: 1.15rem; }
h5, .h5 { font-size: 1rem; }
h6, .h6 { font-size: .9rem; }

/* Link */
a {
    color: var(--rs-orange);
    text-decoration: none;
    transition: color var(--rs-transition);
}
a:hover, a:focus {
    color: var(--rs-orange-dark);
    text-decoration: underline;
}

/* Immagini responsive (WordPress default) */
img, svg, video {
    max-width: 100%;
    height: auto;
    display: block;
}

/* WordPress: immagine allineata */
.alignleft  { float: left; margin: 0 1.5rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignnone  { float: none; }

/* Clearfix per WordPress galleries */
.wp-block-gallery::after,
.gallery::after {
    content: '';
    display: table;
    clear: both;
}

/* WordPress: captions */
.wp-caption { max-width: 100%; }
.wp-caption-text,
.wp-element-caption {
    font-size: .85rem;
    color: var(--rs-text-muted);
    text-align: center;
    margin-top: .4rem;
}

/* WordPress: screen reader text */
.screen-reader-text {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.screen-reader-text:focus {
    background: var(--rs-white);
    clip: auto; height: auto; width: auto;
    padding: 1rem 1.5rem;
    z-index: 9999;
    top: 1rem; left: 1rem;
    font-size: 1rem;
    font-weight: 700;
    box-shadow: var(--rs-shadow-lg);
    border-radius: var(--rs-radius);
}

/* Paginazione WordPress */
.wp-pagenavi,
.nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
}

/* Blocco citazione */
blockquote,
.wp-block-quote {
    border-left: 4px solid var(--rs-orange);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    background: var(--rs-cream);
    border-radius: 0 var(--rs-radius) var(--rs-radius) 0;
    font-style: italic;
    color: var(--rs-navy);
}
blockquote cite,
.wp-block-quote cite {
    font-size: .85rem;
    font-style: normal;
    color: var(--rs-text-muted);
}

/* Tabelle */
table { width: 100%; border-collapse: collapse; }
th, td {
    padding: .6rem 1rem;
    border-bottom: 1px solid var(--rs-border);
    text-align: left;
}
th {
    font-weight: 700;
    color: var(--rs-navy);
    background: var(--rs-cream);
}

/* Codice */
code, kbd, pre, samp {
    font-family: 'Courier New', Courier, monospace;
    font-size: .9em;
}
code {
    background: var(--rs-cream);
    padding: .15em .4em;
    border-radius: var(--rs-radius-sm);
    color: var(--rs-navy);
}
pre {
    background: var(--rs-navy);
    color: #e8e8e8;
    padding: 1.25rem 1.5rem;
    border-radius: var(--rs-radius);
    overflow-x: auto;
}
pre code { background: none; color: inherit; padding: 0; }

/* Forms WordPress / WooCommerce base */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea,
select {
    font-family: var(--rs-font-body);
    font-size: 1rem;
    border: 1px solid var(--rs-border);
    border-radius: 1rem;
    padding: .55rem .85rem;
    width: 100%;
    background: var(--rs-white);
    color: var(--rs-text);
    transition: border-color var(--rs-transition), box-shadow var(--rs-transition);
}
input:focus,
textarea:focus,
select:focus {
    border-color: var(--rs-orange);
    box-shadow: 0 0 0 3px rgba(232,101,10,.15);
    outline: none;
}

/* Bottoni base */
.btn-rs-primary,
button.wp-block-button__link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: var(--rs-orange);
    color: var(--rs-white) !important;
    font-family: var(--rs-font-display);
    font-weight: 700;
    font-size: .95rem;
    padding: .65rem 1.4rem;
    border-radius: var(--rs-radius);
    border: 2px solid transparent;
    cursor: pointer;
    transition: background var(--rs-transition), transform .15s;
    text-decoration: none;
}
.btn-rs-primary:hover {
    background: var(--rs-orange-dark);
    transform: translateY(-1px);
    text-decoration: none;
}
.btn-rs-outline {
    background: transparent;
    color: var(--rs-navy) !important;
    border-color: var(--rs-navy);
}
.btn-rs-outline:hover {
    background: var(--rs-navy);
    color: var(--rs-white) !important;
}


/* ─────────────────────────────────────────────
   2. HEADER
───────────────────────────────────────────── */
.camarda-header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: var(--rs-header-z);
    background: var(--rs-pure-white);
    box-shadow: var(--rs-shadow-sm);
}

.camarda-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--rs-header-h);
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Le 3 colonne dell'header */
.camarda-header__left,
.camarda-header__right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.camarda-header__center {
    flex: 1;
    display: flex;
    justify-content: center;
}

/* Barra arancio in fondo all'header */
.camarda-header__bar {
    height: 1px;
    background: var(--rs-orange);
}


/* ─────────────────────────────────────────────
   3. LOGO
───────────────────────────────────────────── */
.camarda-logo,
.camarda-drawer__logo {
    display: flex;
    align-items: center;
}

/* Custom logo WordPress */
.camarda-logo .custom-logo-link,
.camarda-drawer__logo .custom-logo-link {
    display: flex;
    align-items: center;
}
.camarda-logo .custom-logo,
.camarda-drawer__logo .custom-logo {
    height: 55px;
    width: auto;
    max-width: 250px;
}

/* Fallback testuale (se non c'è logo caricato) */
.camarda-logo__link,
.camarda-drawer__logo .camarda-logo__link {
    font-family: var(--rs-font-display);
    font-size: 1.6rem;
    font-weight: 800;
    text-decoration: none;
    line-height: 1;
    display: flex;
}
.camarda-logo__reti    { color: var(--rs-navy); }
.camarda-logo__solidali { color: var(--rs-orange); }


/* ─────────────────────────────────────────────
   4. HAMBURGER
───────────────────────────────────────────── */
.camarda-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    border-radius: var(--rs-radius-sm);
    transition: background var(--rs-transition);
}
.camarda-hamburger:hover {
    background: var(--rs-cream);
}
.camarda-hamburger:focus-visible {
    outline: 2px solid var(--rs-orange);
    outline-offset: 2px;
}

.camarda-hamburger__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--rs-navy);
    border-radius: 2px;
    transition:
        transform var(--rs-transition),
        opacity   var(--rs-transition),
        width     var(--rs-transition);
    transform-origin: center;
}

/* Stato aperto: animazione → X */
.camarda-hamburger.is-active .camarda-hamburger__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.camarda-hamburger.is-active .camarda-hamburger__bar:nth-child(2) {
    opacity: 0;
    width: 0;
}
.camarda-hamburger.is-active .camarda-hamburger__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}


/* ─────────────────────────────────────────────
   5. ICONE SOCIAL HEADER
───────────────────────────────────────────── */
.camarda-social-icons__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: var(--rs-navy);
    color: var(--rs-white) !important;
    font-size: .8rem;
    text-decoration: none;
    transition: background var(--rs-transition), transform .15s;
}
.camarda-social-icons__link:hover {
    background: var(--rs-orange);
    transform: translateY(-2px);
    text-decoration: none;
}

/* Social nel drawer: leggermente più grandi */
.camarda-drawer__foot .camarda-social-icons__link {
    width: 38px;
    height: 38px;
    font-size: .9rem;
}


/* ─────────────────────────────────────────────
   6. OVERLAY
───────────────────────────────────────────── */
.camarda-overlay {
    position: fixed;
    inset: 0;
    z-index: var(--rs-overlay-z);
    background: rgba(26,46,90,.5);
    backdrop-filter: blur(2px);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity     var(--rs-transition),
        visibility  var(--rs-transition);
    cursor: pointer;
}
.camarda-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}


/* ─────────────────────────────────────────────
   7. DRAWER (sidebar menu)
───────────────────────────────────────────── */
.camarda-drawer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: var(--rs-drawer-z);
    width: var(--rs-drawer-w);
    max-width: 90vw;
    background: var(--rs-white);
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    transition: transform var(--rs-transition);
    overflow: hidden;
    box-shadow: var(--rs-shadow-lg);
}

.camarda-drawer.is-open {
    transform: translateX(0);
}

/* Head del drawer */
.camarda-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    border-bottom: 3px solid var(--rs-orange);
    flex-shrink: 0;
    min-height: var(--rs-header-h);
}

.camarda-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--rs-navy);
    font-size: 1.1rem;
    border-radius: var(--rs-radius-sm);
    transition: background var(--rs-transition), color var(--rs-transition);
}
.camarda-drawer__close:hover {
    background: var(--rs-cream);
    color: var(--rs-orange);
}

/* Body del drawer: scrollabile */
.camarda-drawer__body {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1rem 0;
    /* Scrollbar sottile */
    scrollbar-width: thin;
    scrollbar-color: var(--rs-border) transparent;
}
.camarda-drawer__body::-webkit-scrollbar { width: 4px; }
.camarda-drawer__body::-webkit-scrollbar-thumb {
    background: var(--rs-border);
    border-radius: 4px;
}

/* Foot del drawer */
.camarda-drawer__foot {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--rs-border);
    flex-shrink: 0;
}


/* ─────────────────────────────────────────────
   8. MENU — BASE (comune a mobile e desktop)
───────────────────────────────────────────── */

/* Lista radice */
.camarda-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Ogni voce */
.camarda-menu__item {
    position: relative;
    border-bottom: 1px solid var(--rs-cream-dark);
}
.camarda-menu__item:last-child { border-bottom: none; }

/* Icona freccia nel link */
.camarda-menu__arrow {
    display: inline-flex;
    align-items: center;
    font-size: .65rem;
    color: var(--rs-text-muted);
    transition: transform var(--rs-transition), color var(--rs-transition);
    flex-shrink: 0;
    pointer-events: none;
}

/* Icona personalizzata voce */
.camarda-menu__icon {
    width: 1.2em;
    text-align: center;
    color: var(--rs-orange);
    flex-shrink: 0;
}

/* ──────────────────────────────────────────────────────────────
   8a. MOBILE  (< 992px) — accordion classico
────────────────────────────────────────────────────────────── */

/* Link di primo livello */
.camarda-menu__link--top {
    display: flex;
    align-items: center;
    padding: .8rem 1.25rem;
    font-family: var(--rs-font-display);
    font-size: 1rem;
    font-weight: 700;
    color: var(--rs-navy) !important;
    text-decoration: none;
    transition: background var(--rs-transition), color var(--rs-transition);
    /* Lascia spazio al bottone toggle che è assoluto */
    padding-right: 3rem;
}
.camarda-menu__link--top:hover,
.camarda-menu__item--active > .camarda-menu__link--top {
    background: var(--rs-cream);
    color: var(--rs-orange) !important;
    text-decoration: none;
}

/* Freccia nel link: nascosta su mobile (usiamo il bottone toggle) */
.camarda-menu__link--top .camarda-menu__arrow { display: none; }

/* ── Bottone toggle accordion (solo mobile) ────────────────── */
.camarda-menu__toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 3rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    border-left: 1px solid var(--rs-border);
    color: var(--rs-navy);
    font-size: .75rem;
    cursor: pointer;
    transition:
        background     var(--rs-transition),
        color          var(--rs-transition);
    z-index: 1;
}
.camarda-menu__toggle:hover { background: var(--rs-cream); color: var(--rs-orange); }
.camarda-menu__toggle i {
    transition: transform var(--rs-transition);
}

/* Ruota icona toggle quando aperto */
.camarda-menu__item--has-children.is-open > .camarda-menu__toggle i {
    transform: rotate(180deg);
    color: var(--rs-orange);
}

/* ── Panel accordion: collassato di default ────────────────── */
.camarda-megamenu__panel {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    /* Desktop sovrascrive questo blocco */
}
.camarda-menu__item--has-children.is-open > .camarda-megamenu__panel {
    max-height: 3000px;
}

/* ── Sottomenu — mobile ─────────────────────────────────────── */
.camarda-submenu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--rs-cream);
}

.camarda-menu__link--sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 1.25rem .6rem 2rem;
    font-size: .88rem;
    font-weight: 600;
    color: var(--rs-navy) !important;
    text-decoration: none;
    transition: background var(--rs-transition), color var(--rs-transition);
    gap: .5rem;
}
.camarda-menu__link--sub:hover {
    background: var(--rs-cream-dark);
    color: var(--rs-orange) !important;
    text-decoration: none;
}

/* Terzo livello: più indentato */
.camarda-submenu--nested .camarda-menu__link--sub {
    padding-left: 3rem;
    font-size: .82rem;
    color: var(--rs-text-muted) !important;
}
.camarda-submenu--nested .camarda-menu__link--sub:hover {
    color: var(--rs-orange) !important;
}


/* ──────────────────────────────────────────────────────────────
   9. DESKTOP (≥ 992px) — mega menu flyout laterale
   Il pannello appare a destra del drawer su hover/focus dell'<li>
────────────────────────────────────────────────────────────── */
@media (min-width: 992px) {

    /* Drawer leggermente più largo su desktop */
    .camarda-drawer { width: var(--rs-drawer-w-lg); }

    /* Il drawer deve essere overflow visible per far uscire il panel */
    .camarda-drawer { overflow: visible; }
    .camarda-drawer__body { overflow: visible; }

    /* ── Bottone toggle: nascosto su desktop ─────────────── */
    .camarda-menu__toggle { display: none; }

    /* ── Freccia nel link: visibile su desktop ───────────── */
    .camarda-menu__link--top {
        padding-right: 1.25rem; /* reset, non serve più spazio per toggle */
    }
    .camarda-menu__link--top .camarda-menu__arrow { display: inline-flex; }

    /* Ruota freccia quando <li> aperto */
    .camarda-menu__item--has-children.is-open > .camarda-menu__link--top .camarda-menu__arrow {
        transform: rotate(-90deg); /* punta a destra → indica flyout */
        color: var(--rs-orange);
    }

    /* ── Panel: resetta l'accordion, diventa flyout ──────── */
    .camarda-megamenu__panel {
        /* Annulla max-height accordion */
        max-height: none !important;
        overflow: visible;
        transition: none;

        /* Posizionamento flyout */
        position: absolute;
        top: 0;
        left: 100%; /* subito a destra del drawer */
        min-height: 100%;
        width: 340px;
        background: var(--rs-white);
        border-left: 3px solid var(--rs-orange);
        border-top: none;
        box-shadow: 4px 0 24px rgba(26,46,90,.15);
        padding: 1.5rem 0;
        z-index: 10;

        /* Stato di partenza: invisibile */
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(-8px);
        transition:
            opacity    var(--rs-transition),
            visibility var(--rs-transition),
            transform  var(--rs-transition);
    }

    /* Stato aperto */
    .camarda-menu__item--has-children.is-open > .camarda-megamenu__panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    /* ── Inner: layout a colonne nel panel ───────────────── */
    .camarda-megamenu__inner {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0;
        height: 100%;
    }

    .camarda-megamenu__col {
        flex: 1 1 100%;
        padding: 0;
    }

    /* ── Sottomenu dentro il panel desktop ───────────────── */
    .camarda-megamenu__panel .camarda-submenu {
        background: transparent;
        padding: 0;
    }

    .camarda-megamenu__panel .camarda-menu__item {
        border-bottom: 1px solid var(--rs-cream-dark);
    }
    .camarda-megamenu__panel .camarda-menu__item:last-child {
        border-bottom: none;
    }

    .camarda-megamenu__panel .camarda-menu__link--sub {
        padding: .65rem 1.5rem;
        font-size: .9rem;
        font-weight: 600;
        color: var(--rs-navy) !important;
        background: transparent;
    }
    .camarda-megamenu__panel .camarda-menu__link--sub:hover {
        background: var(--rs-cream);
        color: var(--rs-orange) !important;
        padding-left: 1.9rem; /* micro-shift su hover */
    }

    /* Terzo livello nel panel */
    .camarda-megamenu__panel .camarda-submenu--nested .camarda-menu__link--sub {
        padding-left: 2.5rem;
        font-size: .82rem;
        color: var(--rs-text-muted) !important;
    }
    .camarda-megamenu__panel .camarda-submenu--nested .camarda-menu__link--sub:hover {
        padding-left: 2.9rem;
        color: var(--rs-orange) !important;
    }

    /* ── Highlight voce aperta nel drawer ────────────────── */
    .camarda-menu__item--has-children.is-open > .camarda-menu__link--top {
        background: var(--rs-cream);
        color: var(--rs-orange) !important;
    }

    /* ── Voce attiva (current page) ──────────────────────── */
    .camarda-menu__item--active > .camarda-menu__link--top {
        color: var(--rs-orange) !important;
        border-left: 3px solid var(--rs-orange);
    }
}


/* ─────────────────────────────────────────────
   10. WRAPPER PRINCIPALE & STRUTTURA PAGINA
───────────────────────────────────────────── */
.camarda-site-wrapper { overflow-x: hidden; }

.camarda-main {
    min-height: 60vh;
}

/* Container ristretti comuni */
.camarda-container {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

/* Sezione generica con padding */
.camarda-section {
    padding: 3rem 0;
}
@media (min-width: 768px) {
    .camarda-section { padding: 5rem 0; }
}


/* ─────────────────────────────────────────────
   11. CARD ARTICOLI (stile dalle screenshot)
───────────────────────────────────────────── */
.camarda-card {
    background: var(--rs-white);
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    transition: box-shadow var(--rs-transition), transform .2s;
    border: 1px solid var(--rs-border);
}
.camarda-card:hover {
    box-shadow: var(--rs-shadow);
    transform: translateY(-2px);
}

.camarda-card__img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.camarda-card__body { padding: 1.25rem; }

.camarda-card__category {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--rs-orange);
    display: block;
    margin-bottom: .4rem;
}
.camarda-card__title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--rs-navy);
    margin: 0 0 .4rem;
    line-height: 1.3;
}
.camarda-card__date {
    font-size: .8rem;
    color: var(--rs-text-muted);
}
.camarda-card__excerpt {
    font-size: .9rem;
    color: var(--rs-text);
    margin-top: .5rem;
}

/* Link "Leggi di più" stile freccia */
.camarda-readmore {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-weight: 700;
    font-size: .9rem;
    color: var(--rs-navy);
    text-decoration: none;
    transition: gap var(--rs-transition), color var(--rs-transition);
}
.camarda-readmore:hover {
    color: var(--rs-orange);
    gap: .7rem;
    text-decoration: none;
}
.camarda-readmore i { color: var(--rs-orange); }


/* ─────────────────────────────────────────────
   12. HERO / FEATURED (sezione "In evidenza")
───────────────────────────────────────────── */
.camarda-hero {
    background: var(--rs-cream);
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    margin-bottom: 2.5rem;
}
.camarda-hero__img { width: 100%; height: 260px; object-fit: cover; }
@media (min-width: 768px) {
    .camarda-hero__img { height: 380px; }
}

.camarda-hero__body {
    padding: 1.5rem;
}

.camarda-hero__label {
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--rs-orange);
    display: block;
    margin-bottom: .6rem;
}
.camarda-hero__title {
    font-size: clamp(1.4rem, 4vw, 2rem);
    font-weight: 800;
    color: var(--rs-navy);
    margin-bottom: .75rem;
    line-height: 1.2;
}
.camarda-hero__excerpt {
    color: var(--rs-text);
    font-size: 1rem;
    margin-bottom: 1rem;
}


/* ─────────────────────────────────────────────
   13. NAVBAR CATEGORIE (tab: In evidenza / News…)
───────────────────────────────────────────── */
.camarda-cat-nav {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    border-bottom: 2px solid var(--rs-border);
    margin-bottom: 1.5rem;
}
.camarda-cat-nav::-webkit-scrollbar { display: none; }

.camarda-cat-nav__link {
    display: block;
    padding: .65rem 1.1rem;
    font-size: .9rem;
    font-weight: 700;
    color: var(--rs-text-muted);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color var(--rs-transition), border-color var(--rs-transition);
}
.camarda-cat-nav__link:hover {
    color: var(--rs-navy);
    text-decoration: none;
}
.camarda-cat-nav__link.is-active {
    color: var(--rs-orange);
    border-bottom-color: var(--rs-orange);
}


/* ─────────────────────────────────────────────
   14. NEWSLETTER STRIP
───────────────────────────────────────────── */
.camarda-newsletter-strip {
    background: var(--rs-cream);
    border-radius: var(--rs-radius-lg);
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 1.25rem;
    margin-top: 2rem;
}
.camarda-newsletter-strip__icon {
    width: 48px;
    height: 48px;
    background: var(--rs-cream-dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: var(--rs-navy);
    flex-shrink: 0;
}
.camarda-newsletter-strip__body { flex: 1; }
.camarda-newsletter-strip__title {
    font-weight: 800;
    font-size: .95rem;
    color: var(--rs-navy);
    margin: 0 0 .15rem;
}
.camarda-newsletter-strip__sub {
    font-size: .85rem;
    color: var(--rs-text-muted);
    margin: 0;
}
.camarda-newsletter-strip__arrow {
    color: var(--rs-orange);
    font-size: 1.1rem;
}


/* ─────────────────────────────────────────────
   15. UTILITY CLASSI EXTRA
───────────────────────────────────────────── */
.text-orange  { color: var(--rs-orange)  !important; }
.text-navy    { color: var(--rs-navy)    !important; }
.bg-cream     { background: var(--rs-cream) !important; }
.bg-navy      { background: var(--rs-navy) !important; color: var(--rs-white); }
.bg-orange    { background: var(--rs-orange) !important; color: var(--rs-white); }

/* Divisore arancio */
.camarda-divider {
    border: none;
    height: 3px;
    background: var(--rs-orange);
    border-radius: 3px;
    margin: 2rem 0;
}


/* ─────────────────────────────────────────────
   16. FOOTER
───────────────────────────────────────────── */
.camarda-footer {
    background: var(--rs-navy);
    color: rgba(255,255,255,.85);
    padding: 3rem 0 1.5rem;
    font-size: .8rem;
    line-height: 1rem;
}
.camarda-footer figure{margin: 0rem !important}
.camarda-footer h2{font-size: 1rem !important;}
.camarda-footer a {
    color: rgba(255,255,255,.7);
    text-decoration: none;
    transition: color var(--rs-transition);
}
.camarda-footer a:hover { color: var(--rs-orange); text-decoration: none; }
h3.widget-title{color:#fff;}
.camarda-footer__widget-title {
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--rs-orange);
    margin-bottom: 1rem;
}
.camarda-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    margin-top: 2rem;
    padding-top: 1.25rem;
    font-size: .8rem;
    color: rgba(255,255,255,.5);
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: space-between;
    align-items: center;
}
.wp-block-heading{color: var(--rs-white);}

.camarda-footer ul,
.camarda-footer ol {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

/* ─────────────────────────────────────────────
   17. ACCESSIBILITÀ: FOCUS VISIBILE
───────────────────────────────────────────── */
:focus-visible {
    outline: 2px solid var(--rs-orange);
    outline-offset: 3px;
    border-radius: var(--rs-radius-sm);
}

/* Rimuovi outline per mouse, tieni per tastiera */
:focus:not(:focus-visible) { outline: none; }


/* ─────────────────────────────────────────────
   18. ANIMAZIONI
───────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}


.rs-home {
    background: var(--rs-white);
    padding-bottom: 4rem;
}

.rs-home a {
    text-decoration: none;
}

.rs-category-nav {
    display: flex;
    justify-content: center;
    gap: clamp(2rem, 6vw, 5rem);
    border-bottom: 1px solid var(--rs-border);
    margin-bottom: 2rem;
    overflow-x: auto;
}

.rs-category-nav a {
    padding: 1.3rem 0 .9rem;
    font-family: var(--rs-font-display);
    font-weight: 800;
    color: var(--rs-navy);
    border-bottom: 3px solid transparent;
    white-space: nowrap;
}

.rs-category-nav a.active,
.rs-category-nav a:hover {
    color: var(--rs-orange);
    border-bottom-color: var(--rs-orange);
}

.rs-featured-card {
    background: var(--rs-cream);
    border-radius: 10px;
    overflow: hidden;
}

.rs-featured-image img {
    width: 100%;
    object-fit: cover;
}

.rs-featured-content {
    padding: 2rem 1rem 2rem 0rem;
    background-color: #fcfbf6;
}

.rs-kicker {
    display: block;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--rs-orange);
}

.rs-kicker-featured
{margin-bottom: .8rem;}

.rs-featured-content h1 {
    max-width: 780px;
    margin-bottom: 0.5rem;
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
    line-height: 1.08;
}

.rs-featured-content h1 a,
.rs-side-post h2 a,
.rs-latest-card h3 a {
    color: var(--rs-navy);
}

.rs-featured-content p {
    max-width: 760px;
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.55;
}

.rs-side-post {
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    border-bottom: 1px solid var(--rs-orange);
}

.rs-side-post:last-child {
    margin-bottom: 0;
}

.rs-side-post h2 {
    font-size: 1.2rem;
    line-height: 1.18;
    margin-bottom: .7rem;
}

.rs-side-post p {
    margin: 0;
    color: var(--rs-text);
    line-height: 1.5;
}

.rs-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 2.5rem 0 1rem;
}

.rs-section-head h2 {
    margin: 0;
    font-size: 1.5rem;
}

.rs-section-head a {
    color: var(--rs-orange);
    font-weight: 700;
}

.rs-section-head i {
    margin-left: .4rem;
}

.rs-latest-card {
    height: 100%;
    border-top: 1px solid var(--rs-border);
    padding-top: 1rem;
}

.rs-latest-image {
    display: block;
    margin-bottom: 1.1rem;
    border-radius: 8px;
    overflow: hidden;
}

.rs-latest-image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.rs-latest-content h3 {
    font-size: 1.25rem;
    line-height: 1.18;
    margin-bottom: .6rem;
}

.rs-latest-content p {
    margin-bottom: .8rem;
    line-height: 1.5;
}

.rs-latest-content time {
    color: var(--rs-text-muted);
    font-size: .95rem;
}


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

    .rs-category-nav {
        justify-content: flex-start;
        gap: 2rem;
        padding-left: .2rem;
    }

    .rs-featured-section {
        margin-top: 1rem;
    }

    .rs-featured-image img {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .rs-featured-content {
        padding: 1.8rem 1.5rem 2.2rem;
    }

    .rs-featured-content h1 {
        font-size: 1.6rem;
    }

    .rs-featured-content p {
        font-size: 1.05rem;
    }

    .rs-section-head {
        margin-top: 2.2rem;
    }

    .rs-latest-card {
        display: grid;
        grid-template-columns: 43% 1fr;
        gap: 1.2rem;
        padding: 1.2rem 0;
        border-top: none;
        border-bottom: 1px solid var(--rs-border);
    }

    .rs-latest-image {
        margin: 0;
    }

    .rs-latest-image img {
        aspect-ratio: 4 / 3;
    }

    .rs-latest-content h3 {
        font-size: 1.15rem;
    }

}

@media (max-width: 575px) {

    .rs-latest-card {
        grid-template-columns: 42% 1fr;
        gap: 1rem;
    }

    .rs-section-head h2 {
        font-size: 1.55rem;
    }

    .rs-section-head a {
        font-size: .95rem;
    }
}

/* Mega menu header */
.camarda-mega-menu {
    position: fixed;
    inset: 0;
    z-index: var(--rs-drawer-z);
    background: var(--rs-white);
    color: var(--rs-navy);
    padding: 2rem 0 4rem;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-12px);
    transition: opacity var(--rs-transition), visibility var(--rs-transition), transform var(--rs-transition);
}

.camarda-mega-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.camarda-mega-menu__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 2rem;
    border-bottom: 3px solid var(--rs-orange);
}

.camarda-mega-menu__logo .custom-logo {
    height: 54px;
    width: auto;
}

/* Search mega menu */
.camarda-mega-menu__search {
    margin: 2rem 0 3rem;
}

.camarda-mega-menu__search form {
    position: relative;
    margin: 0;
}

.camarda-mega-menu__search label {
    display: block;
    width: 100%;
    margin: 0;
}

.camarda-mega-menu__search .search-field,
.camarda-mega-menu__search input[type="search"] {
    width: 100%;
    height: 64px;
    border: 1px solid var(--rs-border);
    border-radius: 10px;
    background: var(--rs-cream);
    padding: 0 1.5rem;
    font-size: 1.15rem;
    color: var(--rs-navy);
    box-shadow: none;
}

.camarda-mega-menu__search .search-field:focus,
.camarda-mega-menu__search input[type="search"]:focus {
    border-color: var(--rs-orange);
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 4px rgba(232,101,10,.08);
}

.camarda-mega-menu__search .search-submit {
    display: none;
}

/* Lista menu desktop: ordine verticale su 4 colonne */
.camarda-mega-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;

    column-count: 4;
    column-gap: 3rem;
}

.camarda-mega-menu__list > li {
    display: block;
    break-inside: avoid;
    margin-bottom: 2rem;
}

.camarda-mega-menu__list > li > a {
    display: block;
    color: var(--rs-navy);
    font-family: var(--rs-font-display);
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.15;
    padding-bottom: .7rem;
    margin-bottom: .4rem;
    border-bottom: 1px solid var(--rs-navy);
}

.camarda-mega-menu__list .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.camarda-mega-menu__list .sub-menu li {
    border-bottom: 1px solid var(--rs-border);
}

.camarda-mega-menu__list .sub-menu li:last-child {
    border-bottom: none;
}

.camarda-mega-menu__list .sub-menu a {
    display: block;
    padding: .65rem 0;
    color: var(--rs-text);
    font-size: 1rem;
    line-height: 1.35;
}

.camarda-mega-menu__list a:hover {
    color: var(--rs-orange);
    text-decoration: none;
}

.camarda-mega-menu__social {
    margin-top: 3rem;
    padding-top: 1.5rem;
}

/* Tablet e mobile: lista verticale pulita */
@media (max-width: 991px) {

    .camarda-mega-menu {
        padding: 1.2rem 0 3rem;
    }

    .camarda-mega-menu__top {
        padding-bottom: 1.3rem;
    }

    .camarda-mega-menu__logo .custom-logo {
        height: 46px;
    }

    .camarda-mega-menu__search {
        margin: 1.5rem 0 2rem;
    }

    .camarda-mega-menu__search .search-field,
    .camarda-mega-menu__search input[type="search"] {
        height: 54px;
        font-size: 1rem;
        padding: 0 1rem;
    }

    .camarda-mega-menu__list {
        column-count: unset;
        column-gap: 0;
        display: block;
    }

    .camarda-mega-menu__list > li {
        display: block;
        width: 100%;
        margin-bottom: 0;
        break-inside: auto;
    }

    .camarda-mega-menu__list > li > a {
        display: block;
        width: 100%;
        padding: 1rem 0;
        margin: 0;
        font-size: 1.35rem;
        line-height: 1.25;
        border-bottom: 1px solid var(--rs-border);
    }

    .camarda-mega-menu__list .sub-menu {
        padding-left: 1rem;
        margin-bottom: .5rem;
    }

    .camarda-mega-menu__list .sub-menu a {
        font-size: 1rem;
        padding: .65rem 0;
    }

    .camarda-mega-menu__social {
        margin-top: 2rem;
        padding-top: 1.2rem;
    }
}

@media (max-width: 575px) {

    .camarda-mega-menu__list > li > a {
        font-size: 1.35rem;
    }
}


/*single*/
.rs-single {
    padding: 3rem 0 5rem;
    background-color: var(--rs-white);
}

.rs-single-article {
    color: var(--rs-text);
}

.rs-single-hero {
    position: relative;
    margin: 0 0 1rem;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    background: var(--rs-cream);
}

.rs-single-hero__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.rs-single-goal {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    width: 82px;
    height: auto;
    border-radius: 4px;
    box-shadow: var(--rs-shadow);
}

.rs-single-caption {
    margin-bottom: 2rem;
    color: var(--rs-text-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.rs-single-header {
    margin-bottom: 2rem;
}

.rs-single-category {
    color: var(--rs-orange);
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rs-single-category::after {
    content: ',';
}
.rs-single-category:last-child::after {
    content: '';
}
.rs-single-title {
    margin-bottom: 1rem;
    color: var(--rs-navy);
    font-size: clamp(1.2rem, 3vw, 2rem);
    line-height: 1.05;
    font-weight: 900;
}

.rs-single-subtitle {
    margin-bottom: 1.4rem;
    color: var(--rs-text);
    font-size: clamp(1.15rem, 1.4vw, 1.4rem);
    line-height: 1.5;
}

.rs-single-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--rs-border);
    color: var(--rs-text-muted);
    font-size: .95rem;
}

.rs-single-meta a {
    color: var(--rs-navy);
    font-weight: 800;
}

.rs-single-reading-time i {
    margin-right: .25rem;
    color: var(--rs-orange);
}

.rs-single-audio {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 1rem;
    align-items: center;
    margin: 1.4rem 0;
    padding: 1.8rem 1.2rem;
    background: var(--rs-cream);
    border-radius: var(--rs-radius-lg);
}

.rs-single-audio span {
    font-size: .75rem;
    line-height: 1.2;
}

.rs-single-audio audio {
    width: 100%;
    height: 38px;
}

.rs-single-audio span {
    color: var(--rs-navy);
    font-weight: 900;
    text-transform: uppercase;
    font-size: .8rem;
    letter-spacing: .06em;
}

.rs-single-audio audio {
    width: 100%;
}

.rs-single-content {
    font-size: 1.1rem;
    line-height: 1.8;
}

.rs-single-content > * {
    margin-bottom: 1.4rem;
}

.rs-single-content h2,
.rs-single-content h3,
.rs-single-content h4 {
    margin-top: 2.4rem;
    margin-bottom: 1rem;
    color: var(--rs-navy);
}

.rs-single-content h2 {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
}

.rs-single-content h3 {
    font-size: clamp(1.4rem, 2.5vw, 1rem);
}

.rs-single-content p {
    margin-bottom: 1.4rem;
}

.rs-single-content a {
    color: var(--rs-orange);
    font-weight: 700;
    text-underline-offset: 3px;
}

.rs-single-content blockquote {
    margin: 2rem 0;
}

.rs-single-content img {
    border-radius: var(--rs-radius);
}

.rs-single-footer {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--rs-border);
}

.rs-single-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.rs-single-tags a {
    display: inline-flex;
    padding: .35rem .75rem;
    border-radius: 999px;
    background: var(--rs-cream);
    color: var(--rs-navy);
    font-size: .85rem;
    font-weight: 700;
}

.rs-single-tags a:hover {
    background: var(--rs-orange);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767px) {
    .rs-single {
        padding-top: 2rem;
    }

    .rs-single-title {
        font-size: 2.2rem;
    }

    .rs-single-audio {
        grid-template-columns: 1fr;
    }

    .rs-single-content {
        font-size: 1.03rem;
        line-height: 1.75;
    }

    .rs-single-goal {
        width: 64px;
    }
}
.rs-single-categories {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .9rem;
}

.rs-single-category {
    display: inline-flex;
    color: var(--rs-orange);
    font-size: .8rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rs-single-category:hover {
    color: var(--rs-orange-dark);
    text-decoration: none;
}

.rs-home-category {
    display: inline-flex;
    margin-bottom: .8rem;
    color: var(--rs-orange);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.rs-home-category:hover {
    color: var(--rs-orange-dark);
    text-decoration: none;
}

/*serach*/
.rs-search-page {
    padding: 3rem 0 5rem;
}

.rs-search-header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 3px solid var(--rs-orange);
}

.rs-search-header h1 {
    margin: 0;
    color: var(--rs-navy);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.1;
}

.rs-search-header h1 span {
    color: var(--rs-orange);
}

.rs-breadcrumb {
    margin-bottom: 1rem;
    color: var(--rs-text-muted);
    font-size: .9rem;
    text-align: center;
}

.rs-search-results {
    display: grid;
    gap: 0;
}

.rs-search-item {
    padding: 1.2rem 0;
    border-bottom: 1px solid var(--rs-border);
}

.rs-search-title {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    line-height: 1.25;
}

.rs-search-title a {
    color: var(--rs-navy);
    text-decoration: none;
}

.rs-search-title a:hover {
    color: var(--rs-orange);
}

.rs-search-pagination {
    margin-top: 2.5rem;
}

.rs-search-empty {
    max-width: 720px;
}

.rs-search-empty p {
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

/*menù secondario home*/
.rs-category-nav__list {
    display: flex;
    justify-content: center;
    gap: clamp(2rem, 6vw, 5rem);
    list-style: none;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid var(--rs-border);
    overflow-x: auto;
}

.rs-category-nav__list li {
    margin: 0;
}

.rs-category-nav__list a {
    display: block;
    padding: 1.3rem 0 .9rem;
    font-family: var(--rs-font-display);
    font-weight: 800;
    color: var(--rs-navy);
    border-bottom: 3px solid transparent;
    white-space: nowrap;
}

.rs-category-nav__list .current-menu-item > a,
.rs-category-nav__list .current_page_item > a,
.rs-category-nav__list a:hover {
    color: var(--rs-orange);
    border-bottom-color: var(--rs-orange);
    text-decoration: none;
}

/*content article */
.rs-side-post--card {
    padding-bottom: 1.4rem;
    margin-bottom: 1.4rem;
}

.rs-side-post__image {
    display: block;
    margin-bottom: .9rem;
    overflow: hidden;
    border-radius: 8px;
}

.rs-side-post__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.rs-side-post__content h2 {
    margin-bottom: .5rem;
}

.rs-side-post__content time {
    display: block;
    color: var(--rs-text-muted);
    font-size: .9rem;
}

/* Mobile: i 3 articoli sotto il featured diventano uguali agli ultimi articoli */
.rs-side-post--card {
    padding-bottom: 1.4rem;
    margin-bottom: 1.4rem;
}

.rs-side-post__image {
    display: block;
    margin-bottom: .9rem;
    overflow: hidden;
    border-radius: 8px;
}

.rs-side-post__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.rs-side-post__content h2 {
    margin-bottom: .5rem;
}

.rs-side-post__content time {
    display: block;
    color: var(--rs-text-muted);
    font-size: .9rem;
}

/* Mobile: i 3 articoli sotto il featured diventano uguali agli ultimi articoli */
@media (max-width: 991px) {

    .rs-side-posts {
        margin-top: 1.8rem;
    }

    .rs-side-post--card {
        display: grid;
        grid-template-columns: 43% 1fr;
        gap: 1.2rem;
        padding: 1.2rem 0;
        margin: 0;
        border-bottom: 1px solid var(--rs-border);
    }

    .rs-side-post__image {
        margin: 0;
    }

    .rs-side-post__image img {
        aspect-ratio: 4 / 3;
    }

    .rs-side-post__content h2 {
        font-size: 1.15rem;
        line-height: 1.18;
    }

    .rs-side-post__content .rs-kicker {
        margin-bottom: .35rem;
    }
}

@media (max-width: 575px) {

    .rs-side-post--card {
        grid-template-columns: 42% 1fr;
        gap: 1rem;
    }
}

/* Mobile: i 3 articoli dopo il featured devono essere immagine sopra + testo sotto */
@media (max-width: 991px) {

    .rs-side-post--card {
        display: block;
        padding: 1.4rem 0;
        margin: 0;
        border-bottom: 1px solid var(--rs-border);
    }

    .rs-side-post__image {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
    }

    .rs-side-post__image img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .rs-side-post__content h2 {
        font-size: 1.35rem;
        line-height: 1.15;
        margin-bottom: .7rem;
    }

    .rs-side-post__content p {
        display: block;
        margin-bottom: .8rem;
        font-size: 1rem;
        line-height: 1.55;
    }
}

@media (max-width: 575px) {

    .rs-latest-card {
        display: block;
        padding: 1.4rem 0;
        border-bottom: 1px solid var(--rs-border);
    }

    .rs-latest-image {
        display: block;
        width: 100%;
        margin-bottom: 1rem;
    }

    .rs-latest-image img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

    .rs-latest-content h3 {
        font-size: 1.25rem;
        line-height: 1.18;
    }
}

/*logo short e funzione mobile */
.camarda-logo--short {
    display: none;
}

/* =========================================================
   HEADER MOBILE — BURGER, LOGO E SOCIAL SULLA STESSA RIGA
========================================================= */

@media (max-width: 767px) {

	:root {
		--rs-header-h: 72px;
	}

	.camarda-header__inner {
		display: grid;
		grid-template-columns:
			minmax(0, 1fr)
			auto
			minmax(0, 1fr);

		grid-template-areas:
			"burger logo social";

		align-items: center;
		height: var(--rs-header-h);
		min-height: var(--rs-header-h);
		padding: .5rem .75rem;
		column-gap: .5rem;
		row-gap: 0;
	}

	/* Burger a sinistra */
	.camarda-header__left {
		grid-area: burger;
		justify-content: flex-start;
		min-width: 0;
	}

	/* Logo al centro */
	.camarda-header__center {
		grid-area: logo;
		justify-content: center;
		min-width: 0;
	}

	/* Social a destra */
	.camarda-header__right {
		grid-area: social;
		justify-content: flex-end;
		flex-wrap: nowrap;
		gap: .35rem;
		min-width: 0;
	}

	.camarda-header__right .camarda-social-icons {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex-wrap: nowrap;
		gap: .35rem;
	}

	/* Logo principale */
	.camarda-logo .custom-logo {
		display: block;
		width: auto;
		height: 42px;
		max-width: min(38vw, 165px);
		object-fit: contain;
	}

	/* Quando l’header diventa compatto */
	.camarda-header.is-scrolled .camarda-logo--main {
		display: none;
	}

	.camarda-header.is-scrolled .camarda-logo--short {
		display: flex;
	}

	.camarda-header.is-scrolled {
		box-shadow: var(--rs-shadow-sm);
	}

	.camarda-header.is-scrolled .camarda-header__inner {
		height: var(--rs-header-h);
		min-height: var(--rs-header-h);
		row-gap: 0;
	}

	.camarda-header.is-scrolled .camarda-logo .custom-logo {
		width: auto;
		height: 34px;
		max-width: 135px;
	}
}

/* breadcumbs*/
.rs-page-header {
    padding: 1.4rem 0 0.5rem;
    border-bottom: 1px solid var(--rs-border);
    background: var(--rs-white);
}

.rs-breadcrumb {
    margin-bottom: .8rem;
    font-size: .9rem;
    color: var(--rs-text-muted);
}

.rs-breadcrumb a {
    color: var(--rs-text-muted);
}

.rs-breadcrumb a:hover {
    color: var(--rs-orange);
}

.rs-page-title {
    margin: 0;
    color: var(--rs-navy);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.05;
    font-weight: 900;
}

/* Header fisso con admin bar WordPress */
body.admin-bar .camarda-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .camarda-header {
        top: 46px;
    }
}

/* Page */
.rs-page {
    padding: 3rem 0 5rem;
}

.rs-page-article {
    color: var(--rs-text);
}

.rs-page-hero {
    margin: 0 0 2.5rem;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    background: var(--rs-cream);
}

.rs-page-hero__img {
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}

.rs-page-content {
    font-size: 1.08rem;
    line-height: 1.8;
}

.rs-page-content > * {
    margin-bottom: 1.35rem;
}

.rs-page-content h2,
.rs-page-content h3,
.rs-page-content h4 {
    margin-top: 2.4rem;
    margin-bottom: 1rem;
    color: var(--rs-navy);
}

.rs-page-content h2 {
    font-size: clamp(1.7rem, 3vw, 2.3rem);
}

.rs-page-content h3 {
    font-size: clamp(1.4rem, 2.5vw, 1.8rem);
}

.rs-page-content a {
    color: var(--rs-orange);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rs-page-content img {
    border-radius: var(--rs-radius);
}

.rs-page-content ul,
.rs-page-content ol {
    padding-left: 1.4rem;
}

.rs-page-content li {
    margin-bottom: .45rem;
}

@media (max-width: 767px) {
    .rs-page {
        padding: 2rem 0 4rem;
    }

    .rs-page-hero {
        margin-bottom: 2rem;
    }

    .rs-page-hero__img {
        aspect-ratio: 16 / 9;
    }

    .rs-page-content {
        font-size: 1.02rem;
        line-height: 1.75;
    }
}
/*3 box img home */
.rs-banner-grid {
    padding: 3rem 0;
    background: var(--rs-pure-white);
}

.rs-banner-card {
    height: 100%;
    background: var(--rs-pure-white);
    border-radius: var(--rs-radius);
    overflow: hidden;
}

.rs-banner-card__link {
    display: block;
}

.rs-banner-card__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--rs-radius);
    transition:
        transform var(--rs-transition),
        opacity var(--rs-transition);
}

.rs-banner-card__link:hover .rs-banner-card__img {
    transform: scale(1.02);
    opacity: .96;
}

@media (max-width: 767px) {

    .rs-banner-grid {
        padding: 2rem 0;
    }

    .rs-banner-card {
        margin-bottom: .5rem;
    }
}

/* category */

/* Category page */
.rs-category-page {
    padding: 3rem 0 5rem;
}

.rs-category-description {
    max-width: 900px;
    margin-bottom: 2.5rem;
    font-size: 1.05rem;
    line-height: 1.75;
}

.rs-category-card {
    height: 100%;
    background: var(--rs-pure-white);
    border-radius: var(--rs-radius);
    overflow: hidden;
    transition:
        transform var(--rs-transition),
        box-shadow var(--rs-transition);
}

.rs-category-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--rs-shadow-md);
}

.rs-category-card__image {
    display: block;
    overflow: hidden;
}

.rs-category-card__image img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform var(--rs-transition);
}

.rs-category-card:hover .rs-category-card__image img {
    transform: scale(1.03);
}

.rs-category-card__content {
    padding: 1.4rem;
}

.rs-category-card__title {
    margin: .5rem 0 .8rem;
    font-size: clamp(1.25rem, 2vw, 1.6rem);
    line-height: 1.15;
}

.rs-category-card__title a {
    color: var(--rs-navy);
    text-decoration: none;
}

.rs-category-card__title a:hover {
    color: var(--rs-orange);
}

.rs-category-card__excerpt {
    margin-bottom: 1rem;
    line-height: 1.65;
    color: var(--rs-text);
}

.rs-category-card__date {
    display: block;
    font-size: .92rem;
    color: var(--rs-text-muted);
}

.rs-pagination {
    margin-top: 3rem;
}

.rs-empty-state {
    padding: 3rem 0;
}

@media (max-width: 767px) {

    .rs-category-page {
        padding: 2rem 0 4rem;
    }

    .rs-category-card__content {
        padding: 1.1rem;
    }

    .rs-category-card__title {
        font-size: 1.35rem;
    }
}

/* Paginazione WP-PageNavi */
.rs-pagination {
    margin-top: 3rem;
}

.rs-pagination .wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: 0;
}

.rs-pagination .wp-pagenavi span,
.rs-pagination .wp-pagenavi a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 .85rem;
    border-radius: 999px;
    border: 1px solid var(--rs-border);
    background: var(--rs-pure-white);
    color: var(--rs-navy);
    font-size: .95rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.rs-pagination .wp-pagenavi a:hover {
    background: var(--rs-orange);
    border-color: var(--rs-orange);
    color: #fff;
    text-decoration: none;
}

.rs-pagination .wp-pagenavi .current {
    background: var(--rs-navy);
    border-color: var(--rs-navy);
    color: #fff;
}

.rs-pagination .wp-pagenavi .pages {
    width: auto;
    padding: 0 1rem;
    background: transparent;
    color: var(--rs-text-muted);
    border-color: transparent;
    font-weight: 700;
}

.rs-pagination .wp-pagenavi .extend {
    background: transparent;
    border-color: transparent;
    color: var(--rs-text-muted);
}

.rs-pagination .wp-pagenavi .nextpostslink,
.rs-pagination .wp-pagenavi .previouspostslink,
.rs-pagination .wp-pagenavi .last,
.rs-pagination .wp-pagenavi .first {
    width: auto;
    padding: 0 1.1rem;
}

@media (max-width: 575px) {
    .rs-pagination .wp-pagenavi {
        gap: .4rem;
    }

    .rs-pagination .wp-pagenavi span,
    .rs-pagination .wp-pagenavi a {
        min-width: 38px;
        height: 38px;
        font-size: .9rem;
    }

    .rs-pagination .wp-pagenavi .pages {
        flex-basis: 100%;
    }
}
/*articoli correlati*/
.rs-related-shortcode {
    margin: 3rem 0;
    padding: 1rem;
    border-top: 1px solid var(--rs-border);
    border-bottom: 1px solid var(--rs-border);
    background: var(--rs-cream);
}

.rs-related-shortcode__title {
    margin: 1rem 0rem 0rem 1rem !important;
    font-size: clamp(1rem, 2vw, 1.2rem) !important;
}

.rs-related-card {
    height: 100%;
}
p.rs-related{font-size: 1rem;  line-height: 1.5rem;}

/* ── Variante orizzontale (un solo articolo per shortcode) ── */
.rs-related-card--horizontal {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-left:1rem;
}

.rs-related-card--horizontal .rs-related-card__image {
    flex: 0 0 40%;
    max-width: 320px;
    margin-bottom: 0;
}

.rs-related-card--horizontal .rs-related-card__content {
    flex: 1 1 auto;
}

.rs-related-card--horizontal .rs-related-card__img {
    aspect-ratio: 16 / 10;
}

.rs-related-card__image {
    display: block;
    margin-bottom: 1rem;
    border-radius: var(--rs-radius);
    overflow: hidden;
}

.rs-related-card__img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.rs-related-card__title {
    margin-bottom: .6rem;
    font-size: 1.25rem !important;
    line-height: 1.18;
    margin-top: 0rem !important;
}

.rs-related-card__title a {
    color: var(--rs-navy);
}

.rs-related-card__title a:hover {
    color: var(--rs-orange);
    text-decoration: none;
}

.rs-related-card__date {
    display: block;
    color: var(--rs-text-muted);
    font-size: .9rem;
}

@media (max-width: 767px) {
    .rs-related-card {
        margin-bottom: 1rem;
    }

    .rs-related-card--horizontal {
        flex-direction: column;
        align-items: stretch;
        gap: 1rem;
    }

    .rs-related-card--horizontal .rs-related-card__image {
        flex-basis: auto;
        max-width: none;
    }
}

/* Background per single differente */
.single,
.page {
    background: var(--rs-pure-white);
}

.single .rs-page-header,
.page .rs-page-header {
    background: var(--rs-pure-white);
}

/* Gallery */
/* Gallery Bootstrap custom */
.camarda-gallery {
    margin: 3rem 0;
}

.camarda-gallery__slider {
    background: var(--rs-pure-white);
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
}

.camarda-gallery__main-image {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

.camarda-gallery__img {
    width: 100%;
    max-height: 680px;
    object-fit: contain;
    background: var(--rs-pure-white);
}

.camarda-gallery__caption {
    padding: .8rem 1rem;
    color: var(--rs-text-muted);
    font-size: .9rem;
    line-height: 1.45;
    background: var(--rs-pure-white);
}

.camarda-gallery__thumbs {
    display: flex;
    gap: .6rem;
    margin-top: .8rem;
    overflow-x: auto;
    padding-bottom: .4rem;
}

.camarda-gallery__thumb {
    flex: 0 0 auto;
    width: 92px;
    height: 68px;
    padding: 0;
    border: 2px solid transparent;
    border-radius: var(--rs-radius);
    overflow: hidden;
    background: transparent;
    cursor: pointer;
    opacity: .7;
}

.camarda-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.camarda-gallery__thumb:hover,
.camarda-gallery__thumb.is-active {
    opacity: 1;
    border-color: var(--rs-orange);
}

.camarda-gallery .carousel-control-prev,
.camarda-gallery .carousel-control-next {
    width: 54px;
}

.camarda-gallery .carousel-control-prev-icon,
.camarda-gallery .carousel-control-next-icon,
.camarda-gallery-modal .carousel-control-prev-icon,
.camarda-gallery-modal .carousel-control-next-icon {
    filter: invert(1);
}

/* Fullscreen modal */
.camarda-gallery-modal .modal-content {
    background: rgba(0, 0, 0, .92);
    border: 0;
    border-radius: 0;
}

.camarda-gallery-modal__close {
    position: fixed;
    top: 1.2rem;
    right: 1.2rem;
    z-index: 10;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    font-size: 1.3rem;
}

.camarda-gallery-modal__close:hover {
    background: var(--rs-orange);
}

.camarda-gallery-modal__slider,
.camarda-gallery-modal .carousel-inner,
.camarda-gallery-modal .carousel-item {
    height: 100vh;
}

.camarda-gallery-modal__img {
    width: 100%;
    height: 100vh;
    object-fit: contain;
    padding: 4rem;
}

@media (max-width: 767px) {
    .camarda-gallery {
        margin: 2rem 0;
    }

    .camarda-gallery__img {
        max-height: 420px;
    }

    .camarda-gallery__thumb {
        width: 74px;
        height: 56px;
    }

    .camarda-gallery-modal__img {
        padding: 3.5rem 1rem;
    }
}

/* Frecce slider gallery */
.camarda-gallery .carousel-control-prev,
.camarda-gallery .carousel-control-next,
.camarda-gallery-modal .carousel-control-prev,
.camarda-gallery-modal .carousel-control-next {
    width: 72px;
    opacity: 1;
}

.camarda-gallery .carousel-control-prev-icon,
.camarda-gallery .carousel-control-next-icon,
.camarda-gallery-modal .carousel-control-prev-icon,
.camarda-gallery-modal .carousel-control-next-icon {
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background-color: rgba(0,0,0,.72);
    background-size: 22px;
    background-position: center;
    transition:
        background-color .2s ease,
        transform .2s ease;
}

/* Hover */
.camarda-gallery .carousel-control-prev:hover .carousel-control-prev-icon,
.camarda-gallery .carousel-control-next:hover .carousel-control-next-icon,
.camarda-gallery-modal .carousel-control-prev:hover .carousel-control-prev-icon,
.camarda-gallery-modal .carousel-control-next:hover .carousel-control-next-icon {
    background-color: var(--rs-orange);
    transform: scale(1.06);
}

/* Icona prev bianca */
.camarda-gallery .carousel-control-prev-icon,
.camarda-gallery-modal .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
}

/* Icona next bianca */
.camarda-gallery .carousel-control-next-icon,
.camarda-gallery-modal .carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 14.354a.5.5 0 0 1 0-.708L10.293 8 4.646 2.354a.5.5 0 1 1 .708-.708l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708 0z'/%3E%3C/svg%3E");
}

@media (max-width: 767px) {

    .camarda-gallery .carousel-control-prev,
    .camarda-gallery .carousel-control-next,
    .camarda-gallery-modal .carousel-control-prev,
    .camarda-gallery-modal .carousel-control-next {
        width: 56px;
    }

    .camarda-gallery .carousel-control-prev-icon,
    .camarda-gallery .carousel-control-next-icon,
    .camarda-gallery-modal .carousel-control-prev-icon,
    .camarda-gallery-modal .carousel-control-next-icon {
        width: 42px;
        height: 42px;
        background-size: 18px;
    }
}

/* =========================================================
   IMMAGINI CONTENUTO ARTICOLI
========================================================= */

/* Reset base immagini contenuto */
.rs-single-content img,
.rs-page-content img,
.wp-block-image img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--rs-radius);
}

/* Figure */
.rs-single-content figure,
.rs-page-content figure,
.wp-block-image {
    margin: 2rem 0;
}

/* Caption */
.wp-caption,
.wp-element-caption,
figcaption,
.gallery-caption {
    margin-top: .7rem;
    color: var(--rs-text-muted);
    font-size: .88rem;
    line-height: 1.45;
    text-align: center;
}

/* =========================================================
   ALIGNMENT WORDPRESS CLASSICI
========================================================= */

/* Align none */
.alignnone {
    margin: 2rem 0;
}

/* Align center */
.aligncenter {
    display: table;
    margin: 2.5rem auto;
    text-align: center;
}

/* Align left */
.alignleft {
    float: left;
    margin: .5rem 2rem 1.5rem 0;
    max-width: min(48%, 420px);
}

/* Align right */
.alignright {
    float: right;
    margin: .5rem 0 1.5rem 2rem;
    max-width: min(48%, 420px);
}

/* Clear float dopo immagini */
.rs-single-content::after,
.rs-page-content::after {
    content: "";
    display: block;
    clear: both;
}

/* =========================================================
   IMMAGINI GRANDI / HERO
========================================================= */

.size-full,
.size-large {
    width: 100%;
}

.rs-single-content > .wp-block-image.alignwide,
.rs-page-content > .wp-block-image.alignwide {
    margin-left: -5%;
    margin-right: -5%;
}

.rs-single-content > .wp-block-image.alignfull,
.rs-page-content > .wp-block-image.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}

/* =========================================================
   GUTENBERG IMAGE BLOCK
========================================================= */

.wp-block-image {
    overflow: hidden;
}

.wp-block-image img {
    transition:
        transform .35s ease,
        opacity .35s ease;
}

.wp-block-image a:hover img {
    transform: scale(1.015);
}

/* =========================================================
   GALLERIE
========================================================= */

.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 2rem 0;
}

.gallery img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

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

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

/* =========================================================
   EMBED / VIDEO / IFRAME
========================================================= */

.rs-single-content iframe,
.rs-page-content iframe,
.rs-single-content video,
.rs-page-content video {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: var(--rs-radius);
    overflow: hidden;
}

.wp-block-embed,
.wp-block-video {
    margin: 2rem 0;
}

/* =========================================================
   IMMAGINI CON BORDO
========================================================= */

.rs-single-content .is-style-bordered img,
.rs-page-content .is-style-bordered img {
    border: 1px solid var(--rs-border);
}

/* =========================================================
   IMMAGINI TONDE
========================================================= */

.rs-single-content .is-style-rounded img,
.rs-page-content .is-style-rounded img {
    border-radius: 999px;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .alignleft,
    .alignright {
        float: none;
        max-width: 100%;
        margin: 1.5rem 0;
    }

    .gallery,
    .gallery-columns-3,
    .gallery-columns-4,
    .gallery-columns-5 {
        grid-template-columns: repeat(2, 1fr);
    }

    .rs-single-content > .wp-block-image.alignwide,
    .rs-page-content > .wp-block-image.alignwide {
        margin-left: 0;
        margin-right: 0;
    }

    .rs-single-content > .wp-block-image.alignfull,
    .rs-page-content > .wp-block-image.alignfull {
        width: 100%;
        margin-left: 0;
        transform: none;
    }
}

/* 404 */
.rs-404 {
    min-height: 60vh;
    padding: 5rem 0;
    display: flex;
    align-items: center;
    background: var(--rs-pure-white);
}

.rs-404__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 7rem;
    height: 7rem;
    margin-bottom: 1.5rem;
    border-radius: 50%;
    background: var(--rs-cream);
    color: var(--rs-orange);
    font-family: var(--rs-font-display);
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1;
}

.rs-404__title {
    margin-bottom: 1rem;
    color: var(--rs-navy);
    font-family: var(--rs-font-display);
    font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 900;
    line-height: 1.05;
}

.rs-404__text {
    max-width: 620px;
    margin: 0 auto 2rem;
    color: var(--rs-text);
    font-size: 1.1rem;
    line-height: 1.7;
}

.rs-404__search {
    max-width: 520px;
    margin: 0 auto 2rem;
}

.rs-404__search .search-area,
.rs-404__search form {
    width: 100%;
}

.rs-404__search .search-field {
    width: 100%;
    height: 3.5rem;
    padding: 0 1rem;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius-full);
    background: var(--rs-cream);
    color: var(--rs-navy);
}

.rs-404__search .search-field:focus {
    border-color: var(--rs-orange);
    background: var(--rs-pure-white);
    outline: none;
    box-shadow: 0 0 0 .25rem rgba(245, 106, 8, .1);
}

.rs-404__actions {
    display: flex;
    justify-content: center;
}

.rs-404__button {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .85rem 1.35rem;
    border-radius: var(--rs-radius-full);
    background: var(--rs-orange);
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

.rs-404__button:hover {
    background: var(--rs-orange-dark);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767px) {
    .rs-404 {
        min-height: auto;
        padding: 3.5rem 0;
    }

    .rs-404__badge {
        width: 5.5rem;
        height: 5.5rem;
        font-size: 2rem;
    }
}
.rs-404__search .search-submit,
.rs-404__search button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .85rem 1.4rem;
    border: 0;
    border-radius: 999px;
    background: var(--rs-orange);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
    transition: .2s ease;
}

.rs-404__search .search-submit:hover,
.rs-404__search button[type="submit"]:hover {
    background: var(--rs-orange-dark);
}
.search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    border: 0;
    border-radius: 999px;
    background: var(--rs-orange);
    color: #fff;
    cursor: pointer;
    transition: .2s ease;
}

.search-submit:hover {
    background: var(--rs-orange-dark);
}

.search-submit i {
    font-size: 1rem;
    line-height: 1;
}

/* Avatar coerenti */
.dp-journalists .dp-avatar {
    object-fit: cover;
    aspect-ratio: 1 / 1;

    display: block;
    margin: 0 auto 15px;
}
.dp-journalists .dp-circle { border-radius: 50%; }
.dp-journalists .dp-square { border-radius: 0; }

/* Card e colonne a pari altezza */
.dp-journalists .row > [class*="col-"].d-flex { align-items: stretch; margin-bottom: 1rem;}
.dp-journalists .card { display: flex; flex-direction: column; height: 100%; }
.dp-journalists .card-body { display: flex; flex-direction: column; }

h3.card-title {font-size: 1.2rem;}

/*lettore degli articoli */
/* ─── Audio Player ─────────────────────────────────────────── */
.rs-single-audio {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f4f4f0;
    border: 1px solid #e0ddd5;
    border-radius: 10px;
    padding: 14px 20px;
    margin: 1.5rem 0;
}

.rs-audio-label {
    font-family: 'Nunito', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1a3a5c;
    line-height: 1.4;
    min-width: 72px;
    flex-shrink: 0;
}

.rs-audio-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    border-radius: 8px;
    padding: 10px 14px;
}

/* Play/Pause */
.rs-play-btn,
.rs-mute-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--rs-navy);
    line-height: 1;
}

.rs-play-btn {
    width: 28px;
    height: 28px;
}

/* Seek bar */
.rs-seek {
    flex: 1;
    height: 3px;
    -webkit-appearance: none;
    appearance: none;
    background: #555;
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    min-width: 0;
}

.rs-seek::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--rs-navy);
    cursor: pointer;
}

.rs-seek::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background:  var(--rs-navy);
    border: none;
    cursor: pointer;
}

/* Time */
.rs-time {
    font-family: 'Nunito Sans', sans-serif;
    font-size: 12px;
    color: #f0a500;
    white-space: nowrap;
    min-width: 72px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

/* Volume bar */
.rs-vol {
    width: 60px;
    height: 3px;
    -webkit-appearance: none;
    appearance: none;
    background: linear-gradient(to right, #aaa 100%, #555 100%);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    flex-shrink: 0;
}

.rs-vol::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background:  var(--rs-navy);
    cursor: pointer;
}

.rs-vol::-moz-range-thumb {
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background:  var(--rs-navy);
    border: none;
    cursor: pointer;
}

/* Mobile */
@media (max-width: 575px) {
    .rs-single-audio {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .rs-audio-label {
        min-width: unset;
    }

    .rs-audio-controls {
        width: 100%;
    }

    .rs-vol {
        display: none;
    }
}

.comments-area{margin-top:2rem;}

/*intercetto titoli arancio */
.rs-single-content h3 > span[style*="#ff6600"],
.rs-single-content h3 > span[style*="#ff6600"] strong {
    color: var(--rs-orange) !important;
}

/* blocco adv home */
.rs-banner-card {
    overflow: hidden;
}

.rs-banner-card__link {
    display: block;
}

.rs-banner-card__img {
    width: 100%;
    height: auto;
    display: block;
}

.rs-banner-slider {
    position: relative;
}

.rs-banner-slider__viewport {
    overflow: hidden;
}

.rs-banner-slider__track {
    display: flex;
    gap: 1.5rem;
    transition: transform 0.35s ease;
}

.rs-banner-slider__item {
    flex: 0 0 calc((100% - 3rem) / 3);
}

.rs-banner-slider__btn {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(92, 92, 92, 0.1);
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.rs-banner-slider__btn i {
    font-size: 16px;
    line-height: 1;
}

.rs-banner-slider__btn:disabled {
    opacity: .35;
    cursor: default;
}

.rs-banner-slider__btn--prev {
    left: -55px;
}

.rs-banner-slider__btn--next {
    right: -55px;
}

@media (max-width: 991px) {
    .rs-banner-slider__item {
        flex-basis: calc((100% - 1.5rem) / 2);
    }

    .rs-banner-slider__btn--prev {
        left: 0;
    }

    .rs-banner-slider__btn--next {
        right: 0;
    }
}

@media (max-width: 575px) {
    .rs-banner-slider__item {
        flex-basis: 100%;
    }
}
.rs-banner-slider-section{margin:2rem 0rem;}

/* =========================================================
   CAMARDA — HERO RESPONSIVE
========================================================= */

.camarda-home {
	width: 100%;
	overflow-x: hidden;
}

.camarda-hero {
	height: calc(100svh - var(--rs-header-h));
	min-height: 580px;
	background: var(--rs-navy-dark);
}

.camarda-hero__media {
	z-index: 0;
}

.camarda-hero__image {
	display: block;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.camarda-hero__overlay {
	z-index: 1;
	background:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, .05) 10%,
			rgba(0, 0, 0, .18) 48%,
			rgba(0, 0, 0, .88) 100%
		);
}

.camarda-hero__content {
	z-index: 2;
	padding-top: 2rem;
	padding-bottom: 2.5rem;
}

.camarda-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(2.7rem, 8vw, 4rem);
	font-weight: 800;
	line-height: .95;
	letter-spacing: -.045em;
}

.camarda-hero__subtitle {
	max-width: 30rem;
	margin: 1rem 0 0;
	color: #fff;
	font-size: clamp(1.05rem, 4vw, 1.8rem);
	font-weight: 600;
	line-height: 1.35;
}

.camarda-hero.no-image {
	background:
		linear-gradient(
			135deg,
			var(--rs-navy-dark),
			var(--rs-navy-light)
		);
}


/* =========================================================
   TABLET E DESKTOP
========================================================= */

@media (min-width: 768px) {

	.camarda-hero {
		height: min(780px, calc(100vh - var(--rs-header-h)));
		min-height: 620px;
	}

	.camarda-hero__overlay {
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, .78) 0%,
				rgba(0, 0, 0, .42) 45%,
				rgba(0, 0, 0, .08) 80%
			);
	}

	.camarda-hero__content {
		padding-bottom: 4rem;
	}

	.camarda-hero__title {
		font-size: clamp(3.5rem, 5vw, 4rem);
	}

	.camarda-hero__subtitle {
		margin-top: 1.25rem;
	}
}
/* =========================================================
   CAMARDA — CARD POST
========================================================= */

.camarda-posts {
	background: #fff;
}

.camarda-post-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, .1);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .07);
	transition:
		transform .25s ease,
		box-shadow .25s ease;
}

.camarda-post-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 38px rgba(0, 0, 0, .12);
}

.camarda-post-card__link {
	padding: 1.5rem;
	color: inherit;
	text-decoration: none;
}

.camarda-post-card__link:hover {
	color: inherit;
	text-decoration: none;
}

.camarda-post-card__title {
	margin: 0 0 1rem;
	color: var(--rs-navy);
	font-size: clamp(1.3rem, 0.3vw, 1.2rem);
	line-height: 1.1;
}

.camarda-post-card__excerpt {
	margin: 0;
	color: var(--rs-text);
	font-size: 1rem;
	line-height: 1.65;
}

.camarda-post-slider__item {
	display: flex;
	height: auto;
}

.camarda-post-slider__item .camarda-post-card {
	flex: 1;
}

@media (min-width: 768px) {

	.camarda-post-card__link {
		padding: 2rem;
	}
}

/* =========================================================
   CAMARDA — FLOTTA AUTOBUS
========================================================= */

.camarda-fleet {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.camarda-fleet__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem;
}

.camarda-fleet__item {
	display: flex;
	width: 100%;
	min-width: 0;
}

.camarda-fleet-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(16, 38, 65, .1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 35px rgba(16, 38, 65, .08);
	transition:
		transform .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;
}

.camarda-fleet-card:hover {
	transform: translateY(-5px);
	border-color: rgba(0, 135, 190, .28);
	box-shadow: 0 18px 45px rgba(16, 38, 65, .14);
}

.camarda-fleet-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #eef2f5;
}

.camarda-fleet-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.camarda-fleet-card:hover .camarda-fleet-card__image {
	transform: scale(1.04);
}

.camarda-fleet-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem;
}

.camarda-fleet-card__badge {
	display: inline-flex;
	align-items: center;
	margin-bottom: .8rem;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: rgba(0, 135, 190, .1);
	color: #007fae;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.camarda-fleet-card__title {
	margin: 0;
	color: var(--rs-navy, #102641);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.25;
}

.camarda-fleet-card__title a {
	color: inherit;
	text-decoration: none;
}

.camarda-fleet-card__title a:hover {
	color: #0087be;
}

.camarda-fleet-card__subtitle {
	margin: .65rem 0 0;
	color: var(--rs-text, #536170);
	font-size: .95rem;
	line-height: 1.6;
}

.camarda-fleet-card__features {
	width: 100%;
	margin: 1.25rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid rgba(16, 38, 65, .1);
	list-style: none;
}

.camarda-fleet-card__features li {
	position: relative;
	margin-bottom: .65rem;
	padding-left: 1.6rem;
	color: var(--rs-text, #465563);
	font-size: .95rem;
	line-height: 1.55;
}

.camarda-fleet-card__features li:last-child {
	margin-bottom: 0;
}

.camarda-fleet-card__features li::before {
	position: absolute;
	top: .08rem;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: #0087be;
	color: #fff;
	content: "✓";
	font-size: .68rem;
	font-weight: 800;
}

.camarda-fleet-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: .75rem 1.1rem;
	border-radius: 8px;
	background: var(--rs-navy, #102641);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s ease;
}

.camarda-fleet-card__button:hover {
	background: #0087be;
	color: #fff;
}

/* Tablet: 2 schede per riga */
@media (min-width: 768px) {

	.camarda-fleet__item {
		width: calc(50% - .75rem);
	}
}

/* Desktop */
@media (min-width: 1200px) {

	.camarda-fleet--cols-2 .camarda-fleet__item {
		width: calc(50% - .75rem);
	}

	.camarda-fleet--cols-3 .camarda-fleet__item {
		width: calc(33.333% - 1rem);
	}

	.camarda-fleet--cols-4 .camarda-fleet__item {
		width: calc(25% - 1.125rem);
	}
}

/* Smartphone */
@media (max-width: 767px) {

	.camarda-fleet__grid {
		gap: 1rem;
	}

	.camarda-fleet-card {
		border-radius: 16px;
	}

	.camarda-fleet-card__body {
		padding: 1.2rem;
	}

	.camarda-fleet-card__title {
		font-size: 1.2rem;
	}
}
/* =========================================================
   CAMARDA — CONTATTI
========================================================= */

.camarda-contact-grid {
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.camarda-contact-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: clamp(1.4rem, 3vw, 2.25rem);
	border: 1px solid rgba(16, 38, 65, .09);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(16, 38, 65, .07);
	transition:
		transform .25s ease,
		box-shadow .25s ease,
		border-color .25s ease;
}

.camarda-contact-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0, 135, 190, .25);
	box-shadow: 0 18px 45px rgba(16, 38, 65, .12);
}

.camarda-contact-card__heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid rgba(16, 38, 65, .09);
}

.camarda-contact-card__heading h3 {
	margin: 0;
	color: var(--rs-navy, #102641);
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.25;
}

.camarda-contact-card__icon {
	display: inline-flex;
	flex: 0 0 50px;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 15px;
	background: rgba(0, 135, 190, .11);
	color: #0087be;
	font-size: 1.2rem;
}

.camarda-contact-list {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.camarda-contact-list li {
	display: flex;
	align-items: flex-start;
	gap: .9rem;
	color: var(--rs-text, #536170);
	font-size: .98rem;
	line-height: 1.55;
}

.camarda-contact-list li > i {
	flex: 0 0 22px;
	margin-top: .25rem;
	color: #0087be;
	text-align: center;
}

.camarda-contact-list li span {
	min-width: 0;
}

.camarda-contact-list a {
	color: #007eae;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.camarda-contact-list a:hover {
	text-decoration: underline;
}

.camarda-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: auto;
	padding-top: 2rem;
}

.camarda-contact-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 46px;
	padding: .75rem 1.1rem;
	border: 2px solid transparent;
	border-radius: 10px;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease,
		transform .2s ease;
}

.camarda-contact-button:hover {
	transform: translateY(-2px);
}

.camarda-contact-button--primary {
	background: var(--rs-navy, #108b9d);
	color: #fff;
}

.camarda-contact-button--primary:hover {
	background: #0087be;
	color: #fff;
}

.camarda-contact-button--outline {
	border-color: var(--rs-navy, #108b9d);
	background: transparent;
	color: var(--rs-navy, #108b9d);
}

.camarda-contact-button--outline:hover {
	background: var(--rs-navy, #108b9d);
	color: #fff;
}

.camarda-contact-button--facebook {
	background: #4267a9;
	color: #fff;
}

.camarda-contact-button--facebook:hover {
	background: #31558f;
	color: #fff;
}

@media (max-width: 991px) {

	.camarda-contact-card {
		height: auto;
	}
}

@media (max-width: 575px) {

	.camarda-contact-card {
		padding: 1.25rem;
		border-radius: 16px;
	}

	.camarda-contact-card__heading {
		gap: .8rem;
	}

	.camarda-contact-card__icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		border-radius: 13px;
	}

	.camarda-contact-actions {
		flex-direction: column;
	}

	.camarda-contact-button {
		width: 100%;
	}
}

/* =========================================================
   CAMARDA — VIDEO HERO
========================================================= */

.camarda-video-hero {
	height: var(--camarda-video-hero-height, 80vh);
	min-height: 360px;
	background: #102641;
}

.camarda-video-hero__video {
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--camarda-video-position, center center);
}

.camarda-video-hero__overlay {
	z-index: 1;
	background: rgba(0, 0, 0, .45);
}

.camarda-video-hero .container {
	z-index: 2;
}

.camarda-video-hero__title {
	color: #fff;
	line-height: 1.1;
	text-shadow: 0 3px 20px rgba(0, 0, 0, .35);
}

.camarda-video-hero__subtitle {
	color: #fff;
	font-size: clamp(1.1rem, 2vw, 1.5rem);
	line-height: 1.5;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .4);
}

/* Smartphone */
@media (max-width: 767px) {

	.camarda-video-hero {
		height: var(--camarda-video-hero-height-mobile, 48vh);
		min-height: 300px;
		max-height: 600px;
	}

	.camarda-video-hero__video {
		object-position: var(
			--camarda-video-position-mobile,
			center center
		);
	}

	.camarda-video-hero .container {
		padding-right: 1.25rem;
		padding-left: 1.25rem;
	}

	.camarda-video-hero__title {
		font-size: clamp(2rem, 8vw, 3rem);
	}

	.camarda-video-hero__subtitle {
		font-size: 1.05rem;
	}
}

/* Accessibilità */
@media (prefers-reduced-motion: reduce) {

	.camarda-video-hero__video {
		display: none;
	}
}

/* Rispetta le preferenze di accessibilità */
@media (prefers-reduced-motion: reduce) {

	.camarda-video-hero__video {
		display: none;
	}
}
/* =========================================================
   CAMARDA — ORARI COMPAGNIE SOPRA LA HERO
========================================================= */

.camarda-orari-compagnie {
	position: relative;
	z-index: 20;
	margin-top: calc(var(--camarda-orari-overlap, 150px) * -1);
	padding-bottom: clamp(2.5rem, 6vw, 5rem);
}

.camarda-orari-compagnie__card {
	width: 100%;
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	border: 1px solid rgba(16, 38, 65, .12);
	border-radius: 24px;
	background: #fff;
	box-shadow:
		0 24px 65px rgba(16, 38, 65, .2),
		0 4px 14px rgba(16, 38, 65, .08);
        overflow: visible !important;
}

.camarda-orari-compagnie__header {
	padding: clamp(1.4rem, 3vw, 2rem) clamp(1rem, 4vw, 2rem) 1rem;
}

.camarda-orari-compagnie__title {
	margin: 0;
	color: var(--rs-navy, #108b9d);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
}

.camarda-orari-compagnie__subtitle {
	max-width: 720px;
	margin: .65rem auto 0;
	color: #657181;
	line-height: 1.6;
}

/* Tabs Bootstrap */

.camarda-orari-compagnie__tabs {
	margin: 0;
	border: 0;
	background: #eaf0f7;
}

.camarda-orari-compagnie__tabs .nav-item {
	display: flex;
}

.camarda-orari-compagnie__tabs .nav-link {
	width: 100%;
	min-height: 64px;
	padding: 1rem 1.25rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #536170;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.3;
	transition:
		background-color .2s ease,
		color .2s ease,
		box-shadow .2s ease;
}

.camarda-orari-compagnie__tabs .nav-link:hover {
	background: rgba(255, 255, 255, .55);
	color: #0087be;
}

.camarda-orari-compagnie__tabs .nav-link.active {
	background: #fff;
	color: #0087be;
	box-shadow: inset 0 4px 0 #0087be;
}

.camarda-orari-compagnie__content {
	padding: clamp(1.25rem, 4vw, 2.25rem);
	background: #fff;
}

/*
 * Il plugin applica già la sua grafica.
 * Qui rimuoviamo soltanto il margine superiore del form,
 * perché il form si trova già dentro il box.
 */
.camarda-orari-compagnie .oa-form__fields {
	margin-top: 0 !important;
}

.camarda-orari-compagnie .oa-widget {
	width: 100%;
}

.camarda-orari-compagnie .oa-result {
	margin-top: 1.5rem;
}

/* Tablet */

@media (max-width: 991px) {

	.camarda-orari-compagnie {
		margin-top: calc(var(--camarda-orari-overlap, 150px) * -.65);
	}

	.camarda-orari-compagnie__card {
		border-radius: 20px;
	}
}

/* Smartphone */

@media (max-width: 575px) {

	.camarda-orari-compagnie {
		margin-top: -55px;
		padding-bottom: 2.5rem;
	}

	.camarda-orari-compagnie .container {
		padding-right: 12px;
		padding-left: 12px;
	}

	.camarda-orari-compagnie__card {
		border-radius: 16px;
	}

	.camarda-orari-compagnie__tabs .nav-link {
		min-height: 58px;
		padding: .85rem .65rem;
		font-size: .88rem;
	}

	.camarda-orari-compagnie__content {
		padding: 1rem;
	}
}
/* =========================================================
   CAMARDA — BANNER IMMAGINE CON TESTO
========================================================= */

.camarda-image-banner {
	min-height: var(--camarda-banner-height, 560px);
	background-image: var(--camarda-banner-image);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	isolation: isolate;
}

.camarda-image-banner__shade {
	z-index: -1;
	background:
		linear-gradient(
			90deg,
			rgba(8, 24, 42, .08) 0%,
			rgba(8, 24, 42, .02) 45%,
			rgba(8, 24, 42, .28) 100%
		);
}

.camarda-image-banner__panel {
	display: inline-block;
	max-width: 320px;
	padding: clamp(1.5rem, 4vw, 3rem);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 28px;
	background: rgba(16, 38, 65, .52);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .2);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.camarda-image-banner__text {
	color: #fff;
	font-size: clamp(2rem, 2.5vw, 2.5rem);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.03em;
	text-wrap: balance;
}

@media (max-width: 767px) {

	.camarda-image-banner {
		min-height: min(
			var(--camarda-banner-height, 560px),
			520px
		);
		background-position: center;
	}

	.camarda-image-banner__panel {
		width: 100%;
		padding: 1.5rem;
		border-radius: 20px;
		text-align: center;
	}

	.camarda-image-banner__text {
		font-size: clamp(2rem, 9vw, 3rem);
		line-height: 1.08;
	}
}
/* =========================================================
   CAMARDA — BLOCCO IMMAGINE E TESTO
========================================================= */

.camarda-image-text {
	overflow: hidden;
}

.camarda-image-text__content {
	max-width: 590px;
}

.camarda-image-text__title {
	margin: 0 0 1.25rem;
	color: var(--rs-navy, #26343b);
	font-family: "Montserrat", sans-serif;
	font-size: clamp(2rem, 4vw, 3.25rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.035em;
}

.camarda-image-text__text {
	color: #536170;
	font-size: 1.05rem;
	line-height: 1.75;
}

.camarda-image-text__text p {
	margin: 0 0 1rem;
}

.camarda-image-text__text p:last-child {
	margin-bottom: 0;
}

.camarda-image-text__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	border-radius: 24px;
	background: #edf1f3;
	box-shadow: 0 18px 50px rgba(16, 38, 65, .1);
}

.camarda-image-text__image {
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

.camarda-image-text__media:hover .camarda-image-text__image {
	transform: scale(1.035);
}

@media (min-width: 992px) {

	.camarda-image-text .order-lg-1 .camarda-image-text__content {
		margin-right: auto;
	}

	.camarda-image-text .order-lg-2 .camarda-image-text__content {
		margin-left: auto;
	}
}

@media (max-width: 991px) {

	.camarda-image-text__content {
		max-width: none;
	}

	.camarda-image-text__media {
		aspect-ratio: 16 / 10;
		border-radius: 20px;
	}
}

@media (max-width: 575px) {

	.camarda-image-text {
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	.camarda-image-text__title {
		font-size: 2rem;
	}

	.camarda-image-text__text {
		font-size: 1rem;
		line-height: 1.7;
	}

	.camarda-image-text__media {
		border-radius: 16px;
	}
}