/* ==========================================================================
   1. CADRAGE & AÉRATION DE LA PAGE ENTIÈRE
   ========================================================================= */
.vbook-room-details-wrapper, 
#vbook-room-details, 
div[class*="room-details"] {
    width: 100% !important;
    max-width: 1400px !important; /* Largeur maximale élégante */
    margin: 40px auto !important;
    padding: 0 50px !important;    /* !!! IMPORTANT : Crée la marge de sécurité pour que RIEN ne colle aux bords de l'écran */
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important; /* Supprime tout fond blanc général résiduel */
}

/* ==========================================================================
   2. LE TITRE AUTOMATIQUE (HAUT ET CENTRÉ)
   ========================================================================= */
.vb-room-title, 
.vikbooking-room-title, 
#vbook-room-details h1 {
    order: -1 !important; 
    font-family: 'Playfair Display', serif !important;
    color: #800020 !important; /* Bordeaux signature */
    font-size: 42px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin: 30px auto 40px auto !important;
    width: 100% !important;
}

/* ==========================================================================
   3. LE BANDEAU DE RÉSERVATION (FULL WIDTH ET HORIZONTAL)
   ========================================================================= */
/* On supprime la boîte blanche parent pour libérer la pleine largeur */
.vbook-room-reserve-box, .vb-booking-form-container, .vbook-booking-form {
    order: 2 !important; /* Positionné sous le titre */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 auto 50px auto !important;
    width: 100% !important;
}

/* Le fond blanc s'applique uniquement au formulaire en ligne */
.vbook-room-reserve-box form, .vbook-booking-form form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-end !important;
    gap: 25px !important; /* Espace entre les champs */
    background: #ffffff !important;
    padding: 35px 40px !important; /* Aération interne */
    border: 1px solid #eaeaea !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* ==========================================================================
   4. DESIGN & AÉRATION DE LA DESCRIPTION (VOTRE TEXTE NETTOYÉ)
   ========================================================================= */
.vbook-room-details-content, 
div[class*="description"],
.clos-intro {
    background: transparent !important; /* SUPPRIME L'ENCART BLANC DE VOTRE TEXTE */
    border: none !important;
    padding: 0 !important;
    margin-top: 30px !important;
    width: 100% !important;
    max-width: 100% !important; /* Fini la limite de 800px */
}

/* Style de l'intro et du texte principal */
.clos-intro {
    font-size: 19px !important;
    font-weight: 600 !important;
    color: #800020 !important;
    margin-bottom: 25px !important;
}

p[class*="clos"] {
    font-size: 16px !important;
    color: #333333 !important;
    line-height: 1.7 !important;
    margin-bottom: 20px !important;
}

/* Style de la citation */
.clos-blockquote {
    font-size: 16px !important;
    font-style: italic !important;
    border-left: 3px solid #800020 !important;
    padding-left: 20px !important;
    margin: 30px 0 35px 0 !important;
    color: #555555 !important;
}

/* Style des sous-titres */
.clos-subtitle {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    color: #800020 !important;
    border-bottom: 1px solid #eaeaea !important;
    padding-bottom: 12px !important;
    margin-top: 40px !important;
    margin-bottom: 25px !important;
}

.clos-subtitle i { margin-right: 12px !important; font-size: 20px !important; }

/* Style de la liste des équipements (AÉRÉE ET SUR DEUX COLONNES) */
.clos-amenities-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 40px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 15px 30px !important; /* Aère horizontalement et verticalement */
}

.clos-amenities-list li {
    font-size: 15px !important;
    color: #444444 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
}

.clos-amenities-list li i { color: #800020 !important; font-size: 16px !important; width: 20px; text-align: center; }

/* Style du bloc Info-Utiles */
.clos-info-box {
    background-color: #fafafa !important;
    border-radius: 12px !important;
    padding: 30px !important; /* Aère l'intérieur de la boîte gris clair */
    border: 1px solid #eaeaea !important;
    margin-bottom: 40px !important;
}

.clos-info-box p { font-size: 15px !important; margin-bottom: 12px !important; }
.clos-info-box p:last-child { margin-bottom: 0 !important; }
.clos-non-smoker { color: #b91c1c !important; font-weight: 600 !important; }

/* Style de l'outro */
.clos-outro {
    font-size: 20px !important;
    font-weight: bold !important;
    font-family: 'Playfair Display', serif !important;
    color: #800020 !important;
    text-align: center !important;
    margin-top: 50px !important;
    letter-spacing: 0.5px !important;
}

/* ==========================================================================
   5. RESPONSIVE MOBILE
   ========================================================================= */
@media (max-width: 992px) {
    .vbook-room-details-wrapper, #vbook-room-details { padding: 0 20px !important; } /* Moins de marge sur mobile */
}