/* Hors @layer Tailwind : prioritaire sur le max-width: 100% du thème hôte */
.rhs-tw .c-page1-img-residence {
    width: 100%;
    height: auto;
    max-width: 280px;
}
/* Zone tablette / petit desktop */
@media screen and (min-width: 768px) and (max-width: 1322px) {

    /* On garde le bloc en ligne mais avec des proportions plus adaptées */
    .rhs-tw .bg-salmon {
        gap: 20px;
        padding-left: 25px;
        padding-right: 25px;
    }

    /* Colonne titre */
    .rhs-tw .bg-salmon > div:nth-child(1) {
        width: 30%;
        padding-left: 0;
    }

    /* Colonne image */
    .rhs-tw .bg-salmon > div:nth-child(2) {
        width: 35%;
    }

    /* Colonne texte */
    .rhs-tw .bg-salmon > div:nth-child(3) {
        width: 35%;
        padding: 30px 15px;
    }

    /* Titre plus raisonnable */
    .rhs-tw .h2-titre-bloc {
        font-size: clamp(24px, 2.5vw, 34px) !important;
        line-height: 1.05;
    }

    /* Cercle réduit progressivement */
    .rhs-tw .c-page1-img-circle {
        width: clamp(280px, 30vw, 400px);
        height: clamp(280px, 30vw, 400px);
    }

    /* Texte */
    .rhs-tw .bg-salmon > div:nth-child(3) p {
        font-size: 15px;
        line-height: 1.45;
    }

    /* Bouton */
    .rhs-tw .bg-salmon > div:nth-child(3) .btn {
        font-size: 14px;
        padding-left: 16px;
        padding-right: 16px;
    }
}
@media screen and (width >= 640px) {
    .rhs-tw .c-page1-img-residence {
        max-width: 360px;
    }
}

@media screen and (width >= 768px) {
    .rhs-tw .c-page1-img-residence {
        width: auto;
        height: 390px;
        max-width: none;
    }
}

/* Cercle équipe — mobile en flux, desktop absolu 500px (inchangé) */
.rhs-tw .c-page1-img-circle {
    width: min(280px, 80vw);
    height: min(280px, 80vw);
    max-width: none;
    border-radius: 50%;
    overflow: hidden;
}

.rhs-tw .c-page1-img-circle img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

@media screen and (min-width: 768px) {
    .rhs-tw .c-page1-img-circle {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: clamp(280px, 30vw, 500px);
        height: clamp(280px, 30vw, 500px);
    }
}

@media screen and (min-width: 1323px) {
    .rhs-tw .c-page1-img-circle {
        width: 500px;
        height: 500px;
    }
}

/* Photo animaux — desktop = original (350px) */
.rhs-tw .c-page1-img-animaux {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

/* Image brochure — desktop = original (400px) */
.rhs-tw .c-page1-img-brochure {
    width: auto;
    height: 400px;
    max-width: none;
}

/* --- Mobile only : layout animaux / brochure sans toucher au desktop --- */
@media screen and (width < 768px) {
    .rhs-tw .c-page1-animaux {
        flex-direction: column-reverse;
        gap: 1.5rem;
    }

    .rhs-tw .c-page1-animaux__card {
        padding: 2.5rem 1.5rem;
    }

    .rhs-tw .c-page1-animaux__deco {
        display: none;
    }

    .rhs-tw .c-page1-animaux__spacer {
        display: none;
    }

    .rhs-tw .c-page1-animaux__media {
        position: relative;
        right: auto;
    }

    .rhs-tw .c-page1-img-animaux {
        height: 220px;
    }

    .rhs-tw .c-page1-brochure__media {
        width: 100%;
    }

    .rhs-tw .c-page1-brochure__figure {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        display: flex;
        justify-content: center;
        padding: 1.5rem 0 0;
    }

    .rhs-tw .c-page1-brochure__content {
        padding-left: 0;
    }

    .rhs-tw .c-page1-img-brochure {
        width: 100%;
        height: auto;
        max-width: 280px;
    }
}

/* Mobile : 320px à 767px */
@media screen and (320px <= width < 768px) {
    .rhs-tw .c-page1-img-brochure {
        width: auto;
        height: 200px;
        top: 3rem;
        position: relative;
    }
}

/* Tablette / petit écran : 768px à 1098px */
@media screen and (768px <= width <= 1098px) {
    .rhs-tw .c-page1-img-brochure {
        width: auto;
        height: 250px;
        top: 5rem;
        position: relative;
    }
}
