/**
 * Promo Split - Flex Part Styles
 */

.promo-split {
    padding: 80px var(--container-padding, 15px);
}

.promo-split.promo-split--has-button {
    padding-top: 40px;
}

/* Container — 1440px boxed, section handles its own padding */
.promo-split .container {
    max-width: var(--container-max-width, 1440px);
    padding-left: 0;
    padding-right: 0;
}

/* When promo_split follows capabilities_cards - remove top padding */
.flex-part.flex-part--capabilities_cards + .flex-part.flex-part--promo_split section.promo-split {
    padding-top: 0;
}

/* Main wrapper */
.promo-split__wrapper {
    display: flex;
    padding: 24px 48px 24px 24px;
    justify-content: center;
    align-items: center;
    gap: 68px;
    align-self: stretch;
    border-radius: 8px;
    background: #FFF;
    border: 1px solid #F5F5F6;
    box-shadow: 0 4px 15px 3px rgba(39, 43, 43, 0.08);
}

/* Image */
.promo-split__image {
    display: flex;
    width: 720px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    aspect-ratio: 720/420;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
}

/* Text link case - image col 45%, image 400px */
.promo-split:not(.promo-split--has-button) .promo-split__image {
    width: 45%;
    padding: 0;
    aspect-ratio: auto;
}

.promo-split:not(.promo-split--has-button) .promo-split__image img {
    width: 400px;
    max-width: 100%;
    height: auto;
}

.promo-split__image img,
.promo-split__image video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Content holder */
.promo-split__content-holder {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

/* Title - H2 */
.promo-split__title {
    /* Desktop/H2 */
    font-family: "Funnel Sans", sans-serif;
    font-size: 38px;
    font-style: normal;
    font-weight: 600;
    line-height: 120%; /* 45.6px */
    letter-spacing: 0.19px;
    color: var(--color-text, #000);
    margin: 0;
}

/* Content-button holder */
.promo-split__content-button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    width: 100%;
}

/* Content - Body Large */
.promo-split__content {
    font-family: "Funnel Sans", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 150%; /* 30px */
    color: var(--Primary-colors-Text, #000);
}

.promo-split__content p {
    margin: 0;
}

.promo-split__content p + p {
    margin-top: 16px;
}

/* Link uses btn-text class from style.css */

/* When button style is active - image capped at 50% */
.promo-split--has-button .promo-split__image {
    width: 50%;
    max-width: 720px;
    padding: 0;
    aspect-ratio: 720/420;
}

.promo-split--has-button .promo-split__image img,
.promo-split--has-button .promo-split__image video {
    border-radius: 8px;
}

/* Responsive */
@media (max-width: 1440px) {
    .promo-split__wrapper {
        gap: 48px;
    }
    .promo-split__image {
        width: 50%;
    }
}

@media (max-width: 1024px) {
    .promo-split__wrapper {
        flex-direction: column;
        padding: 30px 20px;
        gap: 40px;
    }
    
    .promo-split__image {
        width: 100%;
        max-width: 400px;
    }
    
    .promo-split__content-holder {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .promo-split {
        padding: 60px var(--container-padding, 15px);
    }

    .promo-split__wrapper {
        display: flex;
        padding: 32px 16px;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 40px;
        border-radius: 8px;
        border: 1px solid var(--Colour-Pallette-New-Grey-01, #F5F5F6);
        background: var(--Colour-Pallette-New-White-01, #FFF);
        box-shadow: 0 4px 15px 3px rgba(39, 43, 43, 0.08);
    }

    .promo-split__image {
        width: 100%;
        max-width: 100%;
        padding: 0;
        aspect-ratio: auto;
    }

    /* Title - Mobile/H2 */
    .promo-split__title {
        font-family: "Funnel Sans", sans-serif;
        font-size: 32px;
        font-weight: 700;
        line-height: 120%;
        letter-spacing: 0.16px;
    }

    /* Content - Desktop/Body Regular */
    .promo-split__content {
        font-family: "Funnel Sans", sans-serif;
        font-size: 18px;
        line-height: 150%;
    }

    /* Text link style - gradient background on mobile */
    .promo-split:not(.promo-split--has-button) .promo-split__wrapper {
        border-radius: 8px;
        border: none;
        background: linear-gradient(180deg, #F0EDFF 0%, #FFF 65%);
        box-shadow: 0 4px 15px 3px rgba(39, 43, 43, 0.08);
    }

    /* Text link style - image full width on mobile */
    .promo-split:not(.promo-split--has-button) .promo-split__image {
        width: 100%;
        max-width: none;
    }

    .promo-split:not(.promo-split--has-button) .promo-split__image img {
        width: 100%;
        max-width: none;
    }
}

