@font-face {
    font-family: 'Geist Variable';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/fonts/geist/geist-latin-ext-wght-normal.woff2) format('woff2-variations'), url(/fonts/geist/geist-latin-ext-wght-normal.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Geist Variable';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(/fonts/geist/geist-latin-wght-normal.woff2) format('woff2-variations'), url(/fonts/geist/geist-latin-wght-normal.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --ds-ink: #0b0d12;
    --ds-ink-2: #4a5160;
    --ds-muted: #8a92a1;
    --ds-line: rgba(11, 13, 18, .09);
    --ds-line-strong: rgba(11, 13, 18, .16);
    --ds-brand: #2a8442;
    --ds-brand-deep: #1f6b36;
    --ds-brand-soft: rgba(42, 132, 66, .1);
    --ds-glass: rgba(255, 255, 255, .72);
    --ds-glass-strong: rgba(255, 255, 255, .88);
    --ds-radius: 22px;
    --ds-shadow: 0 10px 40px rgba(11, 13, 18, .06);
    --ds-shadow-lift: 0 18px 50px rgba(11, 13, 18, .1);
    --ds-mx: 50vw;
    --ds-my: 30vh;
    --color-main: #2a8442 !important;
    --color-blue1: #2a8442 !important;
}

html { background: #fff; scroll-behavior: smooth; }

body.ds-min {
    font-family: 'Geist Variable', 'Inter', system-ui, sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: var(--ds-ink);
    background: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -.005em;
}

.ds-min h1, .ds-min h2, .ds-min h3, .ds-min h4, .ds-min h5, .ds-min h6,
.ds-min .title, .ds-min .section-title-style2 h3 {
    font-family: 'Geist Variable', 'Inter', sans-serif;
    color: var(--ds-ink);
    letter-spacing: -.025em;
}

.ds-min a { color: inherit; text-decoration: none; }
.ds-min p, .ds-min li, .ds-min .text, .ds-min .desc { color: var(--ds-ink-2); }
.ds-min ::selection { background: rgba(42, 132, 66, .22); }

.ds-min .text-white:not([class*="bg-"]):not(.btn):not(button),
.ds-min .color-fff,
.ds-min .color-white { color: var(--ds-ink) !important; }
.ds-min .brd-light { border-color: var(--ds-line) !important; }
.ds-min .bg-gray1, .ds-min .bg-gray2, .ds-min .bg-gray3, .ds-min .bg-gray4,
.ds-min .bg-dark1, .ds-min .bg-white { background: transparent !important; }
.ds-min .parallaxie { background-image: none !important; }
.ds-min #cyber-map-wrapper, .ds-min .cm-dark { color-scheme: dark; }

/* ---------- Sfondi: hyperspeed + stelle + splash ---------- */
.ds-fx {
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}
.ds-fx canvas { width: 100%; height: 100%; display: block; }

.ds-hs {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.4s ease;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
}
.ds-hs.is-live { opacity: 1; }
.ds-inner .ds-hs { height: 62vh; }
#ds-hyperspeed, #ds-hyperspeed canvas { width: 100%; height: 100%; display: block; }

#ds-fluid {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 900;
    pointer-events: none;
    mix-blend-mode: multiply;
    opacity: .85;
}

body.ds-pointer-light::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(520px circle at var(--ds-mx) var(--ds-my), rgba(42, 132, 66, .09), transparent 62%);
}

/* ---------- Navbar a pillola ---------- */
.ds-nav {
    position: fixed;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    width: min(1180px, calc(100% - 32px));
    z-index: 1000;
}

.ds-nav-pill {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    height: 62px;
    padding: 8px 10px 8px 22px;
    background: var(--ds-glass);
    -webkit-backdrop-filter: blur(20px) saturate(1.5);
    backdrop-filter: blur(20px) saturate(1.5);
    border: 1px solid var(--ds-line);
    border-radius: 999px;
    box-shadow: var(--ds-shadow);
    transition: background .3s ease, box-shadow .3s ease;
}
.ds-nav.is-scrolled .ds-nav-pill { background: var(--ds-glass-strong); box-shadow: var(--ds-shadow-lift); }

.ds-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.ds-logo img { height: 46px; width: auto; display: block; }

.ds-nav .navbar-collapse { flex-grow: 1; justify-content: center; }
.ds-nav-links { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ds-nav-links .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 8px 14px !important;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ds-ink-2) !important;
    white-space: nowrap;
    transition: color .2s, background .2s;
}
.ds-nav-links .nav-link:hover { color: var(--ds-ink) !important; background: rgba(11, 13, 18, .04); }
.ds-nav-links .nav-link.active { color: var(--ds-brand-deep) !important; background: var(--ds-brand-soft); }
.ds-nav-links .ds-nav-ic { display: none; }
.ds-nav-links .dropdown-toggle::after { margin-left: 4px; opacity: .5; vertical-align: .15em; }

.ds-nav .dropdown-menu.ds-megamenu {
    margin-top: 14px;
    padding: 8px;
    min-width: 270px;
    background: var(--ds-glass-strong);
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    border: 1px solid var(--ds-line);
    border-radius: 20px;
    box-shadow: var(--ds-shadow-lift);
}
.ds-nav .ds-megamenu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 500;
    color: var(--ds-ink);
    background: transparent;
}
.ds-nav .ds-megamenu .dropdown-item:hover,
.ds-nav .ds-megamenu .dropdown-item.active { background: var(--ds-brand-soft); color: var(--ds-brand-deep); }
.ds-megamenu-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(11, 13, 18, .04);
    color: var(--ds-brand);
    font-size: 17px;
}

.ds-nav-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; flex: 0 0 auto; }
.ds-nav-icon, .ds-nav-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    min-width: 38px;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--ds-ink-2);
    font-size: 19px;
    transition: background .2s, color .2s;
}
.ds-nav-chip { font-size: 12px; font-weight: 600; letter-spacing: .06em; gap: 5px; }
.ds-nav-chip i { font-size: 17px; }
.ds-nav-icon:hover, .ds-nav-chip:hover { background: rgba(11, 13, 18, .05); color: var(--ds-ink); }
.ds-nav-icon .sClose-btn { display: none; }
.ds-nav-toggler { display: none; border: 0; padding: 6px 10px; border-radius: 999px; }
.ds-nav-toggler:focus { box-shadow: none; }

.ds-nav .nav-subs-card {
    position: absolute;
    top: 74px;
    right: 0;
    width: min(440px, 100%);
    padding: 22px;
    display: none;
    border-radius: 24px;
    z-index: 5;
}
.ds-nav .nav-subs-card.show { display: block; }
.ds-nav .nav-subs-card .cls {
    position: absolute;
    top: 14px;
    right: 16px;
    cursor: pointer;
    color: var(--ds-muted);
    font-size: 18px;
}
.ds-card-label { margin: 0 0 12px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ds-ink); }
.ds-card-note { margin: 10px 0 0; font-size: 12px; color: var(--ds-muted); }
.ds-card-note a { color: var(--ds-brand-deep); text-decoration: underline; }

.ds-inline-form {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 6px 14px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid var(--ds-line-strong);
    border-radius: 999px;
}
.ds-inline-form i { color: var(--ds-muted); font-size: 17px; }
.ds-inline-form input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 14px; color: var(--ds-ink); }
.ds-inline-form button {
    border: 0;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--ds-ink);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.ds-quicklinks-row { margin-top: 12px; }
.ds-quicklinks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ds-quicklink {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    font-size: 12.5px;
    font-weight: 500;
    color: var(--ds-ink-2);
    background: var(--ds-glass);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid var(--ds-line);
    border-radius: 999px;
    overflow: hidden;
    transition: color .2s, border-color .2s, transform .2s;
}
.ds-quicklink::before, .ds-spot::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(160px circle at var(--sx, 50%) var(--sy, 50%), rgba(42, 132, 66, .16), transparent 70%);
    transition: opacity .25s;
}
.ds-quicklink:hover { color: var(--ds-ink); border-color: var(--ds-line-strong); transform: translateY(-1px); }
.ds-quicklink:hover::before { opacity: 1; }
.ds-quicklink i { font-size: 15px; color: var(--ds-brand); }
.ds-quicklink.active { color: var(--ds-brand-deep); border-color: rgba(42, 132, 66, .35); }
.ds-quicklink-live {
    font-style: normal;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    padding: 2px 6px;
    border-radius: 999px;
    color: #fff;
    background: var(--ds-brand);
    animation: ds-live 1.8s ease-in-out infinite;
}
@keyframes ds-live { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

.ds-nav .nav-search-style2 { display: none; margin-top: 12px; }
.ds-megasearch { padding: 18px; border-radius: 24px; }
.ds-megasearch-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 6px 6px 16px;
    background: #fff;
    border: 1px solid var(--ds-line-strong);
    border-radius: 999px;
}
.ds-search-ic { width: 18px; height: 18px; color: var(--ds-muted); }
.ds-megasearch-field input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15px; color: var(--ds-ink); }
.ds-megasearch-field button {
    border: 0;
    padding: 9px 20px;
    border-radius: 999px;
    background: var(--ds-ink);
    color: #fff;
    font-weight: 600;
    font-size: 13px;
}
.ds-megasearch-hints { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; font-size: 12.5px; color: var(--ds-muted); }
.ds-megasearch-hints a { padding: 3px 11px; border: 1px solid var(--ds-line); border-radius: 999px; color: var(--ds-ink-2); }
.ds-megasearch-hints a:hover { color: var(--ds-brand-deep); border-color: rgba(42, 132, 66, .4); }

.ds-glass {
    background: var(--ds-glass-strong);
    -webkit-backdrop-filter: blur(22px) saturate(1.4);
    backdrop-filter: blur(22px) saturate(1.4);
    border: 1px solid var(--ds-line);
    box-shadow: var(--ds-shadow-lift);
}

@media (max-width: 991.98px) {
    .ds-nav-toggler { display: inline-flex; }
    .ds-nav .navbar-collapse {
        position: absolute;
        top: 74px;
        left: 0;
        right: 0;
        padding: 10px;
        background: var(--ds-glass-strong);
        -webkit-backdrop-filter: blur(22px);
        backdrop-filter: blur(22px);
        border: 1px solid var(--ds-line);
        border-radius: 24px;
        box-shadow: var(--ds-shadow-lift);
    }
    .ds-nav-links { flex-direction: column; align-items: stretch; }
    .ds-nav .dropdown-menu.ds-megamenu { position: static !important; transform: none !important; margin-top: 4px; box-shadow: none; border: 0; background: transparent; }
    .ds-nav-chip { display: none; }
    .ds-nav-pill { padding-left: 16px; }
    .ds-quicklinks { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
    .ds-quicklink { flex: 0 0 auto; }
}

/* ---------- Hero e testate pagina ---------- */
.ds-hero, .ds-page-head {
    position: relative;
    background: transparent !important;
    border: 0;
}
.ds-hero { padding: 190px 0 70px !important; min-height: 100vh; }
.ds-hero .swiper-container { overflow: hidden; }
.ds-hero [class*="col-"] { min-width: 0; }
.ds-page-head { padding: 40px 0 36px !important; }
.ds-inner main { padding-top: 150px; }
.ds-hero::before, .ds-hero::after, .ds-page-head::before, .ds-page-head::after { display: none !important; }
.ds-hero .content, .ds-page-head .content { background: transparent !important; }

.ds-min .tc-header-style2 .slider-content .title,
.ds-min .tc-header-style2 .slider-content .title a {
    font-size: clamp(34px, 5.4vw, 66px);
    line-height: 1.04;
    font-weight: 650;
    letter-spacing: -.04em;
    color: var(--ds-ink) !important;
}
.ds-min .tc-header-style2 .slider-content .text,
.ds-min .tc-header-style2 .slider-content .desc {
    max-width: 640px;
    font-size: 17px;
    color: var(--ds-ink-2) !important;
}
.ds-min .tc-header-style2 .meta-bot li, .ds-min .tc-header-style2 .meta-bot a { color: var(--ds-muted) !important; }
.ds-hero .border-end { border-color: var(--ds-line) !important; }

.ds-min .tc-header-slider2 .swiper-button-next,
.ds-min .tc-header-slider2 .swiper-button-prev {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: var(--ds-ink);
    background: var(--ds-glass-strong);
    border: 1px solid var(--ds-line);
    box-shadow: var(--ds-shadow);
}
.ds-min .swiper-button-next::after, .ds-min .swiper-button-prev::after { font-size: 14px; font-weight: 700; }

/* Pill / tag */
.ds-min .tags a, .ds-min .meta-tags a,
.ds-min [class*="bg-blue"].rounded-pill, .ds-min [class*="bg-orange"].rounded-pill,
.ds-min [class*="bg-cyan"].rounded-pill, .ds-min [class*="bg-primary"].rounded-pill {
    font-weight: 600;
    letter-spacing: .06em;
    border-radius: 999px;
}
.ds-min .bg-blue { background: var(--ds-brand) !important; }
.ds-min .bg-orange { background: var(--ds-ink) !important; }
.ds-min .bg-cyan { background: var(--ds-brand-deep) !important; }

/* ---------- Sezioni e titoli ---------- */
.ds-min main section { background: transparent; position: relative; }
.ds-min .section-title-style2 { align-items: flex-end; border: 0; }
.ds-min .section-title-style2 h3 { font-size: 28px; font-weight: 650; margin: 0; }
.ds-min .section-title-style2 .more,
.ds-min .more { color: var(--ds-brand-deep) !important; font-weight: 600; font-size: 14px; }
.ds-min .section-title-style2::after, .ds-min .section-title-style2::before { display: none; }

/* ---------- Card ---------- */
.ds-min .card-breaking-style2,
.ds-min .tc-post-grid-default .item,
.ds-min .tc-post-overlay-default,
.ds-min .tc-post-list-style2 .item,
.ds-min .card-item,
.ds-min .tc-subscribe-style2,
.ds-min .tc-side-video-posts,
.ds-min .tc-widget-recent-style2,
.ds-min .tc-widget-popular-list,
.ds-min .tc-widget-tags-style2,
.ds-min .tc-widget-webStories-style2,
.ds-min .tc-widget-adbox-style1 {
    position: relative;
    background:
        radial-gradient(380px circle at var(--sx, -200px) var(--sy, -200px), rgba(42, 132, 66, .1), transparent 62%),
        var(--ds-glass) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    box-shadow: var(--ds-shadow);
    overflow: hidden;
    transition: box-shadow .3s ease, border-color .3s ease, transform .25s ease;
    will-change: transform;
}
.ds-min .tc-post-grid-default .item { padding: 12px; }
.ds-min .card-breaking-style2:hover,
.ds-min .tc-post-grid-default .item:hover,
.ds-min .tc-post-overlay-default:hover,
.ds-min .tc-post-list-style2 .item:hover,
.ds-min .card-item:hover {
    border-color: rgba(42, 132, 66, .35) !important;
    box-shadow: var(--ds-shadow-lift);
}
.ds-min .tc-side-video-posts, .ds-min .tc-subscribe-style2 { padding: 22px; }
.ds-min .img.img-cover, .ds-min .img-cover { border-radius: 16px; overflow: hidden; }
.ds-min .tc-post-overlay-default .content, .ds-min .tc-post-overlay-default .title,
.ds-min .tc-post-overlay-default .title a { color: #fff !important; }
.ds-min .tc-post-overlay-default::after { border-radius: inherit; }

.ds-min .title a:hover, .ds-min .hover-underline:hover { color: var(--ds-brand-deep) !important; }
.ds-min .meta-bot li, .ds-min .meta-bot a, .ds-min .date, .ds-min .meta { color: var(--ds-muted) !important; }

/* ---------- Bottoni e form ---------- */
.ds-min .btn, .ds-min button[type="submit"]:not(.ds-megasearch-field button):not(.ds-inline-form button) {
    border-radius: 999px;
    font-weight: 600;
}
.ds-min .btn-primary, .ds-min .btn-dark, .ds-min button[type="submit"].btn {
    background: var(--ds-ink) !important;
    border-color: var(--ds-ink) !important;
    color: #fff !important;
}
.ds-min .btn-primary:hover, .ds-min .btn-dark:hover { background: var(--ds-brand-deep) !important; border-color: var(--ds-brand-deep) !important; }

.ds-min .form-control, .ds-min .form-select, .ds-min input[type="text"]:not(.ds-megasearch-field input):not(.ds-inline-form input),
.ds-min input[type="email"], .ds-min input[type="url"], .ds-min input[type="search"], .ds-min textarea, .ds-min select {
    background: rgba(255, 255, 255, .85);
    color: var(--ds-ink);
    border: 1px solid var(--ds-line-strong);
    border-radius: 14px;
}
.ds-min .form-control:focus, .ds-min textarea:focus, .ds-min select:focus {
    border-color: var(--ds-brand);
    box-shadow: 0 0 0 4px rgba(42, 132, 66, .12);
    outline: 0;
}
.ds-min ::placeholder { color: var(--ds-muted); }

/* ---------- Footer ---------- */
.ds-min .footer-style2 {
    margin-top: 60px;
    background: var(--ds-glass-strong) !important;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border-top: 1px solid var(--ds-line);
    color: var(--ds-ink-2);
}
.ds-min .footer-style2 .foot-tilte, .ds-min .footer-style2 h6 { color: var(--ds-ink) !important; font-weight: 600; }
.ds-min .footer-style2 a, .ds-min .footer-style2 li, .ds-min .footer-style2 p, .ds-min .footer-style2 span { color: var(--ds-ink-2) !important; }
.ds-min .footer-style2 a:hover { color: var(--ds-brand-deep) !important; }
.ds-min .footer-style2 .foot-bottom, .ds-min .footer-style2 .copyright { border-color: var(--ds-line) !important; }

.ds-min .to_top { background: var(--ds-ink); color: #fff; border-radius: 50%; }

/* ---------- Contenuti redazionali ---------- */
.ds-min .post-content, .ds-min .tc-main-post-content, .ds-min .site-content .content { color: var(--ds-ink-2); font-size: 16.5px; line-height: 1.8; }
.ds-min .post-content h1, .ds-min .post-content h2, .ds-min .post-content h3,
.ds-min .tc-main-post-content h2, .ds-min .tc-main-post-content h3 { color: var(--ds-ink); }
.ds-min .post-content a, .ds-min .tc-main-post-content a { color: var(--ds-brand-deep); text-decoration: underline; text-underline-offset: 3px; }
.ds-min table { color: var(--ds-ink-2); }
.ds-min .table { --bs-table-bg: transparent; --bs-table-color: var(--ds-ink-2); --bs-table-border-color: var(--ds-line); }

@media (prefers-reduced-motion: reduce) {
    .ds-hs { display: none; }
    .ds-min * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.ds-hero .slider-content .title,
.ds-hero .slider-content .title a,
.ds-hero .slider-content .text,
.ds-hero .slider-content .meta-bot {
    text-shadow: 0 0 22px rgba(255, 255, 255, .95), 0 0 8px rgba(255, 255, 255, .9);
}

.ds-min main section > .container > .content,
.ds-min main section .tc-breaking-news-slider2,
.ds-min main section .tc-trends-news-slider2 {
    background: transparent !important;
    border-top: 0 !important;
    border-image: none !important;
    box-shadow: none !important;
}
.ds-min main section > .container > .content::before,
.ds-min main section > .container > .content::after { display: none !important; }

.ds-min .swiper-scrollbar { height: 4px !important; background: rgba(11, 13, 18, .07) !important; border-radius: 999px; }
.ds-min .swiper-scrollbar-drag { height: 4px !important; background: var(--ds-brand) !important; border-radius: 999px; }
.ds-min .swiper-pagination-bullet { background: var(--ds-ink); opacity: .25; }
.ds-min .swiper-pagination-bullet-active { background: var(--ds-brand); opacity: 1; }

.ds-quicklinks-row { transition: opacity .3s ease, transform .3s ease, max-height .3s ease, margin .3s ease; max-height: 80px; }
.ds-nav.is-scrolled .ds-quicklinks-row { opacity: 0; transform: translateY(-8px); pointer-events: none; max-height: 0; margin-top: 0; overflow: hidden; }

.ds-min .loading-page, .ds-min .loading-page .page { background: #fff !important; }
.ds-min .loading-page .page::before { background: linear-gradient(90deg, transparent 0%, rgba(42, 132, 66, .05) 50%, transparent 100%); background-size: 200% 100%; }

/* ---------- Componenti di pagina (filtri, tab, trend) ---------- */
.ds-min .tc-new-posts-style2 .title,
.ds-min .tc-new-posts-style2 .title a,
.ds-min .tc-new-posts-style2 p,
.ds-min .tc-new-posts-style2 .content,
.ds-min .tc-new-posts-style2 .content * { color: var(--ds-ink) !important; }
.ds-min .tc-new-posts-style2 .content p, .ds-min .tc-new-posts-style2 .content .text { color: var(--ds-ink-2) !important; }
.ds-min .tc-new-posts-style2 .tags a, .ds-min .tc-new-posts-style2 .meta-tags a { color: #fff !important; }
.ds-min .tc-new-posts-style2 .title::before { display: none; }

.ds-filterbar { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; }
.ds-filterbar-field {
    flex: 1 1 260px;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 52px;
    padding: 0 20px;
    background: var(--ds-glass-strong);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border: 1px solid var(--ds-line-strong);
    border-radius: 999px;
    transition: border-color .25s, box-shadow .25s;
}
.ds-filterbar-field:focus-within { border-color: var(--ds-brand); box-shadow: 0 0 0 4px rgba(42, 132, 66, .12); }
.ds-filterbar-field .ds-search-ic { width: 19px; height: 19px; color: var(--ds-muted); flex: 0 0 auto; }
.ds-filterbar-field .form-control, .ds-filterbar-field .form-select {
    height: 50px;
    background: transparent;
    border: 0 !important;
    padding: 0;
    border-radius: 0;
    box-shadow: none !important;
}
.ds-filterbar-select { flex: 0 1 240px; }
.ds-filterbar-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 52px;
    padding: 0 28px;
    border: 0;
    cursor: pointer;
    border-radius: 999px;
    font-weight: 600;
    font-size: 14px;
    color: #fff;
    background: var(--ds-ink);
    transition: transform .2s, background .2s;
}
.ds-filterbar-btn:hover { background: var(--ds-brand-deep); transform: translateY(-1px); }
.ds-filterbar-btn svg { width: 16px; height: 16px; }
@media (max-width: 767.98px) {
    .ds-filterbar { flex-direction: column; }
    .ds-filterbar-field, .ds-filterbar-select, .ds-filterbar-btn { flex: 1 1 auto; width: 100%; }
}

.ds-nav-pills {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 5px;
    background: var(--ds-glass);
    border: 1px solid var(--ds-line);
    border-radius: 999px;
}
.ds-nav-pills .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px !important;
    border-radius: 999px !important;
    font-size: 13px;
    font-weight: 600;
    color: var(--ds-ink-2) !important;
    background: transparent !important;
    border: 0 !important;
}
.ds-nav-pills .nav-link:hover { color: var(--ds-ink) !important; }
.ds-nav-pills .nav-link.active { color: #fff !important; background: var(--ds-ink) !important; }
.ds-nav-pills .nav-link i { font-size: 15px; }

.ds-trend-card { transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s; }
.ds-trend-card:hover { transform: translateY(-4px); }
.ds-trend-card .img .num { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; }
.ds-trend-card .img .num i { color: var(--ds-brand); }
.ds-unified-latest .tc-tabs-header .section-title-style2 { flex-wrap: wrap; gap: 16px 24px; }
.ds-megasearch--page { margin: 0 auto 10px; }

/* ---------- Pagine dati (AI Status, Threat Dashboard, tabelle) in versione chiara ---------- */
.ds-min .ai-card, .ds-min .dash-card, .ds-min .filter-card, .ds-min .refresh-bar, .ds-min .tbl-wrap {
    background: var(--ds-glass) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    box-shadow: var(--ds-shadow);
}
.ds-min .ai-card:hover, .ds-min .dash-card:hover { border-color: rgba(42, 132, 66, .4) !important; box-shadow: var(--ds-shadow-lift); }
.ds-min .ai-card .provider-name { color: var(--ds-ink) !important; }
.ds-min .ai-card .provider-desc, .ds-min .ai-card .response-time, .ds-min .refresh-bar .info,
.ds-min .dash-card .label, .ds-min .filter-card label { color: var(--ds-muted) !important; }
.ds-min .ai-card .comp-name, .ds-min .ai-card .comp-status { color: var(--ds-ink-2) !important; }
.ds-min .ai-card .comp-item { border-bottom-color: var(--ds-line) !important; }
.ds-min .ai-card .status-link, .ds-min .link-map, .ds-min .badge-db { color: var(--ds-brand-deep) !important; }
.ds-min .badge-db { background: var(--ds-brand-soft) !important; }
.ds-min .dash-card .num { color: var(--ds-brand-deep) !important; }
.ds-min .refresh-bar .btn-refresh, .ds-min .filter-card .btn-filter {
    background: var(--ds-ink) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
}
.ds-min .filter-card .btn-clear { color: var(--ds-ink-2) !important; border-color: var(--ds-line-strong) !important; border-radius: 999px !important; }
.ds-min .filter-card .form-control, .ds-min .filter-card .form-select {
    background: #fff !important;
    color: var(--ds-ink) !important;
    border: 1px solid var(--ds-line-strong) !important;
    border-radius: 12px !important;
}
.ds-min .tbl-wrap th { color: var(--ds-ink) !important; background: rgba(11, 13, 18, .03) !important; border-bottom-color: var(--ds-line) !important; }
.ds-min .tbl-wrap td { color: var(--ds-ink-2) !important; border-bottom-color: var(--ds-line) !important; }
.ds-min .tbl-wrap tr:hover td { background: var(--ds-brand-soft) !important; }
.ds-min .tbl-wrap .ip-cell { color: var(--ds-ink) !important; }
.ds-min .tbl-wrap .country-cell { color: var(--ds-muted) !important; }
.ds-min .page-btn { color: var(--ds-ink-2) !important; border-color: var(--ds-line-strong) !important; border-radius: 999px !important; }
.ds-min .page-btn.active { background: var(--ds-ink) !important; color: #fff !important; border-color: var(--ds-ink) !important; }
.ds-min .stat-bar { background: var(--ds-line) !important; }
.ds-min .stat-bar-fill { background: linear-gradient(90deg, var(--ds-brand), #4cc26e) !important; }
.ds-min .tc-page-title-area .sec-title { text-align: center; }
.ds-min .tc-page-title-area .sub-title { color: var(--ds-brand-deep); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: 12px; }
.ds-min .tc-page-title-area .title { font-size: clamp(32px, 4.5vw, 56px); font-weight: 650; letter-spacing: -.035em; }
.ds-min .tc-page-title-area p { color: var(--ds-ink-2) !important; }

.ds-min .tbl-wrap { overflow-x: auto; }
.ds-min .tbl-wrap table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ds-min .tbl-wrap th { padding: 12px 16px; text-align: left; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.ds-min .tbl-wrap th.text-end, .ds-min .tbl-wrap td.text-end { text-align: right; }
.ds-min .tbl-wrap td { padding: 11px 16px; }
.ds-min .tbl-wrap .ip-cell { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ds-min .text-muted { color: var(--ds-muted) !important; }

.ds-min #cyber-map-wrapper {
    width: min(1180px, calc(100% - 32px));
    height: 480px;
    margin: 0 auto;
    border-radius: 28px;
    border: 1px solid var(--ds-line);
    box-shadow: var(--ds-shadow-lift);
}
@media (max-width: 767.98px) {
    .ds-min #cyber-map-wrapper { height: 380px; }
}
.ds-home #cyber-map-wrapper { margin-top: 170px; }

.ds-min .container > .row > .col-lg-2:has(.hacker-svg) { display: none !important; }
.ds-min .container > .row > .col-lg-2:has(.hacker-svg) + [class*="col-lg-"] { flex: 0 0 100%; max-width: 100%; }

/* ---------- Toolbox ---------- */
.ds-min .toolbox-panel {
    background: var(--ds-glass-strong) !important;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    border: 1px solid var(--ds-line) !important;
    border-radius: 28px !important;
    box-shadow: var(--ds-shadow-lift) !important;
}
.ds-min .toolbox-section .nav-pills .nav-link {
    color: var(--ds-ink-2) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 14px !important;
}
.ds-min .toolbox-section .nav-pills .nav-link:hover { background: rgba(11, 13, 18, .04) !important; color: var(--ds-ink) !important; }
.ds-min .toolbox-section .nav-pills .nav-link.active {
    background: var(--ds-ink) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(11, 13, 18, .18) !important;
}
.ds-min .toolbox-section h5 { color: var(--ds-ink) !important; font-weight: 650 !important; }
.ds-min .toolbox-section .text-muted { color: var(--ds-muted) !important; }
.ds-min .toolbox-section textarea,
.ds-min .toolbox-section input[type="text"],
.ds-min .toolbox-section input[type="url"],
.ds-min .toolbox-section select {
    background: #fff !important;
    color: var(--ds-ink) !important;
    border: 1px solid var(--ds-line-strong) !important;
}
.ds-min .toolbox-section textarea:focus, .ds-min .toolbox-section input:focus {
    border-color: var(--ds-brand) !important;
    box-shadow: 0 0 0 4px rgba(42, 132, 66, .12) !important;
}
.ds-min .toolbox-section .result-box { border-radius: 16px; }

/* ---------- IA Models ---------- */
body.ds-min {
    --ia-bg: transparent;
    --ia-surface: rgba(255, 255, 255, .78);
    --ia-surface2: rgba(255, 255, 255, .92);
    --ia-border: rgba(11, 13, 18, .09);
    --ia-accent: #2a8442;
    --ia-accent2: #1f6b36;
    --ia-text: #0b0d12;
    --ia-muted: #6b7280;
    --ia-badge-bg: rgba(42, 132, 66, .1);
}
.ds-min .ia-hero { padding-top: 40px; border-bottom: 0; }
.ds-min .ia-hero h1, .ds-min .ia-lab-card .ia-lc-name { color: var(--ds-ink) !important; }
.ds-min .ia-chip.active { color: #fff !important; background: var(--ds-ink) !important; border-color: var(--ds-ink) !important; }
.ds-min .ia-mod-badge { background: rgba(11, 13, 18, .05) !important; }
.ds-min .ia-search select option { background: #fff; color: var(--ds-ink); }
.ds-min [class^="ia-"] [class*="name"], .ds-min [class*="ia-card"] [class*="name"] { color: var(--ds-ink); }
.ds-min .ia-model-card .ia-mc-name, .ds-min .ia-provider-card .ia-pc-name { color: var(--ds-ink) !important; }

.ds-min .author-hero { background: transparent !important; color: var(--ds-ink) !important; padding-top: 30px !important; }
.ds-min .author-hero h1, .ds-min .author-hero h2, .ds-min .author-hero .name { color: var(--ds-ink) !important; }
.ds-min .author-hero .role { color: var(--ds-brand-deep) !important; }
.ds-min .author-hero .short-bio, .ds-min .author-hero .meta, .ds-min .author-hero p { color: var(--ds-ink-2) !important; }
.ds-min .author-hero .avatar { border-color: rgba(42, 132, 66, .35) !important; box-shadow: 0 18px 50px rgba(42, 132, 66, .2) !important; }
.ds-min .author-hero .social-links a { background: var(--ds-glass-strong) !important; border: 1px solid var(--ds-line); color: var(--ds-ink) !important; }
.ds-min .author-hero .social-links a:hover { background: var(--ds-brand) !important; color: #fff !important; }

/* ---------- NovaRouteAI ---------- */
.ds-min .nra-hero-overlay, .ds-min .nra-features-overlay { display: none; }
.ds-min .nra-hero { min-height: 0; padding: 40px 0 50px; background: transparent !important; }
.ds-min .nra-eyebrow { color: var(--ds-brand-deep) !important; }
.ds-min .nra-title { color: var(--ds-ink) !important; }
.ds-min .nra-subtitle { color: var(--ds-ink-2) !important; }
.ds-min .nra-lead { color: var(--ds-muted) !important; }
.ds-min .nra-marquee, .ds-min .nra-features { background: transparent !important; }
.ds-min .nra-marquee-label { color: var(--ds-muted) !important; }
.ds-min .provider-pill { color: var(--ds-ink-2) !important; background: var(--ds-glass) !important; border: 1px solid var(--ds-line) !important; }
.ds-min .nra-step, .ds-min .nra-cta-card {
    background: var(--ds-glass) !important;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid var(--ds-line) !important;
    border-radius: var(--ds-radius) !important;
    box-shadow: var(--ds-shadow);
}
.ds-min .nra-step-num { background: linear-gradient(135deg, var(--ds-brand), #4cc26e) !important; -webkit-background-clip: text !important; background-clip: text !important; }
.ds-min .nra-features .ds-megamenu-ic { background: var(--ds-brand-soft) !important; color: var(--ds-brand-deep) !important; }
.ds-min .nra-about h2, .ds-min .nra-features h3, .ds-min .nra-features h4, .ds-min .nra-how h3, .ds-min .nra-partnership h3,
.ds-min .nra-step h4, .ds-min .nra-cta-card h3 { color: var(--ds-ink) !important; }
.ds-min .nra-features p, .ds-min .nra-step p, .ds-min .nra-cta-card p, .ds-min .nra-about p { color: var(--ds-ink-2) !important; }

/* ---------- Widget flottanti ---------- */
.ds-min .chatbot-toggle {
    background: var(--ds-brand) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 12px 34px rgba(42, 132, 66, .38) !important;
}
.ds-min .chatbot-toggle:hover { background: var(--ds-brand-deep) !important; }
.ds-min .flowable-toggle {
    background: var(--ds-glass-strong) !important;
    color: var(--ds-ink) !important;
    border: 1px solid var(--ds-line-strong) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: var(--ds-shadow-lift) !important;
}
.ds-min .flowable-toggle:hover { background: #fff !important; }

body.ds-min {
    --cb-bg: rgba(255, 255, 255, .94);
    --cb-surface: #f4f6f5;
    --cb-border: rgba(11, 13, 18, .1);
    --cb-text: #0b0d12;
    --cb-text-muted: #6b7280;
    --cb-accent: #2a8442;
    --cb-accent-hover: #1f6b36;
    --cb-user-bubble: #0b0d12;
    --cb-bot-bubble: #f1f3f2;
}
.ds-min .chatbot-panel {
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
    border-radius: 24px !important;
    box-shadow: var(--ds-shadow-lift) !important;
}
.ds-min .chatbot-header .avatar { background: linear-gradient(135deg, #2a8442, #4cc26e) !important; }

/* ---------- Mobile ---------- */
.ds-nav-toggler .navbar-toggler-icon {
    display: block;
    width: 20px;
    height: 14px;
    background-image: linear-gradient(var(--ds-ink), var(--ds-ink)), linear-gradient(var(--ds-ink), var(--ds-ink)), linear-gradient(var(--ds-ink), var(--ds-ink));
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: top, center, bottom;
}

@media (max-width: 991.98px) {
    .ds-hero { min-height: 0; padding-top: 150px !important; }
    .ds-hero .border-end { border: 0 !important; }
    .ds-inner main { padding-top: 140px; }
    .ds-min .tc-header-slider2 .swiper-button-next,
    .ds-min .tc-header-slider2 .swiper-button-prev { display: none; }
}

@media (max-width: 575.98px) {
    .ds-nav { top: 10px; width: calc(100% - 20px); }
    .ds-nav-pill { height: 54px; padding: 6px 6px 6px 14px; gap: 2px; }
    .ds-logo img { height: 30px; }
    .ds-nav-icon { min-width: 34px; height: 34px; padding: 0 6px; font-size: 18px; }
    .ds-nav-toggler { padding: 6px 8px; }
    .ds-nav .navbar-collapse { top: 64px; max-height: 70vh; overflow-y: auto; }
    .ds-nav .nav-subs-card { top: 64px; width: 100%; padding: 18px; }
    .ds-quicklinks-row { margin-top: 8px; }
    .ds-quicklink { padding: 6px 12px; font-size: 12px; }
    .ds-hero { padding-top: 130px !important; padding-bottom: 40px !important; }
    .ds-inner main { padding-top: 120px; }
    .ds-page-head { padding: 24px 0 24px !important; }
    .ds-min .container { padding-left: 16px; padding-right: 16px; }
    .ds-min .section-title-style2 h3 { font-size: 22px; }
    .ds-min .tc-header-style2 .slider-content .text { font-size: 15px; }
    .ds-min .tc-side-video-posts, .ds-min .tc-subscribe-style2 { padding: 16px; }
    .ds-min .footer-style2 { margin-top: 36px; }
    #ds-fluid { display: none; }
    .ds-hs { height: 80vh; }
    .ds-inner .ds-hs { height: 48vh; }
}

@media (max-width: 991.98px) {
    .ds-nav .navbar-collapse { background: #fff; }
    .ds-nav-links .nav-link { padding: 12px 14px !important; font-size: 16px; }
    .ds-nav-links .dropdown-menu.ds-megamenu { padding: 4px 4px 4px 14px; min-width: 0; }
}
@media (max-width: 575.98px) {
    .ds-logo img { height: 34px; }
}

@media (max-width: 575.98px) {
    .ds-min #cyber-map-wrapper { height: 440px; border-radius: 22px; }
    .ds-min #cyber-map-hud .hud-top { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px 14px; }
    .ds-min #cyber-map-hud .hud-title { font-size: 9px; letter-spacing: .08em; }
    .ds-min #cyber-map-hud .hud-stats { gap: 16px; }
    .ds-min #cyber-map-hud .hud-stat-val { font-size: 18px; }
    .ds-min #cm-detail-list { display: none; }
    .ds-min #cm-legend { flex-wrap: wrap; gap: 4px 10px; font-size: 9px; padding: 8px 12px; }
    .ds-min #cm-ticker-bar { font-size: 9px; }
    .ds-min .tbl-wrap th, .ds-min .tbl-wrap td { padding: 10px 12px; }
    .ds-min .toolbox-panel { padding: 16px !important; border-radius: 22px !important; }
    .ds-min .toolbox-section .nav.flex-column.nav-pills { flex-direction: row !important; flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding-bottom: 6px; scrollbar-width: none; }
    .ds-min .toolbox-section .nav-pills .nav-link { white-space: nowrap; flex: 0 0 auto; padding: 8px 14px; }
    .ds-min .dash-card .num { font-size: 22px; }
    .ds-min .ds-nav-pills { width: 100%; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
    .ds-min .ds-nav-pills .nav-link { white-space: nowrap; }
    .ds-min .chatbot-panel { width: calc(100vw - 20px) !important; right: 10px !important; bottom: 84px !important; height: min(72vh, 520px) !important; }
}

@media (max-width: 575.98px) {
    .ds-logo img { height: 44px; }
    .ds-nav-pill { height: 58px; }
    .ds-nav-icon { min-width: 32px; height: 32px; padding: 0 5px; }
    .ds-nav .navbar-collapse, .ds-nav .nav-subs-card { top: 68px; }
    .ds-min #cyber-map-wrapper { height: 460px; }
    .ds-min #cyber-map-hud .hud-top { padding: 14px 14px 0; background: linear-gradient(to bottom, rgba(3, 13, 24, .92), transparent); }
    .ds-min #cyber-map-hud .hud-stats { width: 100%; justify-content: space-between; }
    .ds-min #cyber-map-hud .hud-stat { text-align: left; }
    .ds-min #cm-legend { margin-top: auto; padding: 8px 14px; background: linear-gradient(to top, rgba(3, 13, 24, .9), transparent); }
}

@media (max-width: 575.98px) {
    .ds-min .tc-subscribe-style2 { margin-left: 16px !important; margin-right: 16px !important; }
}

/* ---------- Cookie banner e FAQ ---------- */
.ds-min .cookie-consent { border-radius: 22px 22px 0 0; border-top: 1px solid var(--ds-line); box-shadow: 0 -10px 40px rgba(11, 13, 18, .1); }
.ds-min .cookie-consent .btn-primary { background: var(--ds-ink) !important; border-color: var(--ds-ink) !important; color: #fff !important; }
.ds-min .cookie-consent .btn-outline-secondary { border-radius: 999px; }
@media (max-width: 575.98px) {
    .ds-min .cookie-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
    .ds-min .cookie-consent-actions .btn { flex: 1 1 calc(50% - 8px); white-space: nowrap; }
    .ds-min .cookie-consent-actions .btn-primary { flex: 1 1 100%; order: -1; }
}
.ds-min .accordion-item { background: var(--ds-glass); border: 1px solid var(--ds-line); border-radius: 16px !important; margin-bottom: 10px; overflow: hidden; }
.ds-min .accordion-button { background: transparent; color: var(--ds-ink); font-weight: 600; box-shadow: none; }
.ds-min .accordion-button:not(.collapsed) { background: var(--ds-brand-soft); color: var(--ds-brand-deep); box-shadow: none; }
.ds-min .accordion-body { color: var(--ds-ink-2); }

@media (max-width: 575.98px) {
    .ds-min .cookie-consent { padding: 16px !important; }
    .ds-min .cookie-consent-content { flex-direction: column; align-items: stretch; gap: 12px; }
    .ds-min .cookie-consent-text { min-width: 0; }
    .ds-min .cookie-consent-actions { width: 100%; min-width: 0; flex: 1 1 100%; }
}

/* ---------- Contenuti redazionali su schermi stretti ---------- */
.ds-min .ql-code-block-container, .ds-min .ql-code-block { max-width: 100%; overflow-x: auto; }
.ds-min .post-content pre, .ds-min .tc-main-post-content pre { max-width: 100%; overflow-x: auto; }
.ds-min .tc-main-post-content, .ds-min .post-content, .ds-min .site-content .content { overflow-wrap: anywhere; }
.ds-min .tc-main-post-content img, .ds-min .tc-main-post-content video, .ds-min .tc-main-post-content iframe,
.ds-min .tc-main-post-content table { max-width: 100%; }
.ds-min .tc-main-post-content table { display: block; overflow-x: auto; }
.ds-min .btm-share-post { flex-wrap: wrap; gap: 8px; }

/* ---------- Frecce swiper (chevron in CSS, senza icon-font) ---------- */
.ds-min .swiper-button-next, .ds-min .swiper-button-prev {
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    color: var(--ds-ink) !important;
    background: var(--ds-glass-strong) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    border: 1px solid var(--ds-line-strong) !important;
    box-shadow: var(--ds-shadow) !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    opacity: 1 !important;
    transition: background .2s, color .2s, transform .2s;
}
.ds-min .swiper-button-next:hover, .ds-min .swiper-button-prev:hover { background: var(--ds-ink) !important; color: #fff !important; transform: scale(1.06); }
.ds-min .swiper-button-next.swiper-button-disabled, .ds-min .swiper-button-prev.swiper-button-disabled { opacity: .35 !important; }
.ds-min .swiper-button-next::after, .ds-min .swiper-button-prev::after {
    content: "" !important;
    display: block;
    width: 9px;
    height: 9px;
    font-size: 0 !important;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
}
.ds-min .swiper-button-next::after { transform: rotate(45deg); margin-right: 3px; }
.ds-min .swiper-button-prev::after { transform: rotate(-135deg); margin-left: 3px; }
.ds-hero .tc-header-slider2 .swiper-button-next { top: 0 !important; bottom: auto !important; right: 0 !important; left: auto !important; }
.ds-hero .tc-header-slider2 .swiper-button-prev { top: 0 !important; bottom: auto !important; right: 52px !important; left: auto !important; }
.ds-min .tc-post-grid-default .swiper-button-next, .ds-min .tc-post-grid-default .swiper-button-prev { width: 34px !important; height: 34px !important; }

/* ---------- Newsletter ---------- */
.ds-min .tc-subscribe-style2 {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 30px 38px !important;
    overflow: visible;
}
.ds-min .tc-subscribe-style2 .sub-info h5 { margin: 0; font-size: 28px; font-weight: 650; letter-spacing: -.03em; color: var(--ds-ink); }
.ds-min .tc-subscribe-style2 .sub-form .form-group {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 6px 6px 6px 18px;
    background: #fff;
    border: 1px solid var(--ds-line-strong);
    border-radius: 999px;
    transition: border-color .2s, box-shadow .2s;
}
.ds-min .tc-subscribe-style2 .sub-form .form-group:focus-within { border-color: var(--ds-brand); box-shadow: 0 0 0 4px rgba(42, 132, 66, .12); }
.ds-min .tc-subscribe-style2 .sub-form .icon { position: static !important; display: inline-flex; color: var(--ds-muted); font-size: 20px; transform: none !important; }
.ds-min .tc-subscribe-style2 .sub-form .form-control {
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 0 4px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.ds-min .tc-subscribe-style2 .sub-form button {
    position: static !important;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: var(--ds-ink);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: none;
    transition: background .2s;
}
.ds-min .tc-subscribe-style2 .sub-form button:hover { background: var(--ds-brand-deep); }
.ds-min .tc-subscribe-style2 .sub-form p { margin: 12px 0 0 !important; padding-left: 18px; font-size: 12.5px; font-style: normal !important; color: var(--ds-muted) !important; }
.ds-min .tc-subscribe-style2 .sub-form p a { color: var(--ds-brand-deep) !important; }
@media (max-width: 767.98px) {
    .ds-min .tc-subscribe-style2 { padding: 22px 18px !important; }
    .ds-min .tc-subscribe-style2 .sub-info h5 { font-size: 22px; margin-bottom: 14px; }
    .ds-min .tc-subscribe-style2 .sub-form button { padding: 0 16px; }
    .ds-min .tc-subscribe-style2 .sub-form button i { display: none; }
}
@media (max-width: 575.98px) {
    .ds-min .tc-subscribe-style2 { width: auto; margin-left: 16px !important; margin-right: 16px !important; }
}
.ds-min .swiper-button-next::after, .ds-min .swiper-button-prev::after { border-color: var(--ds-ink) !important; color: var(--ds-ink) !important; }
.ds-min .swiper-button-next:hover::after, .ds-min .swiper-button-prev:hover::after { border-color: #fff !important; color: #fff !important; }

.ds-min .tc-trends-news-slider2 .swiper-wrapper { align-items: stretch; }
.ds-min .tc-trends-news-slider2 .swiper-slide { height: auto; }
.ds-min .tc-trends-news-slider2 .swiper-slide > .card-item { height: 100%; }

/* ---------- Ritmo verticale ---------- */
@media (min-width: 992px) {
    .ds-min main section.pt-70 { padding-top: 52px !important; }
    .ds-min main section.pb-70 { padding-bottom: 52px !important; }
    .ds-min main section.pt-60 { padding-top: 44px !important; }
    .ds-min main section.pb-60 { padding-bottom: 44px !important; }
}
.ds-hero { min-height: 0; padding-bottom: 40px !important; }
.ds-hero .tc-side-video-posts .tc-post-grid-default .item:nth-child(n+2) { display: none; }
.ds-hero .tc-side-video-posts .item { margin-bottom: 0 !important; }
.ds-hero .tc-header-slider2, .ds-hero .tc-header-slider2 .swiper-container { height: auto !important; min-height: 0 !important; }
.ds-hero .tc-header-slider2 .swiper-slide { height: auto !important; }
.ds-min .tc-header-style2 .slider-content { height: auto !important; min-height: 0 !important; padding-bottom: 24px !important; padding-inline-end: 0 !important; }

/* ---------- Dock laterale ---------- */
.ds-dock {
    position: fixed;
    left: 20px;
    top: 50%;
    z-index: 990;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 10px;
    transform: translateY(-50%);
    background: var(--ds-glass);
    -webkit-backdrop-filter: blur(22px) saturate(1.6);
    backdrop-filter: blur(22px) saturate(1.6);
    border: 1px solid var(--ds-line);
    border-radius: 30px;
    box-shadow: var(--ds-shadow-lift);
}
.ds-dock-item {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    font-size: 23px;
    color: var(--ds-ink-2);
    background: rgba(255, 255, 255, .55);
    border: 1px solid transparent;
    border-radius: 16px;
    transition: transform .22s cubic-bezier(.2, .8, .2, 1), background .2s, color .2s, box-shadow .2s;
}
.ds-dock-item:hover { z-index: 2; color: #fff; background: var(--ds-ink); transform: scale(1.22) translateX(4px); box-shadow: 0 12px 28px rgba(11, 13, 18, .25); }
.ds-dock-item:hover + .ds-dock-item, .ds-dock-item:has(+ .ds-dock-item:hover) { transform: scale(1.08) translateX(2px); }
.ds-dock-item.active { color: var(--ds-brand-deep); background: var(--ds-brand-soft); border-color: rgba(42, 132, 66, .3); }
.ds-dock-live { position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--ds-brand); box-shadow: 0 0 0 0 rgba(42, 132, 66, .6); animation: ds-dock-ping 1.9s infinite; }
@keyframes ds-dock-ping { 70% { box-shadow: 0 0 0 8px rgba(42, 132, 66, 0); } 100% { box-shadow: 0 0 0 0 rgba(42, 132, 66, 0); } }
.ds-dock-sep { width: 26px; height: 1px; margin: 4px 0; background: var(--ds-line-strong); }
.ds-dock-label {
    position: absolute;
    left: calc(100% + 16px);
    top: 50%;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    color: #fff;
    background: var(--ds-ink);
    border-radius: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translate(-8px, -50%);
    transition: opacity .2s, transform .2s;
}
.ds-dock-label::before { content: ""; position: absolute; left: -5px; top: 50%; width: 10px; height: 10px; background: var(--ds-ink); transform: translateY(-50%) rotate(45deg); border-radius: 2px; }
.ds-dock-label b { margin-left: 6px; padding: 2px 7px; font-size: 9.5px; letter-spacing: .08em; color: #fff; background: var(--ds-brand); border-radius: 999px; }
.ds-dock-item:hover .ds-dock-label, .ds-dock-item:focus-visible .ds-dock-label { opacity: 1; transform: translate(0, -50%); }

@media (max-width: 1399.98px) {
    .ds-dock { left: 10px; padding: 8px; gap: 4px; border-radius: 26px; }
    .ds-dock-item { width: 42px; height: 42px; font-size: 20px; border-radius: 14px; }
}

@media (max-width: 1199.98px) {
    .ds-dock {
        top: 84px;
        left: 50%;
        flex-direction: row;
        align-items: center;
        width: min(1180px, calc(100% - 32px));
        padding: 6px;
        gap: 6px;
        overflow-x: auto;
        scrollbar-width: none;
        transform: translateX(-50%);
        border-radius: 999px;
        transition: opacity .3s ease, transform .3s ease;
    }
    .ds-dock::-webkit-scrollbar { display: none; }
    .ds-dock-item { flex: 0 0 auto; width: auto; height: 36px; padding: 0 14px; grid-auto-flow: column; gap: 8px; font-size: 16px; border-radius: 999px; }
    .ds-dock-item:hover { transform: none; }
    .ds-dock-item:hover + .ds-dock-item, .ds-dock-item:has(+ .ds-dock-item:hover) { transform: none; }
    .ds-dock-label { position: static; padding: 0; font-size: 12.5px; color: inherit; background: none; opacity: 1; transform: none; pointer-events: auto; }
    .ds-dock-label::before { display: none; }
    .ds-dock-label b { color: #fff; }
    .ds-dock-item:hover .ds-dock-label { transform: none; }
    .ds-dock-sep { flex: 0 0 auto; width: 1px; height: 22px; margin: 0 2px; }
    .ds-dock-live { position: static; flex: 0 0 auto; order: 3; }
    body.is-scrolled .ds-dock { opacity: 0; pointer-events: none; transform: translate(-50%, -10px); }
    .ds-inner main { padding-top: 140px; }
}
@media (max-width: 575.98px) {
    .ds-dock { top: 76px; width: calc(100% - 20px); }
}

/* Ponte invisibile tra voce di menu e tendina: evita che il menu si chiuda attraversando lo spazio */
.ds-nav-links .nav-item.dropdown { position: relative; }
.ds-nav-links .nav-item.dropdown::after { content: ""; position: absolute; left: -10px; right: -10px; top: 100%; height: 30px; }
.ds-nav-links .nav-item.dropdown:nth-last-child(-n+2) > .dropdown-menu { left: auto; right: 0; }
@media (min-width: 992px) {
    .ds-nav .dropdown-menu.ds-megamenu { margin-top: 12px; }
}
.ds-nav .dropdown .dropdown-menu.ds-megamenu { top: 100% !important; margin-top: 10px !important; transition: opacity .18s ease, visibility .18s ease, transform .18s ease; transform: translateY(6px); }
.ds-nav .dropdown:hover .dropdown-menu.ds-megamenu, .ds-nav .dropdown.show .dropdown-menu.ds-megamenu { transform: none; }

/* Logo colorato / bianco */
.ds-logo .ds-logo-white, .foot-logo .ds-logo-white { display: none; }
body.ds-app-dark .ds-logo .ds-logo-color, body.ds-app-dark .foot-logo .ds-logo-color { display: none; }
body.ds-app-dark .ds-logo .ds-logo-white { display: block; height: 46px; width: auto; }
body.ds-app-dark .foot-logo .ds-logo-white { display: block; }
@media (max-width: 575.98px) { body.ds-app-dark .ds-logo .ds-logo-white { height: 44px; } }

.ds-nav { width: min(1280px, calc(100% - 32px)); }
.ds-nav .navbar-collapse { min-width: 0; flex: 1 1 auto; }
.ds-nav-links { flex-wrap: nowrap; min-width: 0; }
.ds-nav-actions { flex-shrink: 0; }
@media (min-width: 992px) and (max-width: 1399.98px) {
    .ds-nav-links .nav-link { padding: 8px 9px !important; font-size: 13.5px; }
    .ds-nav-pill { gap: 6px; padding-left: 16px; }
    .ds-nav-chip { padding: 0 6px; }
}

/* Chi siamo / community aperta */
.ds-opencom { padding: 90px 0 40px; position: relative; z-index: 1; }
.ds-opencom-head { max-width: 760px; margin: 0 auto 40px; text-align: center; }
.ds-opencom-head h2 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -.02em; margin: 10px 0 14px; color: var(--ds-ink); }
.ds-opencom-head p { font-size: 17px; line-height: 1.65; color: var(--ds-ink-2); margin: 0; }
.ds-opencom-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ds-opencom-card { background: var(--ds-glass-strong); border: 1px solid var(--ds-line); border-radius: 22px; padding: 26px; box-shadow: var(--ds-shadow); }
.ds-opencom-ic { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; background: var(--ds-brand-soft); color: var(--ds-brand-deep); font-size: 24px; margin-bottom: 16px; }
.ds-opencom-card h3 { font-size: 19px; margin: 0 0 8px; color: var(--ds-ink); }
.ds-opencom-card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ds-ink-2); }
.ds-opencom-join { margin-top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; border-radius: 24px; background: #07110b; color: #eafff1; }
.ds-opencom-join h3 { margin: 0 0 6px; font-size: 22px; color: #ffffff; }
.ds-opencom-join p { margin: 0; max-width: 640px; font-size: 15px; line-height: 1.6; color: #c5e8d1; }
.ds-opencom-btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 999px; background: #3ddc84; color: #04120a; font-weight: 600; font-size: 15px; text-decoration: none; transition: transform .2s, background .2s; }
.ds-opencom-btn:hover { background: #6cf0a6; transform: translateY(-2px); color: #04120a; }
@media (max-width: 991.98px) { .ds-opencom-grid { grid-template-columns: 1fr; } .ds-opencom-join { flex-direction: column; align-items: flex-start; padding: 24px; } }

@media (min-width: 992px) {
    .ds-nav { width: min(1320px, calc(100% - 24px)); }
    .ds-nav-links { gap: 0; }
    .ds-nav-links .nav-link { padding: 8px 10px !important; font-size: 13.5px; }
    .ds-nav-pill { gap: 8px; padding-left: 18px; }
    .ds-nav-actions { gap: 2px; }
}
@media (min-width: 992px) and (max-width: 1279.98px) {
    .ds-nav-links .nav-link { padding: 8px 7px !important; font-size: 12.5px; }
    .ds-nav-pill { padding-left: 12px; }
    .ds-logo img { height: 40px; }
}
