/**
 * Hero condivise: landing tandem/coupon/AFF e archivi Shop/Articoli.
 * Riferimento visivo: hero editoriali, Contatti e FAQ.
 */

/* Home: gerarchia moderna, semantica H1 + H2 e contrasto sulla fotografia. */
body.home .entry-content > .stk-c2a98d6 {
    min-height: clamp(500px, 66vh, 720px) !important;
    padding: clamp(48px, 7vw, 84px) max(20px, calc((100vw - 1120px) / 2)) !important;
    isolation: isolate;
}

body.home .entry-content > .stk-c2a98d6::before {
    z-index: 0;
    background:
        linear-gradient(
            90deg,
            rgba(5, 79, 123, 0.68) 0%,
            rgba(6, 100, 148, 0.48) 42%,
            rgba(8, 119, 163, 0.14) 72%,
            rgba(8, 119, 163, 0.02) 100%
        ) !important;
}

body.home .entry-content > .stk-c2a98d6 .stk--block-align-c2a98d6 {
    position: relative;
    z-index: 1;
    width: min(1120px, 100%);
    margin-inline: auto;
    align-items: center !important;
}

body.home .entry-content > .stk-c2a98d6 .stk-e71d604 {
    max-width: 780px;
}

body.home .entry-content > .stk-c2a98d6 .stk-d18e54c {
    margin: 0 !important;
}

body.home .entry-content > .stk-c2a98d6 .stk-9646a70 {
    margin: 18px 0 0 !important;
}

body.home .entry-content > .stk-c2a98d6 :is(.stk-d18e54c, .stk-9646a70) .stk-highlight {
    display: inline;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: transparent !important;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

body.home .entry-content > .stk-c2a98d6 .stk-d18e54c h1 {
    width: max-content;
    max-width: 100%;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--fontFamily, "Helvetica Neue", "Segoe UI", Arial, sans-serif) !important;
    font-size: clamp(3rem, 6.2vw, 5.25rem) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 0.96 !important;
    letter-spacing: -0.052em !important;
    text-align: left !important;
    text-shadow: 0 4px 28px rgba(0, 16, 26, 0.4);
    text-transform: none !important;
    text-wrap: balance;
    white-space: nowrap;
}

body.home .entry-content > .stk-c2a98d6 .stk-9646a70 h2 {
    width: max-content;
    max-width: 100%;
    margin: 0 !important;
    padding: 2px 0 2px 14px;
    border-left: 3px solid #55d6ef;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.94) !important;
    background: transparent;
    font-family: var(--fontFamily, "Helvetica Neue", "Segoe UI", Arial, sans-serif) !important;
    font-size: clamp(1.05rem, 1.7vw, 1.35rem) !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.055em !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap;
}

@media (max-width: 689px) {
    body.home .entry-content > .stk-c2a98d6 {
        min-height: 500px !important;
        padding: 38px 22px 64px !important;
        background-position: 58% top !important;
    }

    body.home .entry-content > .stk-c2a98d6::before {
        background:
            linear-gradient(
                180deg,
                rgba(5, 79, 123, 0.66) 0%,
                rgba(6, 100, 148, 0.44) 52%,
                rgba(8, 119, 163, 0.2) 100%
            ) !important;
    }

    body.home .entry-content > .stk-c2a98d6 .stk-e71d604 {
        max-width: 100%;
    }

    body.home .entry-content > .stk-c2a98d6 .stk-d18e54c h1 {
        font-size: clamp(2.55rem, 13vw, 3.65rem) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.045em !important;
        white-space: normal;
    }

    body.home .entry-content > .stk-c2a98d6 .stk-9646a70 {
        margin-top: 16px !important;
    }

    body.home .entry-content > .stk-c2a98d6 .stk-9646a70 h2 {
        padding-left: 11px;
        font-size: clamp(0.92rem, 4.6vw, 1.08rem) !important;
        letter-spacing: 0.03em !important;
        white-space: normal;
    }
}

/**
 * Testo introduttivo e badge delle tre landing.
 * Un solo componente visivo, senza card annidata nella hero.
 */
:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-prose {
    width: min(100%, 920px) !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: var(--fontFamily, "Helvetica Neue", "Segoe UI", Arial, sans-serif) !important;
    text-align: center !important;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-lead {
    max-width: 880px !important;
    margin: 0 auto 26px !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-family: inherit !important;
    font-size: clamp(1.05rem, 1.55vw, 1.2rem) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    letter-spacing: -0.008em !important;
    text-wrap: pretty;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-lead strong {
    color: #fff !important;
    font-weight: 700 !important;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-chips {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child :is(
    .sdt-hero-chip,
    .sdt-hero-chips .sds-home-rating
) {
    display: inline-flex !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: rgba(7, 47, 66, 0.42) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 0.8rem !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.015em !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-chips .sds-home-rating:hover {
    border-color: rgba(255, 255, 255, 0.44) !important;
    background: rgba(7, 47, 66, 0.64) !important;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-chips .sds-home-rating strong {
    color: #fff !important;
    font-weight: 800 !important;
}

:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child .sds-home-stars {
    color: #ffd65a !important;
    font-size: 0.88rem !important;
    letter-spacing: 0.02em !important;
}

@media (max-width: 689px) {
    :is(
        body.page-id-1015.page-id-1015,
        body.page-id-1017.page-id-1017,
        body.page-id-1019.page-id-1019
    ) .entry-content > .stk-block-columns:first-child .sdt-page {
        padding-inline: 0 !important;
    }

    :is(
        body.page-id-1015.page-id-1015,
        body.page-id-1017.page-id-1017,
        body.page-id-1019.page-id-1019
    ) .entry-content > .stk-block-columns:first-child .sdt-hero-lead {
        margin-bottom: 22px !important;
        font-size: 1rem !important;
        line-height: 1.58 !important;
        letter-spacing: 0 !important;
    }

    :is(
        body.page-id-1015.page-id-1015,
        body.page-id-1017.page-id-1017,
        body.page-id-1019.page-id-1019
    ) .entry-content > .stk-block-columns:first-child .sdt-hero-chips {
        gap: 8px !important;
    }

    :is(
        body.page-id-1015.page-id-1015,
        body.page-id-1017.page-id-1017,
        body.page-id-1019.page-id-1019
    ) .entry-content > .stk-block-columns:first-child :is(
        .sdt-hero-chip,
        .sdt-hero-chips .sds-home-rating
    ) {
        min-height: 38px !important;
        padding: 8px 11px !important;
        font-size: 0.76rem !important;
        white-space: normal;
    }
}

:is(
    body.page-id-1015 .entry-content > .stk-66a7317,
    body.page-id-1017 .entry-content > .stk-9e794c9,
    body.page-id-1019 .entry-content > .stk-9e794c9
) {
    background: linear-gradient(135deg, #102d3c 0%, #086b9c 68%, #0877a3 100%) !important;
    padding-top: 40px !important;
}

:is(
    body.page-id-1015 .entry-content > .stk-66a7317,
    body.page-id-1017 .entry-content > .stk-9e794c9,
    body.page-id-1019 .entry-content > .stk-9e794c9
)::before {
    background: transparent !important;
}

:is(
    body.page-id-1015 .entry-content > .stk-66a7317,
    body.page-id-1017 .entry-content > .stk-9e794c9,
    body.page-id-1019 .entry-content > .stk-9e794c9
) > .stk-row {
    width: min(1120px, calc(100% - 40px));
    margin-inline: auto;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child :is(
    .stk-row,
    .stk-block-content,
    .stk-block-heading__text,
    .sdt-hero-prose
) {
    text-align: center !important;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child h1.stk-block-heading__text {
    max-width: 900px;
    margin: 0 auto 12px;
    color: #fff !important;
    font-size: clamp(1.9rem, 3.5vw, 2.75rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child .sdt-hero-lead {
    max-width: 860px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(1rem, 1.6vw, 1.16rem);
    line-height: 1.55;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child :is(
    .sdt-hero-chips,
    .wp-block-buttons,
    .stk-block-button-group
) {
    justify-content: center !important;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child .wp-block-stackable-spacer {
    height: 0 !important;
    margin: 0 !important;
}

:is(
    body.page-id-1015,
    body.page-id-1017,
    body.page-id-1019
) .entry-content > .stk-block-columns:first-child .wp-block-stackable-heading {
    margin-bottom: 0 !important;
}

body:is(.blog, .post-type-archive-product) .sds-archive-intro {
    width: 100%;
    margin: 0 0 clamp(24px, 4vw, 42px);
    padding: clamp(48px, 7vw, 82px) clamp(22px, 5vw, 64px);
    border: 0;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(135deg, #102d3c 0%, #086b9c 68%, #0877a3 100%);
    box-shadow: none;
    text-align: left;
}

body.post-type-archive-product .sds-shop-intro {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    padding-inline: max(20px, calc((100vw - 1120px) / 2));
}

body.post-type-archive-product #main > .ct-container[data-vertical-spacing] {
    padding-top: 0 !important;
}

:is(
    body.page-id-13 .sds-contact-hero,
    body.page-id-2518686 .sds-faq-hero,
    body.blog .sds-articles-intro,
    body.post-type-archive-product .sds-shop-intro
) {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

body:is(.blog, .post-type-archive-product) .sds-archive-intro .sds-archive-kicker {
    margin: 0 0 12px;
    color: #d8f3fb;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body:is(.blog, .post-type-archive-product) .sds-archive-intro h1 {
    max-width: 1000px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(2.1rem, 4.7vw, 3.75rem);
    line-height: 1.06;
    letter-spacing: -0.037em;
}

body:is(.blog, .post-type-archive-product) .sds-archive-intro > p:last-child {
    max-width: 930px;
    margin: 0;
    color: #fff;
    font-size: clamp(1.08rem, 2vw, 1.3rem);
    line-height: 1.55;
}

@media (max-width: 689px) {
    :is(
        body.page-id-1015 .entry-content > .stk-66a7317,
        body.page-id-1017 .entry-content > .stk-9e794c9,
        body.page-id-1019 .entry-content > .stk-9e794c9
    ) > .stk-row {
        width: calc(100% - 28px);
    }

    :is(
        body.page-id-1015,
        body.page-id-1017,
        body.page-id-1019
    ) .entry-content > .stk-block-columns:first-child h1.stk-block-heading__text {
        font-size: clamp(1.75rem, 8vw, 2.35rem);
    }

    body:is(.blog, .post-type-archive-product) .sds-archive-intro h1 {
        font-size: clamp(2rem, 10vw, 2.75rem);
    }

    body:is(.blog, .post-type-archive-product) .sds-archive-intro {
        padding: 38px 22px;
    }
}

/**
 * Tipografia H1 definitiva e condivisa.
 * Questa regola è intenzionalmente finale per neutralizzare le differenze
 * introdotte da Stackable, Blocksy e dai CSS specifici delle singole pagine.
 */
:is(
    body.page-id-13 .sds-contact-hero h1,
    body.page-id-1015 .entry-content > .stk-block-columns:first-child h1,
    body.page-id-1017 .entry-content > .stk-block-columns:first-child h1,
    body.page-id-1019 .entry-content > .stk-block-columns:first-child h1,
    body.page-id-2518686 .sds-faq-hero h1,
    body.blog .sds-articles-intro h1,
    body.post-type-archive-product .sds-shop-intro h1
) {
    width: max-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    color: #fff !important;
    font-family: var(--fontFamily, "Helvetica Neue", "Segoe UI", Arial, sans-serif) !important;
    font-size: clamp(2.25rem, 3.4vw, 3.125rem) !important;
    font-style: normal !important;
    font-weight: 800 !important;
    font-synthesis: none;
    line-height: 1.1 !important;
    letter-spacing: -0.03em !important;
    overflow-wrap: normal;
    text-wrap: balance;
    text-transform: none !important;
    white-space: nowrap;
    word-break: normal;
    hyphens: none;
}

html body.blog.blog .entries > header.sds-archive-intro.sds-articles-intro {
    overflow: visible !important;
}

html body.blog.blog .entries > header.sds-archive-intro.sds-articles-intro h1 {
    width: min(100%, 24ch) !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
}

@media (min-width: 690px) and (max-width: 999px) {
    :is(
        body.page-id-1015 .entry-content > .stk-66a7317,
        body.page-id-1017 .entry-content > .stk-9e794c9,
        body.page-id-1019 .entry-content > .stk-9e794c9
    ) {
        padding-top: 34px !important;
    }

    :is(
        body.page-id-13 .sds-contact-hero,
        body.page-id-2518686 .sds-faq-hero,
        body.blog .sds-articles-intro,
        body.post-type-archive-product .sds-shop-intro
    ) {
        padding-top: 52px !important;
        padding-bottom: 52px !important;
    }

    :is(
        body.page-id-13 .sds-contact-hero h1,
        body.page-id-1015 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-1017 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-1019 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-2518686 .sds-faq-hero h1,
        body.blog .sds-articles-intro h1,
        body.post-type-archive-product .sds-shop-intro h1
    ) {
        width: min(100%, 24ch) !important;
        font-size: clamp(2.15rem, 5vw, 2.75rem) !important;
        line-height: 1.1 !important;
        white-space: normal;
    }
}

@media (max-width: 689px) {
    :is(
        body.page-id-1015 .entry-content > .stk-66a7317,
        body.page-id-1017 .entry-content > .stk-9e794c9,
        body.page-id-1019 .entry-content > .stk-9e794c9
    ) {
        padding-top: 28px !important;
    }

    :is(
        body.page-id-13 .sds-contact-hero,
        body.page-id-2518686 .sds-faq-hero,
        body.blog .sds-articles-intro,
        body.post-type-archive-product .sds-shop-intro
    ) {
        padding-top: 38px !important;
        padding-bottom: 38px !important;
    }

    :is(
        body.page-id-13 .sds-contact-hero h1,
        body.page-id-1015 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-1017 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-1019 .entry-content > .stk-block-columns:first-child h1,
        body.page-id-2518686 .sds-faq-hero h1,
        body.blog .sds-articles-intro h1,
        body.post-type-archive-product .sds-shop-intro h1
    ) {
        width: min(100%, 22ch) !important;
        margin-bottom: 14px !important;
        font-size: clamp(1.85rem, 7.4vw, 2.25rem) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.024em !important;
        white-space: normal;
    }
}

/* Ritmo verticale specifico delle tre landing: meno vuoto sopra, più respiro sotto l'H1. */
:is(
    body.page-id-1015.page-id-1015,
    body.page-id-1017.page-id-1017,
    body.page-id-1019.page-id-1019
) .entry-content > .stk-block-columns:first-child h1.stk-block-heading__text {
    margin-bottom: 28px !important;
}

@media (max-width: 689px) {
    :is(
        body.page-id-1015.page-id-1015,
        body.page-id-1017.page-id-1017,
        body.page-id-1019.page-id-1019
    ) .entry-content > .stk-block-columns:first-child h1.stk-block-heading__text {
        margin-bottom: 22px !important;
    }
}
