:root {

            --blanc: #ffffff;
            --ivoire: #fffdf8;
            --beige: #f4efe5;
            --beige-fonce: #e4dac8;

            --or: #b08a45;
            --or-clair: #d4b77b;

            --texte: #393631;
            --texte-clair: #746f68;

            --brun: #66543f;

            --ombre: rgba(65, 52, 35, 0.10);

        }


        /* =====================================================
           RESET
        ===================================================== */

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }


        html {
            scroll-behavior: smooth;
        }


        body {

            background: var(--ivoire);

            color: var(--texte);

            font-family:
                Georgia,
                "Times New Roman",
                serif;

            line-height: 1.8;

        }


        img {
            max-width: 100%;
            display: block;
        }


        a {
            color: inherit;
        }


        /* =====================================================
           HEADER
        ===================================================== */

   header {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background:
        rgba(255, 255, 255, 0.96);

    backdrop-filter:
        blur(10px);

    border-bottom:
        1px solid var(--beige-fonce);

    transition:
        all 0.35s ease;
}


/* =========================================================
   HEADER INNER — DESKTOP
========================================================= */

.header-inner {

    width: 100%;

    max-width: none;

    margin: 0;

    padding:
        17px 30px;

    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items: center;

    box-sizing: border-box;
}


/* =========================================================
   LOGO
========================================================= */

.logo {

    justify-self: start;

    text-decoration: none;

    display: flex;

    flex-direction: column;

    line-height: 1.1;

    white-space: nowrap;
}


.logo-main {

    font-size: 1.45rem;

    letter-spacing: 2px;

    color: var(--texte);
}


.logo-main span {

    color: var(--or);
}


.logo-sub {

    font-family:
        Arial,
        sans-serif;

    font-size: 0.58rem;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--texte-clair);

    margin-top: 5px;
}


/* =========================================================
   NAVIGATION
========================================================= */

nav {

    justify-self: center;

    display: flex;

    align-items: center;

    gap: 25px;

    white-space: nowrap;
}


nav a {

    flex-shrink: 0;

    text-decoration: none;

    font-family:
        Arial,
        sans-serif;

    font-size: 0.72rem;

    letter-spacing: 1.5px;

    text-transform: uppercase;

    color: var(--texte);

    transition:
        0.3s;
}


nav a:hover {

    color: var(--or);
}


/* =========================================================
   BOUTON ACCUEIL
========================================================= */

.home-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    padding:
        10px 18px;

    border:
        1px solid var(--or);

    color:
        var(--brun);

    transition:
        0.3s;
}


.home-button:hover {

    background:
        var(--or);

    color:
        white;
}


/* =========================================================
   SÉLECTEUR DE LANGUE
========================================================= */

.site-language {

    justify-self: end;

    flex-shrink: 0;
}


/* =========================================================
   TABLETTE
========================================================= */

@media (max-width: 1100px) {

    .header-inner {

        padding:
            15px 25px;
    }


    .logo-main {

        font-size:
            1.25rem;
    }


    nav {

        gap:
            18px;
    }


    nav a {

        font-size:
            0.65rem;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {

    header {

        background:
            rgba(255, 255, 255, 0.98);

        backdrop-filter:
            blur(12px);
    }


    /* -----------------------------------------------------
       PREMIÈRE LIGNE
       Logo                     Langue
    ----------------------------------------------------- */

    .header-inner {

        width:
            100%;

        padding:
            11px 15px 0;

        display:
            grid;

        grid-template-columns:
            minmax(0, 1fr) auto;

        grid-template-rows:
            auto auto;

        align-items:
            center;

        column-gap:
            15px;

        box-sizing:
            border-box;
    }


    /* -----------------------------------------------------
       LOGO
    ----------------------------------------------------- */

    .logo {

        grid-column:
            1;

        grid-row:
            1;

        justify-self:
            start;

        min-width:
            0;
    }


    .logo-main {

        font-size:
            1.1rem;

        letter-spacing:
            1px;

        white-space:
            nowrap;
    }


    .logo-sub {

        font-size:
            0.45rem;

        letter-spacing:
            1.8px;

        margin-top:
            3px;
    }


    /* -----------------------------------------------------
       LANGUE
    ----------------------------------------------------- */

    .site-language {

        grid-column:
            2;

        grid-row:
            1;

        justify-self:
            end;
    }


    /* -----------------------------------------------------
       NAVIGATION
    ----------------------------------------------------- */

    nav {

        grid-column:
            1 / -1;

        grid-row:
            2;

        width:
            100%;

        min-width:
            0;

        margin-top:
            11px;

        padding:
            11px 0 12px;

        display:
            flex;

        align-items:
            center;

        justify-content:
            flex-start;

        gap:
            20px;

        overflow-x:
            auto;

        overflow-y:
            hidden;

        white-space:
            nowrap;

        -webkit-overflow-scrolling:
            touch;

        scrollbar-width:
            none;

        border-top:
            1px solid rgba(0, 0, 0, 0.07);

        box-sizing:
            border-box;
    }


    /* Supprime la scrollbar sur Chrome / Safari */

    nav::-webkit-scrollbar {

        display:
            none;
    }


    /* -----------------------------------------------------
       LIENS
    ----------------------------------------------------- */

    nav a {

        display:
            inline-flex;

        align-items:
            center;

        flex:
            0 0 auto;

        font-size:
            0.61rem;

        letter-spacing:
            1.1px;

        white-space:
            nowrap;
    }


    /* -----------------------------------------------------
       ACCUEIL
       IMPORTANT : reste dans la même ligne
    ----------------------------------------------------- */

    .home-button {

        flex:
            0 0 auto;

        display:
            inline-flex;

        width:
            auto;

        padding:
            8px 13px;

        margin:
            0;

        font-size:
            0.59rem;

        white-space:
            nowrap;
    }

}


/* =========================================================
   TRÈS PETITS TÉLÉPHONES
========================================================= */

@media (max-width: 768px) {

    .header-inner {

        padding:
            10px 12px 0;

        column-gap:
            10px;
    }


    .logo-main {

        font-size:
            1rem;

        letter-spacing:
            0.7px;
    }


    .logo-sub {

        font-size:
            0.41rem;

        letter-spacing:
            1.5px;
    }


    nav {

        gap:
            17px;

        margin-top:
            10px;

        padding:
            10px 0 11px;
    }


    nav a {

        font-size:
            0.57rem;

        letter-spacing:
            0.9px;
    }


    .home-button {
        display: none !important;
    }

}


        /* =====================================================
           HERO
        ===================================================== */

        .hero {

            min-height: 92vh;

            padding-top: 90px;

            display: flex;

            justify-content: center;

            align-items: center;

            text-align: center;

            background:

                linear-gradient(
                    rgba(255,255,255,0.80),
                    rgba(244,239,229,0.92)
                ),

                url("../imagee/abbaye-moncel.jpg")
                center / cover no-repeat;

        }


        .hero-content {

            max-width: 900px;

            padding: 50px 30px;

        }


        .small-title {

            font-family: Arial, sans-serif;

            text-transform: uppercase;

            letter-spacing: 4px;

            font-size: 0.72rem;

            color: var(--or);

            margin-bottom: 20px;

        }


        .hero h1 {

            font-size:
                clamp(3rem, 7vw, 6.5rem);

            font-weight: normal;

            line-height: 1;

            margin-bottom: 30px;

        }


        .hero h1 span {
            color: var(--or);
        }


        .hero-description {

            max-width: 730px;

            margin: auto;

            font-size: 1.2rem;

            color: var(--texte-clair);

        }


        .hero-button {

            display: inline-block;

            margin-top: 38px;

            padding:
                14px 30px;

            background:
                var(--or);

            color: white;

            text-decoration: none;

            font-family: Arial, sans-serif;

            font-size: 0.75rem;

            letter-spacing: 2px;

            text-transform: uppercase;

            transition: 0.3s;

        }


        .hero-button:hover {

            background:
                var(--brun);

            transform:
                translateY(-3px);

        }


        /* =====================================================
           SECTIONS
        ===================================================== */

        section {

            padding:
                110px 7%;

        }


        .section-heading {

            max-width: 800px;

            margin:
                0 auto 65px;

            text-align: center;

        }


        .chapter {

            font-family: Arial, sans-serif;

            text-transform: uppercase;

            letter-spacing: 3px;

            font-size: 0.7rem;

            color: var(--or);

        }


        h2 {

            font-size:
                clamp(2.5rem, 5vw, 4rem);

            font-weight: normal;

            line-height: 1.1;

            margin:
                15px 0 25px;

        }


        .section-heading p {

            color:
                var(--texte-clair);

        }


        /* =====================================================
           INTRODUCTION
        ===================================================== */

        .intro {
            background: white;
        }


        .intro-grid {

            max-width: 1150px;

            margin: auto;

            display: grid;

            grid-template-columns:
                1fr 1fr;

            gap: 75px;

            align-items: center;

        }


        .image-frame {

            position: relative;

            padding: 15px;

            border:
                1px solid var(--beige-fonce);

        }


        .image-frame img {

            width: 100%;

            height: 580px;

            object-fit: cover;

        }


        .image-frame::after {

            content: "";

            position: absolute;

            width: 100px;

            height: 100px;

            top: -8px;

            right: -8px;

            border-top:
                2px solid var(--or);

            border-right:
                2px solid var(--or);

        }


        .intro-text h3 {

            font-size:
                2.5rem;

            font-weight: normal;

            line-height: 1.2;

            margin-bottom: 25px;

        }


        .intro-text p {

            margin-bottom: 20px;

            color:
                var(--texte-clair);

        }


        .quote {

            margin-top: 30px;

            padding:
                20px 25px;

            border-left:
                3px solid var(--or);

            background:
                var(--beige);

            color:
                var(--brun);

            font-style:
                italic;

        }


        /* =====================================================
           CHIFFRES
        ===================================================== */

        .numbers {
            background: var(--beige);
        }


        .numbers-grid {

            max-width: 1100px;

            margin: auto;

            display: grid;

            grid-template-columns:
                repeat(4, 1fr);

            border-top:
                1px solid var(--beige-fonce);

            border-bottom:
                1px solid var(--beige-fonce);

        }


        .number {

            padding:
                45px 20px;

            text-align: center;

            border-right:
                1px solid var(--beige-fonce);

        }


        .number:last-child {
            border-right: none;
        }


        .number strong {

            display: block;

            font-size:
                3.5rem;

            font-weight: normal;

            color:
                var(--or);

            line-height: 1.1;

        }


        .number span {

            display: block;

            margin-top: 12px;

            font-family: Arial, sans-serif;

            font-size: 0.65rem;

            letter-spacing: 1.5px;

            text-transform: uppercase;

            color:
                var(--texte-clair);

        }


        /* =====================================================
           TIMELINE
        ===================================================== */

        .timeline-section {
            background: var(--ivoire);
        }


        .timeline {

            max-width:
                950px;

            margin:
                auto;

            position:
                relative;

        }


        .timeline::before {

            content: "";

            position: absolute;

            top: 0;
            bottom: 0;

            left: 50%;

            width: 1px;

            background:
                var(--beige-fonce);

        }


        .timeline-item {

            position: relative;

            width: 50%;

            padding:
                30px 50px;

        }


        .timeline-item:nth-child(even) {

            margin-left:
                50%;

        }


        .timeline-item:nth-child(odd) {

            text-align:
                right;

        }


        .timeline-dot {

            position: absolute;

            top: 43px;

            width: 13px;
            height: 13px;

            border-radius: 50%;

            background:
                var(--or);

            box-shadow:

                0 0 0 5px var(--ivoire),

                0 0 0 6px var(--or-clair);

        }


        .timeline-item:nth-child(odd)
        .timeline-dot {

            right:
                -6px;

        }


        .timeline-item:nth-child(even)
        .timeline-dot {

            left:
                -6px;

        }


        .timeline-year {

            font-size:
                2.1rem;

            color:
                var(--or);

            line-height:
                1;

            margin-bottom:
                10px;

        }


        .timeline-item h3 {

            font-size:
                1.6rem;

            font-weight:
                normal;

            margin-bottom:
                8px;

        }


        .timeline-item p {

            color:
                var(--texte-clair);

        }


        /* =====================================================
           PORTAIL
        ===================================================== */

        .portal {

            background:
                white;

            text-align:
                center;

        }


        .portal-inner {

            max-width:
                900px;

            margin:
                auto;

        }


        .portal-number {

            font-size:
                7rem;

            line-height:
                1;

            color:
                var(--or);

            opacity:
                0.22;

        }


        .portal h2 {
            margin-top: -20px;
        }


        .portal p {

            color:
                var(--texte-clair);

            font-size:
                1.08rem;

            margin-bottom:
                20px;

        }


        /* =====================================================
           ARCHITECTURE
        ===================================================== */

        .architecture {
            background: var(--beige);
        }


        .architecture-grid {

            max-width:
                1150px;

            margin:
                auto;

            display:
                grid;

            grid-template-columns:
                1fr 1fr;

            gap:
                70px;

            align-items:
                center;

        }


        .architecture-grid img {

            width:
                100%;

            height:
                570px;

            object-fit:
                cover;

        }


        .architecture-text h3 {

            font-size:
                2.7rem;

            font-weight:
                normal;

            line-height:
                1.15;

            margin-bottom:
                25px;

        }


        .architecture-text p {

            color:
                var(--texte-clair);

            margin-bottom:
                20px;

        }


        /* =====================================================
           FLÈCHE
        ===================================================== */

        .spire {

            background:
                white;

            text-align:
                center;

        }


        .spire-box {

            max-width:
                950px;

            margin:
                auto;

            padding:
                60px;

            border:
                1px solid var(--beige-fonce);

            background:
                var(--ivoire);

        }


        .spire-box h3 {

            font-size:
                2.8rem;

            font-weight:
                normal;

            margin-bottom:
                25px;

        }


        .spire-box p {

            color:
                var(--texte-clair);

            margin-bottom:
                20px;

        }


        .spire-height {

            font-size:
                5rem;

            line-height:
                1;

            color:
                var(--or);

            margin:
                30px 0 10px;

        }


        .spire-label {

            font-family:
                Arial, sans-serif;

            text-transform:
                uppercase;

            letter-spacing:
                2px;

            font-size:
                0.7rem;

            color:
                var(--texte-clair);

        }


        /* =====================================================
           INCENDIE 1504
        ===================================================== */

        .fire {

            background:
                var(--beige);

        }


        .fire-grid {

            max-width:
                1150px;

            margin:
                auto;

            display:
                grid;

            grid-template-columns:
                0.9fr 1.1fr;

            gap:
                60px;

            align-items:
                center;

        }


        .fire-grid img {

            width:
                100%;

            height:
                500px;

            object-fit:
                cover;

        }


        .fire-text h3 {

            font-size:
                2.7rem;

            font-weight:
                normal;

            line-height:
                1.15;

            margin-bottom:
                25px;

        }


        .fire-text p {

            color:
                var(--texte-clair);

            margin-bottom:
                20px;

        }


        .fire-quote {

            padding:
                25px;

            border-left:
                3px solid var(--or);

            background:
                white;

            color:
                var(--brun);

            font-style:
                italic;

        }


        /* =====================================================
           RENAISSANCE
        ===================================================== */

        .renaissance {

            background:
                white;

        }


        .renaissance-box {

            max-width:
                1050px;

            margin:
                auto;

            padding:
                60px;

            border:
                1px solid var(--beige-fonce);

        }


        .renaissance-box h3 {

            font-size:
                2.7rem;

            font-weight:
                normal;

            margin-bottom:
                25px;

        }


        .renaissance-box p {

            color:
                var(--texte-clair);

            margin-bottom:
                20px;

        }


        .facts {

            display:
                grid;

            grid-template-columns:
                repeat(3, 1fr);

            gap:
                20px;

            margin-top:
                35px;

        }


        .fact {

            padding:
                25px;

            background:
                var(--beige);

            text-align:
                center;

        }


        .fact strong {

            display:
                block;

            color:
                var(--or);

            font-size:
                2rem;

            font-weight:
                normal;

        }


        .fact span {

            font-family:
                Arial, sans-serif;

            font-size:
                0.65rem;

            letter-spacing:
                1px;

            text-transform:
                uppercase;

            color:
                var(--texte-clair);

        }


        /* =====================================================
           PERSONNAGES / ARTISTES
        ===================================================== */

        .figures {
            background: var(--beige);
        }


        .cards {

            max-width:
                1100px;

            margin:
                auto;

            display:
                grid;

            grid-template-columns:
                repeat(2, 1fr);

            gap:
                30px;

        }


        .card {

            background:
                white;

            padding:
                45px;

            border:
                1px solid var(--beige-fonce);

            transition:
                0.35s;

        }


        .card:hover {

            transform:
                translateY(-7px);

            border-color:
                var(--or);

            box-shadow:
                0 20px 45px
                var(--ombre);

        }


        .card-year {

            font-family:
                Arial, sans-serif;

            font-size:
                0.7rem;

            letter-spacing:
                3px;

            color:
                var(--or);

            text-transform:
                uppercase;

        }


        .card h3 {

            font-size:
                2rem;

            font-weight:
                normal;

            margin:
                15px 0;

        }


        .card p {

            color:
                var(--texte-clair);

            margin-bottom:
                15px;

        }


        /* =====================================================
           RÉVOLUTION / XIXe
        ===================================================== */

        .after {

            background:
                white;

            text-align:
                center;

        }


        .after-inner {

            max-width:
                850px;

            margin:
                auto;

        }


        .after-number {

            font-size:
                6rem;

            line-height:
                1;

            color:
                var(--or);

            opacity:
                0.25;

        }


        .after h2 {
            margin-top: -20px;
        }


        .after p {

            color:
                var(--texte-clair);

            font-size:
                1.1rem;

        }


        /* =====================================================
           AUJOURD'HUI
        ===================================================== */

        .today {

            background:
                var(--beige);

        }


        .today-grid {

            max-width:
                1100px;

            margin:
                auto;

            display:
                grid;

            grid-template-columns:
                1fr 1fr;

            gap:
                70px;

            align-items:
                center;

        }


        .today-grid img {

            width:
                100%;

            height:
                500px;

            object-fit:
                cover;

        }


        .today-text h3 {

            font-size:
                2.8rem;

            font-weight:
                normal;

            line-height:
                1.15;

            margin-bottom:
                25px;

        }


        .today-text p {

            color:
                var(--texte-clair);

            margin-bottom:
                20px;

        }


        /* =====================================================
           SOURCES
        ===================================================== */

        .sources {
            background: var(--ivoire);
        }


        .sources-list {

            max-width:
                850px;

            margin:
                auto;

        }


        .source {

            padding:
                25px 0;

            border-bottom:
                1px solid var(--beige-fonce);

        }


        .source:first-child {

            border-top:
                1px solid var(--beige-fonce);

        }


        .source strong {

            display:
                block;

            color:
                var(--brun);

            margin-bottom:
                5px;

        }


        .source span {

            color:
                var(--texte-clair);

            font-size:
                0.95rem;

        }


        .source a {

            color:
                var(--or);

            text-decoration:
                none;

        }


        .source a:hover {

            text-decoration:
                underline;

        }


        /* =====================================================
           CONCLUSION
        ===================================================== */

        .conclusion {

            padding:
                140px 7%;

            text-align:
                center;

            background:

                linear-gradient(
                    rgba(255,255,255,0.89),
                    rgba(244,239,229,0.94)
                ),

                url("../imagee/abbaye-moncel-cloitre.jpg")
                center / cover;

        }


        .conclusion-inner {

            max-width:
                800px;

            margin:
                auto;

        }


        .conclusion h2 {

            font-size:
                clamp(3rem, 7vw, 5.5rem);

        }


        .conclusion p {

            color:
                var(--texte-clair);

            font-size:
                1.15rem;

        }


        /* =====================================================
           FOOTER
        ===================================================== */

        footer {

            padding:
                45px 7%;

            background:
                var(--texte);

            color:
                #ddd;

            text-align:
                center;

        }


        .footer-logo {

            font-size:
                1.4rem;

            letter-spacing:
                2px;

            margin-bottom:
                8px;

        }


        .footer-logo span {
            color: var(--or-clair);
        }


        footer p {

            font-family:
                Arial, sans-serif;

            font-size:
                0.72rem;

            color:
                #aaa;

        }


        /* =====================================================
           ANIMATIONS
        ===================================================== */

        .reveal {

            opacity:
                0;

            transform:
                translateY(35px);

            transition:

                opacity 0.8s ease,

                transform 0.8s ease;

        }


        .reveal.visible {

            opacity:
                1;

            transform:
                translateY(0);

        }


        /* =====================================================
           RESPONSIVE
        ===================================================== */

        @media (max-width: 850px) {

            .header-inner {
                padding: 15px 20px;
            }


            nav a:not(.home-button) {
                display: none;
            }


            section {
                padding: 80px 6%;
            }


            .intro-grid,
            .architecture-grid,
            .fire-grid,
            .today-grid {

                grid-template-columns:
                    1fr;

            }


            .numbers-grid {

                grid-template-columns:
                    1fr 1fr;

            }


            .number {

                border-bottom:
                    1px solid var(--beige-fonce);

            }


            .number:nth-child(2) {
                border-right: none;
            }


            .cards {
                grid-template-columns: 1fr;
            }


            .facts {
                grid-template-columns: 1fr;
            }


            .timeline::before {
                left: 10px;
            }


            .timeline-item,
            .timeline-item:nth-child(even) {

                width:
                    100%;

                margin-left:
                    0;

                padding-left:
                    45px;

                padding-right:
                    0;

                text-align:
                    left;

            }


            .timeline-item:nth-child(odd)
            .timeline-dot,
            .timeline-item:nth-child(even)
            .timeline-dot {

                left:
                    4px;

                right:
                    auto;

            }

        }


        @media (max-width: 550px) {

            .logo-main {
                font-size: 1.1rem;
            }


            .logo-sub {
                font-size: 0.45rem;
            }


            .home-button {
                padding: 8px 10px;
            }


            .numbers-grid {
                grid-template-columns: 1fr;
            }


            .number,
            .number:nth-child(2) {
                border-right: none;
            }


            .hero h1 {
                font-size: 3.2rem;
            }

        }

/* =========================================================
   NAVIGATION UNIFIÉE — même structure que Beauvais
   ========================================================= */

.header-inner {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
}

.main-nav {
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    height: 100%;
    min-width: 0;
}

.main-nav a {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0;
    text-decoration: none;
    white-space: nowrap;
}

.main-nav .home-button {
    height: auto;
    padding: 9px 15px;
}

.site-language {
    position: relative;
    justify-self: end;
    display: flex;
    align-items: center;
    z-index: 1001;
}

.site-language-current {
    height: 38px;
    padding: 0 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #d8cdbd;
    border-radius: 4px;
    background: #fffdf9;
    color: var(--texte);
    font-family: Arial, sans-serif;
    font-size: 13px;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease;
}

.site-language-current:hover,
.site-language-current:focus-visible {
    border-color: var(--or);
    background: #faf6ee;
    outline: none;
}

.site-language-chevron {
    font-size: 11px;
    transition: transform .2s ease;
}

.site-language.is-open .site-language-chevron {
    transform: rotate(180deg);
}

.site-language-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 155px;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #fffdf9;
    border: 1px solid #dfd4c5;
    border-radius: 6px;
    box-shadow: 0 10px 25px rgba(0,0,0,.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.site-language.is-open .site-language-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.site-language-menu button {
    width: 100%;
    padding: 9px 10px;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--texte);
    font-family: Arial, sans-serif;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

.site-language-menu button:hover,
.site-language-menu button:focus-visible {
    background: #f4ecdf;
    color: var(--brun);
    outline: none;
}

/* Tablette : logo + langue en première ligne, navigation en seconde. */
@media (max-width: 900px) {
    .header-inner {
        height: auto;
        min-height: 90px;
        padding: 15px 20px;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        column-gap: 20px;
        row-gap: 12px;
    }

    .logo {
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    .site-language {
        grid-column: 2;
        grid-row: 1;
    }

    .main-nav {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        height: auto;
        min-width: 0;
        justify-content: flex-start;
        gap: 18px;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 2px 2px 6px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }

    .main-nav a {
        height: auto;
        flex: 0 0 auto;
        font-size: .68rem;
        letter-spacing: 1px;
    }

    .main-nav .home-button {
        padding: 7px 11px;
    }
}

/* Petit écran : navigation défilable sans casser le header. */
@media (max-width: 560px) {
    .header-inner {
        padding: 12px 15px;
        column-gap: 12px;
        row-gap: 10px;
    }

    .logo-main {
        font-size: 1.2rem;
        letter-spacing: 1px;
    }

    .site-language-current {
        height: 36px;
        padding: 0 10px;
        font-size: 12px;
    }

    .site-language-menu {
        width: 145px;
    }

    .main-nav {
        gap: 15px;
        padding-bottom: 7px;
    }

    .main-nav a {
        font-size: .62rem;
        letter-spacing: .9px;
    }

    .main-nav .home-button {
        padding: 7px 10px;
    }
}

