/* Nexus 1.18.4 — CSS Home consolidato. File generato dai sorgenti del tema. */

/* ===== Design system: design-system.css ===== */
:root {
    --ms-color-navy-950: #000033;
    --ms-color-navy-900: #000066;
    --ms-color-blue-700: #00208a;
    --ms-color-blue-600: #0c71c3;
    --ms-color-red-600: #e02b20;
    --ms-color-red-700: #bd2018;
    --ms-color-ink: #262626;
    --ms-color-muted: #667085;
    --ms-color-line: #dfe4ec;
    --ms-color-surface: #ffffff;
    --ms-color-soft: #f5f7fa;
    --ms-color-soft-blue: #eef3ff;

    --ms-font-body: "Montserrat", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ms-font-heading: "Montserrat", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ms-font-mono: "Courier Prime", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --ms-size-xs: clamp(0.78rem, 0.75rem + 0.12vw, 0.85rem);
    --ms-size-sm: clamp(0.92rem, 0.88rem + 0.16vw, 1rem);
    --ms-size-base: clamp(1rem, 0.96rem + 0.2vw, 1.1rem);
    --ms-size-lg: clamp(1.15rem, 1.02rem + 0.55vw, 1.45rem);
    --ms-size-xl: clamp(1.55rem, 1.22rem + 1.15vw, 2.2rem);
    --ms-size-2xl: clamp(2.1rem, 1.5rem + 2.1vw, 3.6rem);
    --ms-size-hero: clamp(2.7rem, 1.75rem + 3.5vw, 5.4rem);

    --ms-space-1: 0.35rem;
    --ms-space-2: 0.65rem;
    --ms-space-3: 1rem;
    --ms-space-4: 1.5rem;
    --ms-space-5: 2.25rem;
    --ms-space-6: 3.25rem;
    --ms-space-7: 4.75rem;
    --ms-space-8: 7rem;

    --ms-radius-sm: 10px;
    --ms-radius-md: 18px;
    --ms-radius-lg: 28px;
    --ms-radius-pill: 999px;

    --ms-shadow-sm: 0 8px 24px rgba(0, 0, 51, 0.08);
    --ms-shadow-md: 0 18px 45px rgba(0, 0, 51, 0.13);
    --ms-shadow-focus: 0 0 0 4px rgba(224, 43, 32, 0.22);

    --ms-container: min(1180px, calc(100vw - 40px));
    --ms-content: min(800px, calc(100vw - 40px));
    --ms-transition: 180ms ease;
}

html {
    scroll-behavior: smooth;
}

body.jt-nexus {
    color: var(--ms-color-ink);
    background: var(--ms-color-surface);
    font-family: var(--ms-font-body);
    font-size: var(--ms-size-base);
    line-height: 1.7;
    text-rendering: optimizeLegibility;
}

.jt-nexus :where(h1, h2, h3, h4, h5, h6) {
    color: var(--ms-color-navy-950);
    font-family: var(--ms-font-heading);
    font-weight: 750;
    letter-spacing: -0.025em;
    line-height: 1.12;
}

.jt-nexus :where(a) {
    color: var(--ms-color-blue-700);
    text-underline-offset: 0.18em;
}

.jt-nexus :where(a:hover) {
    color: var(--ms-color-red-600);
}

.jt-nexus :where(a, button, input, textarea, select):focus-visible {
    border-radius: 4px;
    outline: 2px solid var(--ms-color-red-600);
    outline-offset: 3px;
    box-shadow: var(--ms-shadow-focus);
}

.ms-container {
    width: var(--ms-container);
    margin-inline: auto;
}

.ms-content-width {
    width: var(--ms-content);
    margin-inline: auto;
}

.ms-section {
    padding-block: var(--ms-space-7);
}

.ms-section--compact {
    padding-block: var(--ms-space-5);
}

.ms-section--soft {
    background: var(--ms-color-soft);
}

.ms-section--blue-soft {
    background: var(--ms-color-soft-blue);
}

.ms-section--dark {
    color: #ffffff;
    background:
        radial-gradient(circle at 15% 10%, rgba(12, 113, 195, 0.3), transparent 34%),
        linear-gradient(135deg, var(--ms-color-navy-950), var(--ms-color-navy-900));
}

.ms-section--dark :where(h1, h2, h3, h4, h5, h6, a) {
    color: #ffffff;
}

.ms-eyebrow {
    display: inline-flex;
    gap: 0.45em;
    align-items: center;
    margin-bottom: var(--ms-space-3);
    color: var(--ms-color-red-600);
    font-size: var(--ms-size-xs);
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ms-eyebrow::before {
    width: 2rem;
    height: 3px;
    border-radius: var(--ms-radius-pill);
    background: currentColor;
    content: "";
}

.ms-title {
    margin: 0;
    font-size: var(--ms-size-2xl);
}

.ms-lead {
    max-width: 67ch;
    margin-top: var(--ms-space-3);
    color: var(--ms-color-muted);
    font-size: var(--ms-size-lg);
    line-height: 1.6;
}

.ms-section--dark .ms-lead {
    color: rgba(255, 255, 255, 0.78);
}

.ms-grid {
    display: grid;
    gap: var(--ms-space-4);
}

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

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

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

.ms-mono {
    font-family: var(--ms-font-mono);
}

.ms-empty {
    margin: 0;
    padding: var(--ms-space-4);
    border: 1px dashed var(--ms-color-line);
    border-radius: var(--ms-radius-md);
    color: var(--ms-color-muted);
    background: var(--ms-color-soft);
}

@media (max-width: 980px) {
    .ms-grid--4,
    .ms-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    :root {
        --ms-container: min(100% - 28px, 1180px);
        --ms-content: min(100% - 28px, 800px);
        --ms-space-7: 3.75rem;
        --ms-space-8: 5rem;
    }

    .ms-grid--4,
    .ms-grid--3,
    .ms-grid--2 {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ===== Components Home: estratto components.css ===== */
/* Hero: classe sulla sezione e, facoltativamente, ms-hero__content / ms-hero__media sulle colonne. */
.ms-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: min(780px, calc(100svh - 78px));
    display: flex;
    align-items: center;
    color: #ffffff;
    background:
        radial-gradient(circle at 80% 20%, rgba(12, 113, 195, 0.45), transparent 32%),
        radial-gradient(circle at 15% 80%, rgba(224, 43, 32, 0.18), transparent 26%),
        linear-gradient(135deg, var(--ms-color-navy-950), var(--ms-color-navy-900));
}

.ms-hero::after {
    position: absolute;
    right: -7vw;
    bottom: -22vw;
    z-index: -1;
    width: min(680px, 60vw);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 34% 66% 63% 37% / 39% 38% 62% 61%;
    background: rgba(255, 255, 255, 0.035);
    content: "";
    transform: rotate(14deg);
}

.ms-hero :where(h1, h2, h3, p) {
    color: inherit;
}

.ms-hero h1 {
    max-width: 13ch;
    font-size: var(--ms-size-hero);
}

.ms-hero .ms-lead {
    max-width: 54ch;
    color: rgba(255, 255, 255, 0.78);
}

.ms-hero__media img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: min(5vw, 48px) 18px min(5vw, 48px) 18px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.35);
}

/* Card generica per colonne, moduli Blurb, immagini e progetti. */
.ms-card,
.et_pb_module.ms-card,
.et_pb_column.ms-card {
    overflow: hidden;
    border: 1px solid var(--ms-color-line);
    border-radius: var(--ms-radius-md);
    background: var(--ms-color-surface);
    box-shadow: var(--ms-shadow-sm);
    transition: border-color var(--ms-transition), box-shadow var(--ms-transition), transform var(--ms-transition);
}

.ms-card:hover,
.et_pb_module.ms-card:hover,
.et_pb_column.ms-card:hover {
    border-color: rgba(0, 32, 138, 0.22);
    box-shadow: var(--ms-shadow-md);
    transform: translateY(-5px);
}

.ms-topic-card {
    position: relative;
    min-height: 260px;
    padding: var(--ms-space-4);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    isolation: isolate;
    overflow: hidden;
    border-radius: var(--ms-radius-lg);
    color: #ffffff;
    background: var(--ms-color-navy-900);
    box-shadow: var(--ms-shadow-sm);
}

.ms-topic-card::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(125% 96% at 10% 100%, rgba(0, 0, 51, 0.76) 0%, rgba(0, 0, 51, 0.52) 34%, rgba(0, 0, 51, 0.20) 66%, transparent 100%),
        linear-gradient(180deg, rgba(0, 0, 51, 0.30) 0%, rgba(0, 0, 51, 0.15) 30%, rgba(0, 0, 51, 0.12) 58%, rgba(0, 0, 51, 0.58) 100%),
        linear-gradient(135deg, rgba(224, 43, 32, 0.11) 0%, rgba(224, 43, 32, 0.02) 30%, transparent 58%);
    content: "";
    transition: background 320ms ease;
}

.ms-topic-card::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: 4px;
    background: linear-gradient(90deg, var(--ms-color-red-600), var(--ms-color-blue-600));
    content: "";
    transform: scaleX(0.28);
    transform-origin: left;
    transition: transform 320ms ease;
}

.ms-topic-card:hover::after {
    transform: scaleX(1);
}

.ms-topic-card :where(h2, h3, h4, p, a) {
    color: inherit;
}

.ms-topic-card .et_pb_image,
.ms-topic-card > img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
}

.ms-topic-card .et_pb_image_wrap,
.ms-topic-card .et_pb_image img,
.ms-topic-card > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ms-topic-card:hover .et_pb_image img,
.ms-topic-card:hover > img {
    transform: scale(1.035);
}

/* Blog Divi o shortcode. */
.ms-blog-grid .et_pb_ajax_pagination_container,
.ms-post-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--ms-space-4);
}

.ms-blog-grid article.et_pb_post,
.ms-post-card {
    position: relative;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--ms-color-line);
    border-radius: var(--ms-radius-md);
    background: #ffffff;
    box-shadow: var(--ms-shadow-sm);
    transition: transform var(--ms-transition), box-shadow var(--ms-transition), border-color var(--ms-transition);
}

.ms-blog-grid article.et_pb_post:hover,
.ms-post-card:hover {
    border-color: rgba(0, 32, 138, 0.2);
    box-shadow: var(--ms-shadow-md);
    transform: translateY(-5px);
}

.ms-post-card__media,
.ms-blog-grid .entry-featured-image-url {
    display: block;
    overflow: hidden;
    margin: 0 !important;
    aspect-ratio: 3 / 2;
    background: var(--ms-color-soft-blue);
}

.ms-post-card__media img,
.ms-blog-grid .entry-featured-image-url img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}

.ms-post-card:hover .ms-post-card__media img,
.ms-blog-grid article.et_pb_post:hover .entry-featured-image-url img {
    transform: scale(1.035);
}

.ms-post-card__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 75% 20%, rgba(12, 113, 195, 0.4), transparent 30%),
        linear-gradient(135deg, var(--ms-color-navy-950), var(--ms-color-navy-900));
}

.ms-post-card__body {
    padding: var(--ms-space-4);
}

.ms-blog-grid article.et_pb_post > :not(.entry-featured-image-url) {
    margin-inline: var(--ms-space-4) !important;
}

.ms-blog-grid article.et_pb_post > :last-child {
    margin-bottom: var(--ms-space-4) !important;
}

.ms-post-card__meta,
.ms-blog-grid .post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-bottom: var(--ms-space-2);
    color: var(--ms-color-muted) !important;
    font-size: var(--ms-size-xs) !important;
    font-weight: 700;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.ms-post-card__title,
.ms-blog-grid .entry-title {
    margin: 0 0 var(--ms-space-2) !important;
    padding: 0 !important;
    font-size: clamp(1.2rem, 1.1rem + 0.35vw, 1.55rem) !important;
    line-height: 1.24 !important;
}

.ms-post-card__title a,
.ms-blog-grid .entry-title a {
    color: var(--ms-color-navy-950) !important;
    text-decoration: none;
    background-image: linear-gradient(var(--ms-color-red-600), var(--ms-color-red-600));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 2px;
    transition: color 220ms ease, background-size 260ms ease;
}

.ms-post-card__title a:hover,
.ms-post-card__title a:focus-visible,
.ms-blog-grid .entry-title a:hover,
.ms-blog-grid .entry-title a:focus-visible {
    color: var(--ms-color-red-600) !important;
    background-size: 100% 2px;
}

.ms-post-card__excerpt,
.ms-blog-grid .post-content {
    color: var(--ms-color-muted);
    font-size: var(--ms-size-sm);
}

.ms-text-link,
.ms-blog-grid .more-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-top: var(--ms-space-3);
    color: var(--ms-color-blue-700) !important;
    font-size: var(--ms-size-sm);
    font-weight: 800;
    text-decoration: none;
}

.ms-text-link:hover,
.ms-blog-grid .more-link:hover {
    color: var(--ms-color-red-600) !important;
}


/* Nexus 1.18.4 — Ultimi articoli responsive. */
.ms-post-card {
    min-width: 0;
}

@media (max-width: 980px) {
    .ms-post-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ms-post-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }

    .ms-post-card {
        width: 100%;
    }

    .ms-post-card__body {
        padding: 1.25rem;
    }
}

/* Feed dinamici. */
.ms-feed-list {
    display: grid;
    gap: var(--ms-space-3);
}

.ms-feed-card {
    padding: var(--ms-space-3) var(--ms-space-4);
    border: 1px solid var(--ms-color-line);
    border-left: 4px solid var(--ms-color-blue-600);
    border-radius: var(--ms-radius-sm);
    background: #ffffff;
    transition: border-color var(--ms-transition), transform var(--ms-transition);
}

.ms-feed-list--mastodon .ms-feed-card {
    border-left-color: var(--ms-color-red-600);
}

.ms-feed-card:hover {
    border-color: rgba(0, 32, 138, 0.28);
    transform: translateX(3px);
}

.ms-feed-card__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--ms-space-2);
    margin-bottom: 0.45rem;
    color: var(--ms-color-muted);
    font-size: var(--ms-size-xs);
    font-weight: 750;
    text-transform: uppercase;
}

.ms-feed-card__meta--date-only {
    justify-content: flex-end;
}

.ms-feed-card__title {
    margin: 0 0 0.45rem;
    font-size: var(--ms-feed-title-size, 1.05rem) !important;
    line-height: 1.35 !important;
}

.ms-feed-card__title a {
    color: var(--ms-color-navy-950);
    font-size: inherit !important;
    line-height: inherit !important;
    text-decoration: none;
}

/*
 * Divi può applicare dimensioni ai titoli H3 con selettori più specifici.
 * Manteniamo la dimensione configurata nelle Opzioni Nexus anche dentro
 * moduli Testo/Code e nel rendering del Visual Builder.
 */
.jt-nexus .ms-feed-list--cyber .ms-feed-card__title,
.jt-nexus #et-boc .ms-feed-list--cyber .ms-feed-card__title {
    font-size: var(--ms-feed-title-size, 1.05rem) !important;
}

.jt-nexus .ms-feed-list--cyber .ms-feed-card__title > a,
.jt-nexus #et-boc .ms-feed-list--cyber .ms-feed-card__title > a {
    font-size: inherit !important;
}

.ms-feed-card p {
    margin: 0;
    color: var(--ms-color-muted);
    font-size: var(--ms-feed-text-size, var(--ms-size-sm));
    line-height: 1.55;
}


.ms-feed-footer {
    margin-top: var(--ms-space-3);
}

/* Tab minimali per gruppi di fonti cybersecurity. */
.ms-cyber-tabs {
    min-width: 0;
}

.ms-cyber-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem;
    max-width: 100%;
    margin-bottom: var(--ms-space-3);
    padding: 0 0 0.75rem;
    overflow: visible;
    border-bottom: 1px solid var(--ms-color-line);
}

.ms-cyber-tabs__tab {
    position: relative;
    flex: 0 0 auto;
    min-height: 36px;
    padding: 0.45rem 0.85rem;
    border: 1px solid transparent;
    border-radius: var(--ms-radius-pill);
    color: var(--ms-color-muted);
    background: transparent;
    font: inherit;
    font-size: var(--ms-size-xs);
    font-weight: 850;
    letter-spacing: 0.035em;
    line-height: 1.2;
    cursor: pointer;
    transition: color var(--ms-transition), border-color var(--ms-transition), background-color var(--ms-transition), transform var(--ms-transition);
}

.ms-cyber-tabs__tab:hover {
    color: var(--ms-color-blue-700);
    border-color: rgba(0, 32, 138, 0.16);
    background: rgba(0, 32, 138, 0.045);
}

.ms-cyber-tabs__tab.is-active {
    color: #fff;
    border-color: var(--ms-color-navy-950);
    background: var(--ms-color-navy-950);
    box-shadow: 0 7px 18px rgba(0, 0, 51, 0.14);
}

.ms-cyber-tabs__tab:focus-visible {
    outline: 3px solid rgba(224, 43, 32, 0.42);
    outline-offset: 2px;
}

.ms-cyber-tabs__panel[hidden] {
    display: none;
}

.ms-cyber-tabs__panel.is-active {
    animation: ms-cyber-tab-in 180ms ease-out both;
}

@keyframes ms-cyber-tab-in {
    from {
        opacity: 0;
        transform: translateY(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 560px) {
    .ms-cyber-tabs__nav {
        gap: 0.38rem;
    }

    .ms-cyber-tabs__tab {
        min-height: 34px;
        max-width: 100%;
        padding-inline: 0.72rem;
        white-space: normal;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-cyber-tabs__tab {
        transition: none;
    }

    .ms-cyber-tabs__panel.is-active {
        animation: none;
    }
}

/* Miniature opzionali per le notizie cybersecurity. */
.ms-feed-list--cyber .ms-feed-card.has-media {
    padding: 0;
    overflow: hidden;
}

.ms-feed-card__cyber-layout.has-media {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    min-height: 132px;
}

.ms-feed-card__cyber-content {
    min-width: 0;
}

.ms-feed-card__cyber-layout.has-media .ms-feed-card__cyber-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--ms-space-3) var(--ms-space-4);
}

.ms-feed-card__media--cyber {
    min-height: 132px;
    color: inherit;
    text-decoration: none;
}

.ms-feed-card__media--cyber img {
    min-height: 132px;
}

.ms-feed-list--cyber .ms-feed-card:hover .ms-feed-card__media--cyber img {
    transform: scale(1.055);
}

.ms-feed-card__media--cyber:focus-visible {
    outline: 3px solid var(--ms-color-red-600);
    outline-offset: -3px;
}

@media (max-width: 560px) {
    .ms-feed-card__cyber-layout.has-media {
        grid-template-columns: 88px minmax(0, 1fr);
        min-height: 112px;
    }

    .ms-feed-card__media--cyber,
    .ms-feed-card__media--cyber img {
        min-height: 112px;
    }

    .ms-feed-card__cyber-layout.has-media .ms-feed-card__cyber-content {
        padding: var(--ms-space-3);
    }
}

/* Card Mastodon cliccabili con anteprima immagine. */
.ms-feed-list--mastodon .ms-feed-card {
    padding: 0;
    overflow: hidden;
}

.ms-feed-card__link {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 100%;
    color: inherit !important;
    text-decoration: none !important;
}

.ms-feed-card.has-media .ms-feed-card__link {
    grid-template-columns: 116px minmax(0, 1fr);
}

.ms-feed-card__media {
    display: block;
    min-height: 132px;
    overflow: hidden;
    background: var(--ms-color-soft);
}

.ms-feed-card__media img {
    width: 100%;
    height: 100%;
    min-height: 132px;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 320ms ease;
}

.ms-feed-card__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: var(--ms-space-3) var(--ms-space-4);
}

.ms-feed-card__content .ms-feed-card__meta {
    width: 100%;
}

.ms-feed-card__post {
    display: -webkit-box;
    overflow: hidden;
    color: var(--ms-color-navy-950);
    font-size: var(--ms-feed-text-size, var(--ms-size-sm));
    font-weight: 650;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}

/* In modalità testo completo il contenuto non deve essere limitato visivamente. */
.ms-feed-list--mastodon-full .ms-feed-card__post {
    display: block;
    overflow: visible;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
}

.ms-feed-card__compact-url {
    display: inline-flex;
    align-items: center;
    gap: 0.28em;
    max-width: 100%;
    margin: 0 0.18em 0.12em 0;
    padding: 0.08em 0.52em;
    overflow: hidden;
    border: 1px solid rgba(0, 32, 138, 0.18);
    border-radius: 999px;
    background: var(--ms-color-soft);
    color: var(--ms-color-blue-700);
    font-size: 0.86em;
    font-weight: 850;
    line-height: 1.45;
    text-overflow: ellipsis;
    vertical-align: 0.08em;
    white-space: nowrap;
    transition: border-color var(--ms-transition), color var(--ms-transition);
}

.ms-feed-card__open {
    align-self: flex-start;
    margin-top: 0.65rem;
    color: var(--ms-color-blue-700);
    font-size: var(--ms-size-xs);
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ms-feed-list--mastodon .ms-feed-card:hover .ms-feed-card__media img {
    transform: scale(1.055);
}

.ms-feed-list--mastodon .ms-feed-card:hover .ms-feed-card__open,
.ms-feed-list--mastodon .ms-feed-card:hover .ms-feed-card__compact-url {
    color: var(--ms-color-red-600);
}

.ms-feed-list--mastodon .ms-feed-card:hover .ms-feed-card__compact-url {
    border-color: rgba(224, 43, 32, 0.28);
}

.ms-feed-card__link:focus-visible {
    outline: 3px solid var(--ms-color-red-600);
    outline-offset: -3px;
}

@media (max-width: 560px) {
    .ms-feed-card.has-media .ms-feed-card__link {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .ms-feed-card__media,
    .ms-feed-card__media img {
        min-height: 112px;
    }

    .ms-feed-card__content {
        padding: var(--ms-space-3);
    }

    .ms-feed-card__post {
        -webkit-line-clamp: 4;
    }

    .ms-feed-list--mastodon-full .ms-feed-card__post {
        -webkit-line-clamp: unset;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-feed-card__media img {
        transition: none;
    }

    .ms-feed-list--mastodon .ms-feed-card:hover .ms-feed-card__media img {
        transform: none;
    }
}

/* Footer globale Divi. */
.ms-site-footer {
    color: rgba(255, 255, 255, 0.78);
    background: var(--ms-color-navy-950);
}

.ms-site-footer :where(h2, h3, h4, a) {
    color: #ffffff;
}

.ms-site-footer a:hover {
    color: var(--ms-color-red-600);
}

.ms-site-footer .et_pb_menu .et-menu {
    margin: 0;
    flex-direction: column;
    align-items: flex-start;
}

/* Contact Form 7, se mantenuto. */
/* ============================================================
 * Home starter layout 1.1
 * ============================================================ */
.nexus-is-home #main-content {
    background: var(--ms-color-surface);
}

.ms-home-heading {
    max-width: 820px;
    margin-inline: auto;
    text-align: center;
}

.ms-home-heading .ms-lead {
    margin-inline: auto;
}

.ms-hero__content {
    align-self: center;
}

.ms-hero__content .et_pb_button_module_wrapper {
    display: inline-block;
    margin-top: var(--ms-space-3);
    margin-right: var(--ms-space-2);
}

.ms-hero__media {
    align-self: center;
}

.ms-card-kicker {
    display: inline-block;
    margin-bottom: 0.45rem;
    color: rgba(255, 255, 255, 0.76);
    font-size: var(--ms-size-xs);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ms-topic-card {
    background-position: center;
    background-size: cover;
}

.ms-topic-card .et_pb_text {
    margin-top: auto;
}

.ms-topic-card .et_pb_text_inner {
    position: relative;
    z-index: 2;
    padding: clamp(0.9rem, 0.72rem + 0.55vw, 1.2rem);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: calc(var(--ms-radius-md) + 2px);
    background: linear-gradient(180deg, rgba(7, 11, 48, 0.44) 0%, rgba(7, 11, 48, 0.31) 55%, rgba(7, 11, 48, 0.20) 100%);
    backdrop-filter: blur(6px) saturate(112%);
    -webkit-backdrop-filter: blur(6px) saturate(112%);
    box-shadow: 0 14px 30px rgba(0, 0, 24, 0.14);
}

.ms-topic-card .et_pb_text_inner,
.nexus-route-card .et_pb_text_inner {
    max-width: 36rem;
    text-shadow:
        0 2px 3px rgba(0, 0, 24, 0.95),
        0 10px 28px rgba(0, 0, 24, 0.76);
}

.ms-topic-card h3,
.nexus-route-card h3 {
    text-wrap: balance;
    text-shadow:
        0 2px 2px rgba(0, 0, 18, 0.98),
        0 8px 26px rgba(0, 0, 18, 0.86);
}

.ms-topic-card .ms-card-kicker,
.nexus-route-card .ms-card-kicker {
    position: relative;
    padding-left: 2.1rem;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 2px 8px rgba(0, 0, 18, 0.88);
}

.ms-topic-card .ms-card-kicker::before,
.nexus-route-card .ms-card-kicker::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 1.55rem;
    height: 3px;
    border-radius: 999px;
    background: var(--ms-color-red-600);
    box-shadow: 0 0 14px rgba(224, 43, 32, 0.62);
    content: "";
    transform: translateY(-50%);
}

.ms-topic-card h3 {
    margin-bottom: 0.65rem;
    color: #ffffff;
    font-size: clamp(1.45rem, 1.2rem + 0.55vw, 2rem);
}

.ms-topic-card .et_pb_text_inner > p,
.ms-topic-card__excerpt {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 0.9rem;
    color: rgba(255, 255, 255, 0.96);
    font-size: var(--ms-size-sm);
    line-height: 1.58;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.ms-topic-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #ffffff !important;
    font-size: var(--ms-size-sm);
    font-weight: 800;
    text-decoration: none;
}

.ms-topic-link:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}

.ms-radar-panel {
    height: 100%;
    padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}

.ms-radar-panel h3 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.8rem);
}

.ms-radar-panel > .et_pb_text:first-child p,
.ms-radar-panel .ms-panel-intro {
    color: var(--ms-color-muted);
    font-size: var(--ms-size-sm);
}

.ms-dynamic-module > .et_pb_text_inner > p:only-child {
    margin: 0;
}

.ms-gallery-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.ms-gallery-cta::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(0, 0, 51, 0.96) 0%, rgba(0, 0, 51, 0.82) 48%, rgba(0, 0, 51, 0.28) 100%),
        var(--ms-gallery-image, none) center / cover no-repeat;
    content: "";
}

.ms-gallery-cta .ms-lead {
    color: rgba(255, 255, 255, 0.78);
}

.ms-whois-card {
    overflow: hidden;
    border: 1px solid rgba(0, 32, 138, 0.14);
    border-radius: var(--ms-radius-lg);
    background: #ffffff;
    box-shadow: var(--ms-shadow-sm);
}

.ms-whois-terminal {
    min-height: 100%;
    display: flex;
    align-items: center;
    padding: clamp(1.5rem, 1rem + 2vw, 3rem);
    color: #ffffff;
    background:
        radial-gradient(circle at 80% 20%, rgba(12, 113, 195, 0.38), transparent 34%),
        linear-gradient(135deg, var(--ms-color-navy-950), var(--ms-color-navy-900));
}

.ms-whois-terminal .et_pb_text_inner {
    width: 100%;
}

.ms-terminal-prompt {
    color: #ffffff;
    font-family: var(--ms-font-mono);
    font-size: clamp(1.55rem, 1.15rem + 1.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.3;
}

.ms-terminal-cursor {
    display: inline-block;
    width: 0.56em;
    height: 1em;
    margin-left: 0.15em;
    vertical-align: -0.12em;
    background: var(--ms-color-red-600);
    animation: ms-cursor 1.1s steps(2, start) infinite;
}

@keyframes ms-cursor {
    50% { opacity: 0; }
}

.ms-whois-copy {
    padding: clamp(1.5rem, 1rem + 2vw, 3rem);
}

.ms-whois-copy h2 {
    font-size: var(--ms-size-xl);
}

@media (max-width: 980px) {
    .ms-hero__content {
        margin-bottom: var(--ms-space-5);
        text-align: center;
    }

    .ms-hero h1,
    .ms-hero .ms-lead {
        margin-inline: auto;
    }

    .ms-hero__content .et_pb_button_module_wrapper {
        margin-inline: 0.3rem;
    }

    .ms-topic-card {
        min-height: 320px;
    }
}

@media (max-width: 680px) {
    .ms-hero__content .et_pb_button_module_wrapper {
        display: block;
        margin-right: 0;
    }

    .ms-hero__content .et_pb_button {
        width: 100%;
    }

    .ms-topic-card {
        min-height: 300px;
    }

    .ms-gallery-cta::before {
        background:
            linear-gradient(180deg, rgba(0, 0, 51, 0.96), rgba(0, 0, 51, 0.72)),
            var(--ms-gallery-image, none) center / cover no-repeat;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ms-terminal-cursor {
        animation: none;
    }
}

.ms-footer-cta {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 15%, rgba(12,113,195,.38), transparent 30%),
        linear-gradient(118deg, var(--ms-color-blue-700), var(--ms-color-navy-900) 62%, var(--ms-color-navy-950));
}

.ms-footer-cta::after {
    position: absolute;
    inset: -120% -35%;
    z-index: -1;
    width: 34%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.11), transparent);
    content: "";
    transform: rotate(14deg) translateX(-360%);
    animation: ms-footer-shine 11s ease-in-out infinite;
}

.ms-footer-cta :where(h2,h3,p) {
    color: inherit;
}

.ms-footer-cta .ms-footer-cta-row {
    display: flex;
    align-items: center;
}

.ms-footer-cta h2 {
    margin-bottom: .45rem;
    font-size: clamp(1.7rem, 1.35rem + 1.2vw, 2.75rem);
}

.ms-footer-cta p {
    margin: 0;
    color: rgba(255,255,255,.75);
}

.ms-footer-cta .ms-footer-cta-button {
    text-align: right;
}

.ms-site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 14% 18%, rgba(12,113,195,.20), transparent 28%),
        linear-gradient(145deg, #000026, var(--ms-color-navy-950));
}

.ms-site-footer::before,
.ms-site-footer::after {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 44% 56% 63% 37% / 42% 39% 61% 58%;
    content: "";
    pointer-events: none;
}

.ms-site-footer::before {
    right: -180px;
    top: -210px;
    width: 480px;
    height: 480px;
    animation: ms-footer-orbit 24s linear infinite;
}

.ms-site-footer::after {
    left: -150px;
    bottom: -210px;
    width: 360px;
    height: 360px;
    animation: ms-footer-orbit 31s linear infinite reverse;
}

.ms-site-footer .ms-footer-main-row {
    position: relative;
    z-index: 1;
}

.ms-site-footer .ms-footer-brand img {
    max-height: 76px;
    width: auto;
    margin-bottom: 1rem;
    filter: drop-shadow(0 12px 24px rgba(0,0,0,.28));
}

.ms-site-footer .ms-footer-brand p {
    max-width: 36ch;
    color: rgba(255,255,255,.68);
    font-size: var(--ms-size-sm);
}

.ms-site-footer .ms-footer-heading {
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.ms-footer-links {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ms-footer-links a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: rgba(255,255,255,.72) !important;
    font-size: var(--ms-size-sm);
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}

.ms-footer-links a::after {
    color: var(--ms-color-red-600);
    content: "→";
    opacity: 0;
    transform: translateX(-5px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.ms-footer-links a:hover {
    color: #fff !important;
    transform: translateX(3px);
}

.ms-footer-links a:hover::after {
    opacity: 1;
    transform: translateX(0);
}

.ms-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.ms-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    min-width: 122px;
    padding: .65rem .8rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--ms-radius-pill);
    color: rgba(255,255,255,.84) !important;
    background: rgba(255,255,255,.035);
    font-size: var(--ms-size-xs);
    font-weight: 800;
    text-decoration: none;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.ms-social-links a:hover {
    border-color: rgba(224,43,32,.68);
    color: #fff !important;
    background: rgba(224,43,32,.14);
    transform: translateY(-2px);
}

.ms-social-empty {
    margin: 0;
    color: rgba(255,255,255,.6);
    font-size: var(--ms-size-xs);
}

.ms-footer-bottom-row {
    border-top: 1px solid rgba(255,255,255,.09);
}

.ms-footer-bottom-row p,
.ms-footer-bottom-row a {
    color: rgba(255,255,255,.58) !important;
    font-size: var(--ms-size-xs);
}

.ms-footer-bottom-row a:hover {
    color: #fff !important;
}

.ms-footer-legal {
    text-align: right;
}

.ms-footer-legal a + a::before {
    margin-inline: .55rem;
    color: rgba(255,255,255,.24);
    content: "•";
}

.ms-back-top {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: 1.2rem;
    color: #fff !important;
    font-size: var(--ms-size-xs);
    font-weight: 800;
    letter-spacing: .07em;
    text-decoration: none;
    text-transform: uppercase;
}

.ms-back-top span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;
    transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.ms-back-top:hover span {
    border-color: var(--ms-color-red-600);
    background: var(--ms-color-red-600);
    transform: translateY(-3px);
}

/*
 * Le sezioni animate restano visibili per impostazione predefinita.
 * JavaScript abilita lo stato iniziale nascosto soltanto nel frontend,
 * evitando contenuti trasparenti nell'iframe del Visual Builder Divi.
 */
.ms-reveal {
    opacity: 1;
    transform: none;
}

html.nexus-motion-ready .ms-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 600ms ease, transform 600ms cubic-bezier(.2,.75,.25,1);
}

html.nexus-motion-ready .ms-reveal.is-visible {
    opacity: 1;
    transform: none;
}

html.nexus-motion-ready .ms-reveal--delay-1 { transition-delay: 90ms; }
html.nexus-motion-ready .ms-reveal--delay-2 { transition-delay: 180ms; }
html.nexus-motion-ready .ms-reveal--delay-3 { transition-delay: 270ms; }


@keyframes ms-footer-shine {
    0%, 55% { transform: rotate(14deg) translateX(-360%); }
    72%, 100% { transform: rotate(14deg) translateX(520%); }
}

@keyframes ms-footer-orbit {
    to { transform: rotate(360deg); }
}


@media (max-width: 980px) {
    

    

    

    

    

    

    

    

    .ms-footer-cta .ms-footer-cta-row {
        display: block;
        text-align: center;
    }

    .ms-footer-cta .ms-footer-cta-button {
        margin-top: 1.25rem;
        text-align: center;
    }

    .ms-site-footer .ms-footer-main-row > .et_pb_column {
        margin-bottom: 2rem;
    }

    .ms-footer-legal {
        text-align: left;
    }
}

@media (max-width: 680px) {
    

    .ms-footer-cta .et_pb_button {
        width: 100%;
    }

    .ms-social-links a {
        flex: 1 1 100%;
    }

    .ms-footer-bottom-row .et_pb_column + .et_pb_column {
        margin-top: .6rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    

    .ms-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


body.jt-nexus .et-l--footer,
body.jt-nexus .ms-site-footer {
    clear: both;
    position: relative;
    z-index: 2;
}
body.jt-nexus .et-l--body,
body.jt-nexus #et-main-area {
    position: relative;
    z-index: 1;
}

body.jt-nexus .nexus-lightbox,
body.jt-nexus .mfp-bg,
body.jt-nexus .mfp-wrap,
body.jt-nexus .fancybox-container,
body.jt-nexus .fancybox__container,
body.jt-nexus .glightbox-container,
body.jt-nexus .pswp,
body.jt-nexus .lg-backdrop,
body.jt-nexus .lg-outer,
body.jt-nexus .sl-overlay,
body.jt-nexus .sl-wrapper,
body.jt-nexus .jester-gallery-lightbox,
body.jt-nexus .jt-gallery-lightbox,
body.jt-nexus .ms-gallery-lightbox,
body.jt-nexus [data-jt-gallery-lightbox],
body.jt-nexus [data-ms-gallery-lightbox],
body.jt-nexus [data-jester-gallery-lightbox] {
    z-index: 2147483000 !important;
}

/* ============================================================
 * Nexus 1.14.2 — Home Accadde oggi / integrazione plugin
 * ============================================================ */
.ms-section--almanac {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 12%, rgba(12, 113, 195, 0.14), transparent 32%),
        radial-gradient(circle at 88% 18%, rgba(224, 43, 32, 0.09), transparent 28%),
        linear-gradient(180deg, #f7f9fd 0%, #eef3fb 100%);
}

.ms-section--almanac::before {
    position: absolute;
    inset: auto -12% -45% -12%;
    height: 72%;
    background: linear-gradient(90deg, rgba(0, 0, 51, 0.05), rgba(12, 113, 195, 0.08), rgba(224, 43, 32, 0.04));
    content: "";
    transform: skewY(-4deg);
    pointer-events: none;
}

.ms-home-almanac {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin-inline: auto;
    color: var(--nexus-almanac-card-text, var(--nda-text, var(--ms-color-navy-950)));
}

.ms-home-almanac__output {
    position: relative;
}

.ms-home-almanac .nexus-daily-almanac,
.ms-home-almanac .daily-almanac,
.ms-home-almanac .almanac,
.ms-home-almanac .nexus-almanac {
    color: var(--nda-text, var(--nexus-almanac-card-text, #000033));
}

.ms-home-almanac :where(.nexus-daily-almanac__header, .daily-almanac-header, .almanac-header, .jt-almanac-header) {
    margin: 0 0 clamp(1.7rem, 1.15rem + 1.8vw, 2.75rem);
    text-align: center;
}

.ms-home-almanac :where(.nexus-daily-almanac__header, .daily-almanac-header, .almanac-header, .jt-almanac-header)::before {
    display: block;
    margin-bottom: 0.45rem;
    color: var(--nda-accent, var(--nexus-almanac-card-accent, var(--ms-color-red-600)));
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    content: "Oggi nella storia";
}

.ms-home-almanac :where(.nexus-daily-almanac__title, .daily-almanac-heading, .almanac-heading, .jt-almanac-heading, .daily-almanac-header h2, .almanac-header h2, .jt-almanac-header h2) {
    margin: 0 !important;
    color: var(--ms-color-navy-950) !important;
    font-size: clamp(2rem, 1.45rem + 2vw, 3.35rem) !important;
    line-height: 1.05 !important;
    text-wrap: balance;
}

.ms-home-almanac :where(.nexus-daily-almanac__subtitle, .daily-almanac-subtitle, .almanac-subtitle, .jt-almanac-subtitle, .daily-almanac-header time, .almanac-header time, .jt-almanac-header time) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    margin-top: 0.75rem;
    padding: 0.36rem 0.9rem;
    border: 1px solid rgba(12, 113, 195, 0.16);
    border-radius: 999px;
    color: var(--ms-color-navy-700);
    background: rgba(255, 255, 255, 0.74);
    box-shadow: 0 12px 28px rgba(0, 0, 51, 0.07);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.035em;
}

.ms-home-almanac :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items, .daily-almanac-events, .daily-almanac-list, .almanac-events, .almanac-list, .jt-almanac-events, .jt-almanac-list, .nexus-almanac-events, .nexus-almanac-list, ul) {
    display: grid !important;
    grid-template-columns: repeat(var(--nda-columns, var(--nexus-almanac-columns, 3)), minmax(0, 1fr)) !important;
    gap: clamp(1rem, 0.8rem + 1vw, 1.5rem) !important;
    align-items: stretch;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.ms-home-almanac--layout-list :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items, .daily-almanac-events, .daily-almanac-list, .almanac-events, .almanac-list, .jt-almanac-events, .jt-almanac-list, .nexus-almanac-events, .nexus-almanac-list, ul),
.ms-home-almanac .nexus-daily-almanac--list :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items) {
    grid-template-columns: 1fr !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, .nexus-daily-almanac__events > article, .nexus-daily-almanac__items > article, .daily-almanac-events > article, .almanac-events > article, li) {
    position: relative;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    padding: clamp(1.25rem, 1rem + 1vw, 1.8rem) !important;
    border: 1px solid rgba(0, 0, 51, 0.08) !important;
    border-radius: var(--nda-radius, var(--nexus-almanac-card-radius, 22px)) !important;
    color: var(--nda-text, var(--nexus-almanac-card-text, var(--ms-color-navy-950))) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.98)),
        var(--nda-bg, var(--nexus-almanac-card-bg, #ffffff)) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 51, 0.08);
    transition: transform var(--ms-transition), box-shadow var(--ms-transition), border-color var(--ms-transition);
}

.ms-home-almanac--no-shadow :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li) {
    box-shadow: none !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li)::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--nda-accent, var(--nexus-almanac-card-accent, var(--ms-color-red-600))), var(--ms-color-blue-700));
    content: "";
}

.ms-home-almanac :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li)::after {
    position: absolute;
    right: -2.2rem;
    bottom: -2.6rem;
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(12, 113, 195, 0.12);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.ms-home-almanac :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li):hover {
    border-color: rgba(12, 113, 195, 0.2) !important;
    box-shadow: 0 28px 60px rgba(0, 0, 51, 0.12);
    transform: translateY(-4px);
}

.ms-home-almanac--no-shadow :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li):hover {
    box-shadow: none !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__event-date, .nexus-daily-almanac__date, .daily-almanac-date, .almanac-date, .jt-almanac-date, time) {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0.75rem;
    padding: 0.32rem 0.68rem;
    border-radius: 999px;
    color: var(--nda-accent, var(--nexus-almanac-card-accent, var(--ms-color-red-600)));
    background: rgba(224, 43, 32, 0.08);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ms-home-almanac :where(.nexus-daily-almanac__event-title, .daily-almanac-title, .almanac-title, .jt-almanac-title, .nexus-daily-almanac__event h3, .nexus-daily-almanac__event h4, .daily-almanac-event h3, .almanac-event h3) {
    margin: 0 0 0.65rem !important;
    color: var(--nda-text, var(--nexus-almanac-card-text, var(--ms-color-navy-950))) !important;
    font-size: var(--nda-title-size, var(--nexus-almanac-title-size, 18px)) !important;
    line-height: 1.22 !important;
    text-wrap: balance;
}

.ms-home-almanac :where(.nexus-daily-almanac__event-content, .nexus-daily-almanac__event-text, .daily-almanac-text, .almanac-text, .jt-almanac-text, .nexus-daily-almanac__event p, .daily-almanac-event p, .almanac-event p) {
    color: color-mix(in srgb, var(--nda-text, var(--nexus-almanac-card-text, var(--ms-color-navy-950))) 74%, #ffffff 26%);
    font-size: var(--nda-text-size, var(--nexus-almanac-text-size, 15px)) !important;
    line-height: 1.62;
}

.ms-home-almanac :where(a) {
    color: inherit !important;
    text-decoration: none;
}

.ms-home-almanac--style-minimal :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li),
.ms-home-almanac .nexus-daily-almanac--style-minimal :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item) {
    background: rgba(255, 255, 255, 0.62) !important;
    box-shadow: none;
}

.ms-home-almanac--style-compact :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .daily-almanac-event, .daily-almanac-item, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .nexus-almanac-event, .nexus-almanac-item, li),
.ms-home-almanac .nexus-daily-almanac--style-compact :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item) {
    padding: clamp(1rem, 0.85rem + 0.7vw, 1.35rem) !important;
}

@media (max-width: 980px) {
    .ms-home-almanac :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items, .daily-almanac-events, .daily-almanac-list, .almanac-events, .almanac-list, .jt-almanac-events, .jt-almanac-list, .nexus-almanac-events, .nexus-almanac-list, ul) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .ms-home-almanac :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items, .daily-almanac-events, .daily-almanac-list, .almanac-events, .almanac-list, .jt-almanac-events, .jt-almanac-list, .nexus-almanac-events, .nexus-almanac-list, ul) {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================================
 * Nexus 1.14.3 — Accadde oggi / variabili stile plugin
 * ============================================================ */
.ms-section--almanac {
    background-color: var(--nexus-almanac-section-bg, #f7f9fd);
}

.ms-home-almanac {
    --nda-columns: var(--nexus-almanac-columns, 3);
    --nda-bg: var(--nexus-almanac-card-bg, #ffffff);
    --nda-text: var(--nexus-almanac-card-text, #000033);
    --nda-accent: var(--nexus-almanac-card-accent, #e02b20);
    --nda-radius: var(--nexus-almanac-card-radius, 22px);
    --nda-title-size: var(--nexus-almanac-title-size, 18px);
    --nda-text-size: var(--nexus-almanac-text-size, 15px);
}

.ms-home-almanac :where(.nexus-daily-almanac__title, .daily-almanac-heading, .almanac-heading, .jt-almanac-heading, .daily-almanac-header h2, .almanac-header h2, .jt-almanac-header h2) {
    color: var(--nda-heading-color, var(--nexus-almanac-heading-color, var(--ms-color-navy-950))) !important;
    font-size: clamp(1.9rem, 1.2rem + 2vw, var(--nda-heading-size, var(--nexus-almanac-heading-size, 44px))) !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__subtitle, .daily-almanac-subtitle, .almanac-subtitle, .jt-almanac-subtitle, .daily-almanac-header time, .almanac-header time, .jt-almanac-header time) {
    color: var(--nda-subtitle-color, var(--nexus-almanac-subtitle-color, var(--ms-color-navy-700))) !important;
    font-size: var(--nda-subtitle-size, var(--nexus-almanac-subtitle-size, 15px)) !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__events, .nexus-daily-almanac__items, .daily-almanac-events, .daily-almanac-list, .almanac-events, .almanac-list, .jt-almanac-events, .jt-almanac-list, .nexus-almanac-events, .nexus-almanac-list, ul) {
    gap: var(--nda-card-gap, var(--nda-gap, var(--nexus-almanac-gap, 24px))) !important;
}

.ms-home-almanac :where(
    .nexus-daily-almanac__event,
    .nexus-daily-almanac__item,
    .nexus-daily-almanac__card,
    .nexus-daily-almanac__event-card,
    .daily-almanac-event,
    .daily-almanac-item,
    .daily-almanac-card,
    .almanac-event,
    .almanac-item,
    .almanac-card,
    .jt-almanac-event,
    .jt-almanac-item,
    .jt-almanac-card,
    .nexus-almanac-event,
    .nexus-almanac-item,
    .nexus-almanac-card,
    .nda-event,
    .nda-card,
    .nexus-daily-almanac__events > *,
    .nexus-daily-almanac__items > *,
    .daily-almanac-events > *,
    .almanac-events > *,
    li
) {
    padding: var(--nda-card-padding, var(--nda-padding, var(--nexus-almanac-card-padding, 28px))) !important;
    border-width: var(--nda-card-border-width, var(--nda-border-width, var(--nexus-almanac-card-border-width, 1px))) !important;
    border-style: solid !important;
    border-color: var(--nda-card-border-color, var(--nda-border-color, var(--nexus-almanac-card-border-color, rgba(0, 0, 51, 0.10)))) !important;
    border-radius: var(--nda-card-radius, var(--nda-radius, var(--nexus-almanac-card-radius, 22px))) !important;
    color: var(--nda-text, var(--nexus-almanac-card-text, var(--ms-color-navy-950))) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.99)),
        var(--nda-card-bg, var(--nda-bg, var(--nexus-almanac-card-bg, #ffffff))) !important;
    box-shadow: var(--nda-card-shadow, var(--nda-shadow, var(--nexus-almanac-card-shadow, 0 18px 42px rgba(0, 0, 51, 0.08)))) !important;
}

.ms-home-almanac :where(
    .nexus-daily-almanac__event,
    .nexus-daily-almanac__item,
    .nexus-daily-almanac__card,
    .nexus-daily-almanac__event-card,
    .daily-almanac-event,
    .daily-almanac-item,
    .daily-almanac-card,
    .almanac-event,
    .almanac-item,
    .almanac-card,
    .jt-almanac-event,
    .jt-almanac-item,
    .jt-almanac-card,
    .nexus-almanac-event,
    .nexus-almanac-item,
    .nexus-almanac-card,
    .nda-event,
    .nda-card,
    .nexus-daily-almanac__events > *,
    .nexus-daily-almanac__items > *,
    .daily-almanac-events > *,
    .almanac-events > *,
    li
)::before {
    width: var(--nda-accent-width, var(--nexus-almanac-accent-width, 5px)) !important;
    background: linear-gradient(180deg, var(--nda-accent, var(--nexus-almanac-card-accent, var(--ms-color-red-600))), var(--ms-color-blue-700)) !important;
}

.ms-home-almanac :where(
    .nexus-daily-almanac__event,
    .nexus-daily-almanac__item,
    .nexus-daily-almanac__card,
    .nexus-daily-almanac__event-card,
    .daily-almanac-event,
    .daily-almanac-item,
    .daily-almanac-card,
    .almanac-event,
    .almanac-item,
    .almanac-card,
    .jt-almanac-event,
    .jt-almanac-item,
    .jt-almanac-card,
    .nexus-almanac-event,
    .nexus-almanac-item,
    .nexus-almanac-card,
    .nda-event,
    .nda-card,
    .nexus-daily-almanac__events > *,
    .nexus-daily-almanac__items > *,
    .daily-almanac-events > *,
    .almanac-events > *,
    li
):hover {
    border-color: color-mix(in srgb, var(--nda-accent, var(--nexus-almanac-card-accent, var(--ms-color-red-600))) 36%, var(--nda-card-border-color, var(--nexus-almanac-card-border-color, rgba(0, 0, 51, 0.10))) 64%) !important;
    box-shadow: var(--nda-card-shadow-hover, var(--nda-shadow-hover, var(--nexus-almanac-card-shadow-hover, 0 26px 58px rgba(0, 0, 51, 0.12)))) !important;
    transform: translateY(calc(-1 * var(--nda-hover-lift, var(--nexus-almanac-hover-lift, 4px)))) !important;
}

.ms-home-almanac--no-shadow :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .nexus-daily-almanac__card, .nexus-daily-almanac__event-card, .daily-almanac-event, .daily-almanac-item, .daily-almanac-card, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .jt-almanac-card, .nexus-almanac-event, .nexus-almanac-item, .nexus-almanac-card, .nda-event, .nda-card, li),
.ms-home-almanac--shadow-none :where(.nexus-daily-almanac__event, .nexus-daily-almanac__item, .nexus-daily-almanac__card, .nexus-daily-almanac__event-card, .daily-almanac-event, .daily-almanac-item, .daily-almanac-card, .almanac-event, .almanac-item, .almanac-card, .jt-almanac-event, .jt-almanac-item, .jt-almanac-card, .nexus-almanac-event, .nexus-almanac-item, .nexus-almanac-card, .nda-event, .nda-card, li) {
    box-shadow: none !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__event-title, .daily-almanac-title, .almanac-title, .jt-almanac-title, .nexus-daily-almanac__event h3, .nexus-daily-almanac__event h4, .daily-almanac-event h3, .almanac-event h3, .nexus-daily-almanac__events > * h3, .nexus-daily-almanac__events > * h4) {
    color: var(--nda-event-title-color, var(--nda-text, var(--nexus-almanac-card-text, var(--ms-color-navy-950)))) !important;
    font-size: var(--nda-title-size, var(--nexus-almanac-title-size, 18px)) !important;
}

.ms-home-almanac :where(.nexus-daily-almanac__event-content, .nexus-daily-almanac__event-text, .daily-almanac-text, .almanac-text, .jt-almanac-text, .nexus-daily-almanac__event p, .daily-almanac-event p, .almanac-event p, .nexus-daily-almanac__events > * p) {
    font-size: var(--nda-text-size, var(--nexus-almanac-text-size, 15px)) !important;
}


/* ============================================================
 * Nexus 1.14.4 — Home: quote, sfondo Accadde oggi, heading compatti
 * ============================================================ */
.ms-hero {
    flex-direction: column;
    justify-content: center;
}

.ms-hero-quote-row {
    position: relative;
    z-index: 2;
    margin-top: clamp(1.25rem, 0.7rem + 2vw, 2.8rem) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.ms-home-daily-quote,
.ms-hero :where(.nexus-daily-almanac-quote, .nexus-daily-almanac__quote, .daily-almanac-quote, .daily-almanac__quote, .almanac-quote, .jt-almanac-quote, .nda-quote) {
    max-width: min(860px, 92vw);
    margin-inline: auto;
    text-align: center;
    color: #ffffff;
}

.ms-home-daily-quote .et_pb_code_inner,
.ms-home-daily-quote :where(.nexus-daily-almanac-quote, .nexus-daily-almanac__quote, .daily-almanac-quote, .daily-almanac__quote, .almanac-quote, .jt-almanac-quote, .nda-quote) {
    position: relative;
    padding: clamp(1rem, 0.82rem + 0.7vw, 1.35rem) clamp(1.15rem, 0.85rem + 1.3vw, 2rem);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055));
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.23);
    backdrop-filter: blur(10px);
}

.ms-home-daily-quote :where(p, blockquote),
.ms-hero :where(.nexus-daily-almanac-quote, .nexus-daily-almanac__quote, .daily-almanac-quote, .daily-almanac__quote, .almanac-quote, .jt-almanac-quote, .nda-quote) :where(p, blockquote) {
    margin: 0;
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: clamp(1rem, 0.92rem + 0.35vw, 1.18rem);
    line-height: 1.65;
}

.ms-home-daily-quote :where(cite, .author, .quote-author, .nexus-daily-almanac__quote-author, .daily-almanac-quote__author),
.ms-hero :where(.nexus-daily-almanac-quote, .nexus-daily-almanac__quote, .daily-almanac-quote, .daily-almanac__quote, .almanac-quote, .jt-almanac-quote, .nda-quote) :where(cite, .author, .quote-author, .nexus-daily-almanac__quote-author, .daily-almanac-quote__author) {
    display: block;
    margin-top: 0.55rem;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.86rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.ms-section--almanac {
    color: #ffffff;
    background:
        radial-gradient(circle at 80% 20%, rgba(12, 113, 195, 0.45), transparent 32%),
        radial-gradient(circle at 15% 80%, rgba(224, 43, 32, 0.18), transparent 26%),
        linear-gradient(135deg, var(--ms-color-navy-950), var(--ms-color-navy-900)) !important;
}

.ms-section--almanac::before {
    inset: auto -8% -46% -8%;
    height: 70%;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 34% 66% 63% 37% / 39% 38% 62% 61%;
    transform: rotate(11deg);
}

.nexus-is-home .ms-home-heading {
    max-width: 700px;
}

.nexus-is-home .ms-home-heading .ms-eyebrow {
    margin-bottom: 0.32rem;
    font-size: 0.72rem;
    letter-spacing: 0.13em;
    opacity: 0.82;
}

.nexus-is-home .ms-home-heading :where(.ms-title, h2) {
    margin-bottom: 0.45rem !important;
    font-size: clamp(1.6rem, 1.28rem + 1.1vw, 2.25rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.025em;
    text-wrap: balance;
}

.nexus-is-home .ms-home-heading .ms-lead {
    max-width: 620px;
    margin-top: 0.45rem;
    color: color-mix(in srgb, currentColor 70%, transparent);
    font-size: clamp(0.95rem, 0.9rem + 0.2vw, 1.05rem) !important;
    line-height: 1.62;
}

.ms-home-almanac :where(.nexus-daily-almanac__header, .daily-almanac-header, .almanac-header, .jt-almanac-header) {
    margin-bottom: clamp(1.15rem, 0.9rem + 1vw, 1.75rem) !important;
    text-align: center;
}

.ms-home-almanac :where(.nexus-daily-almanac__header, .daily-almanac-header, .almanac-header, .jt-almanac-header)::before {
    display: none !important;
}

.ms-section--almanac .ms-home-almanac :where(.nexus-daily-almanac__title, .daily-almanac-heading, .almanac-heading, .jt-almanac-heading, .daily-almanac-header h2, .almanac-header h2, .jt-almanac-header h2) {
    color: #ffffff !important;
    font-size: clamp(1.55rem, 1.2rem + 1vw, 2.1rem) !important;
    line-height: 1.15 !important;
}

.ms-section--almanac .ms-home-almanac :where(.nexus-daily-almanac__subtitle, .daily-almanac-subtitle, .almanac-subtitle, .jt-almanac-subtitle, .daily-almanac-header time, .almanac-header time, .jt-almanac-header time) {
    margin-top: 0.35rem;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, 0.76) !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(0.96rem, 0.9rem + 0.18vw, 1.06rem) !important;
    font-weight: 700;
    letter-spacing: 0.015em;
}

@media (max-width: 980px) {
    .ms-hero-quote-row {
        margin-top: 1.5rem !important;
    }
}

@media (max-width: 680px) {
    .ms-home-daily-quote .et_pb_code_inner,
    .ms-home-daily-quote :where(.nexus-daily-almanac-quote, .nexus-daily-almanac__quote, .daily-almanac-quote, .daily-almanac__quote, .almanac-quote, .jt-almanac-quote, .nda-quote) {
        border-radius: 18px;
    }
}

/* ============================================================
 * Nexus 1.14.5 — Hero Home più sobria
 * ============================================================ */
.nexus-is-home .ms-hero h1 {
    max-width: 18ch;
    font-size: clamp(2rem, 1.45rem + 2.05vw, 3.75rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em;
    text-wrap: balance;
}

@media (max-width: 680px) {
    .nexus-is-home .ms-hero h1 {
        max-width: 16ch;
        font-size: clamp(1.85rem, 1.48rem + 1.6vw, 2.55rem) !important;
    }
}


/* =========================================================
   NEXUS 1.17.4 — Card “I miei mondi” responsive
   Divi 5 può collocare le classi personalizzate su elementi annidati.
   La classe ms-topic-grid viene quindi applicata alla riga via JS e
   la disposizione non dipende dal selettore :has().
   ========================================================= */
@media (max-width: 980px) {
    .et_pb_row.ms-topic-grid,
    .ms-topic-grid {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 1.25rem !important;
        height: auto !important;
    }

    /* Colonne Divi: dirette oppure annidate da wrapper del builder. */
    .et_pb_row.ms-topic-grid > .et_pb_column,
    .et_pb_row.ms-topic-grid > *,
    .ms-topic-grid .ms-topic-grid__item,
    .ms-topic-grid .et_pb_column.ms-topic-card,
    .ms-topic-grid .et_pb_column.nexus-route-card {
        float: none !important;
        clear: both !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        margin: 0 !important;
    }

    .ms-topic-grid .ms-topic-card,
    .ms-topic-grid .nexus-route-card,
    .ms-topic-grid__item.ms-topic-card,
    .ms-topic-grid__item.nexus-route-card {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 360px !important;
    }

    .ms-topic-grid .ms-topic-card .et_pb_text,
    .ms-topic-grid .nexus-route-card .et_pb_text,
    .ms-topic-grid .ms-topic-card .et_pb_text_inner,
    .ms-topic-grid .nexus-route-card .et_pb_text_inner {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    .ms-topic-grid :where(h3, p, a, .ms-card-kicker) {
        max-width: 100% !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
        white-space: normal !important;
    }
}

@media (max-width: 680px) {
    .et_pb_row.ms-topic-grid,
    .ms-topic-grid {
        width: 92% !important;
        max-width: 92% !important;
        gap: 1rem !important;
        margin-inline: auto !important;
    }

    .ms-topic-grid .ms-topic-card,
    .ms-topic-grid .nexus-route-card,
    .ms-topic-grid__item.ms-topic-card,
    .ms-topic-grid__item.nexus-route-card {
        min-height: 350px !important;
        padding: 1.1rem !important;
    }

    .ms-topic-grid .ms-topic-card .et_pb_text_inner,
    .ms-topic-grid .nexus-route-card .et_pb_text_inner {
        padding: 1rem !important;
        border-radius: var(--ms-radius-md);
        backdrop-filter: blur(5px) saturate(110%);
        -webkit-backdrop-filter: blur(5px) saturate(110%);
    }

    .ms-topic-grid .ms-topic-card h3,
    .ms-topic-grid .nexus-route-card h3 {
        font-size: clamp(1.55rem, 1.35rem + 1vw, 1.9rem) !important;
        line-height: 1.12 !important;
    }

    .ms-topic-grid .ms-topic-card .et_pb_text_inner > p,
    .ms-topic-grid .ms-topic-card__excerpt,
    .ms-topic-grid .nexus-route-card p {
        font-size: 0.95rem !important;
        line-height: 1.52 !important;
    }
}


/* =========================================================
   NEXUS 1.17.5 — Allineamento superiore card “I miei mondi”
   I pannelli non devono più essere spinti in basso in base alla
   quantità di testo contenuta nella singola card.
   ========================================================= */
.ms-topic-card {
    justify-content: flex-start;
}

.ms-topic-card .et_pb_text {
    width: 100%;
    margin-top: 0;
}

.ms-topic-card .et_pb_text_inner {
    width: 100%;
}

/* Mantiene il link separato dal testo senza alterare l'allineamento alto. */
.ms-topic-card .ms-topic-link {
    margin-top: 0.2rem;
}

@media (max-width: 980px) {
    .ms-topic-grid .ms-topic-card,
    .ms-topic-grid__item.ms-topic-card {
        justify-content: flex-start !important;
    }

    .ms-topic-grid .ms-topic-card .et_pb_text,
    .ms-topic-grid__item.ms-topic-card .et_pb_text {
        margin-top: 0 !important;
    }
}

/* ===== Buttons: buttons.css ===== */
/* ============================================================
 * Nexus buttons
 * Componenti stabili per moduli Button Divi, link e <button> nativi.
 * ============================================================ */
:root {
    --ms-button-padding-y: 0.78rem;
    --ms-button-padding-x: 1.25rem;
    --ms-button-border-width: 1px;
}

:is(.ms-button, .ms-button--ghost, .ms-button-ghost) {
    --ms-button-bg: var(--ms-color-red-600);
    --ms-button-border: var(--ms-color-red-600);
    --ms-button-color: #ffffff;
    --ms-button-shadow: 0 8px 22px rgba(224, 43, 32, 0.24);
}

:is(.ms-button--ghost, .ms-button-ghost) {
    --ms-button-bg: transparent;
    --ms-button-border: rgba(255, 255, 255, 0.48);
    --ms-button-color: #ffffff;
    --ms-button-shadow: none;
}

body.jt-nexus #page-container :is(
    a.ms-button,
    button.ms-button,
    .et_pb_button.ms-button,
    a.ms-button--ghost,
    button.ms-button--ghost,
    .et_pb_button.ms-button--ghost,
    a.ms-button-ghost,
    button.ms-button-ghost,
    .et_pb_button.ms-button-ghost,
    .ms-button .et_pb_button,
    .ms-button--ghost .et_pb_button,
    .ms-button-ghost .et_pb_button
) {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    min-width: max-content;
    min-height: 48px;
    box-sizing: border-box !important;
    padding: var(--ms-button-padding-y) var(--ms-button-padding-x) !important;
    border: var(--ms-button-border-width) solid var(--ms-button-border) !important;
    border-radius: var(--ms-radius-pill) !important;
    color: var(--ms-button-color) !important;
    background: var(--ms-button-bg) !important;
    box-shadow: var(--ms-button-shadow);
    appearance: none;
    cursor: pointer;
    font-family: inherit;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.1 !important;
    opacity: 1 !important;
    text-align: center;
    text-decoration: none;
    text-indent: 0 !important;
    white-space: nowrap;
    transform: translate3d(0, 0, 0);
    transition:
        transform var(--ms-transition),
        background-color var(--ms-transition),
        border-color var(--ms-transition),
        box-shadow var(--ms-transition),
        color var(--ms-transition) !important;
}

body.jt-nexus #page-container :is(
    a.ms-button,
    button.ms-button,
    .et_pb_button.ms-button,
    .ms-button .et_pb_button
):is(:hover, :focus-visible) {
    --ms-button-bg: var(--ms-color-red-700);
    --ms-button-border: var(--ms-color-red-700);
    --ms-button-shadow: 0 12px 28px rgba(224, 43, 32, 0.3);
    padding: var(--ms-button-padding-y) var(--ms-button-padding-x) !important;
    border-width: var(--ms-button-border-width) !important;
    transform: translate3d(0, -2px, 0);
}

body.jt-nexus #page-container :is(
    a.ms-button--ghost,
    button.ms-button--ghost,
    .et_pb_button.ms-button--ghost,
    a.ms-button-ghost,
    button.ms-button-ghost,
    .et_pb_button.ms-button-ghost,
    .ms-button--ghost .et_pb_button,
    .ms-button-ghost .et_pb_button
):is(:hover, :focus-visible) {
    --ms-button-bg: rgba(255, 255, 255, 0.1);
    --ms-button-border: #ffffff;
    --ms-button-shadow: none;
    padding: var(--ms-button-padding-y) var(--ms-button-padding-x) !important;
    border-width: var(--ms-button-border-width) !important;
    transform: translate3d(0, -2px, 0);
}

/* Divi usa questi pseudo-elementi per inserire icone e cambiare il padding. */
body.jt-nexus #page-container :is(
    a.ms-button,
    button.ms-button,
    .et_pb_button.ms-button,
    a.ms-button--ghost,
    button.ms-button--ghost,
    .et_pb_button.ms-button--ghost,
    a.ms-button-ghost,
    button.ms-button-ghost,
    .et_pb_button.ms-button-ghost,
    .ms-button .et_pb_button,
    .ms-button--ghost .et_pb_button,
    .ms-button-ghost .et_pb_button
)::before,
body.jt-nexus #page-container :is(
    a.ms-button,
    button.ms-button,
    .et_pb_button.ms-button,
    a.ms-button--ghost,
    button.ms-button--ghost,
    .et_pb_button.ms-button--ghost,
    a.ms-button-ghost,
    button.ms-button-ghost,
    .et_pb_button.ms-button-ghost,
    .ms-button .et_pb_button,
    .ms-button--ghost .et_pb_button,
    .ms-button-ghost .et_pb_button
)::after {
    position: absolute !important;
    inset: auto !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    content: "" !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 0 !important;
    transform: none !important;
}

body.jt-nexus #page-container :is(
    button.ms-button,
    button.ms-button--ghost,
    button.ms-button-ghost,
    .nexus-blog-load-more
):disabled {
    cursor: wait;
    opacity: 0.58 !important;
    transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
    body.jt-nexus #page-container :is(
        a.ms-button,
        button.ms-button,
        .et_pb_button.ms-button,
        a.ms-button--ghost,
        button.ms-button--ghost,
        .et_pb_button.ms-button--ghost,
        a.ms-button-ghost,
        button.ms-button-ghost,
        .et_pb_button.ms-button-ghost,
        .ms-button .et_pb_button,
        .ms-button--ghost .et_pb_button,
        .ms-button-ghost .et_pb_button
    ) {
        transition: none !important;
    }
}

/* ===== Header: header.css ===== */
/* ============================================================
 * Nexus header 1.15.2
 * Shell esterna fissa; sticky interno Divi neutralizzato dal tema.
 * ============================================================ */
:root {
    --nexus-header-full-height: 82px;
    --nexus-header-compact-height: 64px;
    --nexus-header-current-height: var(--nexus-header-full-height);
    --nexus-header-logo-full: 62px;
    --nexus-header-logo-compact: 45px;
    --nexus-header-menu-size: 0.95rem;
    --nexus-header-menu-size-compact: 0.86rem;
    --nexus-header-bg: rgba(0, 0, 51, 0.94);
    --nexus-header-bg-compact: rgba(0, 0, 51, 0.985);
}

body.jt-nexus.nexus-header-compact {
    --nexus-header-current-height: var(--nexus-header-compact-height);
}

/* La shell del Theme Builder è l'unico elemento che gestisce la posizione fissa. */
body.jt-nexus.nexus-header-managed .et-l--header {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 9000 !important;
    width: 100% !important;
    height: var(--nexus-header-current-height) !important;
    min-height: var(--nexus-header-current-height) !important;
    margin: 0 !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: var(--nexus-header-bg) !important;
    box-shadow: none !important;
    isolation: isolate;
    transform: none !important;
    transition:
        height 240ms cubic-bezier(.2,.75,.25,1),
        min-height 240ms cubic-bezier(.2,.75,.25,1),
        background-color 200ms ease,
        border-color 200ms ease,
        box-shadow 200ms ease !important;
}

/* Lo spazio occupato dalla barra segue la sua altezza reale, con la stessa transizione. */
body.jt-nexus.nexus-header-managed #page-container {
    padding-top: var(--nexus-header-current-height) !important;
    transition: padding-top 240ms cubic-bezier(.2,.75,.25,1) !important;
}

body.admin-bar.jt-nexus.nexus-header-managed .et-l--header {
    top: 32px !important;
}

body.jt-nexus.nexus-header-compact .et-l--header {
    border-bottom-color: rgba(255, 255, 255, 0.13) !important;
    background: var(--nexus-header-bg-compact) !important;
    box-shadow: var(--ms-shadow-sm) !important;
}

body.jt-nexus .et-l--header::before {
    position: absolute;
    inset: 0 0 auto;
    z-index: 5;
    height: 3px;
    background: linear-gradient(90deg, var(--ms-color-red-600), var(--ms-color-blue-600), var(--ms-color-red-600));
    background-size: 220% 100%;
    content: "";
    pointer-events: none;
    animation: nexus-header-accent 9s linear infinite;
}

body.jt-nexus.nexus-header-managed .et-l--header .et_builder_inner_content,
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header,
body.jt-nexus.nexus-header-managed .et-l--header .ms-header-row {
    height: 100% !important;
    min-height: 0 !important;
}

body.jt-nexus.nexus-header-managed .et-l--header .et_builder_inner_content {
    position: relative !important;
    inset: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    background: transparent !important;
    transform: none !important;
}

/*
 * La sezione importata da Divi mantiene sticky_position="top". Divi può applicare
 * inline style !important durante lo scroll; il JS Nexus li riscrive e queste
 * regole costituiscono il fallback CSS.
 */
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header,
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header.et_pb_sticky,
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header.et_pb_sticky--top,
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header.et_pb_sticky--bottom,
body.jt-nexus.nexus-header-managed .et-l--header .ms-site-header.et_pb_sticky_module {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-block: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    transform: none !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
}

body.jt-nexus .et-l--header::after,
body.jt-nexus .et-l--header .et_builder_inner_content::before,
body.jt-nexus .et-l--header .et_builder_inner_content::after {
    pointer-events: none !important;
}

body.jt-nexus.nexus-header-managed .et-l--header .et_pb_sticky_placeholder,
body.jt-nexus.nexus-header-managed .et-l--header .et_pb_sticky_placeholder_clone,
body.jt-nexus.nexus-header-managed .et-l--header .et_pb_sticky_placeholder__clone,
body.jt-nexus.nexus-header-managed .et-l--header [class*="sticky_placeholder"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    pointer-events: none !important;
}

body.jt-nexus .et-l--header .ms-header-row {
    display: flex;
    align-items: center;
    box-sizing: border-box !important;
    padding-block: 0 !important;
}

body.jt-nexus .ms-site-header :is(.ms-header-logo, .ms-primary-menu, .ms-header-cta, .ms-header-cta-button) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.jt-nexus .ms-site-header .ms-header-logo {
    margin: 0;
}

body.jt-nexus .ms-site-header .ms-header-logo img,
body.jt-nexus .ms-site-header .et_pb_menu__logo img {
    width: auto;
    max-height: var(--nexus-header-logo-full) !important;
    transition: max-height 240ms cubic-bezier(.2,.75,.25,1), transform 180ms ease, filter 180ms ease !important;
}

body.jt-nexus.nexus-header-compact .ms-site-header .ms-header-logo img,
body.jt-nexus.nexus-header-compact .ms-site-header .et_pb_menu__logo img {
    max-height: var(--nexus-header-logo-compact) !important;
}

body.jt-nexus .ms-site-header .ms-header-logo:hover img {
    filter: drop-shadow(0 8px 18px rgba(12, 113, 195, 0.28));
    transform: translateY(-1px) rotate(-1deg);
}

body.jt-nexus .ms-site-header .ms-primary-menu,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu_inner_container {
    width: 100%;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__wrap {
    justify-content: center;
}

body.jt-nexus .ms-site-header .et_pb_menu .et_pb_menu__menu > nav > ul {
    align-items: center;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li {
    position: relative;
    padding-inline: clamp(0.35rem, 0.15rem + 0.65vw, 0.85rem);
    transition: padding 240ms cubic-bezier(.2,.75,.25,1);
}

body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et-menu > li,
body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li {
    padding-inline: clamp(0.28rem, 0.1rem + 0.45vw, 0.62rem);
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li > a {
    position: relative;
    padding-block: 1.05rem !important;
    color: #ffffff !important;
    font-size: var(--nexus-header-menu-size) !important;
    font-weight: 700;
    letter-spacing: 0.035em;
    opacity: 1 !important;
    background: none !important;
    transition: color 180ms ease, font-size 240ms cubic-bezier(.2,.75,.25,1), padding 240ms cubic-bezier(.2,.75,.25,1) !important;
}

body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et-menu > li > a,
body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li > a {
    padding-block: 0.72rem !important;
    font-size: var(--nexus-header-menu-size-compact) !important;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::after {
    position: absolute;
    right: 0.35rem;
    bottom: 9px;
    left: 0.35rem;
    height: 2px;
    border-radius: var(--ms-radius-pill);
    content: "";
    pointer-events: none;
}

/*
 * Linea di ingresso: cresce in modo continuo da sinistra verso destra.
 * L'uscita viene gestita dal secondo pseudo-elemento per ottenere la
 * separazione centrale in due segmenti che si ritirano verso i lati.
 */
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::before {
    background: var(--ms-color-red-600);
    transform: scaleX(0);
    transform-origin: left center;
    transition:
        transform 260ms cubic-bezier(.22,.72,.24,1),
        bottom 240ms cubic-bezier(.2,.75,.25,1);
}

/* Due metà usate soltanto durante l'uscita dall'hover. */
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::after {
    opacity: 0;
    background:
        linear-gradient(var(--ms-color-red-600), var(--ms-color-red-600)) left center / 50% 100% no-repeat,
        linear-gradient(var(--ms-color-red-600), var(--ms-color-red-600)) right center / 50% 100% no-repeat;
}

body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et-menu > li::before,
body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et-menu > li::after,
body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::before,
body.jt-nexus.nexus-header-compact .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li::after {
    bottom: 6px;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li:hover::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-item::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-ancestor::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li:focus-within::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li:hover::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-item::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-ancestor::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li:focus-within::before {
    transform: scaleX(1);
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.nexus-menu-underline-leave::before,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.nexus-menu-underline-leave::before {
    transition: none !important;
    transform: scaleX(0) !important;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.nexus-menu-underline-leave::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.nexus-menu-underline-leave::after {
    animation: nexus-menu-underline-split 300ms cubic-bezier(.4,0,.2,1) both;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-item::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-ancestor::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-item::after,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-ancestor::after {
    animation: none !important;
    opacity: 0 !important;
}

body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li:hover > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-item > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li.current-menu-ancestor > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li:hover > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-item > a,
body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__menu > nav > ul > li.current-menu-ancestor > a {
    color: var(--ms-color-red-600) !important;
}

body.jt-nexus .ms-site-header .ms-header-cta {
    text-align: right;
}

body.jt-nexus #page-container .ms-site-header .ms-header-cta .et_pb_button,
body.jt-nexus #page-container .ms-site-header .ms-header-cta-button .et_pb_button {
    min-width: 126px;
    min-height: 44px;
    padding: 0.68rem 1.12rem !important;
    font-size: 0.9rem !important;
    white-space: nowrap;
    transition:
        min-width 240ms cubic-bezier(.2,.75,.25,1),
        min-height 240ms cubic-bezier(.2,.75,.25,1),
        padding 240ms cubic-bezier(.2,.75,.25,1),
        font-size 240ms cubic-bezier(.2,.75,.25,1),
        transform var(--ms-transition),
        background-color var(--ms-transition),
        border-color var(--ms-transition),
        box-shadow var(--ms-transition) !important;
}

body.jt-nexus.nexus-header-compact #page-container .ms-site-header .ms-header-cta .et_pb_button,
body.jt-nexus.nexus-header-compact #page-container .ms-site-header .ms-header-cta-button .et_pb_button {
    min-width: 108px;
    min-height: 36px;
    padding: 0.48rem 0.9rem !important;
    font-size: 0.8rem !important;
}

body.jt-nexus .ms-site-header .sub-menu {
    overflow: hidden;
    padding: 0.55rem !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--ms-radius-md);
    background: var(--ms-color-navy-950) !important;
    box-shadow: var(--ms-shadow-md);
    animation: nexus-menu-drop 180ms ease both;
}

body.jt-nexus .ms-site-header .sub-menu li {
    width: 100%;
    padding: 0 !important;
}

body.jt-nexus .ms-site-header .sub-menu a {
    width: 100% !important;
    padding: 0.7rem 0.85rem !important;
    border-radius: 10px;
    color: rgba(255,255,255,.86) !important;
    line-height: 1.35;
    transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

body.jt-nexus .ms-site-header .sub-menu a:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    transform: translateX(3px);
}

body.jt-nexus.nexus-lightbox-open .et-l--header {
    z-index: 100 !important;
}

@keyframes nexus-header-accent {
    to { background-position: 220% 0; }
}

@keyframes nexus-menu-underline-split {
    0% {
        opacity: 1;
        background-size: 50% 100%, 50% 100%;
    }
    78% {
        opacity: 1;
        background-size: 0 100%, 0 100%;
    }
    100% {
        opacity: 0;
        background-size: 0 100%, 0 100%;
    }
}

@keyframes nexus-menu-drop {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) {
    :root {
        --nexus-header-menu-size: 0.88rem;
        --nexus-header-menu-size-compact: 0.8rem;
    }
}

@media (max-width: 980px) {
    :root {
        --nexus-header-full-height: 72px;
        --nexus-header-compact-height: 62px;
        --nexus-header-logo-full: 52px;
        --nexus-header-logo-compact: 43px;
    }

    body.jt-nexus .ms-site-header .ms-header-row > .et_pb_column:first-child {
        width: 40% !important;
        margin: 0 !important;
    }

    body.jt-nexus .ms-site-header .ms-header-row > .et_pb_column:nth-child(2) {
        width: 60% !important;
        margin: 0 !important;
    }

    body.jt-nexus .ms-site-header .ms-header-row > .et_pb_column:last-child {
        display: none;
    }

    body.jt-nexus .ms-site-header .ms-primary-menu .et_pb_menu__wrap {
        justify-content: flex-end;
    }

    body.jt-nexus .ms-site-header .et_mobile_menu {
        max-height: calc(100vh - var(--nexus-header-current-height) - 16px);
        overflow-y: auto;
        padding: 0.8rem;
        background: var(--ms-color-navy-950) !important;
    }

    body.jt-nexus .ms-site-header .et_mobile_menu li a {
        padding: 0.82rem 0.9rem;
        border-bottom-color: rgba(255,255,255,.08);
        border-radius: 10px;
        color: #fff !important;
        font-weight: 750;
    }

    body.jt-nexus .ms-site-header .et_mobile_menu li a:hover {
        background: rgba(255,255,255,.07);
        opacity: 1;
    }
}

@media (max-width: 782px) {
    body.admin-bar.jt-nexus.nexus-header-managed .et-l--header {
        top: 46px !important;
    }
}

@media (max-width: 680px) {
    :root {
        --nexus-header-full-height: 68px;
        --nexus-header-compact-height: 58px;
        --nexus-header-logo-full: 48px;
        --nexus-header-logo-compact: 39px;
    }
}

/* Nel Visual Builder la header resta nel flusso e non interferisce con l'iframe. */
body.et-fb .et-l--header,
body.et-fb-root-ancestor .et-l--header {
    position: relative !important;
    top: auto !important;
}

body.et-fb #page-container,
body.et-fb-root-ancestor #page-container {
    padding-top: 0 !important;
}

@media (prefers-reduced-motion: reduce) {
    body.jt-nexus .et-l--header,
    body.jt-nexus #page-container,
    body.jt-nexus .ms-site-header .ms-header-logo img,
    body.jt-nexus .ms-site-header .et_pb_menu__logo img,
    body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li,
    body.jt-nexus .ms-site-header .ms-primary-menu .et-menu > li > a,
    body.jt-nexus #page-container .ms-site-header .ms-header-cta .et_pb_button,
    body.jt-nexus #page-container .ms-site-header .ms-header-cta-button .et_pb_button {
        transition: none !important;
    }

    body.jt-nexus .et-l--header::before,
    body.jt-nexus .ms-site-header .sub-menu {
        animation: none !important;
    }
}
