/* Banner exclusivo páginas legales (privacy, terms, cookies, quality) */

.banner-wrapper--legal {
    position: relative;
    isolation: isolate;
}

.banner-wrapper--legal .banner-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    line-height: 0;
}

.banner-wrapper--legal .banner-media > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
    display: block;
}

.banner-wrapper--legal .banner-media::before {
    z-index: 1;
}

/* Títulos (dentro de .banner-media, como antes) */
.banner-wrapper--legal .banner-media .section-title {
    position: absolute;
    top: 50%;
    left: clamp(2rem, 9vw, 6rem);
    transform: translateY(-50%);
    width: auto;
    max-width: min(50%, 680px);
    text-align: left;
    margin: 0;
    z-index: 2;
    font-size: clamp(2.5rem, 6vw, 5rem);
    font-weight: 800;
    color: var(--dark-text-nav-bar);
    font-family: SofiaPro Bold, var(--bold-font);
    line-height: 1.05;
}

/* Móvil y tablet: imagen un poco más a la izquierda */
@media (max-width: 1023px) {
    .banner-wrapper--legal .banner-media > img {
        object-position: 70% center;
    }
}

@media (min-width: 768px) {
    .banner-wrapper--legal .banner-media > .mb {
        display: none;
    }

    .banner-wrapper--legal .banner-media > .pc {
        display: block;
    }
}

@media (min-width: 1024px) {
    .banner-wrapper--legal .banner-media .section-title:not(.section-title--of-sale) {
        left: clamp(3.5rem, 14vw, 10rem);
        max-width: min(46%, 620px);
    }
}

@media (min-width: 2000px) {
    .banner-wrapper--legal .banner-media .section-title:not(.section-title--of-sale) {
        --legal-inner-max: min(1320px, 86vw);
        left: max(clamp(48px, 2.5vw, 96px), calc((100% - var(--legal-inner-max)) / 2));
        max-width: min(55%, 780px);
        font-size: clamp(5rem, 4.25vw, 7rem);
    }
}

/* Terms of Sale — móvil: 3 líneas; desktop: 2 líneas */
.banner-wrapper--legal .banner-media .section-title--of-sale {
    width: max-content;
    max-width: 95vw;
    line-height: 1.05;
}

.banner-wrapper--legal .banner-media .section-title--of-sale .section-title__row {
    display: block;
}

.banner-wrapper--legal .banner-media .section-title--of-sale .section-title__row--pc {
    display: none;
}

@media (min-width: 768px) {
    .banner-wrapper--legal .banner-media .section-title--of-sale .section-title__row--mb {
        display: none;
    }

    .banner-wrapper--legal .banner-media .section-title--of-sale .section-title__row--pc {
        display: block;
        white-space: nowrap;
    }

    .banner-wrapper--legal .banner-media .section-title--of-sale {
        width: max-content;
        max-width: min(75vw, 1200px);
    }
}

@media (min-width: 1024px) {
    .banner-wrapper--legal .banner-media .section-title--of-sale {
        max-width: min(70vw, 1150px);
    }
}

@media (min-width: 2000px) {
    .banner-wrapper--legal .banner-media .section-title--of-sale {
        --legal-inner-max: min(1320px, 86vw);
        left: max(clamp(48px, 2.5vw, 96px), calc((100% - var(--legal-inner-max)) / 2));
        max-width: min(62vw, 1200px);
        width: max-content;
        font-size: clamp(4.75rem, 3.5vw, 6.5rem);
    }
}
