/*
 * ============================================================
 * GL V4 — « GALERIE LUMIÈRE » — Gaétan Lecire Photographe
 * Direction artistique opposée à la v3 (gala or/noir) :
 * une galerie d'art en plein jour. Ivoire, serif noir massif,
 * photos en très grand, respiration maximale.
 * Palette : ivoire #faf7f2 · noir doux #1a1714 · terre #8a6f54
 * ============================================================
 */

:root {
    --v4-bg: #faf7f2;
    --v4-bg-alt: #f3eee6;
    --v4-ink: #1a1714;
    --v4-ink-soft: #4a443c;
    --v4-earth: #8a6f54;
    --v4-line: #e2dacb;
}

/* ============================================================
   1. LIGHT MODE GLOBAL — neutralise le dark hérité du thème
   ============================================================ */

html, body, .l-body, .l-canvas, .l-main, .l-section {
    background-color: var(--v4-bg) !important;
    color: var(--v4-ink) !important;
}

.l-section.bg-darker,
.l-section[class*="us_custom"] {
    background-color: var(--v4-bg) !important;
    background-image: none !important;
}

h1, h2, h3, h4, h5, h6,
.l-section h1, .l-section h2, .l-section h3 {
    color: var(--v4-ink) !important;
    text-transform: none !important;
}

p, li, span, .l-section .wpb_text_column,
.l-section .wpb_text_column p {
    color: var(--v4-ink-soft) !important;
}

a {
    color: var(--v4-earth) !important;
}

/* ============================================================
   2. HEADER — ivoire, signature inversée en noir
   ============================================================ */

.l-header,
.l-header .l-subheader,
.l-header.sticky,
.l-header.scrolled-header {
    background-color: rgba(250, 247, 242, 0.96) !important;
    background-image: none !important;
    box-shadow: 0 1px 0 var(--v4-line) !important;
}

/* Neutraliser le dégradé bordeaux du thème — UNIQUEMENT sur les conteneurs
   (pas les cellules ni .w-logo : la signature y vit en background/img) */
.l-header .l-subheader {
    background-image: none !important;
}

/* Bouton header « Réserver » — style complet (la classe v3 n'est plus chargée) */
.gl-header-cta {
    display: inline-block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.74rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    padding: 10px 24px !important;
    margin-left: 22px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.3s ease !important;
}

/* Le logo signature est un PNG blanc (pensé pour fond sombre) → inversé */
.l-header .w-logo img {
    filter: invert(1) !important;
    opacity: 0.85 !important;
}

.l-header .menu-item > a,
.l-header .w-nav-item > a,
.l-header a {
    color: var(--v4-ink) !important;
}

.l-header .menu-item > a::after,
.l-header .w-nav-item > a::after {
    background: var(--v4-earth) !important;
}

.l-header a.gl-header-cta,
.gl-header-cta {
    background: var(--v4-ink) !important;
    color: var(--v4-bg) !important;
    line-height: 1.4 !important;
}
.l-header a.gl-header-cta:hover,
.gl-header-cta:hover {
    background: var(--v4-earth) !important;
    color: #ffffff !important;
}

/* Bandeau topbar éventuel */
.l-subheader.at_top {
    background: var(--v4-ink) !important;
}
.l-subheader.at_top * {
    color: var(--v4-bg) !important;
}

/* ============================================================
   3. HERO ÉDITORIAL — texte à gauche, photo pleine hauteur à droite
   ============================================================ */

.gl4-hero-row .l-section-h {
    max-width: none !important;
    padding: 0 !important;
}

.gl4-hero {
    display: grid !important;
    grid-template-columns: 44fr 56fr !important;
    min-height: calc(100vh - 90px) !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    align-items: stretch !important;
}

.gl4-hero-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: clamp(40px, 6vw, 110px) !important;
}

.gl4-hero-kicker {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.74rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    color: var(--v4-earth) !important;
    margin-bottom: 34px !important;
}

h1.gl4-hero-title, h2.gl4-hero-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 400 !important;
    font-size: clamp(2.9rem, 5.6vw, 5.6rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.01em !important;
    color: var(--v4-ink) !important;
    margin: 0 0 30px !important;
    text-wrap: balance !important;
}

.gl4-hero-title em {
    font-style: italic !important;
    color: var(--v4-earth) !important;
}

.gl4-hero-sub {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--v4-ink-soft) !important;
    margin: 0 0 44px !important;
}

.gl4-cta-row {
    display: flex !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
}

.gl4-btn {
    display: inline-block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    padding: 16px 38px !important;
    text-decoration: none !important;
    transition: all 0.35s ease !important;
}

.gl4-btn-dark {
    background: var(--v4-ink) !important;
    color: var(--v4-bg) !important;
}
.gl4-btn-dark:hover {
    background: var(--v4-earth) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

.gl4-btn-line {
    background: transparent !important;
    color: var(--v4-ink) !important;
    border: 1px solid var(--v4-ink) !important;
}
.gl4-btn-line:hover {
    border-color: var(--v4-earth) !important;
    color: var(--v4-earth) !important;
}

.gl4-hero-img {
    overflow: hidden !important;
    background: var(--v4-bg-alt) !important;
}

.gl4-hero-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

@media (max-width: 1024px) {
    .gl4-hero {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .gl4-hero-img {
        order: -1 !important;
        height: 56vh !important;
    }
}

/* ============================================================
   4. COLLECTION — mosaïque éditoriale, légendes prestation
   ============================================================ */

.gl4-collection-row .l-section-h {
    max-width: none !important;
    padding: 0 !important;
}

.gl4-collection {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: clamp(60px, 9vh, 130px) clamp(16px, 4vw, 64px) !important;
}

.gl4-col-head {
    text-align: center !important;
    margin-bottom: clamp(44px, 7vh, 90px) !important;
}

.gl4-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: clamp(14px, 2vw, 30px) !important;
}

/* wpautop insère des <br> entre les tuiles → items de grille parasites */
.gl4-grid br,
.gl4-services br,
.gl4-collection p:empty,
.gl4-services p:empty {
    display: none !important;
}

.gl4-tile {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    background: var(--v4-bg-alt) !important;
    text-decoration: none !important;
}

.gl4-tile img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.gl4-tile:hover img {
    transform: scale(1.035) !important;
}

/* Composition asymétrique (12 colonnes) */
.gl4-t1 { grid-column: 1 / 8 !important;  height: 64vh !important; }
.gl4-t2 { grid-column: 8 / 13 !important; height: 64vh !important; }
.gl4-t3 { grid-column: 1 / 5 !important;  height: 52vh !important; }
.gl4-t4 { grid-column: 5 / 9 !important;  height: 52vh !important; }
.gl4-t5 { grid-column: 9 / 13 !important; height: 52vh !important; }
.gl4-t6 { grid-column: 1 / 6 !important;  height: 58vh !important; }
.gl4-t7 { grid-column: 6 / 13 !important; height: 58vh !important; }
.gl4-t8 { grid-column: 1 / 13 !important; height: 72vh !important; }

.gl4-tile figcaption {
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    right: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    padding: 18px 22px !important;
    background: linear-gradient(to top, rgba(20, 17, 14, 0.55), transparent) !important;
    opacity: 0 !important;
    transform: translateY(8px) !important;
    transition: opacity 0.45s ease, transform 0.45s ease !important;
}

.gl4-tile:hover figcaption {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.gl4-tile-name {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
    font-size: 1.5rem !important;
    color: #ffffff !important;
}

.gl4-tile-go {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

@media (max-width: 1024px) {
    .gl4-grid { grid-template-columns: 1fr !important; }
    .gl4-t1, .gl4-t2, .gl4-t3, .gl4-t4,
    .gl4-t5, .gl4-t6, .gl4-t7, .gl4-t8 {
        grid-column: auto !important;
        height: 46vh !important;
    }
    /* Légendes toujours visibles au tactile */
    .gl4-tile figcaption {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ============================================================
   5. KICKER + TITRES DE SECTION v4
   ============================================================ */

.gl4-kicker {
    display: block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.4em !important;
    text-indent: 0.4em !important;
    text-transform: uppercase !important;
    color: var(--v4-earth) !important;
    margin-bottom: 18px !important;
}

h2.gl4-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 400 !important;
    font-size: clamp(2.2rem, 4vw, 3.8rem) !important;
    line-height: 1.1 !important;
    color: var(--v4-ink) !important;
    margin: 0 !important;
    text-wrap: balance !important;
}

/* ============================================================
   6. PRESTATIONS — sommaire éditorial numéroté
   ============================================================ */

.gl4-services {
    max-width: 1080px !important;
    margin: 0 auto !important;
    padding: clamp(50px, 8vh, 110px) 24px !important;
}

.gl4-service {
    display: grid !important;
    grid-template-columns: 70px 1fr auto !important;
    align-items: baseline !important;
    gap: 22px !important;
    padding: 34px 6px !important;
    border-bottom: 1px solid var(--v4-line) !important;
    text-decoration: none !important;
    transition: padding-left 0.4s cubic-bezier(0.22, 1, 0.36, 1), background 0.4s ease !important;
}

.gl4-service:first-of-type {
    border-top: 1px solid var(--v4-line) !important;
}

.gl4-service:hover {
    padding-left: 22px !important;
    background: var(--v4-bg-alt) !important;
}

.gl4-service-num {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.2em !important;
    color: var(--v4-earth) !important;
}

.gl4-service-name {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.7rem, 3vw, 2.6rem) !important;
    font-weight: 400 !important;
    color: var(--v4-ink) !important;
    line-height: 1.15 !important;
}

.gl4-service-name small {
    display: block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--v4-ink-soft) !important;
    margin-top: 8px !important;
}

.gl4-service-arrow {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase !important;
    color: var(--v4-earth) !important;
    opacity: 0 !important;
    transition: opacity 0.35s ease !important;
}

.gl4-service:hover .gl4-service-arrow {
    opacity: 1 !important;
}

@media (max-width: 768px) {
    .gl4-service { grid-template-columns: 44px 1fr !important; }
    .gl4-service-arrow { display: none !important; }
}

/* ============================================================
   7. MANIFESTE — citation en très grand
   ============================================================ */

.gl4-manifesto {
    text-align: center !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: clamp(80px, 13vh, 170px) 24px !important;
}

.gl4-manifesto-text {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
    font-weight: 300 !important;
    font-size: clamp(1.8rem, 3.6vw, 3.4rem) !important;
    line-height: 1.35 !important;
    color: var(--v4-ink) !important;
    margin: 0 0 28px !important;
    text-wrap: balance !important;
}

.gl4-manifesto-sign {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.74rem !important;
    letter-spacing: 0.3em !important;
    text-transform: uppercase !important;
    color: var(--v4-earth) !important;
}

/* ============================================================
   8. PREUVE — rang + avis en une ligne sobre
   ============================================================ */

.gl4-proof {
    background: var(--v4-ink) !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    padding: clamp(48px, 7vh, 84px) 24px !important;
    text-align: center !important;
}

.gl4-proof-line {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.3rem, 2.3vw, 2rem) !important;
    font-weight: 300 !important;
    color: #f5f1e8 !important;
    margin: 0 0 14px !important;
}

.gl4-proof-line strong {
    color: #d9b97c !important;
    font-weight: 500 !important;
}

.gl4-proof-sub {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    color: rgba(245, 241, 232, 0.6) !important;
    margin: 0 !important;
}

.gl4-proof a {
    color: #d9b97c !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(217, 185, 124, 0.4) !important;
}

/* ============================================================
   9. CONTACT — clair, formulaire net
   ============================================================ */

.gl4-contact-row {
    background: var(--v4-bg) !important;
}

/* Conteneur respirant : le titre était collé au bord gauche */
.gl4-contact-row .l-section-h {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: clamp(56px, 9vh, 110px) clamp(24px, 4vw, 56px) !important;
}

.gl4-contact-row .w-form-row input,
.gl4-contact-row .w-form-row textarea,
.gl4-contact-row input,
.gl4-contact-row textarea {
    background: #ffffff !important;
    color: var(--v4-ink) !important;
    border: 1px solid var(--v4-line) !important;
}

.gl4-contact-row .w-form-row input:focus,
.gl4-contact-row .w-form-row textarea:focus {
    border-color: var(--v4-earth) !important;
    box-shadow: 0 0 0 3px rgba(138, 111, 84, 0.12) !important;
}

.gl4-contact-row .w-form-row-label,
.gl4-contact-row label {
    color: var(--v4-ink-soft) !important;
}

.gl4-contact-row .w-btn,
.gl4-contact-row button[type="submit"] {
    background: var(--v4-ink) !important;
    color: var(--v4-bg) !important;
    border: none !important;
}
.gl4-contact-row .w-btn:hover {
    background: var(--v4-earth) !important;
}

/* Témoignages sur fond clair */
.gl4-contact-row .type-us_testimonial .w-grid-item-h {
    background: #ffffff !important;
    border: 1px solid var(--v4-line) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 6px 24px rgba(26, 23, 20, 0.05) !important;
}

.gl4-contact-row .type-us_testimonial .w-post-elm.post_content,
.gl4-contact-row .type-us_testimonial .w-post-elm.post_content * {
    color: var(--v4-ink-soft) !important;
}

/* ============================================================
   10. FOOTER — ivoire foncé, signature inversée
   ============================================================ */

.l-footer,
.l-footer .l-section,
.l-footer .l-section-h,
.l-footer .w-socials,
.l-footer [class*="us_custom"] {
    background: var(--v4-bg-alt) !important;
    background-image: none !important;
}

.l-footer {
    border-top: 1px solid var(--v4-line) !important;
    padding: clamp(40px, 6vh, 72px) 24px clamp(28px, 4vh, 48px) !important;
}

.l-footer .l-section-h {
    max-width: 1180px !important;
    margin: 0 auto !important;
}

.l-footer, .l-footer p, .l-footer span, .l-footer li, .l-footer div {
    color: var(--v4-ink-soft) !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.84rem !important;
    line-height: 1.8 !important;
}

.l-footer h1, .l-footer h2, .l-footer h3, .l-footer h4 {
    color: var(--v4-ink) !important;
    font-family: 'Cormorant Garamond', serif !important;
    letter-spacing: 0.04em !important;
}

.l-footer a {
    color: var(--v4-ink) !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 0.3s ease, color 0.3s ease !important;
}

.l-footer a:hover {
    color: var(--v4-earth) !important;
    border-bottom-color: var(--v4-earth) !important;
}

/* Menus du footer : liste horizontale centrée propre */
.l-footer .menu, .l-footer ul {
    list-style: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px 28px !important;
}

.l-footer .menu a, .l-footer ul a {
    font-size: 0.74rem !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
}

/* Icônes sociales : encre, sobres */
.l-footer .w-socials-item-link,
.l-footer [class*="fa-"],
.l-footer i {
    color: var(--v4-ink) !important;
    background: transparent !important;
}
.l-footer .w-socials-item-link:hover i {
    color: var(--v4-earth) !important;
}

.l-footer .w-logo img,
.l-footer img[src*="signature"] {
    filter: invert(1) !important;
    opacity: 0.8 !important;
}

.l-footer::before {
    background: linear-gradient(90deg, transparent, var(--v4-earth), transparent) !important;
}

/* Mentions copyright : centrées, discrètes */
.l-footer .w-copyright,
.l-footer [class*="copyright"] {
    text-align: center !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    opacity: 0.75 !important;
    margin-top: 18px !important;
}

/* ============================================================
   11. SCROLL PROGRESS — fine ligne encre
   ============================================================ */

.gl-scroll-progress {
    background: var(--v4-ink) !important;
    box-shadow: none !important;
    height: 2px !important;
}

/* ============================================================
   12. SÉLECTION & DIVERS
   ============================================================ */

::selection {
    background: rgba(138, 111, 84, 0.22) !important;
    color: var(--v4-ink) !important;
}

::-webkit-scrollbar { width: 5px !important; }
::-webkit-scrollbar-track { background: var(--v4-bg-alt) !important; }
::-webkit-scrollbar-thumb { background: var(--v4-earth) !important; border-radius: 3px !important; }

@media (min-width: 1025px) {
    * { cursor: default !important; }
    a, button, [role="button"] { cursor: pointer !important; }
}

/* ============================================================
   13. BANDE GALERIE 3D — accès à l'exposition virtuelle
   ============================================================ */

.gl4-g3d {
    text-align: center !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: clamp(70px, 11vh, 140px) 24px !important;
    border-top: 1px solid var(--v4-line) !important;
}

.gl4-g3d-sub {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.1rem, 1.7vw, 1.4rem) !important;
    font-style: italic !important;
    color: var(--v4-ink-soft) !important;
    margin: 20px 0 36px !important;
}

/* ════════════════════════════════════════════════════════════
   V5 « CHAPITRES » — home plein écran à scroll magnétique
   + habillage global des pages intérieures (bandeau cinématique)
   ════════════════════════════════════════════════════════════ */

/* ── 14. Le livre : chapitres plein écran ── */

html.gl5-snap {
    scroll-snap-type: y proximity !important;
}

.gl5-book-row .l-section-h {
    max-width: none !important;
    padding: 0 !important;
}

.gl5-chap {
    background: #08080b !important;   /* fond d'attente : texte ivoire lisible pendant le chargement des photos */
    position: relative !important;
    height: 100svh !important;
    min-height: 560px !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    display: block !important;
}

.gl5-bg {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.gl5-veil {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top,
        rgba(8, 8, 11, 0.82) 0%,
        rgba(8, 8, 11, 0.34) 38%,
        rgba(8, 8, 11, 0.10) 62%,
        rgba(8, 8, 11, 0.18) 100%) !important;
}

.gl5-veil-cover {
    background: linear-gradient(to top,
        rgba(8, 8, 11, 0.86) 0%,
        rgba(8, 8, 11, 0.30) 45%,
        rgba(8, 8, 11, 0.12) 100%) !important;
}

.gl5-content {
    position: absolute !important;
    left: clamp(24px, 7vw, 110px) !important;
    bottom: clamp(56px, 11vh, 130px) !important;
    max-width: min(86vw, 880px) !important;
    z-index: 2 !important;
}

.gl5-eyebrow {
    display: block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
    color: #d9b97c !important;
    margin-bottom: 22px !important;
}

h1.gl5-name {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 300 !important;
    font-size: clamp(4rem, 13vw, 11rem) !important;
    line-height: 0.95 !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
    color: #f5f1e8 !important;
    margin: 0 0 26px !important;
}

h2.gl5-word {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
    font-weight: 300 !important;
    font-size: clamp(3.2rem, 10vw, 8.2rem) !important;
    line-height: 1 !important;
    text-transform: none !important;
    color: #f5f1e8 !important;
    margin: 0 0 22px !important;
}

.gl5-line {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: clamp(1.1rem, 1.9vw, 1.5rem) !important;
    font-weight: 300 !important;
    color: rgba(245, 241, 232, 0.85) !important;
    margin: 0 0 34px !important;
    max-width: 540px !important;
}

.gl5-rank {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    color: rgba(245, 241, 232, 0.8) !important;
}

.gl5-cta {
    display: inline-block !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.76rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.26em !important;
    text-transform: uppercase !important;
    background: #f5f1e8 !important;
    color: #08080b !important;
    padding: 17px 44px !important;
    text-decoration: none !important;
    transition: all 0.35s ease !important;
}

.gl5-cta:hover {
    background: #d9b97c !important;
    color: #08080b !important;
    transform: translateY(-2px) !important;
}

/* Chapitre V — La Chambre Noire (bonus 3D) */
.gl5-noire {
    background: radial-gradient(ellipse 70% 60% at 50% 42%,
        #14121a 0%, #08080b 70%) !important;
}
.gl5-noire .gl5-content {
    left: 50% !important;
    bottom: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    text-align: center !important;
}
.gl5-word-noire {
    font-style: italic !important;
}
.gl5-cta-light {
    background: transparent !important;
    color: #f5f1e8 !important;
    border: 1px solid rgba(245, 241, 232, 0.5) !important;
}
.gl5-cta-light:hover {
    background: transparent !important;
    border-color: #d9b97c !important;
    color: #d9b97c !important;
}
.gl5-noire .gl5-line { max-width: none !important; }

/* Indice de scroll sur la couverture */
.gl5-scrollcue {
    position: absolute !important;
    bottom: 26px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1px !important;
    height: 52px !important;
    background: rgba(245, 241, 232, 0.25) !important;
    overflow: hidden !important;
    z-index: 2 !important;
}
.gl5-scrollcue span {
    position: absolute !important;
    top: -40%; left: 0 !important;
    width: 100% !important;
    height: 40% !important;
    background: #d9b97c !important;
    animation: gl5-cue 2.2s ease-in-out infinite !important;
}
@keyframes gl5-cue { to { top: 110%; } }

/* Sommaire flottant — chiffres romains */
.gl5-toc {
    position: fixed !important;
    right: clamp(14px, 2.4vw, 34px) !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    z-index: 30 !important;
    mix-blend-mode: difference !important;
}
.gl5-toc a {
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.62rem !important;
    letter-spacing: 0.14em !important;
    color: rgba(255, 255, 255, 0.55) !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: color 0.3s ease !important;
}
.gl5-toc a:hover, .gl5-toc a.on { color: #ffffff !important; }
@media (max-width: 768px) { .gl5-toc { display: none !important; } }

/* Header transparent sur la home (photos plein écran dessous) */
body.home .l-header:not(.sticky) {
    background: transparent !important;
    box-shadow: none !important;
}
body.home .l-header:not(.sticky) .w-logo img { filter: none !important; }
body.home .l-header:not(.sticky) .menu-item > a,
body.home .l-header:not(.sticky) .w-nav-item > a,
body.home .l-header:not(.sticky) a:not(.gl-header-cta) {
    color: #f5f1e8 !important;
}

/* Chapitre contact (row WPBakery) : pleine hauteur, centré */
.gl5-contact {
    min-height: 100svh !important;
    scroll-snap-align: start !important;
    display: flex !important;
    align-items: center !important;
}
.gl5-contact .l-section-h {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: clamp(70px, 11vh, 130px) clamp(24px, 4vw, 56px) !important;
}
.gl5-contact-head { margin-bottom: 40px !important; }
h2.gl5-contact-title {
    font-family: 'Cormorant Garamond', serif !important;
    font-style: italic !important;
    font-weight: 300 !important;
    font-size: clamp(2.2rem, 4.6vw, 4.2rem) !important;
    text-transform: none !important;
    color: var(--v4-ink) !important;
    margin: 10px 0 0 !important;
}
.gl5-contact .gl5-eyebrow { color: var(--v4-earth) !important; }

/* wpautop : neutraliser les br parasites dans le livre */
.gl5-book br, .gl5-book p:empty { display: none !important; }
.gl5-word br, h1.gl5-name br { display: inline !important; } /* sauf les retours voulus des titres */

/* ── 15. PAGES INTÉRIEURES — bandeau cinématique automatique ── */

body.page:not(.home) .l-titlebar { display: none !important; }

.gl5-pagehero {
    position: relative !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    height: clamp(330px, 52vh, 560px) !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: flex-end !important;
    margin-bottom: clamp(40px, 7vh, 80px) !important;
}
.gl5-pagehero-bg {
    position: absolute !important;
    inset: 0 !important;
    background-size: cover !important;
    background-position: center 30% !important;
}
.gl5-pagehero-veil {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top,
        rgba(8, 8, 11, 0.78) 0%, rgba(8, 8, 11, 0.22) 55%, rgba(8, 8, 11, 0.12) 100%) !important;
}
.gl5-pagehero-inner {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 4vw, 56px) clamp(34px, 6vh, 60px) !important;
}
.gl5-pagehero-inner .gl5-eyebrow { margin-bottom: 12px !important; }
h1.gl5-pagetitle {
    font-family: 'Cormorant Garamond', serif !important;
    font-weight: 300 !important;
    font-size: clamp(2.4rem, 6vw, 5.2rem) !important;
    line-height: 1.05 !important;
    text-transform: none !important;
    color: #f5f1e8 !important;
    margin: 0 !important;
    text-wrap: balance !important;
}

/* Contenu des pages : conteneur respirant homogène */
body.page:not(.home) .l-main .l-section-h {
    max-width: 1180px !important;
}
