/* ==========================================================================
   58m - Accueil V10 (surcharge de v2026.css)
   --------------------------------------------------------------------------
   Reprend les regles de reference-v10.css (maquette validee par JP le
   4 novembre 2026, liseres des blocs noirs retires) sur les classes du
   gabarit existant. Charge APRES v2026.css. Pour revenir a l'accueil
   precedent : retirer le <link> de layouts/v2026.blade.php et remettre
   config/home2026.php de la sauvegarde.
   Ne touche pas aux regles html/body : le defilement natif est conserve.
   ========================================================================== */

/* ---- Ouverture desktop : cartouche a droite, texte noir ----------------- */
.v2026 .v-hero__cartouche { right: 64px; bottom: 18%; max-width: none; }
.v2026 .v-hero__cartouche .v-surtitre { margin: 0 0 18px; }
.v2026 .v-titre-ouverture { font-size: 54px; line-height: 1.12; margin: 0 0 30px; }

/* ---- Barre : translucide au repos, blanche au defilement ---------------- */
@media (min-width: 576px) {
    .v2026 .v-nav {
        background: rgba(255,255,255,.72);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }
    .v2026 .v-nav--defile {
        background: #fff;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
}

/* ---- Introduction -------------------------------------------------------- */
.v2026 .v-intro { max-width: none; padding: 96px 22% 80px; }
.v2026 .v-intro .v-surtitre { color: #555; margin: 0; }
.v2026 .v-intro__texte { margin-top: 18px; }

/* ---- Nature : grande photo 2/3 + deux photos, meme hauteur totale -------- */
.v2026 .v-nature { gap: 8px; padding: 0 32px 60px; }
.v2026 .v-nature__grande img {
    aspect-ratio: auto;
    height: calc(83.333vw - 60px);
    object-fit: cover;
}
.v2026 .v-nature__cote { gap: 8px; height: calc(83.333vw - 60px); }
.v2026 .v-packshot { background: #efedea; }
.v2026 .v-packshot__img img { mix-blend-mode: normal; }
@media (min-width: 1244px) {
    .v2026 .v-nature__grande img { height: 923px; }
    .v2026 .v-nature__cote { height: 923px; }
}

/* ---- La selection : espacement de la reference --------------------------- */
.v2026 .v-selection { padding-top: 20px; padding-bottom: 70px; }
@media (min-width: 576px) {
    .v2026 .v-selection { max-width: none; margin: 0; padding: 20px 40px 70px; }
    .v2026 .v-selection__entete { margin-bottom: 26px; }
    .v2026 .v-selection__piste { grid-auto-columns: calc(23.256% - 5.6px); gap: 8px; padding-bottom: 10px; }
}
.v2026 .v-fiche__img { background: #efedea; }

/* ---- La collection ------------------------------------------------------- */
.v2026 .v-collection { margin-top: 0; background: #f4f1ec; }
.v2026 .v-collection__panneau { display: block; background: #f4f1ec; padding: 90px 10%; }
.v2026 .v-collection .v-surtitre { margin: 0 0 16px; }
.v2026 .v-titre-collection { margin: 0 0 26px; line-height: 1.12; }

/* ---- Galerie : 4 vignettes 4:5 alignees, photo remplissant le cadre ------ */
.v2026 .v-galerie { gap: 10px; padding: 70px 40px 80px; }
.v2026 .v-galerie__vue { position: relative; display: block; padding-top: 125%; overflow: hidden; }
.v2026 .v-galerie__vue picture { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.v2026 .v-galerie__vue img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.v2026 .v-galerie__vue:nth-child(4) img { object-position: 70% center; }
.v2026 .v-galerie__vue:nth-child(2) img { object-position: center 30%; }

/* ---- Bandeau noir : sans lisere ------------------------------------------ */
.v2026 .v-reassurances { background: #111; color: #f4f1ec; padding: 70px 8%; }
.v2026 .v-reassurances__grille { max-width: none; border: 0; }
.v2026 .v-reassurances__col { border: 0; }
.v2026 .v-reassurances__texte { color: #cfcac2; }

/* ---- Tablette --------------------------------------------------------------- */
@media (max-width: 900px) {
    .v2026 .v-nature { padding: 0 32px 60px; }
    .v2026 .v-nature__grande img { height: calc(125vw - 80px); }
    .v2026 .v-nature__cote { height: auto; grid-template-rows: none; grid-template-columns: 1fr 1fr; }
    .v2026 .v-packshot { aspect-ratio: auto; }
    .v2026 .v-packshot__img { position: relative; inset: auto; display: block; background: #efedea; }
    .v2026 .v-packshot__img img { width: 100%; height: calc(50vw - 36px); }
    .v2026 .v-collection__visuel img { aspect-ratio: auto; height: calc(75vw - 60px); min-height: 0; }
    .v2026 .v-collection__panneau { padding: 90px 10%; }
    .v2026 .v-intro { padding: 96px 12% 80px; }
    .v2026 .v-galerie { padding: 70px 40px 80px; }
}

/* ---- Mobile (575px et moins) ------------------------------------------------ */
@media (max-width: 575px) {
    /* ouverture : photo plein premier ecran, cartouche blanc en surimpression */
    .v2026 .v-hero {
        display: block;
        position: relative;
        height: calc(100vh - 4px);
        height: calc(100svh - 4px);
        min-height: 496px;
        padding-top: 76px;
        box-sizing: border-box;
        overflow: hidden;
        background: #f4f1ec;
    }
    .v2026 .v-hero picture {
        position: absolute; left: 0; right: 0; bottom: 0; top: 76px;
    }
    .v2026 .v-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
    .v2026 .v-hero::after {
        content: "";
        position: absolute; left: 0; right: 0; bottom: 0; height: 62%;
        background: linear-gradient(to top, rgba(0,0,0,.52), rgba(0,0,0,0));
        pointer-events: none;
    }
    .v2026 .v-hero__cartouche {
        position: absolute;
        left: 22px; right: 22px; bottom: 34px;
        max-width: none; padding: 0; text-align: left;
        z-index: 2;
    }
    .v2026 .v-hero__cartouche .v-surtitre { color: #fff; margin: 0 0 18px; }
    .v2026 .v-titre-ouverture { font-size: 38px; line-height: 1.1; margin: 0 0 24px; color: #fff; text-shadow: 0 1px 14px rgba(0,0,0,.35); }

    .v2026 .v-intro { padding: 62px 24px 46px; }

    .v2026 .v-nature { padding: 0 12px 40px; gap: 12px; }
    .v2026 .v-nature__grande img { height: calc(125vw - 30px); }
    .v2026 .v-nature__cote { gap: 10px; }
    .v2026 .v-packshot__img img { height: calc(50vw - 17px); }

    .v2026 .v-selection { padding: 68px 0 62px; }

    .v2026 .v-collection__visuel img { height: calc(125vw - 30px); }
    .v2026 .v-collection__panneau { padding: 36px 24px 42px; }
    .v2026 .v-titre-collection { font-size: 30px; letter-spacing: 0.07em; margin: 0 0 20px; }
    .v2026 .v-collection__texte { font-size: 15px; margin-bottom: 26px; }

    /* galerie : deux colonnes, hauteurs naturelles */
    .v2026 .v-galerie { display: block; column-count: 2; column-gap: 10px; padding: 10px; }
    .v2026 .v-galerie__vue { position: static; display: block; padding-top: 0; overflow: visible; margin-bottom: 10px; break-inside: avoid; }
    .v2026 .v-galerie__vue picture { position: static; display: block; width: auto; height: auto; }
    .v2026 .v-galerie__vue img { position: static; width: 100%; height: auto; object-fit: initial; object-position: initial; }

    /* reassurances : sans lisere, titres sur deux lignes */
    .v2026 .v-reassurances { padding: 28px 18px; }
    .v2026 .v-reassurances__grille { border: 0; padding: 0; gap: 10px; }
    .v2026 .v-reassurances__col { padding: 20px 18px; }
    .v2026 .v-reassurances__titre br { display: inline; }
}

@media (max-width: 350px) {
    .v2026 .v-titre-ouverture { font-size: 34px; }
}

/* ---- Selecteur FR | ENG (accueil) ---- */
.v2026 .v-nav__lang { display: flex; align-items: center; gap: 4px; font-size: 10.5px; letter-spacing: 0.08em; margin-right: 4px; list-style: none; }
.v2026 .v-nav__lang a { color: inherit; text-decoration: none; opacity: .55; display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; }
.v2026 .v-nav__lang a.is-active { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.v2026 .v-nav__lang span { opacity: .35; }
