﻿/*
Theme Name:  Les Maisons de Marie — Thème Personnalisé
Theme URI:   https://les-maisons-de-marie.fr
Description: Thème sur-mesure des Maisons de Marie, basé sur Twenty Twenty-Four. Style luxe sombre avec accents dorés.
Author:      Les Maisons de Marie
Template:    twentytwentyfour
Version:     1.0.0
Text Domain: lmm-child
*/

/* ═══════════════════════════════════════════════════
   LMM – Variables
   ═══════════════════════════════════════════════════ */
:root {
    --lmm-bg:      #0c0c0c;
    --lmm-surface: #141414;
    --lmm-card:    #1a1a1a;
    --lmm-border:  #2c2c2c;
    --lmm-text:    #f0ece6;
    --lmm-mid:     #b8b0a6;
    --lmm-muted:   #6e6660;
    --lmm-gold:    #c9a96e;
    --lmm-goldl:   #e0c38c;
}

/* ── Reset navigateur ── */
header.wp-block-template-part > .wp-block-group {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
header.wp-block-template-part {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
html, body {
    margin: 0 !important;
    padding: 0 !important;
}
html { margin-top: 0 !important; }
#wpadminbar { display: none !important; }

/* ── Global ── */
body,
.wp-site-blocks {
    background-color: var(--lmm-bg) !important;
    color: var(--lmm-text) !important;
    font-family: 'DM Sans', sans-serif !important;
}

/* ── Headings ── */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif !important;
    color: var(--lmm-text) !important;
}

/* ── Links ── */
a { color: var(--lmm-gold) !important; }
a:hover { color: var(--lmm-goldl) !important; }

/* ── Header fixe transparent → scroll ── */
header.wp-block-template-part {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: transparent !important;
    border-bottom: 1px solid transparent !important;
    transition: background 0.45s ease, border-color 0.45s ease, backdrop-filter 0.45s ease !important;
}
header.wp-block-template-part.scrolled {
    background: rgba(10,10,10,0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom-color: var(--lmm-border) !important;
}

/* ── 3 colonnes header ── */
.lmm-header-inner {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 130px !important;
    padding: 20px 40px 0 40px !important;
    gap: 0 !important;
    transition: height 0.45s ease !important;
}
header.wp-block-template-part.scrolled .lmm-header-inner {
    height: 112px !important;
}

/* ── Navigation gauche ── */
.lmm-nav-left { justify-content: flex-end !important; }
.lmm-nav-left .wp-block-navigation__container { justify-content: flex-end !important; gap: 4px !important; }

/* ── Navigation droite ── */
.lmm-nav-right { justify-content: flex-start !important; }
.lmm-nav-right .wp-block-navigation__container { justify-content: flex-start !important; gap: 4px !important; }

/* ── Liens de navigation ── */
.lmm-nav-left .wp-block-navigation-item__content,
.lmm-nav-right .wp-block-navigation-item__content {
    padding: 10px 18px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: rgba(240,236,230,1) !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
}
.lmm-nav-left .wp-block-navigation-item__content:hover,
.lmm-nav-right .wp-block-navigation-item__content:hover {
    color: var(--lmm-gold) !important;
}

/* ── Lien CTA "Réserver" ── */
.lmm-nav-cta .wp-block-navigation-item__content {
    color: var(--lmm-gold) !important;
    border: 1px solid var(--lmm-gold) !important;
    border-radius: 2px !important;
    padding: 8px 20px !important;
}
.lmm-nav-cta .wp-block-navigation-item__content:hover {
    background: var(--lmm-gold) !important;
    color: #0c0c0c !important;
}

/* ── Logo centré ── */
.lmm-header-logo { text-align: center !important; flex-shrink: 0 !important; }
.lmm-header-logo .wp-block-site-logo img {
    width: 160px !important;
    height: auto !important;
    max-height: 160px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
    transition: width 0.45s ease, max-height 0.45s ease !important;
}
header.wp-block-template-part.scrolled .lmm-header-logo .wp-block-site-logo img {
    width: 92px !important;
    max-height: 92px !important;
}
.lmm-header-logo .wp-block-site-title a {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.08em !important;
    color: var(--lmm-text) !important;
    text-decoration: none !important;
}

/* ── Sous-menus ── */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
    background: #0e0e0e !important;
    border: 1px solid var(--lmm-border) !important;
    border-top: 2px solid var(--lmm-gold) !important;
    min-width: 220px !important;
    padding: 8px 0 !important;
    box-shadow: 0 16px 40px rgba(0,0,0,.6) !important;
    border-radius: 0 !important;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    padding: 12px 24px !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: var(--lmm-mid) !important;
    white-space: nowrap !important;
    transition: color .2s, padding-left .2s !important;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: var(--lmm-gold) !important;
    padding-left: 32px !important;
}
.wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):focus-within > .wp-block-navigation__submenu-container {
    height: auto !important;
    width: auto !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* ── Fix main margin avec header fixe ── */
.wp-site-blocks > main,
.wp-site-blocks > main.wp-block-group {
    margin-block-start: 0 !important;
}
.wp-block-post-content > .wp-block-cover:first-child,
.wp-block-post-content > .alignfull:first-child {
    margin-top: 0 !important;
}

/* ── Cacher le titre de page ── */
main .wp-block-post-title { display: none !important; }

/* ════════════════════════
   HERO
   ════════════════════════ */
.lmm-hero {
    min-height: 100vh !important;
    position: relative !important;
}
.lmm-hero .wp-block-cover__inner-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    padding-top: 130px !important;
}

/* ── Textes hero ── */
.lmm-eyebrow {
    color: #c9a96e !important;
    font-size: 14px !important;
    letter-spacing: 0.2em !important;
    font-weight: 500 !important;
}
.wp-block-cover h1 em { color: #c9a96e !important; }
.wp-block-cover h1.wp-block-heading {
    font-size: clamp(52px, 8vw, 96px) !important;
    line-height: 1.05 !important;
}
.lmm-hero-sub {
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: rgba(240,236,230,0.75) !important;
}

/* ── Bouton hero ── */
.btn-hero .wp-block-button__link,
.btn-hero .wp-element-button {
    display: inline-block !important;
    padding: 15px 40px !important;
    background: var(--lmm-gold) !important;
    color: #0c0c0c !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    border-radius: 40px !important;
    border: none !important;
    text-decoration: none !important;
    box-shadow: 0 4px 24px rgba(201,169,110,0.25) !important;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}
.btn-hero .wp-block-button__link:hover,
.btn-hero .wp-element-button:hover {
    background: var(--lmm-goldl) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 32px rgba(201,169,110,0.4) !important;
    color: #0c0c0c !important;
}

/* ════════════════════════
   SECTIONS
   ════════════════════════ */
.lmm-section { padding: 100px 40px !important; }
.lmm-section--dark { background-color: var(--lmm-bg) !important; }
.lmm-section--surface { background-color: var(--lmm-surface) !important; position: relative !important; }

.lmm-section-label {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--lmm-gold) !important;
    margin-bottom: 16px !important;
}
.lmm-section-title {
    font-family: 'Playfair Display', serif !important;
    font-size: clamp(32px, 5vw, 52px) !important;
    font-weight: 400 !important;
    color: var(--lmm-text) !important;
    line-height: 1.2 !important;
    margin-bottom: 24px !important;
}
.lmm-section-body {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: var(--lmm-mid) !important;
    max-width: 540px !important;
}
.lmm-divider {
    width: 48px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
    margin: 0 0 32px 0 !important;
    border: none !important;
}
.lmm-body-mid {
    color: var(--lmm-mid) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin-bottom: 16px !important;
}
h2.wp-block-heading em {
    color: var(--lmm-gold) !important;
    font-style: italic !important;
}

/* ════════════════════════
   NOTRE HISTOIRE
   ════════════════════════ */
.lmm-section--dark h2.wp-block-heading,
.lmm-section--surface h2.wp-block-heading {
    font-size: clamp(36px, 5vw, 58px) !important;
    line-height: 1.1 !important;
}
.lmm-about-img img {
    width: 100% !important;
    height: 560px !important;
    object-fit: cover !important;
    object-position: top center !important;
    border-radius: 16px !important;
    display: block !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}
.lmm-about-wrap { position: relative !important; }
.lmm-intro-badge {
    position: absolute !important;
    bottom: -32px !important;
    right: -32px !important;
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    background: var(--lmm-bg) !important;
    border: 1px solid var(--lmm-gold) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
    gap: 4px !important;
}
.lmm-badge-number {
    font-family: 'Playfair Display', serif !important;
    font-size: 36px !important;
    font-weight: 400 !important;
    color: var(--lmm-gold) !important;
    line-height: 1 !important;
    display: block !important;
}
.lmm-badge-text {
    font-size: 9px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--lmm-mid) !important;
    text-align: center !important;
    line-height: 1.4 !important;
    display: block !important;
}

/* ════════════════════════
   STATS
   ════════════════════════ */
.lmm-section--stats {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    border-top: 1px solid var(--lmm-border) !important;
    border-bottom: 1px solid var(--lmm-border) !important;
    background: var(--lmm-surface) !important;
}
.lmm-stat {
    text-align: center !important;
    padding: 40px 24px !important;
    border-right: 1px solid var(--lmm-border) !important;
    background: transparent !important;
    position: relative !important;
    transition: background 0.3s ease !important;
}
.lmm-stat:last-child { border-right: none !important; }
.lmm-stat::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 2px !important;
    background: var(--lmm-gold) !important;
    transition: width 0.4s ease !important;
}
.lmm-stat:hover::after { width: 40px !important; }
.lmm-stat-number {
    font-family: 'Playfair Display', serif !important;
    font-size: 48px !important;
    font-weight: 400 !important;
    color: var(--lmm-gold) !important;
    display: block !important;
}
.lmm-stat-label {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--lmm-muted) !important;
    margin-top: 8px !important;
    display: block !important;
}

/* ════════════════════════
   CARTES LOGEMENTS
   ════════════════════════ */
.lmm-logement-card {
    background: var(--lmm-card) !important;
    border: 1px solid var(--lmm-border) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.lmm-logement-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 60px rgba(0,0,0,0.5) !important;
}
.lmm-card-img { margin: 0 !important; overflow: hidden !important; }
.lmm-card-img img,
.lmm-logement-card img {
    width: 100% !important;
    height: 360px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.5s ease !important;
    border-radius: 0 !important;
}
.lmm-logement-card:hover .lmm-card-img img,
.lmm-logement-card:hover img { transform: scale(1.04) !important; }
.lmm-logement-meta {
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--lmm-gold) !important;
    margin: 28px 28px 10px !important;
    display: block !important;
}
.lmm-card-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: var(--lmm-text) !important;
    margin: 0 28px 12px !important;
}
.lmm-card-desc {
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: var(--lmm-mid) !important;
    margin: 0 28px 20px !important;
}
.lmm-amenities {
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    color: var(--lmm-muted) !important;
    margin: 0 28px 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--lmm-border) !important;
}
.lmm-price {
    font-size: 14px !important;
    color: var(--lmm-mid) !important;
    margin: 0 28px 24px !important;
}
.lmm-price strong {
    font-family: 'Playfair Display', serif !important;
    font-size: 26px !important;
    font-weight: 400 !important;
    color: var(--lmm-gold) !important;
}

/* ── Bouton outline (cartes) ── */
.lmm-btn-outline { margin: 0 28px 28px !important; }
.lmm-btn-outline .wp-block-button__link,
.lmm-btn-outline .wp-element-button {
    display: inline-block !important;
    padding: 12px 32px !important;
    background: transparent !important;
    border: 1px solid var(--lmm-gold) !important;
    color: var(--lmm-gold) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: background 0.3s ease, color 0.3s ease !important;
}
.lmm-btn-outline .wp-block-button__link:hover,
.lmm-btn-outline .wp-element-button:hover {
    background: var(--lmm-gold) !important;
    color: #0c0c0c !important;
}

/* ════════════════════════
   CARTES EXPÉRIENCES
   ════════════════════════ */
.lmm-section--exp { background: var(--lmm-bg) !important; }
.lmm-section--exp .lmm-section-label { text-align: center !important; display: block !important; }
.lmm-section--exp h2.wp-block-heading { text-align: center !important; margin-bottom: 0 !important; }

.lmm-section--surface { background: var(--lmm-surface) !important; position: relative !important; }
.lmm-section--surface .lmm-section-label { display: block !important; text-align: center !important; margin-bottom: 20px !important; }
.lmm-section--surface h2.wp-block-heading {
    text-align: center !important;
    font-size: clamp(36px, 5vw, 58px) !important;
    margin-bottom: 64px !important;
    position: relative !important;
    padding-bottom: 32px !important;
}
.lmm-section--surface h2.wp-block-heading::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 48px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
}
.lmm-section--surface .wp-block-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 20px !important;
    flex-wrap: unset !important;
    align-items: unset !important;
}
.lmm-section--surface .wp-block-columns > * { width: 100% !important; flex-basis: unset !important; margin: 0 !important; }
.lmm-section--surface .wp-block-columns > *:first-child { grid-column: 1 / -1 !important; height: 480px !important; }
.lmm-section--surface .lmm-exp-card:not(:first-child) { height: 340px !important; }

.lmm-exp-card {
    position: relative !important;
    height: 420px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    cursor: pointer !important;
}
.lmm-exp-card:first-child { height: 520px !important; }
.lmm-exp-card .wp-block-image {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    height: 100% !important;
}
.lmm-exp-card .wp-block-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    transition: transform 0.6s ease !important;
}
.lmm-exp-card:hover .wp-block-image img { transform: scale(1.08) !important; }
.lmm-exp-card::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.82) 100%) !important;
    z-index: 1 !important;
    transition: background 0.4s ease !important;
}
.lmm-exp-card:hover::before {
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.90) 100%) !important;
}
.lmm-exp-card::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: var(--lmm-gold) !important;
    z-index: 2 !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.4s ease !important;
}
.lmm-exp-card:hover::after { transform: scaleX(1) !important; }
.lmm-exp-card h3.wp-block-heading {
    position: absolute !important;
    bottom: 72px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 28px !important;
    margin: 0 !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: #fff !important;
    z-index: 2 !important;
    transition: bottom 0.4s ease !important;
}
.lmm-exp-card:hover h3.wp-block-heading { bottom: 100px !important; }
.lmm-exp-desc {
    position: absolute !important;
    bottom: 24px !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 28px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: rgba(240,236,230,0.75) !important;
    z-index: 2 !important;
    opacity: 0 !important;
    transform: translateY(8px) !important;
    transition: opacity 0.4s ease, transform 0.4s ease !important;
}
.lmm-exp-card:hover .lmm-exp-desc { opacity: 1 !important; transform: translateY(0) !important; }

.lmm-section--surface .wp-block-columns > *:nth-child(1) .lmm-exp-card h3.wp-block-heading { font-size: 30px !important; bottom: 88px !important; }
.lmm-section--surface .wp-block-columns > *:nth-child(1) .lmm-exp-card:hover h3.wp-block-heading { bottom: 120px !important; }
.lmm-section--surface .wp-block-columns > *:nth-child(1) .lmm-exp-card::before {
    background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.90) 100%) !important;
}

/* ════════════════════════
   BOUTON OR
   ════════════════════════ */
.lmm-btn-gold,
.lmm-btn-gold .wp-element-button {
    display: inline-block !important;
    padding: 14px 36px !important;
    background: transparent !important;
    border: 1px solid var(--lmm-gold) !important;
    color: var(--lmm-gold) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: background 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
}
.lmm-btn-gold:hover,
.lmm-btn-gold .wp-element-button:hover {
    background: var(--lmm-gold) !important;
    color: #0c0c0c !important;
}

/* ════════════════════════
   FOOTER
   ════════════════════════ */
.lmm-footer { background: #090909 !important; border-top: 1px solid var(--lmm-border) !important; }
.lmm-footer-logo .wp-block-site-logo img { width: 80px !important; height: auto !important; opacity: .8 !important; margin-bottom: 20px !important; }
.lmm-footer-heading { font-size: 10px !important; font-weight: 700 !important; letter-spacing: .2em !important; text-transform: uppercase !important; color: var(--lmm-gold) !important; margin-bottom: 18px !important; }
.lmm-footer-desc { font-size: 13px !important; line-height: 1.8 !important; color: var(--lmm-muted) !important; margin-bottom: 20px !important; }
.lmm-footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.lmm-footer-links li { margin-bottom: 10px !important; font-size: 13px !important; }
.lmm-footer-links li a { color: var(--lmm-mid) !important; text-decoration: none !important; transition: color .25s ease !important; }
.lmm-footer-links li a:hover { color: var(--lmm-gold) !important; }
.lmm-footer-contact { font-size: 13px !important; color: var(--lmm-mid) !important; margin-bottom: 12px !important; line-height: 1.7 !important; }
.lmm-footer-contact a { color: var(--lmm-mid) !important; text-decoration: none !important; }
.lmm-footer-contact a:hover { color: var(--lmm-gold) !important; }
.lmm-footer-bottom { border-top: 1px solid var(--lmm-border) !important; padding: 20px 0 36px !important; font-size: 12px !important; color: var(--lmm-muted) !important; }
.lmm-footer-bottom a { color: var(--lmm-muted) !important; text-decoration: none !important; }
.lmm-footer-bottom a:hover { color: var(--lmm-gold) !important; }

/* ════════════════════════
   PAGE CONTACT
   ════════════════════════ */
.lmm-hero--small { min-height: 50vh !important; display: flex !important; align-items: flex-end !important; }
.lmm-hero--small .wp-block-cover__inner-container { padding-bottom: 60px !important; padding-top: 140px !important; }
.lmm-hero--small h1.wp-block-heading { font-size: clamp(40px, 6vw, 72px) !important; line-height: 1.05 !important; text-align: center !important; }
.lmm-contact-info { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.lmm-contact-line { display: flex !important; align-items: flex-start !important; gap: 16px !important; padding: 20px 0 !important; border-bottom: 1px solid var(--lmm-border) !important; font-size: 15px !important; color: var(--lmm-mid) !important; }
.lmm-contact-line:last-child { border-bottom: none !important; }
.lmm-contact-line strong { color: var(--lmm-text) !important; font-weight: 500 !important; min-width: 120px !important; display: inline-block !important; }
.lmm-contact-line a { color: var(--lmm-gold) !important; text-decoration: none !important; }
.lmm-contact-line a:hover { color: var(--lmm-goldl) !important; }

/* ════════════════════════
   PAGES LOGEMENT (sous-pages)
   ════════════════════════ */
.lmm-prop-hero { padding: 140px 40px 64px !important; background: var(--lmm-bg) !important; }
.lmm-prop-hero h1.wp-block-heading { font-size: clamp(48px, 7vw, 88px) !important; line-height: 1.05 !important; margin-bottom: 20px !important; }
.lmm-prop-meta { font-size: 13px !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; color: var(--lmm-muted) !important; }

.lmm-section--dark h2.wp-block-heading { font-size: 20px !important; margin-top: 40px !important; margin-bottom: 12px !important; padding-bottom: 10px !important; border-bottom: 1px solid var(--lmm-border) !important; }
.lmm-section--dark h3.wp-block-heading { font-size: 15px !important; font-weight: 500 !important; color: var(--lmm-muted) !important; letter-spacing: .06em !important; text-transform: uppercase !important; font-family: 'DM Sans', sans-serif !important; margin-top: 24px !important; margin-bottom: 8px !important; }

/* Encart réservation */
.lmm-prop-booking-box {
    background: var(--lmm-surface) !important;
    border: 1px solid var(--lmm-border) !important;
    border-top: 2px solid var(--lmm-gold) !important;
    padding: 36px !important;
    position: sticky !important;
    top: 120px !important;
}

/* ════════════════════════
   RESPONSIF MOBILE
   ════════════════════════ */
@media (max-width: 768px) {
    .lmm-header-inner {
        grid-template-columns: auto 1fr !important;
        height: 80px !important;
        padding: 0 20px !important;
    }
    .lmm-nav-left { display: none !important; }
    .lmm-header-logo { order: -1 !important; }
    .lmm-section { padding: 60px 20px !important; }
    .lmm-section--stats { padding: 32px 20px !important; }
    .lmm-section--surface .wp-block-columns {
        grid-template-columns: 1fr !important;
    }
    .lmm-section--surface .wp-block-columns > *:first-child {
        grid-column: 1 !important;
        height: 320px !important;
    }
}

/* ── Force header pleine largeur ── */
header.wp-block-template-part,
header.wp-block-template-part > *,
header.wp-block-template-part .wp-block-group {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
.lmm-header-inner {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 0 40px !important;
    padding-top: 20px !important;
    margin: 0 !important;
}

/* ── Contenu pleine largeur ── */
:root {
    --wp--style--global--content-size: 100% !important;
    --wp--style--global--wide-size: 100% !important;
}
.wp-site-blocks,
.entry-content,
.wp-block-post-content,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
}
.wp-block-group.alignfull,
.wp-block-cover.alignfull,
section.wp-block-group {
    max-width: 100% !important;
    width: 100% !important;
}

/* ── Supprimer le padding global WordPress qui écrase les bords ── */
body {
    --wp--style--root--padding-top: 0px !important;
    --wp--style--root--padding-right: 0px !important;
    --wp--style--root--padding-bottom: 0px !important;
    --wp--style--root--padding-left: 0px !important;
}
.wp-site-blocks {
    padding: 0 !important;
}

/* ── Hero et blocs alignfull collés aux bords ── */
.wp-block-cover.alignfull,
.wp-block-group.alignfull,
section.wp-block-group.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ── Navigation : espacer les liens ── */
.lmm-nav-left .wp-block-navigation__container,
.lmm-nav-right .wp-block-navigation__container {
    gap: 8px !important;
}
.lmm-nav-left .wp-block-navigation-item__content,
.lmm-nav-right .wp-block-navigation-item__content {
    padding: 10px 22px !important;
}

/* ── Espacement header : gap entre nav et logo ── */
.lmm-header-inner {
    gap: 48px !important;
    column-gap: 48px !important;
}
.lmm-nav-left .wp-block-navigation-item__content,
.lmm-nav-right .wp-block-navigation-item__content {
    padding: 10px 20px !important;
    letter-spacing: 0.12em !important;
}

/* ── Gap header augmenté ── */
.lmm-header-inner { gap: 90px !important; column-gap: 90px !important; }

/* ── Sections : marges latérales suffisantes ── */
.lmm-section {
    padding: 100px 8vw !important;
}
.lmm-section--stats {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    padding-left: 8vw !important;
    padding-right: 8vw !important;
}

/* ════════════════════════════════════
   SECTION NOTRE HISTOIRE — refonte
   ════════════════════════════════════ */

#notre-histoire .wp-block-columns {
    gap: 80px !important;
    align-items: center !important;
}
#notre-histoire .lmm-section-label {
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
    margin-bottom: 20px !important;
    display: block !important;
}
#notre-histoire h2.wp-block-heading {
    font-size: clamp(36px, 4vw, 54px) !important;
    line-height: 1.15 !important;
    margin-bottom: 28px !important;
    font-weight: 400 !important;
}
#notre-histoire .lmm-body-mid {
    font-size: 16px !important;
    line-height: 1.9 !important;
    color: var(--lmm-mid) !important;
    margin-bottom: 32px !important;
    max-width: 480px !important;
}
#notre-histoire .wp-block-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    border-top: 1px solid var(--lmm-border) !important;
    padding-top: 28px !important;
}
#notre-histoire .wp-block-list li {
    font-size: 14px !important;
    color: var(--lmm-mid) !important;
    padding-left: 22px !important;
    position: relative !important;
    letter-spacing: 0.03em !important;
    line-height: 1.6 !important;
}
#notre-histoire .wp-block-list li::before {
    content:  !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 10px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
}
#notre-histoire .lmm-about-img img {
    height: 500px !important;
    border-radius: 4px !important;
    box-shadow: 0 32px 80px rgba(0,0,0,0.6) !important;
}
.lmm-intro-badge {
    bottom: -20px !important;
    right: -20px !important;
}

/* ════════════════════════════════════
   NOTRE HISTOIRE — version premium
   ════════════════════════════════════ */

#notre-histoire {
    padding: 120px 8vw !important;
}
#notre-histoire .wp-block-columns {
    gap: 100px !important;
    align-items: center !important;
}

/* Colonne texte */
#notre-histoire .wp-block-column:first-child {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* Eyebrow avec trait doré avant */
#notre-histoire .lmm-section-label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    font-size: 10px !important;
    letter-spacing: 0.25em !important;
    margin-bottom: 28px !important;
    color: var(--lmm-gold) !important;
}
#notre-histoire .lmm-section-label::before {
    content:  !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
    flex-shrink: 0 !important;
}

/* Titre dramatique */
#notre-histoire h2.wp-block-heading {
    font-size: clamp(40px, 4.5vw, 62px) !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    margin: 0 0 36px 0 !important;
    letter-spacing: -0.01em !important;
}

/* Texte intro */
#notre-histoire .lmm-body-mid {
    font-size: 15px !important;
    line-height: 2 !important;
    color: var(--lmm-mid) !important;
    margin-bottom: 40px !important;
    padding-left: 20px !important;
    border-left: 2px solid var(--lmm-gold) !important;
    font-style: italic !important;
    max-width: 100% !important;
}

/* Liste premium */
#notre-histoire .wp-block-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    border-top: 1px solid var(--lmm-border) !important;
}
#notre-histoire .wp-block-list li {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--lmm-text) !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    padding: 18px 0 18px 28px !important;
    border-bottom: 1px solid var(--lmm-border) !important;
    position: relative !important;
    transition: color 0.25s ease, padding-left 0.25s ease !important;
}
#notre-histoire .wp-block-list li::before {
    content:  !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 12px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
    transition: width 0.25s ease !important;
}
#notre-histoire .wp-block-list li:hover {
    color: var(--lmm-gold) !important;
    padding-left: 36px !important;
}
#notre-histoire .wp-block-list li:hover::before {
    width: 20px !important;
}

/* Image côté droit */
#notre-histoire .lmm-about-wrap {
    position: relative !important;
}
#notre-histoire .lmm-about-img {
    margin: 0 !important;
}
#notre-histoire .lmm-about-img img {
    width: 100% !important;
    height: 580px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 2px !important;
    display: block !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.7) !important;
}

/* Cadre décoratif derrière l image */
#notre-histoire .lmm-about-wrap::before {
    content:  !important;
    position: absolute !important;
    top: -16px !important;
    right: -16px !important;
    bottom: 16px !important;
    left: 16px !important;
    border: 1px solid var(--lmm-gold) !important;
    border-radius: 2px !important;
    opacity: 0.3 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}
#notre-histoire .lmm-about-img {
    position: relative !important;
    z-index: 1 !important;
}

/* Badge */
.lmm-intro-badge {
    bottom: -16px !important;
    right: -16px !important;
    z-index: 2 !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
}

/* ════════════════════════════════════
   SECTION NOS LOGEMENTS — premium
   ════════════════════════════════════ */

#nos-logements {
    padding: 120px 8vw !important;
}

/* Label avec trait */
#nos-logements .lmm-section-label {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    font-size: 10px !important;
    letter-spacing: 0.25em !important;
    margin-bottom: 24px !important;
}
#nos-logements .lmm-section-label::before {
    content:  !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
    flex-shrink: 0 !important;
}

/* Titre principal */
#nos-logements h2.wp-block-heading {
    font-size: clamp(42px, 5vw, 68px) !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 64px !important;
}
#nos-logements h2.wp-block-heading em {
    display: block !important;
    color: var(--lmm-gold) !important;
    font-style: italic !important;
}

/* Colonnes cartes bien espacées */
#nos-logements .wp-block-columns {
    gap: 40px !important;
    align-items: stretch !important;
}

/* Cartes logements */
#nos-logements .lmm-logement-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    border-radius: 2px !important;
    border: 1px solid var(--lmm-border) !important;
    overflow: hidden !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease !important;
}
#nos-logements .lmm-logement-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 40px 80px rgba(0,0,0,0.6) !important;
    border-color: var(--lmm-gold) !important;
}

/* Image de carte */
#nos-logements .lmm-card-img img,
#nos-logements .lmm-logement-card img {
    height: 380px !important;
    transition: transform 0.6s ease !important;
}
#nos-logements .lmm-logement-card:hover img {
    transform: scale(1.05) !important;
}

/* Meta (voyageurs etc) */
#nos-logements .lmm-logement-meta {
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
    color: var(--lmm-gold) !important;
    margin: 32px 32px 12px !important;
}

/* Titre de carte */
#nos-logements .lmm-card-title {
    font-size: 26px !important;
    margin: 0 32px 16px !important;
    font-weight: 400 !important;
}

/* Description */
#nos-logements .lmm-card-desc {
    font-size: 14px !important;
    line-height: 1.85 !important;
    color: var(--lmm-mid) !important;
    margin: 0 32px 24px !important;
}

/* Amenités */
#nos-logements .lmm-amenities {
    margin: 0 32px 20px !important;
    padding-top: 20px !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    color: var(--lmm-muted) !important;
    border-top: 1px solid var(--lmm-border) !important;
}

/* Prix */
#nos-logements .lmm-price {
    margin: 0 32px 28px !important;
    font-size: 13px !important;
    color: var(--lmm-mid) !important;
}
#nos-logements .lmm-price strong {
    font-size: 28px !important;
    color: var(--lmm-gold) !important;
    font-family: Playfair Display, serif !important;
    font-weight: 400 !important;
}

/* Bouton réserver */
#nos-logements .lmm-btn-outline {
    margin: auto 32px 32px !important;
}
#nos-logements .lmm-btn-outline .wp-block-button__link {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
}

/* ── Nos logements : moins écarté ── */
#nos-logements { padding: 80px 8vw !important; }
#nos-logements h2.wp-block-heading { margin-bottom: 40px !important; }
#nos-logements .wp-block-columns { gap: 24px !important; }
#nos-logements .lmm-logement-meta { margin: 24px 24px 10px !important; }
#nos-logements .lmm-card-title { margin: 0 24px 12px !important; }
#nos-logements .lmm-card-desc { margin: 0 24px 18px !important; }
#nos-logements .lmm-amenities { margin: 0 24px 16px !important; }
#nos-logements .lmm-price { margin: 0 24px 20px !important; }
#nos-logements .lmm-btn-outline { margin: auto 24px 24px !important; }
#nos-logements .lmm-card-img img,
#nos-logements .lmm-logement-card img { height: 300px !important; }

/* ════════════════════════════════════
   CARTES LOGEMENTS — contenu premium
   ════════════════════════════════════ */

/* Meta : voyageurs/chambres/SDB → chips discrets */
#nos-logements .lmm-logement-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 24px 24px 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--lmm-muted) !important;
}

/* Titre carte */
#nos-logements .lmm-card-title {
    font-family: Playfair Display, serif !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    color: var(--lmm-text) !important;
    margin: 14px 24px 0 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
}

/* Séparateur fin doré sous le titre */
#nos-logements .lmm-card-title::after {
    content:  !important;
    display: block !important;
    width: 32px !important;
    height: 1px !important;
    background: var(--lmm-gold) !important;
    margin-top: 14px !important;
}

/* Description */
#nos-logements .lmm-card-desc {
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: var(--lmm-muted) !important;
    margin: 16px 24px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Amenités → petites pastilles */
#nos-logements .lmm-amenities {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 24px 20px !important;
    padding-top: 0 !important;
    border-top: none !important;
    font-size: 0 !important;
}
#nos-logements .lmm-amenities::before,
#nos-logements .lmm-amenities::after { display: none !important; }

/* Simuler les tags via le texte brut - fond sombre */
#nos-logements .lmm-amenities {
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--lmm-muted) !important;
    background: var(--lmm-bg) !important;
    padding: 10px 16px !important;
    border-radius: 2px !important;
    border: none !important;
    margin: 0 24px 20px !important;
}

/* Bloc prix + bouton côte à côte */
#nos-logements .lmm-price {
    margin: 0 24px 0 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: var(--lmm-muted) !important;
}
#nos-logements .lmm-price strong {
    font-size: 32px !important;
    font-family: Playfair Display, serif !important;
    font-weight: 400 !important;
    color: var(--lmm-gold) !important;
    line-height: 1 !important;
}

/* Bouton pleine largeur, collé en bas de carte */
#nos-logements .lmm-btn-outline {
    margin: 20px 24px 24px !important;
}
#nos-logements .lmm-btn-outline .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 13px 0 !important;
    font-size: 9px !important;
    letter-spacing: 0.22em !important;
    border-radius: 1px !important;
    box-sizing: border-box !important;
    transition: background 0.3s, color 0.3s !important;
}

/* ── Nos logements : max-width pour les cartes ── */
#nos-logements .wp-block-columns {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ════════════════════════════════════
   NOS LOGEMENTS — layout horizontal
   ════════════════════════════════════ */

/* Reset max-width précédent */
#nos-logements .wp-block-columns {
    max-width: 100% !important;
    flex-direction: column !important;
    gap: 32px !important;
}

/* Chaque carte = ligne horizontale */
#nos-logements .lmm-logement-card {
    flex-direction: row !important;
    display: flex !important;
    height: 320px !important;
    border-radius: 2px !important;
    width: 100% !important;
    overflow: hidden !important;
}

/* Image à gauche, fixe */
#nos-logements .lmm-card-img,
#nos-logements .lmm-logement-card > figure:first-child {
    width: 45% !important;
    min-width: 45% !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
#nos-logements .lmm-card-img img,
#nos-logements .lmm-logement-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

/* Contenu à droite */
#nos-logements .lmm-logement-meta,
#nos-logements .lmm-card-title,
#nos-logements .lmm-card-desc,
#nos-logements .lmm-amenities,
#nos-logements .lmm-price,
#nos-logements .lmm-btn-outline {
    margin-left: 40px !important;
    margin-right: 40px !important;
}
#nos-logements .lmm-logement-meta { margin-top: 36px !important; margin-bottom: 10px !important; }
#nos-logements .lmm-card-title { margin-top: 0 !important; font-size: 28px !important; }
#nos-logements .lmm-card-desc { 
    -webkit-line-clamp: 2 !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}
#nos-logements .lmm-amenities { margin-top: 0 !important; margin-bottom: 16px !important; }
#nos-logements .lmm-price { margin-bottom: 20px !important; }
#nos-logements .lmm-btn-outline { 
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: fit-content !important;
}
#nos-logements .lmm-btn-outline .wp-block-button__link {
    width: auto !important;
    padding: 12px 32px !important;
}

/* Les colonnes deviennent des wrappers pleine largeur */
#nos-logements .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
}

/* ════════════════════════════════════
   NOS LOGEMENTS — reset + vertical clean
   ════════════════════════════════════ */

/* Reset layout horizontal */
#nos-logements .lmm-logement-card {
    flex-direction: column !important;
    height: auto !important;
}
#nos-logements .lmm-card-img,
#nos-logements .lmm-logement-card > figure:first-child {
    width: 100% !important;
    min-width: 100% !important;
}
#nos-logements .lmm-card-img img,
#nos-logements .lmm-logement-card img {
    height: 280px !important;
    width: 100% !important;
}
#nos-logements .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    max-width: 100% !important;
    width: auto !important;
}
#nos-logements .wp-block-columns {
    flex-direction: row !important;
    gap: 28px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
}

/* Contenu carte */
#nos-logements .lmm-logement-meta {
    margin: 28px 28px 8px !important;
    font-size: 9px !important;
    letter-spacing: 0.2em !important;
    color: var(--lmm-gold) !important;
}
#nos-logements .lmm-card-title {
    margin: 0 28px 16px !important;
    font-size: 24px !important;
}
#nos-logements .lmm-card-title::after {
    margin-top: 12px !important;
    width: 28px !important;
}
#nos-logements .lmm-card-desc {
    font-size: 13px !important;
    line-height: 1.8 !important;
    color: var(--lmm-muted) !important;
    margin: 0 28px 20px !important;
    -webkit-line-clamp: 4 !important;
}
#nos-logements .lmm-amenities {
    margin: 0 28px 16px !important;
    padding: 12px 0 !important;
    background: transparent !important;
    border-top: 1px solid var(--lmm-border) !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.12em !important;
}
#nos-logements .lmm-price {
    margin: 0 28px 20px !important;
}
#nos-logements .lmm-price strong {
    font-size: 30px !important;
}
#nos-logements .lmm-btn-outline {
    margin: 0 28px 28px !important;
    width: auto !important;
}
#nos-logements .lmm-btn-outline .wp-block-button__link {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 13px 0 !important;
    box-sizing: border-box !important;
}

/* ── Bouton Réserver plus grand ── */
#nos-logements .lmm-btn-outline .wp-block-button__link {
    padding: 16px 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.2em !important;
}

/* ── Bouton Réserver : plus d espace intérieur ── */
#nos-logements .lmm-btn-outline .wp-block-button__link {
    padding: 16px 40px !important;
    width: auto !important;
    display: inline-block !important;
}
#nos-logements .lmm-btn-outline {
    text-align: center !important;
}

/* ── Pourquoi nous choisir ── */
#choisir { padding:100px 8vw !important; background:var(--lmm-surface) !important; }
#choisir .lmm-section-label { display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; font-size:10px !important; letter-spacing:0.25em !important; margin-bottom:24px !important; }
#choisir .lmm-section-label::before,
#choisir .lmm-section-label::after { content: !important; display:block !important; width:28px !important; height:1px !important; background:var(--lmm-gold) !important; flex-shrink:0 !important; }
#choisir h2.wp-block-heading { font-size:clamp(38px,4.5vw,60px) !important; line-height:1.1 !important; font-weight:400 !important; margin:0 0 56px 0 !important; }
#choisir h2.wp-block-heading em { display:block !important; color:var(--lmm-gold) !important; font-style:italic !important; }
#choisir .wp-block-columns { gap:24px !important; align-items:stretch !important; }
#choisir .wp-block-column { flex-basis:0 !important; flex-grow:1 !important; }

/* exp card */
.lmm-exp-card { background:var(--lmm-card) !important; border:1px solid var(--lmm-border) !important; border-radius:2px !important; overflow:hidden !important; transition:transform 0.3s, border-color 0.3s, box-shadow 0.3s !important; display:flex !important; flex-direction:column !important; }
.lmm-exp-card:hover { transform:translateY(-6px) !important; border-color:var(--lmm-gold) !important; box-shadow:0 32px 64px rgba(0,0,0,0.5) !important; }
.lmm-exp-card .wp-block-image { margin:0 !important; }
.lmm-exp-card .wp-block-image img { width:100% !important; height:220px !important; object-fit:cover !important; border-radius:0 !important; display:block !important; }
.lmm-exp-card h3.wp-block-heading { font-size:18px !important; font-weight:400 !important; letter-spacing:0.04em !important; color:var(--lmm-text) !important; padding:24px 24px 0 !important; margin:0 !important; }
.lmm-exp-card h3.wp-block-heading::after { content: !important; display:block !important; width:24px !important; height:1px !important; background:var(--lmm-gold) !important; margin-top:12px !important; }
.lmm-exp-desc { font-size:13px !important; line-height:1.9 !important; color:var(--lmm-muted) !important; padding:12px 24px 28px !important; margin:0 !important; }

/* -- Pourquoi nous choisir RESTYLE COMPLET -- */
#choisir { padding:80px 8vw 100px !important; background:var(--lmm-bg) !important; }
#choisir .lmm-section-label { display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; font-size:10px !important; letter-spacing:0.25em !important; margin-bottom:20px !important; }
#choisir .lmm-section-label::before, #choisir .lmm-section-label::after { content:"" !important; display:block !important; width:28px !important; height:1px !important; background:var(--lmm-gold) !important; flex-shrink:0 !important; }
#choisir h2.wp-block-heading { font-size:clamp(38px,4.5vw,60px) !important; line-height:1.1 !important; font-weight:400 !important; margin:0 auto 52px !important; text-align:center !important; }
#choisir h2.wp-block-heading em { display:block !important; color:var(--lmm-gold) !important; font-style:italic !important; }
#choisir .wp-block-columns { gap:14px !important; align-items:stretch !important; flex-wrap:nowrap !important; }
#choisir .wp-block-column { flex-basis:0 !important; flex-grow:1 !important; padding:0 !important; min-width:0 !important; }
.lmm-exp-card { position:relative !important; overflow:hidden !important; height:460px !important; border-radius:2px !important; display:flex !important; flex-direction:column !important; justify-content:flex-end !important; border:none !important; box-shadow:none !important; background:var(--lmm-card) !important; }
.lmm-exp-card:hover { transform:none !important; box-shadow:none !important; border-color:transparent !important; }
.lmm-exp-card .wp-block-image { position:absolute !important; inset:0 !important; z-index:0 !important; margin:0 !important; }
.lmm-exp-card .wp-block-image img { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:0 !important; transition:transform 0.8s ease !important; display:block !important; }
.lmm-exp-card:hover .wp-block-image img { transform:scale(1.06) !important; }
.lmm-exp-card::after { content:"" !important; position:absolute !important; inset:0 !important; background:linear-gradient(to top,rgba(0,0,0,0.90) 0%,rgba(0,0,0,0.18) 55%,transparent 100%) !important; z-index:1 !important; pointer-events:none !important; }
.lmm-exp-card h3.wp-block-heading { position:relative !important; z-index:2 !important; padding:0 24px !important; margin:0 !important; color:#fff !important; font-size:18px !important; font-weight:400 !important; letter-spacing:0.03em !important; }
.lmm-exp-card h3.wp-block-heading::after { content:"" !important; display:block !important; width:22px !important; height:1px !important; background:var(--lmm-gold) !important; margin-top:10px !important; }
.lmm-exp-card .lmm-exp-desc { position:relative !important; z-index:2 !important; padding:10px 24px 28px !important; margin:0 !important; font-size:12px !important; line-height:1.8 !important; color:rgba(240,236,230,0.65) !important; }

/* -- Pourquoi nous choisir : 2x2 grid -- */
#choisir .wp-block-columns { flex-wrap:wrap !important; gap:16px !important; }
#choisir .wp-block-column { flex-basis:calc(50% - 8px) !important; flex-grow:0 !important; min-width:0 !important; }
.lmm-exp-card { height:420px !important; }

/* -- Pourquoi nous choisir : grille 2 colonnes (grid) -- */
#choisir .wp-block-columns { display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important; flex-wrap:unset !important; }
#choisir .wp-block-column { flex-basis:unset !important; flex-grow:unset !important; width:100% !important; min-width:0 !important; }
.lmm-exp-card { height:420px !important; }

/* -- Choisir 2x2 FORCE -- */
section#choisir .wp-block-columns { display:flex !important; flex-wrap:wrap !important; gap:16px !important; align-items:stretch !important; }
section#choisir .wp-block-columns > * { flex-basis:calc(50% - 8px) !important; flex-grow:0 !important; flex-shrink:0 !important; width:calc(50% - 8px) !important; max-width:calc(50% - 8px) !important; box-sizing:border-box !important; }

/* -- Choisir : hauteur uniforme toutes les cartes -- */
#choisir .lmm-exp-card { height:420px !important; }
#choisir .wp-block-columns { gap:16px !important; margin-bottom:0 !important; }

/* -- Choisir : cartes moins larges -- */
#choisir .wp-block-columns { max-width:860px !important; margin-left:auto !important; margin-right:auto !important; }

/* -- Choisir : largeur intermédiaire -- */
#choisir .wp-block-columns { max-width:960px !important; }

/* -- Choisir : largeur + titre plus gros -- */
#choisir .wp-block-columns { max-width:1020px !important; }
#choisir .lmm-exp-card h3.wp-block-heading { font-size:26px !important; letter-spacing:0.02em !important; padding:0 28px !important; }
#choisir .lmm-exp-card h3.wp-block-heading::after { margin-top:12px !important; width:28px !important; }
#choisir .lmm-exp-card .lmm-exp-desc { padding:10px 28px 32px !important; font-size:13px !important; }

/* -- Choisir : texte forcé en bas de carte -- */
#choisir .lmm-exp-card { position:relative !important; display:block !important; }
#choisir .lmm-exp-card h3.wp-block-heading { position:absolute !important; bottom:72px !important; left:0 !important; right:0 !important; z-index:2 !important; padding:0 28px !important; margin:0 !important; font-size:26px !important; font-weight:400 !important; color:#fff !important; letter-spacing:0.02em !important; }
#choisir .lmm-exp-card h3.wp-block-heading::after { content:"" !important; display:block !important; width:28px !important; height:1px !important; background:var(--lmm-gold) !important; margin-top:12px !important; }
#choisir .lmm-exp-card .lmm-exp-desc { position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important; z-index:2 !important; padding:0 28px 28px !important; margin:0 !important; font-size:12px !important; line-height:1.75 !important; color:rgba(240,236,230,0.65) !important; }

/* -- Choisir : desc masquée sur petits écrans -- */
@media (max-width:1100px) {
  #choisir .lmm-exp-card .lmm-exp-desc { display:none !important; }
  #choisir .lmm-exp-card h3.wp-block-heading { bottom:28px !important; }
}

/* -- Choisir : plus d'espace barre or -> desc -- */
#choisir .lmm-exp-card h3.wp-block-heading { bottom:88px !important; }

/* ── Section CTA Réservation ── */
#contact { padding:120px 8vw !important; text-align:center !important; background:var(--lmm-bg) !important; }
#contact .lmm-section-label { display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; font-size:10px !important; letter-spacing:0.25em !important; color:var(--lmm-gold) !important; margin-bottom:28px !important; }
#contact .lmm-section-label::before,
#contact .lmm-section-label::after { content:"" !important; display:block !important; width:32px !important; height:1px !important; background:var(--lmm-gold) !important; flex-shrink:0 !important; }
#contact h2.wp-block-heading { font-size:clamp(44px,5.5vw,72px) !important; line-height:1.08 !important; font-weight:400 !important; margin:0 auto 20px !important; border:none !important; padding:0 !important; color:var(--lmm-text) !important; letter-spacing:-0.01em !important; }
#contact h2.wp-block-heading em { display:block !important; color:var(--lmm-gold) !important; font-style:italic !important; }
#contact .lmm-body-mid { font-size:15px !important; color:var(--lmm-muted) !important; line-height:1.8 !important; max-width:440px !important; margin:0 auto 48px !important; }
#contact .wp-block-buttons { justify-content:center !important; }

/* ══ FOOTER RESTYLE ══ */
.lmm-footer { background:#090909 !important; border-top:1px solid var(--lmm-border) !important; width:100% !important; }
.lmm-footer > .wp-block-columns { max-width:1200px !important; margin:0 auto !important; padding:80px 8vw 64px !important; gap:48px !important; align-items:flex-start !important; box-sizing:border-box !important; }

/* Logo col */
.lmm-footer-logo { margin-bottom:24px !important; }
.lmm-footer-logo .wp-block-site-logo img { width:72px !important; height:auto !important; opacity:0.9 !important; display:block !important; margin:0 !important; }
.lmm-footer-desc { font-size:13px !important; line-height:1.9 !important; color:var(--lmm-muted) !important; margin:0 !important; max-width:220px !important; }

/* Headings */
.lmm-footer-heading { font-size:9px !important; font-weight:700 !important; letter-spacing:0.28em !important; text-transform:uppercase !important; color:var(--lmm-gold) !important; margin-bottom:22px !important; padding-bottom:12px !important; border-bottom:1px solid var(--lmm-border) !important; }

/* Nav links */
.lmm-footer-links { list-style:none !important; padding:0 !important; margin:0 !important; display:flex !important; flex-direction:column !important; gap:0 !important; }
.lmm-footer-links li { border-bottom:1px solid rgba(44,44,44,0.5) !important; }
.lmm-footer-links li a { display:block !important; padding:10px 0 !important; font-size:13px !important; color:var(--lmm-mid) !important; text-decoration:none !important; transition:color 0.2s, padding-left 0.2s !important; letter-spacing:0.02em !important; }
.lmm-footer-links li a:hover { color:var(--lmm-gold) !important; padding-left:8px !important; }

/* Contact */
.lmm-footer-contact { font-size:13px !important; color:var(--lmm-mid) !important; line-height:1.8 !important; margin-bottom:14px !important; }
.lmm-footer-contact:last-child { margin-bottom:0 !important; }
.lmm-footer-contact a { color:var(--lmm-mid) !important; text-decoration:none !important; transition:color 0.2s !important; }
.lmm-footer-contact a:hover { color:var(--lmm-gold) !important; }

/* Réserver button col */
.lmm-footer .lmm-btn-outline .wp-block-button__link { border:1px solid var(--lmm-gold) !important; color:var(--lmm-gold) !important; background:transparent !important; padding:14px 36px !important; font-size:10px !important; letter-spacing:0.2em !important; text-transform:uppercase !important; transition:background 0.25s, color 0.25s !important; display:inline-block !important; text-decoration:none !important; }
.lmm-footer .lmm-btn-outline .wp-block-button__link:hover { background:var(--lmm-gold) !important; color:#000 !important; }

/* Bottom bar */
.lmm-footer-bottom { max-width:1200px !important; margin:0 auto !important; padding:20px 8vw 32px !important; border-top:1px solid var(--lmm-border) !important; display:flex !important; justify-content:space-between !important; align-items:center !important; font-size:11px !important; color:var(--lmm-muted) !important; letter-spacing:0.04em !important; }
.lmm-footer-bottom p { margin:0 !important; }
.lmm-footer-bottom a { color:var(--lmm-muted) !important; text-decoration:none !important; transition:color 0.2s !important; }
.lmm-footer-bottom a:hover { color:var(--lmm-gold) !important; }

/* -- Footer : bouton et mail sur une ligne -- */
.lmm-footer .lmm-btn-outline .wp-block-button__link { white-space:nowrap !important; }
.lmm-footer-contact a { white-space:nowrap !important; }

/* ── Sections plus centrées ── */
#notre-histoire,
#nos-logements,
#choisir,
#contact,
.lmm-section--stats { padding-left:clamp(48px,14vw,220px) !important; padding-right:clamp(48px,14vw,220px) !important; }

/* ── Sections centrées — padding plus fort ── */
#notre-histoire,
#nos-logements,
#choisir,
#contact,
.lmm-section--stats { padding-left:max(140px,18vw) !important; padding-right:max(140px,18vw) !important; }

/* ── Correction content-size : centrage correct ── */
:root { --wp--style--global--content-size:960px !important; --wp--style--global--wide-size:1100px !important; }
#notre-histoire,
#nos-logements,
#choisir,
#contact,
.lmm-section--stats { padding-left:max(40px,6vw) !important; padding-right:max(40px,6vw) !important; }

/* ── Centrage final : content-size seul, padding latéral à zéro ── */
:root { --wp--style--global--content-size:880px !important; --wp--style--global--wide-size:1060px !important; }
#notre-histoire,
#nos-logements,
#choisir,
#contact,
.lmm-section--stats { padding-left:0px !important; padding-right:0px !important; }

/* ── content-size 920px : entre-deux ── */
:root { --wp--style--global--content-size:920px !important; --wp--style--global--wide-size:1080px !important; }

/* ── Centrage direct : override max-width par section ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:760px !important; margin-left:auto !important; margin-right:auto !important; }
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:760px !important; margin-left:auto !important; margin-right:auto !important; }

/* ── max-width encore plus étroit ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:620px !important; }

/* ── max-width 690px ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:690px !important; }

/* ── max-width 740px ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:740px !important; }

/* ── max-width 850px ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:850px !important; }

/* ── max-width 950px ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:950px !important; }

/* ── max-width 1000px ── */
#notre-histoire > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#nos-logements > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#choisir > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
#contact > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.lmm-section--stats > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:1000px !important; }

/* ── Choisir : titre aligné à gauche comme les autres sections ── */
#choisir .lmm-section-label { justify-content:flex-start !important; }
#choisir .lmm-section-label::after { display:none !important; }
#choisir h2.wp-block-heading { text-align:left !important; }

/* ── Choisir : supprimer barre parasite sous le titre ── */
#choisir h2.wp-block-heading::after,
#choisir h2.wp-block-heading::before { display:none !important; content:none !important; }
#choisir .lmm-section-label::before { content:"" !important; display:block !important; width:28px !important; height:1px !important; background:var(--lmm-gold) !important; flex-shrink:0 !important; }

/* ── Footer : logo plus grand ── */
.lmm-footer-logo .wp-block-site-logo img { width:120px !important; }

/* ── Footer logo plus grand ── */
.lmm-footer-logo .wp-block-site-logo img { width:160px !important; }

/* ══ Page Chambres ══ */
.lmm-hero-page .lmm-section-label { display:flex !important; align-items:center !important; justify-content:center !important; gap:14px !important; font-size:10px !important; letter-spacing:0.25em !important; color:var(--lmm-gold) !important; margin-bottom:24px !important; }
.lmm-hero-page .lmm-section-label::before,
.lmm-hero-page .lmm-section-label::after { content:"" !important; display:block !important; width:28px !important; height:1px !important; background:var(--lmm-gold) !important; }
.lmm-hero-page h1.wp-block-heading { font-size:clamp(52px,7vw,96px) !important; line-height:1.05 !important; font-weight:400 !important; color:var(--lmm-text) !important; margin:0 auto 20px !important; }
.lmm-hero-page h1.wp-block-heading em { display:block !important; color:var(--lmm-gold) !important; font-style:italic !important; }
.lmm-hero-page .lmm-hero-sub { font-size:15px !important; color:var(--lmm-muted) !important; margin:0 auto !important; }

/* Section chambres */
.lmm-chambres { padding-top:80px !important; padding-bottom:80px !important; }
.lmm-chambres .wp-block-columns { align-items:center !important; margin-bottom:0 !important; padding:60px 0 !important; }

/* Image */
.lmm-chambre-img img { width:100% !important; height:500px !important; object-fit:cover !important; border-radius:2px !important; display:block !important; box-shadow:0 40px 80px rgba(0,0,0,0.6) !important; }

/* Texte */
.lmm-chambre-desc { font-size:14px !important; line-height:2 !important; color:var(--lmm-mid) !important; margin-bottom:28px !important; }
.lmm-chambre-specs { gap:10px !important; margin-bottom:28px !important; }
.lmm-spec-item { font-size:10px !important; letter-spacing:0.15em !important; text-transform:uppercase !important; color:var(--lmm-text) !important; border:1px solid var(--lmm-border) !important; padding:8px 14px !important; margin:0 !important; display:inline-block !important; }
.lmm-chambre-price { font-size:14px !important; color:var(--lmm-mid) !important; margin-bottom:32px !important; }
.lmm-chambre-price strong { font-size:32px !important; color:var(--lmm-text) !important; font-weight:400 !important; }

/* Séparateur */
.lmm-chambre-sep { margin:0 !important; border:none !important; height:1px !important; background:var(--lmm-border) !important; }

/* ── Chambres : plus d'espace sous le héros ── */
.lmm-hero-page { padding-bottom:160px !important; }

/* ── Chambres : reset padding-bottom + plus d'espace sous le header ── */
.lmm-hero-page { padding-bottom:100px !important; padding-top:200px !important; }

/* ── Chambres : padding-top héros ── */
.lmm-hero-page { padding-top:260px !important; }

/* ── Chambres : titre plus proche du contenu ── */
.lmm-hero-page { padding-bottom:48px !important; }

/* ── Chambres : h2 plus grand, prix plus petit et doré ── */
.lmm-chambres h2.wp-block-heading { font-size:clamp(38px,4.5vw,62px) !important; line-height:1.1 !important; font-weight:400 !important; margin-bottom:24px !important; }
.lmm-chambre-price strong { font-size:22px !important; color:var(--lmm-gold) !important; font-weight:500 !important; }
.lmm-chambre-price { font-size:13px !important; color:var(--lmm-muted) !important; }

/* ── Chambres : contenu centré comme les autres sections ── */
#chambres > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:1000px !important; margin-left:auto !important; margin-right:auto !important; }

/* ── Chambres : images légèrement arrondies ── */
.lmm-chambre-img img { border-radius:12px !important; }

/* ═══════════════════════════════════════════════════════
   ACCOMMODATION PAGE  ·  single-mphb_room_type
═══════════════════════════════════════════════════════ */

/* ── Masquer chrome WordPress (date, auteur, commentaires) ── */
.lmm-room-page .wp-block-post-date,
.lmm-room-page .wp-block-comments,
.lmm-room-page .wp-block-post-terms,
.lmm-room-page .wp-block-separator { display:none !important; }

/* ────────────────────────────────────────────────────────
   HERO  –  plein écran, titre en bas à gauche
──────────────────────────────────────────────────────── */
.lmm-room-hero {
  min-height:100vh !important;
  /* cover block uses flex; bottom-left = justify-content:flex-start + align-items:flex-end */
  align-items:flex-end !important;
}
.lmm-room-hero .wp-block-cover__inner-container {
  width:100% !important;
  padding:0 !important;
}
.lmm-room-hero .lmm-room-hero-content {
  padding:0 0 72px !important;
  /* remove WP constrained auto-margins */
  max-width:1100px !important;
  margin:0 auto !important;
  padding-left:40px !important;
  padding-bottom:72px !important;
  padding-right:40px !important;
}
/* suppress WP global-padding override */
.lmm-room-hero .lmm-room-hero-content.has-global-padding {
  padding-left:40px !important;
  padding-right:40px !important;
  padding-top:0 !important;
  padding-bottom:72px !important;
}

/* Label "Nos hébergements" */
.lmm-room-label {
  font-size:9px !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  color:var(--lmm-gold) !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 20px !important;
}
.lmm-room-label::after {
  content:"" !important;
  display:block !important;
  width:32px !important;
  height:1px !important;
  background:var(--lmm-gold) !important;
}

/* Titre h1 */
.lmm-room-title.wp-block-post-title {
  font-size:clamp(56px,7vw,96px) !important;
  color:#fff !important;
  line-height:1.05 !important;
  margin:0 !important;
  font-style:italic !important;
}
.lmm-room-title::before,
.lmm-room-title::after { display:none !important; content:none !important; }

/* ────────────────────────────────────────────────────────
   CONTENT  –  post-content avec grille 2 colonnes
──────────────────────────────────────────────────────── */
.lmm-room-content {
  background:var(--lmm-bg) !important;
}

/* Supprimer le padding global-padding de WP et le remplacer */
.lmm-room-content.has-global-padding {
  padding-left:40px !important;
  padding-right:40px !important;
  padding-top:80px !important;
  padding-bottom:120px !important;
}

/* Grille 2 colonnes sur les enfants directs */
.lmm-room-content {
  display:grid !important;
  grid-template-columns:1fr 360px !important;
  column-gap:64px !important;
  align-items:start !important;
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Annuler les margin auto générés par WP sur les enfants */
.lmm-room-content > * {
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:100% !important;
}

/* Placement dans la grille */
.lmm-room-content .mphb-details-title           { grid-column:1; grid-row:1; }
.lmm-room-content .mphb-single-room-type-attributes { grid-column:1; grid-row:2; }
.lmm-room-content .mphb-regular-price           { grid-column:1; grid-row:3; }
.lmm-room-content .mphb-calendar-title          { grid-column:1; grid-row:4; margin-top:48px; }
.lmm-room-content .mphb-calendar               { grid-column:1; grid-row:5; }
.lmm-room-content .mphb-reservation-form-title  { grid-column:2; grid-row:1; }
.lmm-room-content .mphb-booking-form            { grid-column:2; grid-row:2 / 6; }
.lmm-room-content .mphb-errors-wrapper          { grid-column:2; grid-row:6; }

/* ────────────────────────────────────────────────────────
   TITRES DES SECTIONS MPHB
──────────────────────────────────────────────────────── */
.mphb-details-title,
.mphb-calendar-title,
.mphb-reservation-form-title {
  font-family:var(--wp--preset--font-family--dm-sans,'DM Sans',sans-serif) !important;
  font-size:9px !important;
  font-weight:400 !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  color:var(--lmm-gold) !important;
  margin:0 0 24px !important;
  padding:0 !important;
  border:none !important;
  line-height:1 !important;
}
.mphb-details-title::after,
.mphb-calendar-title::after,
.mphb-reservation-form-title::after { display:none !important; }

/* ────────────────────────────────────────────────────────
   ATTRIBUTS  (8 voyageurs…)
──────────────────────────────────────────────────────── */
.mphb-single-room-type-attributes {
  list-style:none !important;
  padding:0 !important;
  margin:0 0 40px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.mphb-single-room-type-attributes li {
  border:1px solid #2c2c2c !important;
  background:#1a1a1a !important;
  padding:10px 16px !important;
  font-size:10px !important;
  letter-spacing:0.15em !important;
  text-transform:uppercase !important;
  color:var(--lmm-mid) !important;
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
}
.mphb-attribute-title { color:var(--lmm-muted) !important; font-weight:400 !important; }
.mphb-attribute-value { color:var(--lmm-text) !important; }

/* ────────────────────────────────────────────────────────
   PRIX
──────────────────────────────────────────────────────── */
.mphb-regular-price {
  margin:0 0 0 !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
}
.mphb-regular-price strong {
  display:block !important;
  font-size:9px !important;
  font-weight:400 !important;
  letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  margin-bottom:6px !important;
}
.mphb-price {
  font-family:'Playfair Display',serif !important;
  font-size:56px !important;
  font-style:italic !important;
  color:var(--lmm-gold) !important;
  line-height:1 !important;
  display:inline !important;
}
.mphb-currency { font-size:26px !important; vertical-align:super !important; }
.mphb-price-period {
  display:block !important;
  font-size:10px !important;
  letter-spacing:0.15em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  margin-top:10px !important;
}

/* ────────────────────────────────────────────────────────
   CALENDRIER  (inline datepicker)
──────────────────────────────────────────────────────── */
.mphb-calendar.inlinePicker {
  background:#141414 !important;
  border:1px solid #2c2c2c !important;
  padding:0 !important;
  overflow:hidden !important;
  max-width:100% !important;
}
/* Surcharger le thème datepick-dark-red → accents or */
.datepick .datepick-header,
.mphb-calendar .datepick-header { background:#1a1a1a !important; border-bottom:1px solid #2c2c2c !important; }
.datepick td.datepick-today a,
.datepick td.datepick-today span { background:transparent !important; color:var(--lmm-gold) !important; border:1px solid var(--lmm-gold) !important; }
.datepick td.datepick-selected a,
.datepick td.datepick-selected span { background:var(--lmm-gold) !important; color:#0c0c0c !important; }
.datepick a.datepick-prev, .datepick a.datepick-next { color:var(--lmm-gold) !important; }
.datepick .datepick-month-nav { color:var(--lmm-text) !important; }

/* ────────────────────────────────────────────────────────
   FORMULAIRE DE RÉSERVATION
──────────────────────────────────────────────────────── */
.mphb-booking-form {
  background:#141414 !important;
  border:1px solid #2c2c2c !important;
  padding:32px !important;
  position:sticky !important;
  top:100px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
/* Masquer le texte "champs obligatoires *" */
.mphb-required-fields-tip { display:none !important; }
.mphb-booking-form > p {
  margin:0 0 20px !important;
}
/* Labels */
.mphb-booking-form label {
  display:block !important;
  font-size:9px !important;
  letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  margin-bottom:8px !important;
  font-weight:400 !important;
}
.mphb-booking-form label abbr { display:none !important; }
.mphb-booking-form br { display:none !important; }
/* Inputs et selects */
input.mphb-datepick,
.mphb-booking-form select {
  display:block !important;
  width:100% !important;
  background:#0c0c0c !important;
  border:1px solid #2c2c2c !important;
  color:var(--lmm-text) !important;
  padding:13px 16px !important;
  font-size:13px !important;
  font-family:inherit !important;
  border-radius:0 !important;
  outline:none !important;
  box-sizing:border-box !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  transition:border-color 0.2s !important;
}
input.mphb-datepick:focus,
.mphb-booking-form select:focus { border-color:var(--lmm-gold) !important; }
.mphb-booking-form select option { background:#1a1a1a; }
/* Bouton */
.mphb-reserve-btn-wrapper { margin:24px 0 0 !important; }
input.mphb-reserve-btn.button {
  display:block !important;
  width:100% !important;
  background:var(--lmm-gold) !important;
  color:#0c0c0c !important;
  border:none !important;
  padding:18px 0 !important;
  font-size:9px !important;
  font-family:inherit !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  transition:opacity 0.2s !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
}
input.mphb-reserve-btn.button:hover { opacity:0.85 !important; }
/* Erreurs */
.mphb-errors-wrapper { font-size:12px !important; color:#d46060 !important; padding:8px 0 !important; min-height:0 !important; }

/* ────────────────────────────────────────────────────────
   MOBILE  (< 780 px)
──────────────────────────────────────────────────────── */
@media (max-width:780px) {
  .lmm-room-hero { min-height:70vh !important; }
  .lmm-room-hero .lmm-room-hero-content { padding-left:20px !important; padding-right:20px !important; padding-bottom:48px !important; }
  .lmm-room-content {
    grid-template-columns:1fr !important;
    padding-left:20px !important;
    padding-right:20px !important;
    padding-top:48px !important;
    padding-bottom:80px !important;
  }
  .lmm-room-content .mphb-details-title,
  .lmm-room-content .mphb-single-room-type-attributes,
  .lmm-room-content .mphb-regular-price,
  .lmm-room-content .mphb-calendar-title,
  .lmm-room-content .mphb-calendar,
  .lmm-room-content .mphb-reservation-form-title,
  .lmm-room-content .mphb-booking-form,
  .lmm-room-content .mphb-errors-wrapper {
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .lmm-room-content .mphb-calendar-title { margin-top:40px !important; }
  .lmm-room-content .mphb-reservation-form-title { margin-top:40px !important; }
  .mphb-booking-form { position:static !important; }
}

/* ── Room hero: force bottom-left alignment ── */
.lmm-room-hero { justify-content:flex-start !important; }
.lmm-room-hero .wp-block-cover__inner-container { width:100% !important; align-self:flex-end !important; }

/* ═══════════════════════════════════════════════
   ROOM PAGE — CORRECTIONS
═══════════════════════════════════════════════ */

/* ── 1. Hero : hauteur raisonnable, pas 100vh ── */
.lmm-room-hero { min-height:600px !important; max-height:700px !important; }

/* ── 2. Titre : visible, grand, blanc ── */
.lmm-room-title.wp-block-post-title {
  display:block !important;
  font-size:clamp(48px,6vw,80px) !important;
  color:#fff !important;
  font-style:italic !important;
  line-height:1.05 !important;
  margin:0 !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* ── 3. Prix : label petit, montant grand or, période petite ── */
.mphb-regular-price {
  line-height:1 !important;
  padding:0 !important;
  margin:0 0 48px !important;
  background:none !important;
  border:none !important;
}
.mphb-regular-price strong {
  display:block !important;
  font-size:9px !important;
  letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  font-weight:400 !important;
  margin-bottom:10px !important;
}
.mphb-price {
  font-family:'Playfair Display',serif !important;
  font-size:52px !important;
  font-style:italic !important;
  color:var(--lmm-gold) !important;
  display:inline !important;
  line-height:1 !important;
}
.mphb-currency {
  font-size:22px !important;
  vertical-align:super !important;
  color:var(--lmm-gold) !important;
}
.mphb-price-period {
  display:block !important;
  font-size:10px !important;
  letter-spacing:0.15em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  margin-top:12px !important;
}

/* ── 4. Formulaire : pas de sticky, scroll normal ── */
.mphb-booking-form { position:static !important; }

/* ── Titre "Détails" : plus visible ── */
.mphb-details-title {
  font-size:11px !important;
  letter-spacing:0.22em !important;
  margin-bottom:28px !important;
}

/* ── Badge invités : texte plus lisible ── */
.mphb-single-room-type-attributes li {
  font-size:13px !important;
  letter-spacing:0.06em !important;
  padding:12px 20px !important;
  color:var(--lmm-text) !important;
}
.mphb-attribute-title { font-size:13px !important; color:var(--lmm-mid) !important; }
.mphb-attribute-value { font-size:13px !important; color:var(--lmm-text) !important; font-weight:500 !important; }

/* ── "Prix à partir de:" : plus visible ── */
.mphb-regular-price strong {
  font-size:11px !important;
  letter-spacing:0.15em !important;
  color:var(--lmm-mid) !important;
  margin-bottom:14px !important;
}

/* ── "par nuit" : espace en dessous + après la section prix ── */
.mphb-price-period {
  margin-top:16px !important;
  margin-bottom:20px !important;
}
.mphb-regular-price {
  margin-bottom:64px !important;
  padding-bottom:40px !important;
  border-bottom:1px solid #2c2c2c !important;
}

/* ── Agrandir encore ── */
.mphb-details-title { font-size:13px !important; }

.mphb-single-room-type-attributes li { font-size:15px !important; padding:14px 22px !important; }
.mphb-attribute-title { font-size:15px !important; }
.mphb-attribute-value { font-size:15px !important; }

.mphb-regular-price strong { font-size:13px !important; }
.mphb-price { font-size:62px !important; }
.mphb-price-period { font-size:13px !important; margin-top:18px !important; }

/* ── Supprimer les traits sous "par nuit" ── */
.mphb-regular-price { border-bottom:none !important; border:none !important; }
.mphb-price-period { border:none !important; text-decoration:none !important; }
.mphb-price-period::after, .mphb-price-period::before { display:none !important; }

/* ── Disponibilité : remonter ── */
.lmm-room-content .mphb-calendar-title { margin-top:8px !important; }

.lmm-room-content .mphb-calendar-title { margin-top:-16px !important; }

.lmm-room-content .mphb-calendar-title { margin-top:-40px !important; }

/* ── Galerie : span pleine largeur dans la grille ── */
.lmm-room-content .lmm-room-gallery {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  margin-bottom: 72px !important;
  max-width: none !important;
  padding: 0 !important;
}
/* Supprimer les marges WP sur le groupe galerie */
.lmm-room-content .lmm-room-gallery.has-global-padding { padding: 0 !important; }

/* Images galerie : object-fit cover, hauteurs fixes */
.lmm-gal-img { margin: 0 !important; }
.lmm-gal-img img {
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform 0.6s ease !important;
}
/* Rangée 1 : grande image à gauche */
.lmm-room-gallery > .wp-block-columns:first-of-type .wp-block-column:first-child .lmm-gal-img img { height: 520px !important; }
.lmm-room-gallery > .wp-block-columns:first-of-type .wp-block-column:last-child .lmm-gal-img img  { height: 256px !important; }
/* Rangée 2 : trois images égales */
.lmm-room-gallery > .wp-block-columns:last-of-type .lmm-gal-img img { height: 220px !important; }

/* Hover zoom */
.lmm-gal-img { overflow: hidden !important; }
.lmm-gal-img:hover img { transform: scale(1.04) !important; }

/* Gap entre colonnes réduit */
.lmm-room-gallery .wp-block-columns { gap: 6px !important; margin-bottom: 6px !important; }
.lmm-room-gallery .wp-block-column { padding: 0 !important; }

/* Décaler les éléments MPHB à la ligne 2 (après la galerie) */
.lmm-room-content .mphb-details-title            { grid-row: 2 !important; }
.lmm-room-content .mphb-single-room-type-attributes { grid-row: 3 !important; }
.lmm-room-content .mphb-regular-price            { grid-row: 4 !important; }
.lmm-room-content .mphb-calendar-title           { grid-row: 5 !important; }
.lmm-room-content .mphb-calendar                 { grid-row: 6 !important; }
.lmm-room-content .mphb-reservation-form-title   { grid-row: 2 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-booking-form             { grid-row: 3 / 7 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-errors-wrapper           { grid-row: 7 !important; grid-column: 2 !important; }

/* ── Description : colonne gauche, après la galerie ── */
.lmm-room-content .lmm-room-description {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin-bottom: 48px !important;
  max-width: none !important;
  padding: 0 !important;
}
.lmm-room-content .lmm-room-description.has-global-padding { padding: 0 !important; }

/* Label "La propriété" */
.lmm-room-desc-label {
  font-size: 9px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--lmm-gold) !important;
  margin-bottom: 16px !important;
}
.lmm-room-desc-label::after { display: none !important; }

/* Texte description */
.lmm-room-desc-text {
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--lmm-mid) !important;
  margin-bottom: 28px !important;
  max-width: 520px !important;
}

/* Points forts : badges */
.lmm-room-highlights {
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}
.lmm-highlight-item {
  border: 1px solid #2c2c2c !important;
  background: #1a1a1a !important;
  padding: 8px 16px !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--lmm-mid) !important;
  margin: 0 !important;
}

/* Décaler les éléments MPHB d'une ligne de plus (galerie=1, description=2, MPHB=3+) */
.lmm-room-content .mphb-details-title            { grid-row: 3 !important; }
.lmm-room-content .mphb-single-room-type-attributes { grid-row: 4 !important; }
.lmm-room-content .mphb-regular-price            { grid-row: 5 !important; }
.lmm-room-content .mphb-calendar-title           { grid-row: 6 !important; }
.lmm-room-content .mphb-calendar                 { grid-row: 7 !important; }
.lmm-room-content .mphb-reservation-form-title   { grid-row: 2 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-booking-form             { grid-row: 3 / 8 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-errors-wrapper           { grid-row: 8 !important; grid-column: 2 !important; }

/* ── Intro titre au-dessus de la galerie ── */
.lmm-room-content .lmm-room-intro {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  max-width: none !important;
  padding: 0 0 40px !important;
}
.lmm-room-content .lmm-room-intro.has-global-padding { padding: 0 0 40px !important; }

.lmm-room-intro-label {
  font-size: 9px !important;
  letter-spacing: 0.28em !important;
  color: var(--lmm-gold) !important;
  margin-bottom: 14px !important;
}
.lmm-room-intro-label::after { display: none !important; }

.lmm-room-intro-title.wp-block-heading {
  font-size: clamp(36px, 4vw, 54px) !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
  color: var(--lmm-text) !important;
}
.lmm-room-intro-title em { color: var(--lmm-gold) !important; font-style: italic !important; }
.lmm-room-intro-title::after, .lmm-room-intro-title::before { display: none !important; content: none !important; }

/* Galerie décalée à la ligne 2 */
.lmm-room-content .lmm-room-gallery { grid-row: 2 !important; }

/* Description décalée à la ligne 3 */
.lmm-room-content .lmm-room-description { grid-row: 3 !important; }

/* MPHB décalé d'une ligne de plus */
.lmm-room-content .mphb-details-title            { grid-row: 4 !important; }
.lmm-room-content .mphb-single-room-type-attributes { grid-row: 5 !important; }
.lmm-room-content .mphb-regular-price            { grid-row: 6 !important; }
.lmm-room-content .mphb-calendar-title           { grid-row: 7 !important; }
.lmm-room-content .mphb-calendar                 { grid-row: 8 !important; }
.lmm-room-content .mphb-reservation-form-title   { grid-row: 3 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-booking-form             { grid-row: 4 / 9 !important; grid-column: 2 !important; }
.lmm-room-content .mphb-errors-wrapper           { grid-row: 9 !important; grid-column: 2 !important; }

/* ═══════════════════════════════════════════════
   PAGE CONTACT / RÉSERVATION
═══════════════════════════════════════════════ */

.lmm-hero--contact { padding-top:140px !important; }

/* ── Section ── */
.lmm-contact-section { padding-top:100px !important; padding-bottom:120px !important; }

/* ── Intro texte ── */
.lmm-contact-intro { font-size:15px !important; line-height:1.8 !important; margin-top:20px !important; }

/* ── Items de contact ── */
.lmm-contact-item { align-items:flex-start !important; }
.lmm-contact-icon {
  font-size:18px !important;
  color:var(--lmm-gold) !important;
  width:36px !important;
  min-width:36px !important;
  margin:0 !important;
  line-height:1.4 !important;
}
.lmm-contact-label {
  font-size:9px !important;
  letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  margin:0 0 2px !important;
}
.lmm-contact-value {
  font-size:14px !important;
  color:var(--lmm-text) !important;
  margin:0 !important;
  line-height:1.6 !important;
}
.lmm-contact-value a { color:var(--lmm-text) !important; text-decoration:none !important; transition:color 0.2s !important; }
.lmm-contact-value a:hover { color:var(--lmm-gold) !important; }

/* ── Bullet points engagements ── */
.lmm-contact-prop {
  font-size:12px !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  padding-left:20px !important;
  position:relative !important;
  margin:0 !important;
}
.lmm-contact-prop::before {
  content:"—" !important;
  position:absolute !important;
  left:0 !important;
  color:var(--lmm-gold) !important;
}

/* ── Carte formulaire ── */
.lmm-form-card {
  background:#141414 !important;
  border:1px solid #2c2c2c !important;
  padding:48px !important;
}
.lmm-form-card .lmm-section-label { margin-bottom:12px !important; }
.lmm-form-card h2.wp-block-heading { margin-bottom:0 !important; }

/* ── CF7 : reset et style dark ── */
.wpcf7 form { margin:0 !important; }
.wpcf7 p { margin:0 0 20px !important; }
.wpcf7 br { display:none !important; }

.wpcf7-form-control-wrap { display:block !important; }

/* Tous les champs texte / email / tel / date / number */
.wpcf7-form-control.wpcf7-text,
.wpcf7-form-control.wpcf7-email,
.wpcf7-form-control.wpcf7-tel,
.wpcf7-form-control.wpcf7-date,
.wpcf7-form-control.wpcf7-number,
.wpcf7-form-control.wpcf7-select,
.wpcf7-form-control.wpcf7-textarea {
  display:block !important;
  width:100% !important;
  background:#0c0c0c !important;
  border:1px solid #2c2c2c !important;
  border-radius:0 !important;
  color:var(--lmm-text) !important;
  font-family:inherit !important;
  font-size:14px !important;
  padding:14px 18px !important;
  box-sizing:border-box !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  transition:border-color 0.2s !important;
}
.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form-control.wpcf7-date:focus,
.wpcf7-form-control.wpcf7-number:focus,
.wpcf7-form-control.wpcf7-select:focus,
.wpcf7-form-control.wpcf7-textarea:focus { border-color:var(--lmm-gold) !important; }

.wpcf7-form-control.wpcf7-textarea { resize:vertical !important; min-height:120px !important; }
.wpcf7-form-control.wpcf7-select option { background:#1a1a1a !important; }

/* Placeholder */
.wpcf7-form-control::placeholder { color:var(--lmm-muted) !important; font-size:13px !important; }
input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(1) opacity(0.4) !important; }

/* Grille 2 colonnes pour les champs courts */
.wpcf7 .lmm-cf7-row {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
}

/* Bouton submit */
.wpcf7-form-control.wpcf7-submit,
input.lmm-submit {
  display:block !important;
  width:100% !important;
  background:var(--lmm-gold) !important;
  color:#0c0c0c !important;
  border:none !important;
  padding:18px 0 !important;
  font-size:10px !important;
  font-family:inherit !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  margin-top:8px !important;
  transition:opacity 0.2s !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.wpcf7-form-control.wpcf7-submit:hover,
input.lmm-submit:hover { opacity:0.85 !important; }

/* Réponse CF7 */
.wpcf7-response-output {
  border:none !important;
  font-size:13px !important;
  padding:12px 0 0 !important;
  margin:0 !important;
  color:var(--lmm-mid) !important;
}
.wpcf7-not-valid-tip { font-size:11px !important; color:#d46060 !important; margin-top:4px !important; }

/* ── Responsive ── */
@media (max-width:780px) {
  .lmm-form-card { padding:28px !important; }
  .lmm-contact-section { padding-top:60px !important; padding-bottom:80px !important; }
}

/* ═══════════════════════════════════════════════
   PAGE RÉSERVATION / CONTACT — v2
═══════════════════════════════════════════════ */

/* ── Section principale ── */
.lmm-resa-section { padding-top:80px !important; padding-bottom:100px !important; }

/* ── Carte formulaire ── */
.lmm-resa-card {
  background:#141414 !important;
  border:1px solid #2c2c2c !important;
  padding:56px !important;
  max-width:none !important;
}
.lmm-resa-card h2.wp-block-heading { margin-bottom:0 !important; }

/* ── CF7 : structure .lmm-form-row / .lmm-form-col ── */
.lmm-cf7 { width:100% !important; }

.lmm-form-row {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:20px !important;
  margin-bottom:20px !important;
}
.lmm-form-col { display:flex !important; flex-direction:column !important; gap:8px !important; }

.lmm-form-group {
  margin-bottom:20px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}

/* Labels */
.lmm-form-col label,
.lmm-form-group label {
  font-size:9px !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  font-weight:400 !important;
  line-height:1 !important;
}

/* ── Tous les inputs CF7 ── */
.lmm-cf7 .wpcf7-form-control:not(.wpcf7-submit) {
  display:block !important;
  width:100% !important;
  background:#0c0c0c !important;
  border:1px solid #2c2c2c !important;
  border-radius:0 !important;
  color:var(--lmm-text) !important;
  font-family:inherit !important;
  font-size:14px !important;
  padding:14px 18px !important;
  box-sizing:border-box !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  transition:border-color 0.2s !important;
  margin:0 !important;
}
.lmm-cf7 .wpcf7-form-control:not(.wpcf7-submit):focus {
  border-color:var(--lmm-gold) !important;
}
.lmm-cf7 .wpcf7-form-control.wpcf7-textarea {
  min-height:130px !important;
  resize:vertical !important;
}
.lmm-cf7 .wpcf7-form-control.wpcf7-select option { background:#1a1a1a !important; }
.lmm-cf7 .wpcf7-form-control::placeholder { color:var(--lmm-muted) !important; font-size:13px !important; }
input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(1) opacity(0.3) !important; }

/* wpcf7-form-control-wrap : pas de marges parasites */
.lmm-cf7 .wpcf7-form-control-wrap { display:block !important; margin:0 !important; }

/* ── Bouton submit ── */
.lmm-cf7 input.lmm-submit,
.lmm-cf7 .wpcf7-submit {
  display:block !important;
  width:100% !important;
  background:var(--lmm-gold) !important;
  color:#0c0c0c !important;
  border:none !important;
  padding:18px 0 !important;
  font-size:10px !important;
  font-family:inherit !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  margin-top:12px !important;
  transition:opacity 0.2s !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.lmm-cf7 input.lmm-submit:hover,
.lmm-cf7 .wpcf7-submit:hover { opacity:0.82 !important; }

/* Masquer la note sur le nombre de voyageurs */
.lmm-cf7 .lmm-form-col div[style] { display:none !important; }

/* Réponse CF7 */
.wpcf7-response-output {
  border:none !important;
  padding:12px 0 0 !important;
  margin:0 !important;
  font-size:13px !important;
  color:var(--lmm-mid) !important;
}
.wpcf7-not-valid-tip { font-size:11px !important; color:#d46060 !important; }

/* ── Strip contact en bas ── */
.lmm-resa-contact-strip {
  gap:12px !important;
  justify-content:center !important;
  align-items:center !important;
}
.lmm-resa-contact-item {
  font-size:12px !important;
  letter-spacing:0.06em !important;
  color:var(--lmm-muted) !important;
  margin:0 !important;
}
.lmm-resa-contact-item a { color:var(--lmm-muted) !important; text-decoration:none !important; transition:color 0.2s !important; }
.lmm-resa-contact-item a:hover { color:var(--lmm-gold) !important; }
.lmm-resa-contact-sep { color:#2c2c2c !important; margin:0 !important; font-size:16px !important; }

/* ── Mobile ── */
@media (max-width:600px) {
  .lmm-resa-card { padding:28px !important; }
  .lmm-form-row { grid-template-columns:1fr !important; }
}

/* ═══════════════════════════════════════════════
   CONTACT / RÉSERVATION — v3
═══════════════════════════════════════════════ */

.lmm-contact-wrap { padding-top:80px !important; padding-bottom:100px !important; }

/* ── Colonne gauche ── */
.lmm-contact-desc {
  font-size:14px !important;
  line-height:1.85 !important;
  color:var(--lmm-mid) !important;
  margin-top:20px !important;
}

.lmm-contact-list { gap:0 !important; }
.lmm-contact-row {
  display:flex !important;
  align-items:baseline !important;
  gap:16px !important;
  padding:14px 0 !important;
  border-bottom:1px solid #1e1e1e !important;
  margin:0 !important;
  font-size:14px !important;
  color:var(--lmm-text) !important;
}
.lmm-contact-row:first-child { border-top:1px solid #1e1e1e !important; }
.lmm-contact-key {
  font-size:9px !important;
  letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  min-width:80px !important;
}
.lmm-contact-row a { color:var(--lmm-text) !important; text-decoration:none !important; transition:color 0.2s !important; }
.lmm-contact-row a:hover { color:var(--lmm-gold) !important; }

.lmm-contact-badges { gap:10px !important; }
.lmm-contact-badge {
  font-size:11px !important;
  letter-spacing:0.1em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  padding-left:18px !important;
  position:relative !important;
  margin:0 !important;
}
.lmm-contact-badge::before {
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:6px !important;
  height:1px !important;
  background:var(--lmm-gold) !important;
}

/* ── Formulaire CF7 ── */
.lmm-cf7 { width:100% !important; }

.lmm-form-row {
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px !important;
  margin-bottom:16px !important;
}
.lmm-form-col {
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.lmm-form-group {
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  margin-bottom:16px !important;
}

/* Labels */
.lmm-form-col > label,
.lmm-form-group > label {
  font-size:9px !important;
  letter-spacing:0.22em !important;
  text-transform:uppercase !important;
  color:var(--lmm-muted) !important;
  font-weight:400 !important;
}

/* Inputs */
.lmm-cf7 .wpcf7-form-control:not(.wpcf7-submit) {
  display:block !important;
  width:100% !important;
  background:#141414 !important;
  border:1px solid #2c2c2c !important;
  border-radius:0 !important;
  color:var(--lmm-text) !important;
  font-family:inherit !important;
  font-size:14px !important;
  padding:13px 16px !important;
  box-sizing:border-box !important;
  outline:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  transition:border-color 0.2s !important;
  margin:0 !important;
}
.lmm-cf7 .wpcf7-form-control:not(.wpcf7-submit):focus { border-color:var(--lmm-gold) !important; }
.lmm-cf7 .wpcf7-form-control.wpcf7-textarea { min-height:120px !important; resize:vertical !important; }
.lmm-cf7 .wpcf7-form-control.wpcf7-select option { background:#141414 !important; }
.lmm-cf7 .wpcf7-form-control::placeholder { color:var(--lmm-muted) !important; font-size:13px !important; }
.lmm-cf7 .wpcf7-form-control-wrap { display:block !important; margin:0 !important; }
input[type="date"]::-webkit-calendar-picker-indicator { filter:invert(0.5) !important; }

/* Bouton */
.lmm-cf7 input.lmm-submit {
  display:block !important;
  width:100% !important;
  background:var(--lmm-gold) !important;
  color:#0c0c0c !important;
  border:none !important;
  padding:17px 0 !important;
  font-size:10px !important;
  font-family:inherit !important;
  letter-spacing:0.28em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
  cursor:pointer !important;
  border-radius:0 !important;
  margin-top:8px !important;
  transition:opacity 0.2s !important;
  -webkit-appearance:none !important;
}
.lmm-cf7 input.lmm-submit:hover { opacity:0.82 !important; }

/* Masquer la note voyageurs */
.lmm-cf7 .lmm-form-col > div { display:none !important; }

/* Réponse */
.wpcf7-response-output { border:none !important; padding:10px 0 0 !important; margin:0 !important; font-size:13px !important; color:var(--lmm-mid) !important; }
.wpcf7-not-valid-tip { font-size:11px !important; color:#d46060 !important; }

@media (max-width:640px) {
  .lmm-form-row { grid-template-columns:1fr !important; }
}

/* ── Contact : centrage ── */
.lmm-contact-wrap > :where(:not(.alignleft):not(.alignright):not(.alignfull)) { max-width:1080px !important; margin-left:auto !important; margin-right:auto !important; }


/* ════════════════════════════════════════════════════
   RESPONSIVE TABLETTE & MOBILE — refonte complète
════════════════════════════════════════════════════ */

/* ─── Burger button & mobile menu (global, hors media query) ─── */
.lmm-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  position: relative;
  z-index: 1001;
}
.lmm-burger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: #fff;
  border-radius: 1px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}
.lmm-burger.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.lmm-burger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.lmm-burger.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.lmm-mobile-menu {
  position: fixed;
  inset: 0;
  background: rgba(9,9,9,0.97);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.lmm-mobile-menu.is-open {
  opacity: 1;
  pointer-events: auto;
}
.lmm-mobile-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  padding: 0 40px;
  box-sizing: border-box;
}
.lmm-mobile-nav a {
  display: block;
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #e8dcc8;
  text-decoration: none;
  padding: 18px 24px;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: color 0.2s;
  font-family: inherit;
}
.lmm-mobile-nav a:first-child { border-top: 1px solid rgba(255,255,255,0.08); }
.lmm-mobile-nav a:hover,
.lmm-mobile-nav a:focus { color: #c9a96e; outline: none; }

/* ─────────────────────────────────────────────────
   TABLETTE  (769px – 1024px)
───────────────────────────────────────────────── */
@media (min-width:769px) and (max-width:1024px) {

  .lmm-header-inner {
    padding: 0 28px !important;
    gap: 20px !important;
    column-gap: 20px !important;
  }
  .lmm-nav-left .wp-block-navigation-item__content,
  .lmm-nav-right .wp-block-navigation-item__content {
    padding: 8px 12px !important;
    font-size: 10px !important;
    letter-spacing: 0.1em !important;
  }

  .lmm-section { padding: 80px 40px !important; }
  .lmm-section--stats { padding: 48px 40px !important; }
  #notre-histoire,
  #nos-logements,
  #choisir,
  #contact,
  .lmm-section--stats {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  #contact { padding: 80px 40px !important; }

  #notre-histoire .wp-block-columns { gap: 40px !important; }
  .lmm-about-img img { height: 380px !important; }

  .lmm-stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }
  .lmm-stats-grid .lmm-stat { flex-basis: auto !important; }

  #nos-logements .wp-block-columns { gap: 32px !important; }

  #choisir .wp-block-columns {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
  #choisir .wp-block-columns .wp-block-column {
    flex-basis: calc(50% - 8px) !important;
    min-width: calc(50% - 8px) !important;
  }

  .lmm-footer > .wp-block-columns {
    flex-wrap: wrap !important;
    padding: 60px 40px 40px !important;
    gap: 40px !important;
  }
  .lmm-footer > .wp-block-columns .wp-block-column {
    flex-basis: calc(50% - 20px) !important;
    min-width: calc(50% - 20px) !important;
  }
  .lmm-footer-bottom { padding: 20px 40px 28px !important; }

  .lmm-hero-page {
    padding-top: 180px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .lmm-chambre-img img { height: 380px !important; }
  .lmm-chambres .wp-block-columns { gap: 40px !important; }

  .lmm-room-content {
    grid-template-columns: 1fr !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .lmm-room-content .lmm-room-gallery { grid-column: 1 !important; }
  .lmm-room-content .mphb-reservation-form-title,
  .lmm-room-content .mphb-booking-form {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .lmm-contact-wrap { padding: 80px 40px !important; }
  .lmm-resa-section { padding: 80px 40px !important; }
  .lmm-resa-card { padding: 40px !important; }
}

/* ─────────────────────────────────────────────────
   MOBILE  (max 768px)
───────────────────────────────────────────────── */
@media (max-width:768px) {

  /* Header — logo centré, burger à gauche */
  .lmm-header-inner {
    grid-template-columns: 44px 1fr 44px !important;
    height: 68px !important;
    padding: 0 18px !important;
    gap: 0 !important;
    column-gap: 0 !important;
  }
  .lmm-nav-left,
  .lmm-nav-right { display: none !important; }
  .lmm-header-logo {
    order: 0 !important;
    justify-self: center !important;
    text-align: center !important;
  }
  .lmm-burger { display: flex !important; }

  /* Hero */
  .lmm-hero .wp-block-cover__inner-container { padding: 20px !important; }
  .lmm-eyebrow { font-size: 8px !important; letter-spacing: 0.18em !important; }
  .lmm-hero h1.wp-block-heading {
    font-size: clamp(36px, 10vw, 52px) !important;
    line-height: 1.1 !important;
  }
  .lmm-hero-sub { font-size: 13px !important; }
  .btn-hero .wp-block-button__link {
    padding: 15px 26px !important;
    font-size: 9px !important;
  }

  /* Sections padding */
  .lmm-section { padding: 56px 20px !important; }
  .lmm-section--stats { padding: 36px 20px !important; }
  #notre-histoire,
  #nos-logements,
  #choisir,
  #contact,
  .lmm-section--stats {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #contact { padding: 56px 20px !important; }

  h2.wp-block-heading { font-size: clamp(30px, 8vw, 44px) !important; }

  /* Notre Histoire : empiler */
  #notre-histoire .wp-block-columns {
    flex-direction: column !important;
    gap: 36px !important;
  }
  #notre-histoire .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .lmm-about-img img { height: 260px !important; object-fit: cover !important; }
  .lmm-intro-badge {
    bottom: -20px !important;
    right: 12px !important;
    padding: 14px 18px !important;
  }
  .lmm-badge-number { font-size: 28px !important; }

  /* Stats : grille 2x2 */
  .lmm-stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    flex-wrap: wrap !important;
  }
  .lmm-stats-grid .lmm-stat {
    flex-basis: auto !important;
    min-width: 0 !important;
  }
  .lmm-stat-number { font-size: clamp(32px, 9vw, 48px) !important; }
  .lmm-stat-label { font-size: 9px !important; }

  /* Nos Logements : empiler */
  #nos-logements .wp-block-columns {
    flex-direction: column !important;
    gap: 28px !important;
  }
  #nos-logements .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Choisir : empiler */
  #choisir .wp-block-columns {
    flex-direction: column !important;
    gap: 12px !important;
  }
  #choisir .wp-block-columns .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .lmm-exp-card { min-height: 240px !important; }
  #choisir .lmm-exp-card h3.wp-block-heading {
    font-size: 18px !important;
    bottom: 24px !important;
  }
  #choisir .lmm-exp-card .lmm-exp-desc { display: none !important; }

  /* Contact CTA */
  #contact h2.wp-block-heading { font-size: clamp(34px, 9vw, 52px) !important; }
  #contact .lmm-body-mid { font-size: 14px !important; max-width: 100% !important; }

  /* Footer : empiler + centrer */
  .lmm-footer > .wp-block-columns {
    flex-direction: column !important;
    padding: 44px 20px 36px !important;
    gap: 36px !important;
  }
  .lmm-footer > .wp-block-columns .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    align-items: center !important;
  }
  .lmm-footer-logo .wp-block-site-logo img {
    margin: 0 auto 20px !important;
  }
  .lmm-footer-desc {
    max-width: 100% !important;
    margin: 0 auto !important;
  }
  .lmm-footer-links {
    align-items: center !important;
  }
  .lmm-footer-links li a:hover { padding-left: 0 !important; }
  .lmm-footer .lmm-btn-outline {
    display: flex !important;
    justify-content: center !important;
  }
  .lmm-footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 10px !important;
    padding: 18px 20px 28px !important;
  }

  /* Page Chambres */
  .lmm-hero-page {
    padding-top: 130px !important;
    padding-bottom: 36px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .lmm-hero-page h1.wp-block-heading { font-size: clamp(38px, 10vw, 56px) !important; }
  .lmm-chambres .wp-block-columns {
    flex-direction: column !important;
    gap: 28px !important;
    padding: 36px 0 !important;
  }
  .lmm-chambres .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .lmm-chambre-img img { height: 260px !important; }

  /* Room single */
  .lmm-room-hero { min-height: 60vh !important; max-height: none !important; }
  .lmm-room-title.wp-block-post-title { font-size: clamp(34px, 9vw, 52px) !important; }

  /* Contact / Resa */
  .lmm-contact-wrap {
    padding: 56px 20px 72px !important;
  }
  .lmm-contact-section { padding: 56px 20px !important; }
  .lmm-resa-section { padding: 56px 20px !important; }
  .lmm-form-card,
  .lmm-resa-card { padding: 24px !important; }
  .lmm-form-row { grid-template-columns: 1fr !important; }

  .lmm-contact-wrap .wp-block-columns,
  .lmm-resa-section .wp-block-columns,
  .lmm-contact-section .wp-block-columns {
    flex-direction: column !important;
    gap: 36px !important;
  }
  .lmm-contact-wrap .wp-block-column,
  .lmm-resa-section .wp-block-column,
  .lmm-contact-section .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* MPHB */
  .mphb-price { font-size: 44px !important; }
  .lmm-room-content {
    grid-template-columns: 1fr !important;
    padding: 40px 20px 60px !important;
  }
  .lmm-room-content .lmm-room-gallery { grid-column: 1 !important; grid-row: 1 !important; }
  .lmm-room-content .mphb-details-title            { grid-row: 2 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-single-room-type-attributes { grid-row: 3 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-regular-price            { grid-row: 4 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-calendar-title           { grid-row: 5 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-calendar                 { grid-row: 6 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-reservation-form-title   { grid-row: 7 !important; grid-column: 1 !important; }
  .lmm-room-content .mphb-booking-form             { grid-row: 8 !important; grid-column: 1 !important; }

  .lmm-room-gallery > .wp-block-columns:first-of-type .wp-block-column:first-child .lmm-gal-img img { height: 240px !important; }
  .lmm-room-gallery > .wp-block-columns:first-of-type .wp-block-column:last-child .lmm-gal-img img  { height: 160px !important; }
  .lmm-room-gallery > .wp-block-columns:last-of-type .lmm-gal-img img { height: 140px !important; }
}
