/* ==========================================================================
   PERSONNALISATION COMPLETE SIMPLYBOOK.ME - ELODIE ALLIBERT (V3)
   ========================================================================== */

/* 0. AJUSTEMENT ET RÉDUCTION DU LOGO */
#sb_content .logo img,
.sb-logo img,
.logo img,
#header .logo img,
header img,
a.logo img,
.company-logo img {
    max-height: 55px !important; /* Taille réduite et harmonieuse */
    max-width: 150px !important;
    height: auto !important;
    width: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 5px 0 !important;
    display: inline-block !important;
    object-fit: contain !important;
}

/* 1. MISE EN VALEUR ET STYLE DE TOUS LES BOUTONS (SERVICES & RÉSERVER) */
.sb-service-list-item .btn,
.sb-service-list-item button,
.sb-service-list-item a,
.sb-services-category-item .btn,
.service-item .btn,
.services-list .btn,
button[class*="select"],
a[class*="select"],
#sb_content button[type="submit"],
#sb_content .btn-submit,
#sb_content .btn-primary,
#sb_content .btn,
#sb_content .btn-success,
button.btn-primary,
.btn-book,
#sb_content .book-button,
a.btn-primary,
button#confirm_booking,
input[type="submit"].btn {
    background-color: #8f9e8b !important; /* Vert sauge grisé harmonieux */
    background: #8f9e8b !important;
    color: #ffffff !important; /* Texte blanc très lisible */
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 32px !important;
    border-radius: 30px !important; /* Bords arrondis modernes */
    border: none !important;
    box-shadow: 0 4px 12px rgba(143, 158, 139, 0.35) !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

/* Effet au survol de tous les boutons */
.sb-service-list-item .btn:hover,
.sb-service-list-item button:hover,
.sb-service-list-item a:hover,
button[class*="select"]:hover,
a[class*="select"]:hover,
#sb_content button[type="submit"]:hover,
#sb_content .btn-submit:hover,
#sb_content .btn-primary:hover,
#sb_content .btn-success:hover,
.btn-book:hover,
button#confirm_booking:hover {
    background-color: #798875 !important; /* Vert légèrement plus foncé au survol */
    background: #798875 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(143, 158, 139, 0.45) !important;
}

/* 2. AGRANDISSEMENT ET VISIBILITÉ FORCÉE DE TOUTES LES CASES À COCHER */
input[type="checkbox"],
.checkbox input[type="checkbox"],
.custom-field-checkbox input[type="checkbox"],
.sb-custom-field input[type="checkbox"],
#sb_content input[type="checkbox"] {
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    cursor: pointer !important;
    accent-color: #8f9e8b !important; /* Vert sauge grisé */
    border: 2px solid #8f9e8b !important;
    border-radius: 4px !important;
    margin-right: 12px !important;
    margin-top: 2px !important;
    vertical-align: middle !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15) !important;
}

/* 3. MISE EN FORME DES BLOCS CONTENANT LES CASES À COCHER (CONTRE-INDICATIONS ET CGV) */
div[class*="custom-field"],
.sb-custom-field,
.booking-form-terms,
.license-links-container,
.checkbox {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background-color: #f4f6f3 !important; /* Fond doux contrasté */
    padding: 12px 16px !important;
    border-radius: 8px !important;
    border-left: 5px solid #8f9e8b !important; /* Barre d'accentuation verte */
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

/* 4. LISIBILITÉ DU TEXTE DES LABELS ET CONDITIONS */
label,
.custom-field-checkbox label,
.booking-form-terms label,
label[for*="checkbox"] {
    font-size: 14px !important;
    color: #2c2c2c !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    display: inline-block !important;
}

/* 5. OPTIMISATION DE L'IMAGE DES CONTRE-INDICATIONS */
.custom-field-image img,
img[src*="contre-indication"],
img[src*="STOP"] {
    max-width: 100% !important;
    max-height: 200px !important; /* Réduit pour ne pas encombrer l'écran */
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 15px auto !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* 6. MASQUER LA CASE D'ABONNEMENT AUX PROMOTIONS */
#sb-main-container #main #sb-timeline #steps #details .detail-step-wrap .detail-step .license-links-container .promotions-letter-flag,
.promotions-letter-flag {
    display: none !important;
}

/* 7. MASQUER LE PANIER */
#sb_cart {
    display: none !important;
}

/* 8. BOUTON FLOTTANT "RETOUR EN HAUT" */
.back-to-top,
.scroll-to-top,
#back-to-top,
a[class*="top"] {
    background-color: #8f9e8b !important;
    background: #8f9e8b !important;
    color: #ffffff !important;
    border: none !important;
}

.back-to-top:hover,
.scroll-to-top:hover,
#back-to-top:hover {
    background-color: #798875 !important;
    background: #798875 !important;
}

/* ==========================================================================
   9. CORRECTION FINALE POUR LE BLOC DES CONTRE-INDICATIONS EN BAS
   ========================================================================== */
.custom-field-checkbox, 
.sb-custom-field-checkbox,
div:has(> input[type="checkbox"]) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    background-color: #f4f6f3 !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    border-left: 5px solid #8f9e8b !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
/* ==========================================================================
   10. AMÉLIORATION DU CONTRASTE DU BOUTON "RÉSERVER" SUR LA PAGE D'ACCUEIL
   ========================================================================== */
.hero-section .btn, 
.sb-home-cover button, 
.sb-home-cover .btn,
.cover-container button,
.sb-cover-content button {
    background-color: #6a7c66 !important; /* Un vert sauge un peu plus profond et soutenu */
    background: #6a7c66 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important; /* Ombre plus marquée pour le détacher de la photo */
    border: 2px solid rgba(255, 255, 255, 0.4) !important; /* Légère bordure lumineuse pour mieux le détourer */
}

.hero-section .btn:hover, 
.sb-home-cover button:hover, 
.sb-home-cover .btn:hover {
    background-color: #556351 !important;
    background: #556351 !important;
}

a:has-text("Réserver"),
button:has-text("Réserver"),
.sb-cover-content a,
.sb-home-cover a {
    background-color: #6a7c66 !important;
    background-image: none !important;
    border-color: #6a7c66 !important;
}
/* ==========================================================================
   12. FORÇAGE ABSOLU DU BOUTON DE LA PAGE D'ACCUEIL
   ========================================================================== */
.sb-cover-content a,
.sb-cover-content button,
.sb-home-cover a,
.sb-home-cover button,
#sb_content div[class*="cover"] a,
#sb_content div[class*="cover"] button {
    background-color: #8f9e8b !important;
    background-image: none !important;
    border-color: #8f9e8b !important;
    color: #ffffff !important;
}

.sb-cover-content a:hover,
.sb-cover-content button:hover,
.sb-home-cover a:hover,
.sb-home-cover button:hover {
    background-color: #798875 !important;
}
/* ==========================================================================
   14. CONTOUR BLANC FORCÉ PAR DOUBLE OMBRE (BOUTON ACCUEIL)
   ========================================================================== */
.sb-cover-content a,
.sb-home-cover a,
.sb-cover a,
div[class*="cover"] a,
div[class*="cover"] button {
    background-color: #8F9E8B !important;
    background: #8F9E8B !important;
    /* Crée un faux contour blanc ultra-net de 2px via l'ombre portée */
    box-shadow: 0 0 0 2px #ffffff, 0 4px 15px rgba(0, 0, 0, 0.4) !important;
    color: #ffffff !important;
    border: none !important; /* Supprime toute bordure récalcitrante */
}

.sb-cover-content a:hover,
.sb-home-cover a:hover,
div[class*="cover"] a:hover {
    background-color: #798875 !important;
    background: #798875 !important;
    box-shadow: 0 0 0 2px #ffffff, 0 6px 18px rgba(0, 0, 0, 0.5) !important;
}
/* ==========================================================================
   CORRECTIF ULTIME : VISIBILITÉ DES RÉSEAUX SOCIAUX
   ========================================================================== */

/* Alignement parfait sur une seule ligne et centré */
.sb-footer-social, 
div:has(> a[href*="facebook"]),
.social-links,
.footer-social {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 15px !important;
}

/* Style net pour chaque cercle de réseau social (fond vert sauge foncé pour contraster) */
a[href*="facebook"], 
a[href*="instagram"], 
a[href*="linkedin"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    background-color: #556351 !important; /* Vert sauge bien foncé et soutenu */
    border-radius: 50% !important;
    margin: 0 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
    transition: all 0.3s ease !important;
    border: none !important;
}

/* Cette fois, on inverse totalement le contraste de l'image d'origine pour qu'elle devienne bien sombre sur le fond vert (ou l'inverse selon sa couleur de base) */
a[href*="facebook"] img, 
a[href*="instagram"] img, 
a[href*="linkedin"] img,
a[href*="facebook"] svg, 
a[href*="instagram"] svg, 
a[href*="linkedin"] svg {
    filter: brightness(10) contrast(20%) !important; /* Nettoie le gris et force un rendu propre */
    width: 24px !important;
    height: 24px !important;
    max-width: none !important;
    max-height: none !important;
    display: block !important;
}

/* Effet au survol : un vert un peu plus clair et élévation */
a[href*="facebook"]:hover, 
a[href*="instagram"]:hover, 
a[href*="linkedin"]:hover {
    background-color: #8f9e8b !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3) !important;
}