/**
 * Relais d'Avajan — chambre.css
 * Styles pour les templates MotoPress Hotel Booking
 * Charte : brun montagne, beige, vert Louron
 *
 * À placer dans votre thème enfant et charger via wp_enqueue_styles()
 */

/* ── Variables ──────────────────────────────────────────────────── */
:root {
    --ra-brun:        #5c4033;
    --ra-brun-clair:  #8d6e63;
    --ra-brun-hover:  #4a3028;
    --ra-beige:       #f5f0ea;
    --ra-beige-bord:  #e8e0d5;
    --ra-blanc:       #ffffff;
    --ra-gris:        #6b6b6b;
    --ra-gris-clair:  #f0ece8;
    --ra-vert:        #4a7c59;
    --ra-ombre:       0 2px 12px rgba(0,0,0,.08);
    --ra-radius:      15px;
    --ra-transition:  .2s ease;
    --ra-max:         1200px;
    --ra-f-titre:     'Quicksand', system-ui, sans-serif;
    --ra-f-corps:     'Lato', system-ui, sans-serif;
}

/* ── Reset minimal ──────────────────────────────────────────────── */
.chambre-single *, .mphb-archive-room-type * { box-sizing: border-box; }

/* ── Utilitaires ────────────────────────────────────────────────── */
.container {
    max-width: var(--ra-max);
    margin-inline: auto;
    padding-inline: 1.5rem;
}

/* Conteneur propre à Avajan — évite les conflits avec .container de Divi */
.ra-section {
    max-width: var(--ra-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    box-sizing: border-box !important;
}

/* ── Calendrier 1 seul mois sous 900px (aligné sur bascule grid) ── */
@media (max-width: 900px) {
    /* jQuery UI datepicker multi-mois */
    .ui-datepicker-multi .ui-datepicker-group-last { display: none !important; }
    .ui-datepicker-multi,
    .ui-datepicker-multi .ui-datepicker-group-first,
    .ui-datepicker-multi .ui-datepicker-group {
        width: 100% !important;
        float: none !important;
    }
    .ui-datepicker {
        width: 100% !important;
        font-size: .82rem !important;
    }
    .ui-datepicker td a,
    .ui-datepicker td span { padding: .3em !important; }

    /* MotoPress availability calendar (datepick) — 1 seul mois */
    .datepick-multi { width: 100% !important; }
    .datepick-month-row .datepick-month:not(.first) { display: none !important; }
    .datepick-month.first { width: 100% !important; }
    .datepick-month.first table { width: 100% !important; }
    .chambre-calendrier { overflow-x: hidden; }

    /* Inputs encart réservation */
    .resa-sticky input[type="text"],
    .resa-sticky input[type="date"],
    .resa-sticky input[type="search"],
    .resa-sticky select,
    .resa-sticky .mphb-datepick-date,
    .resa-sticky .mphb-text,
    .resa-sticky .hasDatepicker {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 640px) {
    /* Conteneurs */
    .container,
    .chambre-corps.container {
        padding-inline: .75rem;
    }
    .ra-section {
        padding-left: .75rem !important;
        padding-right: .75rem !important;
    }
    /* Supprimer l'espace vide entre calendrier et formulaire */
    .chambre-section.chambre-calendrier { margin-bottom: .5rem; }
    .chambre-reservation { margin-top: 1rem; }

    /* Vignettes plus petites sur mobile */
    .galerie-vignette-link {
        width: clamp(100px, 30vw, 150px);
        height: clamp(67px, 20vw, 100px);
    }

    /* h3 — réduction mobile globale sur toutes les pages MotoPress */
    .chambre-single h3,
    .mphb-archive h3,
    .resa-page h3,
    #confirmation-page h3,
    #archive-chambres h3 { font-size: .95rem; }

    /* Titre des cards chambre (carousel "Nos autres chambres") */
    .chambre-card-titre { font-size: 1.2rem !important; }
}

.btn {
    display: inline-block;
    padding: .65rem 1.4rem;
    border-radius: var(--ra-radius);
    font-weight: 600;
    font-size: .9rem;
    text-decoration: none;
    transition: background var(--ra-transition), transform var(--ra-transition);
    cursor: pointer;
    border: none;
}
.btn-primary  { background: #159922; color: var(--ra-blanc); }
.btn-primary:hover  { background: var(--ra-brun-hover); transform: translateY(-1px); }
.btn-secondary { background: transparent; color: var(--ra-brun); border: 2px solid var(--ra-brun); }
.btn-secondary:hover { background: var(--ra-beige); transform: translateY(-1px); }

/* ── Breadcrumb ─────────────────────────────────────────────────── */
.breadcrumb {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: .4rem; font-size: .7rem; color: var(--ra-gris);
    margin-bottom: .4rem;
}
.breadcrumb a { color: var(--ra-brun-clair); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }


/* ═══════════════════════════════════════════════════════════════════
   FICHE CHAMBRE  (single-room-type.php)
═══════════════════════════════════════════════════════════════════ */

.chambre-single { padding-bottom: 4rem; overflow-x: clip; }

/* En-tête — breadcrumb seul, fond transparent */
.chambre-hero { background: transparent; padding: .0rem 0; margin-bottom: 0; }

/* Dégradé pleine surface sur la photo hero */
.galerie-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,0) 60%);
    pointer-events: none;
    z-index: 1;
}

/* Bloc titre + meta centré en bas de la photo */
.galerie-hero-infos {
    position: absolute;
    bottom: 4vh;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    text-align: center;
    width: max-content;
    max-width: 90%;
    z-index: 2;
    pointer-events: none;
}

.chambre-titre {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    color: #ffffff !important;
    margin: 0 0 .5rem;
    text-shadow: 0 2px 8px rgba(0,0,0,.55);
}
.chambre-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .4rem 1.25rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff !important;
}
.meta-item {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.4);
}
.meta-prix { color: #fff !important; }
.meta-prix strong { color: #fff !important; font-size: 1.1rem; }
.meta-prix .mphb-price { color: #fff !important; font-size: 1.1rem; font-weight: 700; }

/* Galerie */
.chambre-galerie { margin-bottom: 2.5rem; }
.galerie-principale img {
    width: 100%; max-height: 520px; object-fit: cover;
    border-radius: var(--ra-radius); display: block;
}
.galerie-miniatures {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .5rem; margin-top: .5rem;
}
.galerie-miniature {
    width: 100%; height: 110px; object-fit: cover;
    border-radius: calc(var(--ra-radius)/2);
    cursor: pointer; transition: opacity var(--ra-transition);
}
.galerie-miniature:hover { opacity: .8; }

/* Corps 2 colonnes */
.chambre-corps {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 3rem; align-items: start;
}
.chambre-infos,
.chambre-reservation { min-width: 0; }
@media (max-width: 900px) { .chambre-corps { grid-template-columns: 1fr; } }

/* Tagline extrait — fiche chambre */
.chambre-tagline {
    font-weight: 700;
    color: #159922;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 1rem;
}

/* Sections */
.chambre-section { margin-bottom: 2rem; }
.chambre-section h2 {
    font-family: 'Quicksand', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.05rem; color: #000;
    margin-bottom: .75rem; padding-bottom: .4rem;
    border-bottom: 1px solid var(--ra-beige-bord);
}

/* Attributs */
.liste-attributs { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.liste-attributs li { font-size: .9rem; color: var(--ra-gris); }
.liste-attributs strong { color: var(--ra-brun); }

/* Équipements */
.liste-equipements {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: .5rem .75rem;
}
.liste-equipements li {
    display: flex; align-items: center; gap: .4rem;
    font-size: .88rem; color: var(--ra-gris);
    background: var(--ra-gris-clair); border-radius: 20px;
    padding: .25rem .75rem;
}
.liste-equipements svg { color: #159922; flex-shrink: 0; }

/* Services inclus — ancien bloc retiré, géré par .services-grille */

/* Calendrier */
.chambre-calendrier .mphb-availability-calendar { width: 100%; }

/* Bloc réservation sticky */
.chambre-reservation { position: sticky; top: 1.5rem; }
.resa-sticky {
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    padding: 1.75rem; box-shadow: var(--ra-ombre);
}
.resa-sticky > h2 {
    font-family: var(--ra-f-titre);
    font-size: 1.2rem;
    color: #159922;
    margin: 0 0 .75rem;
}
.resa-prix { margin-bottom: 1.25rem; line-height: 1.3; }
.resa-prix .mphb-price { font-size: 1.9rem; font-weight: 700; color: var(--ra-brun); }
.resa-prix span { font-size: .82rem; color: var(--ra-gris); display: block; margin-top: .2rem; }

.resa-garanties {
    list-style: none; padding: 0; margin: .85rem 0 0;
    display: flex; flex-direction: column; gap: .4rem;
}
.resa-garanties li {
    display: flex; align-items: center; gap: .4rem;
    font-size: .78rem; color: var(--ra-gris);
}
.resa-garanties svg { color: var(--ra-vert); flex-shrink: 0; }

/* RÉSERVER — uppercase global sur tous les boutons MotoPress */
.mphb-book-button,
.mphb-sc-book-button,
a.mphb-book-button,
input.mphb-book-button {
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

/* MotoPress — surcharge styles formulaire réservation */
.resa-sticky .mphb-book-button,
.resa-sticky .mphb-sc-book-button {
    display: block; width: 100%; text-align: center;
    background: var(--ra-brun); color: var(--ra-blanc);
    padding: .85rem 1rem; border-radius: var(--ra-radius);
    font-weight: 600; font-size: 1rem;
    cursor: pointer; border: none;
    transition: background var(--ra-transition);
}
.resa-sticky .mphb-book-button:hover,
.resa-sticky .mphb-sc-book-button:hover { background: var(--ra-brun-hover); }

/* Autres chambres */
.autres-chambres { margin-top: 4rem; padding-top: 2.5rem; padding-bottom: 2rem; border-top: 1px solid var(--ra-beige-bord); }
.autres-chambres > h2 {
    font-family: 'Quicksand', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.4rem;
    color: var(--ra-brun);
    margin: 0 0 1.5rem;
    text-transform: lowercase;
    letter-spacing: .02em;
}

/* ── Grille "Nos autres chambres" (single-mphb_room_type.php) ── */
/* ── Section "nos autres chambres" ─────────────────────────────────
   Stratégie : fond pleine largeur + padding latéral pour centrer le contenu.
   Les breakpoints gèrent padding + colonnes.
─────────────────────────────────────────────────────────────────── */

/* Desktop standard (> 1280px) → contenu sur 80 vw */
.autres-chambres.ra-section {
    background-color: #d5dee8;
    max-width: 100% !important;
    padding-top: 2.5rem !important;
    padding-bottom: 3rem !important;
    padding-left:  10vw !important;
    padding-right: 10vw !important;
}

.autres-chambres.ra-section h2 { margin-bottom: 1.5rem; }

/* Wrapper carousel */
.chambres-carousel-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ── Carousel < 2000px ──────────────────────────────────────────── */
.chambres-grille {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 1.25rem;
    padding-bottom: .5rem;
    width: 100%;
    box-sizing: border-box;
    /* cache la scrollbar */
    scrollbar-width: none;
}
.chambres-grille::-webkit-scrollbar { display: none; }

.chambre-card {
    flex: 0 0 calc(20% - 1rem); /* ~5 cartes visibles */
    scroll-snap-align: start;
    min-width: 220px;
}

/* Contrôles carousel (flèches + bullets) en dessous */
.carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.carousel-btn {
    background: rgba(255,255,255,.9);
    border: 1px solid var(--ra-beige-bord);
    border-radius: 50%;
    width: 2.5rem; height: 2.5rem;
    font-size: 1.4rem; line-height: 1;
    cursor: pointer; color: var(--ra-brun);
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    transition: background var(--ra-transition);
    display: flex; align-items: center; justify-content: center;
    padding: 0; flex-shrink: 0;
}
.carousel-btn:hover { background: #fff; }

/* Bullets */
.carousel-bullets {
    display: flex;
    gap: .5rem;
    align-items: center;
}
.carousel-bullet {
    width: .55rem; height: .55rem;
    border-radius: 50%;
    background: var(--ra-beige-bord);
    border: none; cursor: pointer; padding: 0;
    transition: background .2s, transform .2s;
}
.carousel-bullet.active {
    background: var(--ra-brun);
    transform: scale(1.3);
}

/* ── Grille native ≥ 2000px ─────────────────────────────────────── */
@media (min-width: 2000px) {
    .autres-chambres.ra-section {
        padding-left:  12.5vw !important;
        padding-right: 12.5vw !important;
    }
    .chambres-grille {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr) !important;
        overflow: visible !important;
        flex-wrap: unset !important;
        gap: 1.75rem;
        padding-bottom: 0;
    }
    .chambre-card { flex: unset !important; min-width: unset !important; }
    .carousel-btn { display: none !important; }
}

/* 4K ≥ 3200px → 6 colonnes */
@media (min-width: 3200px) {
    .autres-chambres.ra-section {
        padding-left:  17.5vw !important;
        padding-right: 17.5vw !important;
    }
    .chambres-grille {
        grid-template-columns: repeat(6, 1fr) !important;
        gap: 2rem;
    }
}

/* Tablette paysage / petit desktop (1024–1280px) → 90 vw, 4 col */
@media (max-width: 1280px) {
    .autres-chambres.ra-section {
        padding-left:  5vw !important;
        padding-right: 5vw !important;
    }
    .chambres-grille { grid-template-columns: repeat(4, 1fr); }
}

/* Tablette portrait (768–1024px) → 92 vw, 3 col */
@media (max-width: 1024px) {
    .autres-chambres.ra-section {
        padding-left:  4vw !important;
        padding-right: 4vw !important;
    }
    .chambres-grille { grid-template-columns: repeat(3, 1fr); }
}

/* Mobile large (480–768px) → 94 vw, 2 col */
@media (max-width: 768px) {
    .autres-chambres.ra-section {
        padding-left:  3vw !important;
        padding-right: 3vw !important;
    }
    .chambres-grille { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
}

/* Mobile (< 480px) → 96 vw, 1 col */
@media (max-width: 480px) {
    .autres-chambres.ra-section {
        padding-left:  2vw !important;
        padding-right: 2vw !important;
    }
    .chambres-grille { grid-template-columns: 1fr; gap: .75rem; }
}

.chambre-card {
    background: var(--ra-blanc);
    border-radius: var(--ra-radius);
    overflow: hidden;
    box-shadow: var(--ra-ombre);
    border: 1px solid var(--ra-beige-bord);
    display: flex; flex-direction: column;
    transition: transform var(--ra-transition), box-shadow var(--ra-transition);
}
.chambre-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.13);
}

/* Photo + badge overlay */
.chambre-card-photo {
    position: relative;
    overflow: hidden;
}
.chambre-card-img {
    width: 100%; height: 220px;
    object-fit: cover; display: block;
    transition: transform .35s ease;
}
.chambre-card:hover .chambre-card-img { transform: scale(1.05); }

/* Badge prix/capacité en overlay bas-droite */
.chambre-card-badge {
    position: absolute;
    bottom: .75rem; right: .75rem;
    background: rgba(0,0,0,.58);
    color: #fff;
    font-size: .8rem;
    padding: .35rem .75rem;
    border-radius: 20px;
    backdrop-filter: blur(4px);
    line-height: 1.4;
    pointer-events: none;
}
.chambre-card-badge strong { font-weight: 700; }
.chambre-card-badge span   { opacity: .85; font-size: .78rem; }

/* Corps texte */
.chambre-card-infos {
    padding: 1.1rem 1.25rem 1.25rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.chambre-card-titre {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 600;
    color: var(--ra-brun);
    margin: 0 0 .3rem;
}
.card-surface, .card-capacite {
    font-size: .82rem;
    color: var(--ra-gris);
    margin: 0;
    padding:0;
    font-weight: 600;
    line-height: 1rem;
}

/* Bouton Détails */
.card-btn {
    display: inline-block;
    margin-top: .85rem;
    align-self: center;
    background: #159922;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-size: .78rem;
    font-weight: 700;
    padding: .45rem 1.4rem;
    border-radius: var(--ra-radius);
    text-decoration: none !important;
    transition: background var(--ra-transition);
}
.card-btn:hover { background: #117a1a !important; }

/* Lien générique → vert dans les sections chambres */
.chambre-single a:not(.glightbox):not(.btn):not(.breadcrumb a) {
    color: #159922;
}
.chambre-single a:not(.glightbox):not(.btn):not(.breadcrumb a):hover {
    color: var(--cal-vert-fonce);
}

/* ═══════════════════════════════════════════════════════════════════
   ARCHIVE CHAMBRES  (archive-mphb_room_type.php)
   Layout : texte gauche | photo droite
═══════════════════════════════════════════════════════════════════ */

/* ── Hero : conteneur flex vertical ── */
.archive-hero {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Zone photo (flex: 1 = prend tout l'espace restant) */
.archive-hero-photo {
    position: relative;
    flex: 1;
    min-height: clamp(240px, 40vw, 440px);
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.archive-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,0) 60%);
}
/* Titre en bas de la zone photo — jamais masqué par la barre */
.archive-hero-content {
    position: absolute;
    bottom: 1.5rem; left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    width: max-content;
    max-width: 90%;
}
.archive-hero-content h1 {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(2rem, 5vw, 3.2rem);
    color: #fff;
    margin: 0;
    text-shadow: 0 2px 8px rgba(0,0,0,.5);
    letter-spacing: .04em;
    white-space: nowrap;
}


/* ── Intro ── */
.archive-intro-section { padding: 3rem 0 2rem; }
.archive-intro-titre {
    font-family: var(--ra-f-titre);
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    color: var(--ra-brun); font-weight: 700;
    margin: 0 0 .75rem;
}
.archive-intro-texte {
    color: var(--ra-gris); font-size: .93rem; line-height: 1.7;
    max-width: 820px; margin: 0;
}

/* ── Liste des chambres ── */
.archive-liste { padding: 0 0 2rem; }

.archive-chambre-row {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 3rem;
    align-items: center;
    padding: 3rem 0;
    border-bottom: 1px solid var(--ra-beige-bord);
}
.archive-chambre-row { border-bottom: none; }

/* Colonne texte */
.archive-chambre-info { display: flex; flex-direction: column; gap: .65rem; }

/* Titre + ligne */
.archive-chambre-titre {
    font-family: 'Poiret One', sans-serif;
    font-weight: 600;
    font-size: clamp(1.7rem, 2.8vw, 2.4rem);
    color: #000000;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    white-space: nowrap;
}
.archive-chambre-titre::after {
    content: '';
    display: block; flex: 1;
    height: 1px;
    background: #159922;
    opacity: .5;
    min-width: 2rem;
}

/* Méta surface + capacité */
.archive-chambre-meta {
    display: flex; gap: 1.25rem; flex-wrap: wrap;
    color: var(--ra-gris); font-size: .88rem;
}
.archive-meta-item { display: flex; align-items: center; gap: .35rem; font-weight: 500; }
.archive-meta-item svg { color: #159922; flex-shrink: 0; }

/* Prix min dans les métas */
.archive-meta-prix { color: var(--ra-gris); }
.archive-meta-prix strong { color: #159922; font-size: 1rem; }

/* Tagline vert gras */
.archive-chambre-tagline {
    font-weight: 600;
    color: #000;
    font-size: .95rem;
    margin: 0;
    line-height: 1.5;
}

/* Description */
.archive-chambre-desc { font-size: .9rem; color: var(--ra-gris); line-height: 1.65; }
.archive-chambre-desc p { margin: 0; }

/* Mini-galerie vignettes (même ratio 3:2 que les fiches chambre, taille réduite) */
.archive-chambre-galerie {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
    scrollbar-color: var(--ra-beige-bord) transparent;
    padding-bottom: .25rem;
    padding-top: 2rem;
}
.archive-chambre-galerie::-webkit-scrollbar { height: 3px; }
.archive-chambre-galerie::-webkit-scrollbar-thumb { background: var(--ra-beige-bord); border-radius: 2px; }
.archive-vignette {
    flex: 0 0 auto;
    width: clamp(90px, 12vw, 175px);
    height: clamp(60px, 8vw, 117px);
    overflow: hidden;
    border-radius: 4px;
    display: block;
    position: relative;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0,0,0,.12);
    transition: box-shadow .25s ease, transform .25s ease;
}
.archive-vignette:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
    transform: translateY(-2px);
}
.archive-vignette img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .25s ease;
}
.archive-vignette:hover img { transform: scale(1.06); }
.archive-vignette-more { position: relative; }
.archive-vignette-more::after {
    content: attr(data-more);
    position: absolute; inset: 0;
    background: rgba(0,0,0,.52);
    color: #fff; font-size: .8rem; font-weight: 600;
    display: flex; align-items: center; justify-content: center;
    border-radius: 4px;
}

/* Bouton Détails — style bordé */
.archive-chambre-btn {
    display: inline-block;
    margin-top: .5rem;
    padding: .35rem 1rem;
    border: 1px solid #159922;
    border-radius: var(--ra-radius);
    color: #159922 !important;
    font-size: .7rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .08em;
    text-decoration: none !important;
    transition: background var(--ra-transition), color var(--ra-transition);
    align-self: flex-start;
}
.archive-chambre-btn:hover {
    background: #159922 !important; color: var(--ra-blanc) !important;
}

/* Colonne photo */
.archive-chambre-photo { overflow: hidden; border-radius: var(--ra-radius); }
.archive-chambre-photo a { display: block; overflow: hidden; border-radius: var(--ra-radius); }
.archive-chambre-photo img {
    width: 100%; height: 300px; object-fit: cover; display: block;
    border-radius: var(--ra-radius);
    transition: transform .4s ease;
}
.archive-chambre-row:hover .archive-chambre-photo img { transform: scale(1.03); }
.archive-chambre-photo--placeholder {
    height: 300px; background: var(--ra-beige); border-radius: var(--ra-radius);
}

/* ── Section "Inclus dans votre location" ── */
.archive-services-inclus {
    background: var(--ra-beige);
    padding: 3rem 0;
    margin: 1rem 0 0;
}
.archive-services-titre {
    font-family: var(--ra-f-titre);
    font-size: 1.15rem;
    color: var(--ra-brun);
    font-weight: 700;
    text-transform: lowercase;
    margin: 0 0 2rem;
    text-align: center;
}
.archive-services-grille {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem 2rem;
    justify-content: center;
    align-items: flex-start;
}
.archive-service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    width: 90px;
    text-align: center;
}
.archive-service-picto {
    width: 52px; height: 52px;
    object-fit: contain;
    filter: invert(28%) sepia(60%) saturate(400%) hue-rotate(170deg) brightness(85%);
}
.archive-service-picto-fallback { color: var(--ra-brun-clair); }
.archive-service-label {
    font-size: .72rem; color: var(--ra-gris);
    line-height: 1.3; font-weight: 600;
}


/* ── Gîte promo ── */
.archive-gite { padding: 2rem 0 3rem; }
.gite-promo {
    background: var(--ra-beige); border-radius: var(--ra-radius);
    padding: 2.5rem; text-align: center;
}
.gite-promo h2 { font-family: var(--ra-f-titre); color: var(--ra-brun); font-size: 1.4rem; margin: 0 0 .5rem; }
.gite-promo p { color: var(--ra-gris); margin: 0 0 1.25rem; }

/* ── Responsive ── */
@media (max-width: 900px) {
    .archive-chambre-row { grid-template-columns: 1fr 260px; gap: 1.75rem; }
}
@media (max-width: 700px) {
    .archive-hero-photo { min-height: clamp(200px, 55vw, 300px); }
    .archive-chambre-row {
        grid-template-columns: 1fr;
        gap: 1rem; padding: 2rem 0;
        overflow: hidden;
    }
    .archive-chambre-info { overflow: hidden; }
    .archive-chambre-photo { order: -1; }
    .archive-chambre-photo img { height: 220px; }
    .archive-chambre-titre {
        font-size: 1.5rem;
        white-space: normal;
        display: block; /* supprime le flex + ::after sur mobile */
    }
    .archive-chambre-titre::after { display: none; }
    .archive-chambre-tagline,
    .archive-chambre-desc { word-break: break-word; overflow-wrap: break-word; }
    .archive-services-grille { gap: 1rem 1.5rem; }
    .archive-service-item { width: 72px; }
}

/* ── Boutons universels verts (toutes pages MotoPress) ── */
.mphb-archive .mphb-book-button,
.mphb-archive .mphb-sc-book-button,
.mphb-archive a.button,
.mphb_sc_search_results-wrapper .mphb-book-button,
.mphb_sc_search_results-wrapper .mphb-sc-book-button,
.mphb_sc_search_results-wrapper a.button,
.mphb_sc_search_results-wrapper a.mphb-more-link,
.mphb-reservation .mphb-book-button,
.mphb-checkout .mphb-book-button,
.mphb-sc-checkout-form .mphb-book-button,
.btn, .btn-primary,
.mphb-book-button, .mphb-sc-book-button,
a.mphb-book-button, input.mphb-book-button {
    background: #159922 !important; color: #fff !important;
    border: none !important; border-radius: var(--ra-radius) !important;
    padding: .65rem 1.25rem !important; font-weight: 700 !important;
    text-decoration: none !important; cursor: pointer !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    transition: background var(--ra-transition) !important;
    display: inline-block !important;
}
.mphb-book-button:hover, .mphb-sc-book-button:hover,
.btn:hover, .btn-primary:hover,
.mphb_sc_search_results-wrapper a.button:hover { background: #0e6b18 !important; }

.btn-secondary {
    background: transparent !important; color: var(--ra-brun) !important;
    border: 2px solid var(--ra-brun) !important;
}
.btn-secondary:hover { background: var(--ra-brun) !important; color: var(--ra-blanc) !important; }

/* ─── MotoPress — overrides globaux ──────────────────────────────── */

/* Labels champs */
.mphb-label { font-weight: 600; color: var(--ra-brun); font-size: .88rem; margin-bottom: .25rem; display: block; }

/* Inputs */
.mphb-sc-search-form input[type="text"],
.mphb-sc-search-form select,
.mphb-sc-checkout-form input,
.mphb-sc-checkout-form select,
.mphb-sc-checkout-form textarea {
    border: 1px solid var(--ra-beige-bord);
    border-radius: calc(var(--ra-radius)/2);
    padding: .55rem .75rem;
    font-size: .9rem; width: 100%;
    transition: border-color var(--ra-transition);
}
.mphb-sc-search-form input:focus,
.mphb-sc-checkout-form input:focus { border-color: var(--ra-brun-clair); outline: none; }

/* ── Calendrier dispo — thème vert #159922 ──────────────────────── */

/* Palette verte locale */
:root {
    --cal-vert:        #159922;
    --cal-vert-fonce:  #0e6b18;
    --cal-vert-hover:  #1ab52a;
    --cal-vert-pale:   #f1f9f2;
    --cal-vert-leger:  #d4edda;
    --cal-vert-moyen:  #a8d5b0;
    --cal-rouge-pale:  #fde8e8;
    --cal-rouge:       #e57373;
}

.mphb-datepicker-wrapper { font-family: var(--ra-f-corps); }

/* Conteneur principal */
.ui-datepicker {
    border: 1px solid var(--cal-vert-moyen) !important;
    border-radius: var(--ra-radius) !important;
    box-shadow: 0 4px 16px rgba(21,153,34,.12) !important;
    font-family: var(--ra-f-corps) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* En-tête (mois + navigation) */
.ui-datepicker-header,
.ui-datepicker .ui-widget-header {
    background: var(--cal-vert) !important;
    border: none !important;
    border-radius: 0 !important;
    color: #fff !important;
    padding: .6rem 1rem !important;
}
.ui-datepicker-title,
.ui-datepicker .ui-datepicker-title {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: .95rem !important;
}

/* Flèches prev / next */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
    border: none !important;
    background: transparent !important;
    cursor: pointer !important;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
    background: rgba(255,255,255,.15) !important;
    border-radius: 4px !important;
}
.ui-datepicker .ui-icon {
    background-image: none !important;
    text-indent: 0 !important;
    font-size: 1rem !important;
    color: #fff !important;
    overflow: visible !important;
}
.ui-datepicker .ui-datepicker-prev .ui-icon::after { content: '‹'; color: #fff; font-size: 1.3rem; line-height: 1; }
.ui-datepicker .ui-datepicker-next .ui-icon::after { content: '›'; color: #fff; font-size: 1.3rem; line-height: 1; }

/* Corps du calendrier */
.ui-datepicker table,
.ui-datepicker .ui-datepicker-calendar {
    margin: 0 !important;
    border-collapse: collapse !important;
    width: 100% !important;
    background: #fff !important;
}

/* Noms des jours */
.ui-datepicker th {
    background: var(--cal-vert-pale) !important;
    color: var(--cal-vert-fonce) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: .4rem 0 !important;
    border: none !important;
}

/* Cellules jours */
.ui-datepicker td {
    border: none !important;
    padding: 2px !important;
}
.ui-datepicker td .ui-state-default {
    background: #fff !important;
    color: var(--cal-vert-fonce) !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    text-align: center !important;
    font-size: .85rem !important;
    transition: background .15s, color .15s !important;
}
.ui-datepicker td .ui-state-hover,
.ui-datepicker td:hover .ui-state-default {
    background: var(--cal-vert-leger) !important;
    color: var(--cal-vert-fonce) !important;
    border-color: var(--cal-vert-moyen) !important;
}

/* Aujourd'hui */
.ui-datepicker td .ui-state-highlight {
    background: var(--cal-vert-pale) !important;
    color: var(--cal-vert) !important;
    border: 1px solid var(--cal-vert-moyen) !important;
    font-weight: 700 !important;
}

/* Jour sélectionné */
.ui-datepicker td .ui-state-active {
    background: var(--cal-vert) !important;
    color: #fff !important;
    border-color: var(--cal-vert-fonce) !important;
    border-radius: 50% !important;
}

/* Jours autre mois */
.ui-datepicker td.ui-datepicker-other-month .ui-state-default {
    color: var(--cal-vert-moyen) !important;
}

/* ── Classes MPHB spécifiques ── */
.mphb-available-date a,
.mphb-available-date span {
    background: var(--cal-vert-pale) !important;
    color: var(--cal-vert-fonce) !important;
}
.mphb-available-date:hover a {
    background: var(--cal-vert-leger) !important;
}

/* Dates indisponibles — double ciblage td parent (jQuery UI) + span direct (datepick MotoPress) */
.mphb-unavailable-date a,
.mphb-unavailable-date span,
.mphb-calendar td span.mphb-unavailable-date,
.mphb-calendar td span.mphb-booked-date,
.mphb-calendar td span.mphb-unselectable-date--check-in,
.mphb-calendar td span.mphb-mark-as-unavailable--check-in {
    background: #fde8e8 !important;
    color: #e57373 !important;
    opacity: .75 !important;
}
.mphb-unavailable-date a,
.mphb-unavailable-date span,
.mphb-calendar td span.mphb-unavailable-date {
    text-decoration: line-through !important;
}
.mphb-booked-date a,
.mphb-booked-date span { background: #fde8e8 !important; color: #e57373 !important; opacity: .75 !important; }

.mphb-check-in-date a,
.mphb-check-out-date a,
.mphb-check-in-date span,
.mphb-check-out-date span {
    color: var(--cal-vert) !important;
    border-radius: 5% !important;
    font-weight: 700 !important;
}

.mphb-selected-date a,
.mphb-selected-date span {
    background: var(--cal-vert-leger) !important;
    color: var(--cal-vert-fonce) !important;
}

/* Légende MPHB */
.mphb-datepicker-legend { border-color: var(--cal-vert-moyen) !important; }
.mphb-datepicker-legend li { color: var(--cal-vert-fonce) !important; font-size: .78rem !important; }

/* Calendrier de disponibilité (mphb_availability_calendar) */
.mphb-availability-calendar .ui-datepicker { border-color: var(--cal-vert-moyen) !important; }

/* ── Surcharge haute spécificité — header vert, texte non-noir ──
   #ui-datepicker-div = popup jQuery UI (check-in/out dates)        */
#ui-datepicker-div .ui-datepicker-header,
#ui-datepicker-div .ui-widget-header,
.mphb-datepicker-wrapper .ui-datepicker-header,
.mphb-availability-calendar .ui-datepicker-header,
.ui-datepicker .ui-widget-header,
.ui-widget-header,
.ui-datepicker-header {
    background-color: #159922 !important;
    background: #159922 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
}
#ui-datepicker-div .ui-datepicker-title,
#ui-datepicker-div .ui-datepicker-month,
#ui-datepicker-div .ui-datepicker-year,
.mphb-datepicker-wrapper .ui-datepicker-title,
.mphb-availability-calendar .ui-datepicker-title,
.ui-datepicker-title,
.ui-datepicker-month,
.ui-datepicker-year {
    color: #fff !important;
}
/* Cellules jours — vert foncé sur fond blanc */
#ui-datepicker-div td .ui-state-default,
.mphb-datepicker-wrapper .ui-datepicker td .ui-state-default,
.mphb-availability-calendar .ui-datepicker td .ui-state-default {
    color: #0e6b18 !important;
    background: #fff !important;
    border-color: transparent !important;
}
/* Hover */
#ui-datepicker-div td .ui-state-hover,
#ui-datepicker-div td:hover .ui-state-default,
.mphb-datepicker-wrapper .ui-datepicker td .ui-state-hover,
.mphb-availability-calendar .ui-datepicker td .ui-state-hover,
.mphb-datepicker-wrapper .ui-datepicker td:hover .ui-state-default,
.mphb-availability-calendar .ui-datepicker td:hover .ui-state-default {
    background: #d4edda !important;
    color: #0e6b18 !important;
}
/* En-têtes jours (Lun Mar...) */
#ui-datepicker-div th,
.mphb-datepicker-wrapper .ui-datepicker th,
.mphb-availability-calendar .ui-datepicker th {
    color: #0e6b18 !important;
    background: #f1f9f2 !important;
}
/* Texte général non-noir */
#ui-datepicker-div,
.mphb-datepicker-wrapper .ui-datepicker,
.mphb-availability-calendar .ui-datepicker {
    color: #0e6b18 !important;
}
/* Flèches prev/next dans popup */
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
    background: transparent !important; border: none !important;
    cursor: pointer !important; top: 50% !important;
    transform: translateY(-50%) !important;
}
#ui-datepicker-div .ui-icon { background-image: none !important; text-indent: 0 !important; overflow: visible !important; }
#ui-datepicker-div .ui-datepicker-prev .ui-icon::after { content: '‹'; color: #fff; font-size: 1.3rem; }
#ui-datepicker-div .ui-datepicker-next .ui-icon::after { content: '›'; color: #fff; font-size: 1.3rem; }

/* Popup checkout */
.mphb-checkout-popup .mphb-checkout-header { background: var(--ra-brun); color: var(--ra-blanc); }
.mphb-checkout-popup .mphb-checkout-title { color: var(--ra-blanc); }

/* ═══════════════════════════════════════════════════════════════════
   DATEPICK (jQuery Datepick plugin — calendrier de disponibilité)
   Surcharge complète en vert #159922
═══════════════════════════════════════════════════════════════════ */

/* Conteneur principal — fond vert pour combler les gaps entre blocs nav */
.datepick,
.datepick-popup {
    font-family: var(--ra-f-corps) !important;
    border: 1px solid var(--cal-vert-moyen) !important;
    border-radius: var(--ra-radius) !important;
    box-shadow: 0 4px 16px rgba(21,153,34,.12) !important;
    overflow: hidden !important;
    background: #159922 !important;   /* vert → couvre tout gap entre nav/ctrl/header */
    color: var(--cal-vert-fonce) !important;
}

/* Zone des jours : retour au blanc pour la lisibilité */
.datepick table,
.datepick-days,
.datepick-month table {
    background: #fff !important;
    width: 100% !important;
}

/* Tous les divs intermédiaires (months, month, headers) héritent du vert */
.datepick-months,
.datepick-month,
.datepick-header {
    background: #159922 !important;
}

/* Forcer les liens/boutons de nav en blanc quelles que soient leur position */
.datepick-cmd,
a.datepick-cmd,
.datepick-nav a,
.datepick-nav span,
.datepick-ctrl a,
.datepick-ctrl span,
.datepick-ctrl button {
    color: #fff !important;
}

/* Menus déroulants mois / année — fond blanc, texte vert */
.datepick-month-header select,
.datepick select,
.datepick-popup select {
    background: #fff !important;
    color: #159922 !important;
    border: 1px solid rgba(255,255,255,.6) !important;
    border-radius: 4px !important;
    padding: .2rem .4rem !important;
    font-weight: 700 !important;
    font-size: .85rem !important;
    cursor: pointer !important;
    outline: none !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
}

/* En-tête navigation (mois / prev / next) */
.datepick-nav,
.datepick-ctrl,
.datepick-month-header {
    background: #159922 !important;
    color: #fff !important;
    border: none !important;
    padding: .6rem 1rem !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Titre mois + année */
.datepick-month-header a,
.datepick-month-header span,
.datepick-nav a,
.datepick-nav span,
.datepick-month span {
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Boutons prev / next dans la nav */
.datepick-prev,
.datepick-next,
.datepick-ctrl-prev,
.datepick-ctrl-next {
    background: transparent !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 1.2rem !important;
    padding: 0 .5rem !important;
}
.datepick-prev:hover,
.datepick-next:hover { background: rgba(255,255,255,.2) !important; }

/* En-têtes des jours (Lun Mar…) */
.datepick-week-header th,
.datepick thead th,
.datepick-days-row th,
.datepick th {
    background: var(--cal-vert-pale) !important;
    color: var(--cal-vert-fonce) !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: .35rem 0 !important;
    border: none !important;
}

/* Cellules des jours */
.datepick td,
.datepick-week td {
    border: none !important;
    padding: 2px !important;
}

.datepick td a,
.datepick td span,
.datepick-day a,
.datepick-day span {
    display: block !important;
    text-align: center !important;
    border-radius: 4px !important;
    padding: .25rem !important;
    font-size: .85rem !important;
    color: var(--cal-vert-fonce) !important;
    background: #fff !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    transition: background .15s, color .15s !important;
}

/* Hover jour */
.datepick td a:hover,
.datepick-day a:hover {
    background: var(--cal-vert-leger) !important;
    border-color: var(--cal-vert-moyen) !important;
    color: var(--cal-vert-fonce) !important;
}

/* Aujourd'hui */
.datepick-today a,
.datepick td.datepick-today a {
    background: var(--cal-vert-pale) !important;
    color: var(--cal-vert) !important;
    border-color: var(--cal-vert-moyen) !important;
    font-weight: 700 !important;
}

/* Jour sélectionné */
.datepick-selected a,
.datepick td.datepick-selected a,
.datepick-current-day a {
    background: #159922 !important;
    color: #fff !important;
    border-radius: 50% !important;
    border-color: var(--cal-vert-fonce) !important;
    font-weight: 700 !important;
}

/* Jours autre mois */
.datepick-other-month a,
.datepick td.datepick-other-month a {
    color: var(--cal-vert-moyen) !important;
    opacity: .6 !important;
}

/* Jours non sélectionnables */
.datepick-unselectable,
.datepick-unselectable a,
.datepick td.datepick-unselectable a {
    background: var(--cal-rouge-pale) !important;
    color: var(--cal-rouge) !important;
    text-decoration: line-through !important;
    opacity: .7 !important;
    cursor: default !important;
}

/* Plage sélectionnée (check-in → check-out) */
.datepick-date-range a {
    background: var(--cal-vert-leger) !important;
    border-radius: 0 !important;
    color: var(--cal-vert-fonce) !important;
}

/* Contrôles du bas (Aujourd'hui / Fermer) */
.datepick-ctrl {
    text-align: center !important;
    padding: .4rem !important;
}
.datepick-ctrl a,
.datepick-ctrl button {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.4) !important;
    border-radius: var(--ra-radius) !important;
    padding: .2rem .75rem !important;
    font-size: .8rem !important;
    cursor: pointer !important;
    text-decoration: none !important;
}
.datepick-ctrl a:hover,
.datepick-ctrl button:hover {
    background: rgba(255,255,255,.2) !important;
}
/* ── Galerie hero + vignettes + GLightbox ───────────────────────── */

/* Hero pleine largeur */
.chambre-galerie {
    margin-bottom: 3rem;
}

/* Espace entre hero et bande de vignettes */
.galerie-hero-link {
    margin-bottom: .75rem;
}

.galerie-hero-link {
    display: block;
    text-decoration: none;
    position: relative;
    margin-bottom: .75rem;
}

.galerie-hero {
    width: 100%;
    height: clamp(280px, 55vw, 560px);
    background-size: cover;
    background-position: center;
    position: relative;
    cursor: pointer;
    transition: filter .25s ease;
}
.galerie-hero-link:hover .galerie-hero {
    filter: brightness(.92);
}

.galerie-hero-compteur {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    background: rgba(0,0,0,.55);
    color: #fff;
    padding: .35rem .75rem;
    border-radius: 20px;
    font-size: .8rem;
    display: flex;
    align-items: center;
    gap: .35rem;
    backdrop-filter: blur(4px);
}

/* Bande de vignettes */
.galerie-vignettes {
    display: flex;
    gap: .9rem;
    padding: .6rem 1.5rem;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--ra-beige-bord) transparent;
}
.galerie-vignettes::-webkit-scrollbar { height: 4px; }
.galerie-vignettes::-webkit-scrollbar-thumb { background: var(--ra-beige-bord); border-radius: 2px; }

.galerie-vignette-link {
    flex: 0 0 auto;
    width: clamp(180px, 22vw, 260px);
    height: clamp(120px, 14.5vw, 173px);
    overflow: hidden;
    border-radius: 6px;
    display: block;
    position: relative;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    transition: box-shadow .25s ease, transform .25s ease;
}
.galerie-vignette-link:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    transform: translateY(-2px);
}

/* Responsive : vignettes un peu moins larges sur mobile */
@media (max-width: 640px) {
    .galerie-vignette-link {
        width: clamp(130px, 38vw, 190px);
        height: clamp(87px, 25vw, 127px);
    }
    .galerie-vignettes {
        padding: .5rem 1rem;
        gap: .4rem;
    }
}

.galerie-vignette-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.galerie-vignette-link:hover img {
    transform: scale(1.05);
}

/* Dernière vignette avec overlay "+N photos" */
.galerie-vignette-more::after {
    content: attr(data-more);
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(2px);
}

/* Surcharge GLightbox couleurs Avajan */
.glightbox-container .gclose {
    background: var(--ra-brun) !important;
}
.glightbox-container .gnext,
.glightbox-container .gprev {
    background: rgba(92,64,51,.8) !important;
}
.glightbox-clean .gslide-title {
    font-size: 1.3rem;
    font-family: 'Quicksand', Helvetica, Arial, Lucida, sans-serif;
}
/* ── Services inclus (Options ACF globales) ─────────────────────── */

.services-inclus {
    margin: 3rem 0;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    border-top: 1px solid var(--ra-beige-bord);
    border-bottom: 1px solid var(--ra-beige-bord);
}

.services-payants {
    margin: 2rem 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.services-titre {
    font-family: 'Quicksand', Helvetica, Arial, Lucida, sans-serif;
    font-size: 1.05rem;
    color: #000;
    margin: 0 0 1.5rem;
    text-align: left;
    text-transform: lowercase;
    letter-spacing: .02em;
    border-bottom: 1px solid var(--ra-beige-bord);
}

.services-grille {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 1.5rem 2rem;
}

.service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .5rem;
    flex: 0 0 auto;
    width: 110px;
    background: transparent;
    padding: 0;
}

.service-picto {
    width: 46px;
    height: 46px;
    object-fit: contain;
    /* Colorise les SVG en brun Avajan si mono-couleur */
    filter: invert(28%) sepia(15%) saturate(800%) hue-rotate(330deg) brightness(85%);
}

.service-titre {
    font-size: .7rem;
    font-weight: 600;
    color: var(--ra-brun);
    margin: 0;
    line-height: 1;
}

.service-detail {
    font-size: .75rem;
    color: var(--ra-gris);
    margin: 0;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .services-grille {
        gap: .75rem .6rem;
    }
    .service-item {
        width: 58px;
    }
    .service-picto {
        width: 30px;
        height: 30px;
    }
    .service-titre {
        font-size: .6rem;
    }
    .service-detail,
    .service-prix {
        font-size: .6rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE RÉSULTATS DE RECHERCHE  (MotoPress — classes vérifiées F12)
═══════════════════════════════════════════════════════════════════ */

/* Conteneur global — classe réelle vérifiée */
.mphb_sc_search_results-wrapper {
    max-width: var(--ra-max);
    margin-inline: auto;
    padding-inline: 1.5rem;
    padding-bottom: 3rem;
}

/* Info "X chambre(s) trouvée(s)" */
.mphb-sc-search-results-info {
    font-size: .9rem; color: var(--ra-gris);
    margin: 0 0 1.5rem;
    padding: .6rem 1rem;
    background: var(--ra-beige);
    border-left: 3px solid #159922;
    border-radius: 0 var(--ra-radius) var(--ra-radius) 0;
}

/* ── Section "Recommandé pour X invités" ── */
.mphb_sc_recommendation-title {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: 1.4rem;
    color: var(--ra-brun);
    margin: 0 0 1rem;
}

/* Formulaire recommandation (résumé + bouton Réserver) */
.mphb-recommendation {
    background: var(--ra-beige);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
}
.mphb-recommendation ul { list-style: none; padding: 0; margin: 0 0 .75rem; }
.mphb-recommendation li { padding: .2rem 0; font-size: .95rem; color: var(--ra-brun); }
.mphb-recommendation .mphb-total-price {
    font-size: 1.2rem; font-weight: 700; color: #159922;
    margin: .5rem 0 1rem;
}
.mphb-recommendation .mphb-book-button,
.mphb-recommendation input[type="submit"],
.mphb-recommendation .button {
    background: #159922 !important; color: #fff !important;
    border: none; border-radius: var(--ra-radius);
    padding: .7rem 1.5rem; font-weight: 700; font-size: .95rem;
    cursor: pointer; text-decoration: none;
    transition: background var(--ra-transition);
}
.mphb-recommendation .mphb-book-button:hover { background: #0e6b18 !important; }

/* Séparateur "Choisissez parmi..." */
.mphb_sc_search_results-wrapper > p {
    font-size: .9rem; color: var(--ra-gris);
    margin: 1.5rem 0 1rem;
    font-style: italic;
}

/* ── Carte chambre — 2 colonnes : photo | contenu ── */
.mphb_sc_search_results-wrapper .mphb-room-type {
    display: grid !important;
    grid-template-columns: 240px 1fr !important;
    grid-auto-rows: auto !important;
    background: var(--ra-blanc) !important;
    border-radius: var(--ra-radius) !important;
    box-shadow: var(--ra-ombre) !important;
    border: 1px solid var(--ra-beige-bord) !important;
    overflow: hidden !important;
    margin-bottom: 1.5rem !important;
    transition: box-shadow var(--ra-transition), transform var(--ra-transition) !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.12);
    transform: translateY(-2px);
}

/* ── Images : col 1, toute la hauteur ── */
.mphb_sc_search_results-wrapper .mphb-room-type-images {
    grid-column: 1;
    grid-row: 1 / 99;
    list-style: none; padding: 0; margin: 0;
    overflow: hidden;
    background: var(--ra-beige);
    min-height: 220px;
    position: relative;
}
/* Cache tous les li enfants directs sauf le premier (multi-images) */
.mphb_sc_search_results-wrapper .mphb-room-type-images > li { display: none !important; }
.mphb_sc_search_results-wrapper .mphb-room-type-images > li:first-child { display: block !important; }
/* FlexSlider intérieur : cachE slides en trop */
.mphb_sc_search_results-wrapper .mphb-room-type-images .gallery-columns-1 {
    position: absolute !important; inset: 0 !important;
    height: 100% !important; overflow: hidden !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-viewport {
    height: 100% !important; overflow: hidden !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-images .slides > li { display: none !important; }
.mphb_sc_search_results-wrapper .mphb-room-type-images .slides > li:first-child,
.mphb_sc_search_results-wrapper .mphb-room-type-images .slides > li.flex-active-slide {
    display: block !important; height: 100% !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-images img {
    width: 100% !important; height: 100% !important; min-height: 220px;
    object-fit: cover !important; display: block !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-control-nav,
.mphb_sc_search_results-wrapper .mphb-room-type-images .flex-direction-nav { display: none !important; }

/* ── Tout le reste : col 2 ── */
.mphb_sc_search_results-wrapper .mphb-room-type > *:not(.mphb-room-type-images) {
    grid-column: 2;
}

/* ── Titre ── */
.mphb_sc_search_results-wrapper .mphb-room-type-title {
    font-family: 'Poiret One', var(--ra-f-titre) !important;
    font-size: 1.25rem !important;
    color: var(--ra-brun) !important;
    margin: 0 !important;
    padding: 1rem 1.25rem .25rem !important;
    display: block;
}
.mphb_sc_search_results-wrapper .mphb-room-type-title a {
    color: var(--ra-brun) !important; text-decoration: none;
}
.mphb_sc_search_results-wrapper .mphb-room-type-title a:hover { color: #159922 !important; }

/* ── Description ── */
.mphb_sc_search_results-wrapper .mphb-room-type-description {
    padding: 0 1.25rem .75rem;
}
/* "Détails" — petit label gris */
.mphb_sc_search_results-wrapper .mphb-room-type-description h4,
.mphb_sc_search_results-wrapper .mphb-room-type-description > h4 {
    font-size: .7rem !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: var(--ra-gris) !important;
    font-weight: 600 !important;
    margin: .4rem 0 .2rem !important;
    padding: 0 !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-attrs { list-style: none; padding: 0; margin: 0; }
.mphb_sc_search_results-wrapper .mphb-room-type-attrs li {
    font-size: .82rem; color: var(--ra-gris); padding: .04rem 0; line-height: 1.4;
}

/* ── Prix ── */
.mphb_sc_search_results-wrapper .mphb-price-wrapper {
    font-size: .95rem !important; font-weight: 700 !important;
    color: #159922 !important; margin: .4rem 0 .75rem !important;
    padding: 0 !important; display: block;
}
.mphb_sc_search_results-wrapper .mphb-price-wrapper .mphb-price { color: #159922 !important; }

/* ── Boutons côte à côte dans la description ── */
.mphb_sc_search_results-wrapper .mphb-room-type-description > a,
.mphb_sc_search_results-wrapper .mphb-room-type-description a.button,
.mphb_sc_search_results-wrapper .mphb-room-type-description .mphb-book-button {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 .6rem .75rem 0 !important;
    background: #159922 !important; color: #fff !important;
    border-radius: var(--ra-radius) !important;
    padding: .55rem 1rem !important;
    font-weight: 700 !important; font-size: .82rem !important;
    text-decoration: none !important; cursor: pointer !important;
    text-transform: uppercase !important; letter-spacing: .04em !important;
    border: none !important; white-space: nowrap !important;
    transition: background var(--ra-transition) !important;
}
.mphb_sc_search_results-wrapper .mphb-room-type-description > a:hover,
.mphb_sc_search_results-wrapper .mphb-room-type-description .mphb-book-button:hover {
    background: #0e6b18 !important;
}

/* ── Mobile ── */
@media (max-width: 700px) {
    .mphb_sc_search_results-wrapper .mphb-room-type {
        grid-template-columns: 1fr;
    }
    .mphb_sc_search_results-wrapper .mphb-room-type-images {
        grid-row: 1;
        min-height: 200px;
    }
    .mphb_sc_search_results-wrapper .mphb-room-type > *:not(.mphb-room-type-images) {
        grid-column: 1;
    }
}

/* Message aucun résultat */
.mphb-no-rooms-available, .mphb-no-rooms-found {
    text-align: center; padding: 3rem; color: var(--ra-gris);
    font-size: 1.1rem; background: var(--ra-beige); border-radius: var(--ra-radius);
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE RÉSERVATION  (page-reservation.php)
═══════════════════════════════════════════════════════════════════ */

/* Hero */
.resa-hero {
    position: relative;
    height: clamp(220px, 35vw, 400px);
    background-size: cover;
    background-position: center 40%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.resa-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.60) 0%, rgba(0,0,0,.15) 60%);
}
.resa-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
}
.resa-hero-content h1 {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 400;
    margin: 0 0 .5rem;
    text-shadow: 0 2px 10px rgba(0,0,0,.5);
    color: #fff !important;
}
.resa-hero-content p {
    font-size: clamp(.9rem, 2vw, 1.15rem);
    opacity: .9;
    margin: 0;
    color: #fff !important;
}

/* Corps checkout — centré, sans sidebar */
.resa-page { padding-bottom: 4rem; background: var(--ra-beige); }
.resultats-page { background: var(--ra-beige); }
.resa-corps { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.resa-inner { max-width: 860px; margin: 0 auto; }

/* MotoPress checkout — quelques ajustements visuels */
.resa-inner .mphb-checkout-section {
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    padding: 1.75rem 2rem;
    margin-bottom: 1.5rem;
    box-shadow: var(--ra-ombre);
}
.resa-inner .mphb-checkout-section h3 {
    font-family: 'Quicksand', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--ra-brun);
    border-bottom: 1px solid var(--ra-beige-bord);
    padding-bottom: .5rem;
    margin-bottom: 1.25rem;
}

@media (max-width: 640px) {
    .resa-inner { padding-inline: .5rem; }
    .resa-inner .mphb-checkout-section { padding: 1.25rem; }
    .resa-inner .mphb-checkout-section h3 {
        font-size: .95rem;
        margin-bottom: .9rem;
    }
}

/* ── Tableau "Répartition du prix" ─────────────────────────────── */
#mphb-price-details table,
.mphb_sc_checkout_form table.mphb-price-breakdown {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
}
#mphb-price-details table th,
#mphb-price-details table td,
.mphb_sc_checkout_form table.mphb-price-breakdown th,
.mphb_sc_checkout_form table.mphb-price-breakdown td {
    text-align: left !important;
    padding: .3rem .5rem;
    vertical-align: top;
}
#mphb-price-details table th,
.mphb_sc_checkout_form table.mphb-price-breakdown th {
    font-weight: 700;
    color: var(--ra-brun);
    border-bottom: 1px solid var(--ra-beige-bord);
    padding-bottom: .4rem;
}
#mphb-price-details table tfoot th,
#mphb-price-details table tfoot td {
    border-top: 1px solid var(--ra-beige-bord);
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE TARIFS  (page-tarifs.php)
═══════════════════════════════════════════════════════════════════ */

.tarifs-page { padding-bottom: 4rem; }

/* Hero */
.tarifs-hero {
    position: relative;
    height: clamp(160px, 22vw, 280px);
    background-size: cover;
    background-position: center 40%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.tarifs-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.15) 60%);
}
.tarifs-hero-content {
    position: relative; z-index: 2;
    text-align: center; color: #fff;
    padding: 0 1.5rem 1.5rem;
}
.tarifs-hero-content h1 {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 400; margin: 0 0 .35rem;
    text-shadow: 0 2px 10px rgba(0,0,0,.5);
    color: #fff !important;
}
.tarifs-hero-content p {
    font-size: clamp(.82rem, 1.8vw, 1rem);
    opacity: .88; margin: 0; color: #fff !important;
    letter-spacing: .04em;
}

/* Intro */
.tarifs-intro {
    padding-top: 2.5rem !important;
    padding-bottom: .5rem !important;
    text-align: center;
    color: var(--ra-gris);
    font-size: .95rem;
}

/* Grille des cartes */
.tarifs-grille-section { padding-top: 2rem !important; padding-bottom: 3rem !important; }
.tarifs-grille {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.75rem;
}

/* Carte chambre */
.tarif-card {
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    overflow: hidden;
    box-shadow: var(--ra-ombre);
    display: flex; flex-direction: column;
    transition: transform var(--ra-transition), box-shadow var(--ra-transition);
}
.tarif-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.tarif-card-photo img {
    width: 100%; height: 180px;
    object-fit: cover; display: block;
}
.tarif-card-body {
    padding: 1.25rem 1.5rem 1.5rem;
    flex: 1; display: flex; flex-direction: column;
}
.tarif-card-titre {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: 1.8rem; font-weight: 400;
    font-weight: 700;
    color: var(--ra-brun); margin: 0 0 .6rem;
}
.tarif-card-meta {
    display: flex; gap: .75rem; flex-wrap: wrap;
    font-size: .82rem; color: var(--ra-gris);
    margin-bottom: 1rem;
}
.tarif-card-meta span {
    display: flex; align-items: center; gap: .35rem;
}
.tarif-card-meta svg { color: #159922; flex-shrink: 0; }

/* Tableau saisons */
.tarif-table {
    width: 100%; border-collapse: collapse;
    font-size: .85rem; margin-bottom: 1.25rem;
}
.tarif-table th {
    background: var(--ra-beige); color: var(--ra-brun);
    font-family: 'Quicksand', sans-serif; font-weight: 700;
    text-align: left; padding: .45rem .75rem;
    font-size: .78rem; text-transform: uppercase; letter-spacing: .04em;
}
.tarif-table td {
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--ra-beige-bord);
    color: var(--ra-gris); vertical-align: top;
}
.tarif-table td small {
    display: block; font-size: .75rem;
    color: var(--ra-brun-clair); margin-top: .15rem;
}
.tarif-table tr:last-child td { border-bottom: none; }
.tarif-prix {
    font-weight: 700; color: #159922 !important;
    white-space: nowrap; text-align: right;
}

/* Bouton réserver */
.tarif-btn {
    display: inline-block; margin-top: auto;
    align-self: flex-start;
    background: #159922; color: #fff !important;
    text-decoration: none !important;
    text-transform: uppercase; letter-spacing: .06em;
    font-size: .8rem; font-weight: 700;
    padding: .55rem 1.5rem;
    border-radius: var(--ra-radius);
    transition: background var(--ra-transition);
}
.tarif-btn:hover { background: #117a1a !important; }

/* Note bas de page */
.tarifs-note {
    padding-top: 1rem !important;
    padding-bottom: 2rem !important;
}
.tarifs-note-inner {
    display: flex; align-items: flex-start; gap: .75rem;
    background: var(--ra-beige); border-radius: var(--ra-radius);
    padding: 1rem 1.25rem; color: var(--ra-gris); font-size: .88rem;
}
.tarifs-note-inner svg { color: var(--ra-brun-clair); flex-shrink: 0; margin-top: 2px; }

@media (max-width: 640px) {
    .tarifs-grille { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════════════
   PAGE RÉSULTATS DE RECHERCHE  (page-resultats.php)
   À coller à la fin de chambre.css
═══════════════════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────────────────── */
.resultats-hero {
    position: relative;
    height: clamp(200px, 30vw, 360px);
    background-size: cover;
    background-position: center 35%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.resultats-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.65) 0%, rgba(0,0,0,.20) 60%);
}
.resultats-hero-content {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    text-align: center;
    color: #fff;
    padding: 0 1.5rem;
    width: 100%;
}
.resultats-hero-content h1 {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 400;
    margin: 0 0 .75rem;
    text-shadow: 0 2px 10px rgba(0,0,0,.5);
    color: #fff !important;
}
.resultats-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .4rem .75rem;
    font-size: clamp(.85rem, 2vw, 1rem);
    color: rgba(255,255,255,.92);
    text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.hero-meta-item {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-weight: 500;
  font-size: 1.2rem;
}
.hero-meta-sep { opacity: .6; }

/* ── Barre "modifier la recherche" ───────────────────────────────── */
.resultats-modifier {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
    background: var(--ra-beige);
    border-bottom: 1px solid var(--ra-beige-bord);
    max-width: 100% !important; /* pleine largeur pour le fond */
}
/* Re-contraindre le contenu du shortcode */
.resultats-modifier .mphb-search-form,
.resultats-modifier form {
    max-width: var(--ra-max);
    margin-inline: auto;
}
.resultats-modifier .mphb_sc_search-wrapper br {
    display: none !important;
}
/* ── Corps ────────────────────────────────────────────────────────── */
.resultats-corps {
    padding-top: 2.5rem !important;
    padding-bottom: 4rem !important;
}

/* ── Grille des résultats ─────────────────────────────────────────── */
.resultats-grille {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

/* ── Card résultat ────────────────────────────────────────────────── */
.resultat-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 0;
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    overflow: hidden;
    box-shadow: var(--ra-ombre);
    transition: transform var(--ra-transition), box-shadow var(--ra-transition);
}
.resultat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,.11);
}

/* Photo */
.resultat-card-photo-link { display: block; }
.resultat-card-photo {
    position: relative;
    height: 100%;
    min-height: 240px;
    overflow: hidden;
}
.resultat-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.resultat-card:hover .resultat-card-img { transform: scale(1.03); }

.resultat-card-img-placeholder {
    width: 100%; height: 100%; min-height: 240px;
    background: var(--ra-gris-clair);
}

/* Badge Coup de cœur */
.resultat-badge-coup-coeur {
    position: absolute;
    top: .85rem;
    left: .85rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    background: #d4573a;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: .3rem .65rem;
    border-radius: 20px;
    z-index: 2;
}

/* Badge prix sur la photo */
.resultat-card-prix-badge {
    position: absolute;
    bottom: .85rem;
    left: .85rem;
    background: rgba(0,0,0,.62);
    color: #fff;
    font-size: .8rem;
    padding: .35rem .75rem;
    border-radius: 20px;
    backdrop-filter: blur(4px);
    z-index: 2;
    line-height: 1.4;
}
.resultat-card-prix-badge strong {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 .15rem;
}
.resultat-card-prix-badge span { font-size: .72rem; opacity: .85; }

/* Infos */
.resultat-card-infos {
    padding: 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.resultat-card-header { display: flex; flex-direction: column; gap: .35rem; }

.resultat-card-titre {
    font-family: 'Poiret One', var(--ra-f-titre);
    font-size: clamp(1.4rem, 2.5vw, 1.75rem);
    font-weight: 600;
    margin: 0;
    color: var(--ra-brun);
}
.resultat-card-titre a {
    color: inherit;
    text-decoration: none;
    transition: color var(--ra-transition);
}
.resultat-card-titre a:hover { color: #159922; }

.resultat-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .9rem;
    font-size: .82rem;
    color: var(--ra-gris);
}
.resultat-card-meta span {
    display: flex;
    align-items: center;
    gap: .3rem;
}
.resultat-card-meta svg { color: #159922; flex-shrink: 0; }

/* Extrait */
.resultat-card-excerpt {
    font-size: .88rem;
    color: var(--ra-gris);
    line-height: 1.6;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Équipements */
.resultat-card-equipements {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .75rem;
}
.resultat-card-equipements li {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .8rem;
    color: var(--ra-gris);
    background: var(--ra-gris-clair);
    border-radius: 20px;
    padding: .2rem .65rem;
}
.resultat-card-equipements li svg { color: #159922; flex-shrink: 0; }
.resultat-card-equipements li img { border-radius: 2px; }

/* Boutons */
.resultat-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    margin-top: auto;
    padding-top: .25rem;
}

.resultat-btn-details {
    display: inline-block;
    padding: .55rem 1.25rem;
    border-radius: var(--ra-radius);
    border: 2px solid var(--ra-brun);
    color: var(--ra-brun) !important;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition: background var(--ra-transition), color var(--ra-transition);
}
.resultat-btn-details:hover {
    background: var(--ra-brun);
    color: #fff !important;
}

.resultat-btn-reserver {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .55rem 1.25rem;
    border-radius: var(--ra-radius);
    background: #159922;
    color: #fff !important;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition: background var(--ra-transition);
}
.resultat-btn-reserver:hover { background: #117a1a !important; }

.resultat-btn-reserver .btn-total {
    font-size: .75rem;
    font-weight: 400;
    opacity: .85;
    border-left: 1px solid rgba(255,255,255,.4);
    padding-left: .5rem;
}

/* ── État vide ────────────────────────────────────────────────────── */
.resultats-vide {
    text-align: center;
    padding: 4rem 2rem;
    background: var(--ra-beige);
    border-radius: var(--ra-radius);
    color: var(--ra-gris);
}
.resultats-vide svg {
    display: block;
    margin: 0 auto 1rem;
    color: var(--ra-brun-clair);
    opacity: .5;
}
.resultats-vide p { font-size: 1.1rem; margin: 0 0 1.25rem; }
.btn-resa-retour {
    display: inline-block;
    padding: .6rem 1.5rem;
    background: #159922;
    color: #fff !important;
    border-radius: var(--ra-radius);
    text-decoration: none;
    font-weight: 700;
    font-size: .88rem;
}

/* ── Note bas de page ─────────────────────────────────────────────── */
.resultats-note {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-top: 2rem;
    background: var(--ra-beige);
    border-radius: var(--ra-radius);
    padding: .9rem 1.1rem;
    color: var(--ra-gris);
    font-size: .82rem;
    line-height: 1.5;
}
.resultats-note svg { color: var(--ra-brun-clair); flex-shrink: 0; margin-top: 1px; }

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 860px) {
    .resultat-card {
        grid-template-columns: 1fr;
    }
    .resultat-card-photo {
        min-height: 220px;
        height: 220px;
    }
}

@media (max-width: 480px) {
    .resultats-hero-content h1 { font-size: 1.8rem; }
    .resultat-card-infos { padding: 1.1rem; }
    .resultat-card-actions { flex-direction: column; align-items: stretch; }
    .resultat-btn-details,
    .resultat-btn-reserver { text-align: center; justify-content: center; }
}


/* ── Formulaire recherche horizontal (page résultats) ─────────────── */
.resultats-modifier {
    padding-top: .85rem !important;
    padding-bottom: .85rem !important;
}

.resultats-modifier .mphb_sc_search-wrapper form,
.resultats-modifier .mphb-search-form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: .6rem 1rem !important;
    max-width: var(--ra-max);
    margin-inline: auto;
}

/* Chaque champ prend le minimum de place */
.resultats-modifier .mphb_sc_search-wrapper .mphb-datepick-wrap,
.resultats-modifier .mphb_sc_search-wrapper .mphb-adults-wrap,
.resultats-modifier .mphb_sc_search-wrapper .mphb-children-wrap,
.resultats-modifier .mphb_sc_search-wrapper p {
    flex: 1 1 140px !important;
    margin: 0 !important;
}

/* Labels compacts */
.resultats-modifier .mphb_sc_search-wrapper label {
    font-size: .75rem !important;
    margin-bottom: .2rem !important;
    display: block !important;
    color: var(--ra-gris) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

/* Inputs */
.resultats-modifier .mphb_sc_search-wrapper input,
.resultats-modifier .mphb_sc_search-wrapper select {
    width: 100% !important;
    padding: .45rem .7rem !important;
    border: 1px solid var(--ra-beige-bord) !important;
    border-radius: var(--ra-radius) !important;
    font-size: .88rem !important;
    background: #fff !important;
    color: var(--ra-brun) !important;
    height: 38px !important;
    box-sizing: border-box !important;
}

/* Bouton Rechercher aligné avec les champs */
.resultats-modifier .mphb_sc_search-wrapper input[type="submit"],
.resultats-modifier .mphb_sc_search-wrapper button[type="submit"] {
    background: #159922 !important;
    color: #fff !important;
    border: none !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    cursor: pointer !important;
    flex: 0 0 auto !important;
    padding: .45rem 1.5rem !important;
    transition: background var(--ra-transition) !important;
}
.resultats-modifier .mphb_sc_search-wrapper input[type="submit"]:hover,
.resultats-modifier .mphb_sc_search-wrapper button[type="submit"]:hover {
    background: #117a1a !important;
}

/* Tablette : 2 colonnes */
@media (max-width: 860px) {
    .resultats-modifier .mphb_sc_search-wrapper p {
        flex: 1 1 45% !important;
    }
}

/* Mobile : colonne */
@media (max-width: 480px) {
    .resultats-modifier .mphb_sc_search-wrapper form,
    .resultats-modifier .mphb-search-form {
        flex-direction: column !important;
    }
    .resultats-modifier .mphb_sc_search-wrapper p {
        flex: 1 1 100% !important;
    }
}


/* ═══════════════════════════════════════════════════════════════════
   PAGE TARIFS — compléments (page-tarifs.php)
   À coller à la fin de chambre.css, après les styles tarifs existants
═══════════════════════════════════════════════════════════════════ */

/* ── Intro ───────────────────────────────────────────────────────── */
.tarifs-intro {
    padding-top: 1.75rem !important;
    padding-bottom: .5rem !important;
    text-align: center;
    color: var(--ra-gris);
    font-size: .9rem;
    letter-spacing: .02em;
}

/* ── Carte : photo ───────────────────────────────────────────────── */
.tarif-card-photo {
    display: block;
    position: relative;
    overflow: hidden;
}
.tarif-card-photo img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.tarif-card:hover .tarif-card-photo img { transform: scale(1.04); }

.tarif-card-photo-placeholder {
    width: 100%; height: 200px;
    background: var(--ra-gris-clair);
}

/* Badge Coup de cœur */
.tarif-badge-coup-coeur {
    position: absolute;
    top: .75rem;
    left: .75rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    background: #d4573a;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: .25rem .6rem;
    border-radius: 20px;
    z-index: 2;
}

/* ── Carte : lien titre ──────────────────────────────────────────── */
.tarif-card-titre a {
    color: inherit;
    text-decoration: none;
    transition: color var(--ra-transition);
}
.tarif-card-titre a:hover { color: #159922; }

/* ── Carte : actions ─────────────────────────────────────────────── */
.tarif-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: auto;
    padding-top: .5rem;
}

.tarif-btn-details {
    display: inline-block;
    padding: .5rem 1.1rem;
    border-radius: var(--ra-radius);
    border: 1px solid var(--ra-brun);
    color: var(--ra-brun) !important;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    transition: background var(--ra-transition), color var(--ra-transition);
    white-space: nowrap;
}
.tarif-btn-details:hover {
    background: var(--ra-brun);
    color: #fff !important;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .tarifs-grille { grid-template-columns: 1fr; }
    .tarif-card-actions { flex-direction: column; }
    .tarif-btn-details,
    .tarif-btn { text-align: center; }
}


/* ── Bouton "Vérifier les disponibilités" — [mphb_availability] + [mphb_availability_search] ── */
.mphb_sc_search-wrapper input[type="submit"],
.mphb_sc_search-wrapper button[type="submit"],
.mphb_sc_search-wrapper .button,
.mphb-availability-search-form input[type="submit"],
.mphb-availability-search-form button[type="submit"],
.mphb-availability-search-form .button,
.mphb_sc_availability-wrapper input[type="submit"],
.mphb_sc_availability-wrapper button[type="submit"],
.mphb_sc_availability-wrapper .button,
.mphb-reserve-btn-wrapper input[type="submit"],
.mphb-reserve-btn-wrapper button[type="submit"],
.mphb-reserve-btn-wrapper .button,
.mphb-reserve-btn-wrapper a,
.resa-sticky input[type="submit"],
.resa-sticky button[type="submit"],
.mphb_sc_checkout-wrapper input[type="submit"],
.mphb_sc_checkout-wrapper button[type="submit"],
.mphb_sc_checkout-wrapper .button,
.mphb-coupon-form input[type="submit"],
.mphb-coupon-form button[type="submit"],
.mphb-coupon-form .button,
.mphb-checkout-form input[type="submit"],
.mphb-checkout-form button[type="submit"],
#mphb-checkout-submit,
form[id*="mphb"] input[type="submit"],
form[id*="mphb"] button[type="submit"],
form[class*="mphb"] input[type="submit"],
form[class*="mphb"] button[type="submit"] {
    display: inline-block !important;
    background: #159922 !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--ra-radius) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    font-size: .78rem !important;
    padding: .45rem 1.4rem !important;
    cursor: pointer !important;
    transition: background var(--ra-transition) !important;
    text-decoration: none !important;
}
.mphb_sc_search-wrapper input[type="submit"]:hover,
.mphb_sc_search-wrapper button[type="submit"]:hover,
.mphb_sc_search-wrapper .button:hover,
.mphb-availability-search-form input[type="submit"]:hover,
.mphb-availability-search-form button[type="submit"]:hover,
.mphb_sc_availability-wrapper input[type="submit"]:hover,
.mphb_sc_availability-wrapper button[type="submit"]:hover,
.mphb-reserve-btn-wrapper input[type="submit"]:hover,
.mphb-reserve-btn-wrapper button[type="submit"]:hover,
.mphb-reserve-btn-wrapper a:hover,
.resa-sticky input[type="submit"]:hover,
.resa-sticky button[type="submit"]:hover,
.mphb_sc_checkout-wrapper input[type="submit"]:hover,
.mphb_sc_checkout-wrapper button[type="submit"]:hover,
.mphb_sc_checkout-wrapper .button:hover,
.mphb-coupon-form input[type="submit"]:hover,
.mphb-coupon-form button[type="submit"]:hover,
.mphb-checkout-form input[type="submit"]:hover,
.mphb-checkout-form button[type="submit"]:hover,
#mphb-checkout-submit:hover,
form[id*="mphb"] input[type="submit"]:hover,
form[id*="mphb"] button[type="submit"]:hover,
form[class*="mphb"] input[type="submit"]:hover,
form[class*="mphb"] button[type="submit"]:hover {
    background: #117a1a !important;
}

/* ── Masque "Les champs obligatoires sont suivis de *" ── */
.mphb-required-fields-tip { display: none !important; }

/* ════════════════════════════════════════════════════════════════════
   PAGE CONFIRMATION DE RÉSERVATION
   ════════════════════════════════════════════════════════════════════ */

/* ── Hero ── */
#confirmation-page { background: var(--ra-beige); min-height: 60vh; }

.confirm-hero {
    background: linear-gradient(135deg, #0e6b18 0%, #159922 60%, #1ab52a 100%);
    padding: 3.5rem 1.5rem 3rem;
    text-align: center;
}
.confirm-hero-inner { max-width: 640px; }
.confirm-hero-icone {
    display: inline-flex; align-items: center; justify-content: center;
    width: 72px; height: 72px;
    background: rgba(255,255,255,.18);
    border-radius: 50%; color: #fff;
    margin-bottom: 1.25rem;
}
.confirm-hero h1 {
    font-family: var(--ra-f-titre);
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    color: #fff; margin: 0 0 .75rem;
    text-shadow: 0 2px 6px rgba(0,0,0,.2);
}
.confirm-hero-sous-titre {
    color: rgba(255,255,255,.9);
    font-size: 1rem; line-height: 1.6; margin: 0;
}

/* ── Card détails MotoPress ── */
.confirm-details {
    padding-top: 2.5rem !important;
    padding-bottom: 1.5rem !important;
}
.confirm-card {
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    padding: 2rem 2.5rem;
    box-shadow: var(--ra-ombre);
}
.confirm-card h2 {
    font-family: var(--ra-f-titre);
    color: var(--ra-brun);
    font-size: 1.2rem;
    margin: 0 0 1.25rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--ra-beige-bord);
}
.confirm-card table {
    width: 100%; border-collapse: collapse;
    font-size: .9rem; color: var(--ra-gris);
}
.confirm-card table th,
.confirm-card table td {
    padding: .5rem .75rem;
    text-align: left;
    border-bottom: 1px solid var(--ra-beige-bord);
}
.confirm-card table th { font-weight: 600; color: var(--ra-brun); }
.confirm-card table tr:last-child td { border-bottom: none; }
.confirm-card ul { list-style: none; padding: 0; margin: 0; }
.confirm-card ul li {
    display: flex; justify-content: space-between;
    padding: .5rem 0;
    border-bottom: 1px solid var(--ra-beige-bord);
    font-size: .9rem; color: var(--ra-gris);
}
.confirm-card ul li:last-child { border-bottom: none; }
.confirm-card ul li strong,
.confirm-card ul li b { color: var(--ra-brun); }

/* ── Étapes / "Et maintenant ?" ── */
.confirm-etapes {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}
.confirm-etapes-titre {
    font-family: var(--ra-f-titre);
    color: var(--ra-brun);
    font-size: 1.3rem;
    margin: 0 0 1.5rem;
}
.confirm-etapes-grille {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.25rem;
}
.confirm-etape-item {
    display: flex; gap: 1rem; align-items: flex-start;
    background: var(--ra-blanc);
    border: 1px solid var(--ra-beige-bord);
    border-radius: var(--ra-radius);
    padding: 1.25rem 1.5rem;
    box-shadow: var(--ra-ombre);
}
.confirm-etape-icone {
    flex-shrink: 0;
    color: #159922;
}
.confirm-etape-texte {
    display: flex; flex-direction: column; gap: .3rem;
    font-size: .88rem;
}
.confirm-etape-texte strong {
    color: var(--ra-brun); font-weight: 700; font-size: .92rem;
}
.confirm-etape-texte span { color: var(--ra-gris); line-height: 1.5; }
.confirm-etape-texte a { color: #159922; text-decoration: none; }
.confirm-etape-texte a:hover { text-decoration: underline; }

/* ── CTA retour ── */
.confirm-cta {
    padding-top: .5rem !important;
    padding-bottom: 3rem !important;
}
.confirm-btn-retour {
    display: inline-flex; align-items: center; gap: .5rem;
    color: var(--ra-brun) !important;
    border: 1px solid var(--ra-brun);
    border-radius: var(--ra-radius);
    padding: .5rem 1.25rem;
    font-size: .82rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: .07em;
    text-decoration: none !important;
    transition: background var(--ra-transition), color var(--ra-transition);
}
.confirm-btn-retour:hover {
    background: var(--ra-brun);
    color: #fff !important;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .confirm-card { padding: 1.25rem; }
    .confirm-hero { padding: 2.5rem 1rem 2rem; }
}