/* --- RESET ET BASE --- */

* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

}



body {

    background-color: #a6634f; /* Marron Accueil */

    color: white;

    font-family: 'Montserrat', sans-serif;

    min-height: 100vh;

}



/* --- ACCUEIL --- */

body.home-body {

    display: flex;

    justify-content: center;

    align-items: center;

}



.container {

    text-align: center;

    padding: 20px;

    width: 100%;

    padding-bottom: 100px; /* Espace pour le footer */

}



.logo-img {

    width: 180px;

    filter: brightness(0) invert(1);

    margin-bottom: 10px;

}



.brand-title {

    font-family: 'Dancing Script', cursive;

    font-size: 7.5rem;

    margin-top: -30px;

    margin-bottom: 30px;

}



.subtitle { font-size: 2rem; margin-bottom: 15px; }

.details { font-size: 1.4rem; font-weight: 300; letter-spacing: 2px; margin-bottom: 60px; opacity: 0.9; }



.navigation-links {

    display: flex;

    flex-direction: column;

    gap: 15px;

    align-items: center;

    margin-top: -30px

  

}



.btn-pole {

    width: 100%;

    max-width: 450px;

    padding: 22px;

    border: 1.5px solid rgba(255, 255, 255, 0.4);

    border-radius: 50px;

    color: white;

    text-decoration: none;

    background: rgba(255, 255, 255, 0.05);

    transition: 0.3s;

}



.btn-pole:hover { background: white; color: #a6634f; }



/* --- BARRE FOOTER (STYLE GLASS BLANC) --- */

.footer-bar-glass {

    position: fixed;

    bottom: 0;

    left: 0;

    width: 100%;

    background: rgba(255, 255, 255, 0.15); /* Voile blanc transparent */

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

    border-top: 1px solid rgba(255, 255, 255, 0.2);

    padding: 15px 0;

    z-index: 1000;

    display: flex;

    justify-content: center;

    align-items: center;

}



.footer-content { display: flex; align-items: center; gap: 15px; }



.find-text {

    font-size: 0.8rem;

    text-transform: uppercase;

    letter-spacing: 1.5px;

    font-weight: 400;

}



.btn-google-maps {

    display: flex;

    align-items: center;

    gap: 8px;

    padding: 8px 20px;

    border: 1px solid white;

    border-radius: 50px;

    color: white;

    text-decoration: none;

    font-size: 0.85rem;

    transition: 0.3s;

}



.btn-google-maps:hover { background: white; color: #a6634f; }



.pin-icon { width: 14px; height: 14px; }



/* --- STYLE COMMUN AUX DEUX PÔLES (SPORT & FEMME) --- */



/* Conteneur principal identique */

.container-detail {

    max-width: 1000px;

    margin: 0 auto;

    padding: 20px 20px 100px 20px; /* Espace pour le footer */

    display: flex;

    flex-direction: column;

    align-items: center;

}



/* Titre principal (Montserrat 300 - Fin) */

.detail-title {

    font-family: 'Montserrat', sans-serif !important;

    font-size: 2.5rem;            /* Taille identique demandée */

    font-weight: 300 !important;   /* Écriture fine et chic */

    text-align: center;

    text-transform: uppercase;

    letter-spacing: 4px;

    margin-top: 40px;

    margin-bottom: 50px;

}



/* Style des cases (Cartes) */

.spec-card {

    padding: 30px 20px;

    border-radius: 15px;

    text-decoration: none;

    color: white;

    text-align: center;

    display: flex;

    justify-content: center;

    align-items: center;

    min-height: 115px;            /* Hauteur identique */

    transition: 0.3s ease;

}



.spec-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 10px 20px rgba(0,0,0,0.1);

}



/* Texte à l'intérieur des cases (Montserrat 700 - Gras) */

.spec-card h3 {

    font-family: 'Montserrat', sans-serif !important;

    font-size: 1.2rem;            /* Taille texte identique */

    font-weight: 700 !important;   /* Gras identique */

    margin: 0;

    line-height: 1.3;

}



/* --- SPÉCIFICITÉS PÔLE SPORT --- */

body.page-sport {

    background-color: #c8e68e !important; /* Vert pomme clair */

    color: #1e3d14;

}



.page-sport .spec-card {

    background: #1e3d14; /* Vert foncé */

}



.page-sport .specialites-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr); /* 3 colonnes pour sport */

    gap: 15px;

    width: 100%;

}



.page-sport .back-link { color: #1e3d14; }



/* --- SPÉCIFICITÉS PÔLE FEMME --- */

body.page-femme {

    background-color: #d8b6ab !important; /* Nude un peu plus foncé */

    color: #3e2723;

}



.page-femme .spec-card {

    background: #3e2723; /* Marron foncé */

}



.page-femme .specialites-grid {

    display: grid;

    grid-template-columns: repeat(2, 1fr); /* 2 colonnes pour femme */

    gap: 20px;

    width: 100%;

    max-width: 850px; /* Un peu plus serré pour le 2x2 */

}



.page-femme .back-link { color: #3e2723; }




/* --- RESPONSIVE (MOBILE) --- */

@media (max-width: 768px) {

    .detail-title {

        font-size: 1.8rem;

        margin-bottom: 30px;

    }

    

    .page-sport .specialites-grid,

    .page-femme .specialites-grid {

        grid-template-columns: 1fr; /* 1 colonne sur mobile */

        gap: 15px;

    }



    .spec-card {

        min-height: 90px;

    }

}

/* Section Hero Julian - Version compacte */

.kine-hero {

    background-color: #d4e3d4; /* Votre vert sauge */

    min-height: 60vh; /* Réduit pour ne pas prendre tout l'écran */

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding: 30px 20px;

    position: relative;

}



.kine-hero-content {

    display: flex;

    align-items: center;

    gap: 40px; /* Espace entre photo et texte */

    max-width: 900px; /* Plus étroit pour rester centré */

    width: 100%;

}



/* Image rectangulaire plus petite */

.photo-julian {

    width: 250px;      /* Largeur réduite */

    height: 320px;     /* Hauteur proportionnée */

    object-fit: cover;

    border-radius: 4px; /* Rectangle quasi-parfait */

    box-shadow: 12px 12px 0px rgba(255, 255, 255, 0.2); /* Effet plus discret */

}



/* Ajustement du texte */

.kine-greeting {

    font-family: 'Dancing Script', cursive;

    font-size: 2.5rem; /* Titre un peu plus petit */

    color: #2c3e50;

    margin-bottom: 15px;

}



.kine-desc {

    font-family: 'Montserrat', sans-serif;

    font-size: 1rem;

    line-height: 1.5;

    color: #2c3e50;

    margin-bottom: 25px;

}



/* Bouton compact */

.btn-rdv-maiia {

    display: inline-block;

    background-color: #27ae60;

    color: white;

    padding: 12px 25px;

    border-radius: 4px;

    text-decoration: none;

    font-weight: 600;

    font-size: 0.9rem;

    text-transform: uppercase;

    transition: 0.3s;

}



/* Indicateur de scroll plus discret */

.scroll-indicator {

    position: absolute;

    bottom: 10px;

    font-size: 0.8rem;

    opacity: 0.7;

}



.mouse-icon {

    width: 20px;

    height: 30px;

    border: 2px solid #555;

    border-radius: 10px;

    margin: 5px auto;

}


/* On ajuste la section kine-hero pour qu'elle ne soit pas collée si besoin */

.kine-hero {

    background-color: #d4e3d4;

    min-height: 60vh;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding: 40px 20px;

    position: relative;

}



/* On justifie le texte comme demandé précédemment */

.kine-desc {

    font-family: 'Montserrat', sans-serif;

    text-align: justify;

    line-height: 1.6;

    margin-bottom: 25px;

    color: #2c3e50;

}

/* --- CHANGER LE VERT DU BANDEAU PHOTO (ROSE POUDRÉ) --- */

.page-femme section, 

.page-femme .hero, 

.page-femme .header-section {

    background-color: #fcece9 !important;

}

/* --- POSITIONNEMENT DU TEXTE À CÔTÉ DE LA PHOTO --- */



/* 1. On cible le conteneur qui contient l'image ET le texte */

.page-femme .kine-hero-content, 

.page-femme .hero-container { 

    display: flex !important;

    flex-direction: row !important; /* Force l'alignement horizontal */

    align-items: center !important;  /* Centre verticalement le texte par rapport à la photo */

    justify-content: center !important;

    gap: 50px !important;           /* Espace entre la photo et le texte */

    max-width: 1000px;

    margin: 0 auto;

}



/* 2. On s'assure que le bloc de texte ne prend pas toute la largeur */

.page-femme .kine-hero-content .text-content,

.page-femme .hero-text {

    flex: 1; /* Prend l'espace restant à côté de la photo */

    text-align: justify; /* Aligne le texte proprement sur les côtés */

}



/* 3. Style du texte */
.page-femme .kine-desc {
    text-align: justify !important;
    line-height: 1.6;
    margin-bottom: 25px !important; /* <--- ON REMET LES 25PX COMME CHEZ JULIAN */
    color: #3e2723;
}

/* On change aussi la couleur du bouton pour qu'il soit marron chic sur le rose */
.page-femme .btn-rdv-maiia {
    background-color: #3e2723 !important;
    color: white !important;
}

}
.page-femme .photo-charlene {
    width: 200px !important;  /* Largeur réduite */
    height: 270px !important; /* Hauteur proportionnée */
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 10px 10px 0px rgba(62, 39, 35, 0.1); /* Ombre légère marron */
}

/* On s'assure que le texte se met bien à côté */
.page-femme .kine-hero-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    margin-bottom: 50px;
}
/* ==========================================================
   HARMONISATION STRICTE ET COMPACTE (SPORT & FEMME)
   ========================================================== */

.kine-hero {
    width: 100% !important;
    /* On réduit la hauteur minimale pour un bandeau plus fin */
    min-height: 350px !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    /* Padding réduit : 30px en haut/bas pour moins de marge */
    padding: 30px 20px !important; 
    margin: 0 !important;
}

.kine-hero-content {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 50px !important; 
    max-width: 1000px !important;
    width: 100% !important;
}

.photo-julian, 
.photo-charlene {
    width: 200px !important;
    height: 270px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
}

.kine-desc {
    text-align: justify !important;
    line-height: 1.5 !important;
    /* Marge entre texte et bouton identique pour les deux */
    margin-bottom: 25px !important; 
}

/* Couleurs spécifiques */
.page-sport .kine-hero { background-color: #d4e3d4 !important; }
.page-femme .kine-hero { background-color: #f2d8d5 !important; }
/* FORCE L'ALIGNEMENT DU RETOUR (SPORT & FEMME) */
.page-sport .top-back-link,
.page-femme .container-detail:first-of-type {
    background-color: #ffffff !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 15px 40px !important; /* C'est cette ligne qui gère l'alignement gauche */
    display: flex !important;
    justify-content: flex-start !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
}

/* Style du texte identique */
.back-link, .top-back-link {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Couleurs */
.page-sport .top-back-link { color: #1e3d14 !important; }
.page-femme .back-link { color: #3e2723 !important; }

/* Colle le bandeau couleur en dessous */
.kine-hero { margin-top: 0 !important; }
/* Ajoute le cadre blanc décalé pour Charlène (identique à Julian) */
.page-femme .photo-charlene {
    box-shadow: 12px 12px 0px rgba(255, 255, 255, 0.4) !important;
    border-radius: 4px !important; /* Pour un look rectangle pro */
}

/* On s'assure que Julian a exactement le même réglage */
.page-sport .photo-julian {
    box-shadow: 12px 12px 0px rgba(255, 255, 255, 0.4) !important;
    border-radius: 4px !important;
}
/* --- HARMONIE PÔLE FEMME (ÉQUILIBRÉE) --- */

/* 1. Le bas de la page - Un vieux rose moins sombre */
body.page-femme {
    background-color: #c09a92 !important; /* Rose terre cuite doux */
}

/* 2. Le bandeau du haut - Un nude plus présent (moins "blanc") */
.page-femme .kine-hero {
    background-color: #edd9d5 !important; /* Rose poudré satiné */
}

/* 3. Ajustement des textes pour la douceur */
.page-femme .kine-greeting {
    color: #4a342e !important; 
}

.page-femme .kine-desc {
    color: #4a342e !important;
}

/* 4. On garde le bouton bien visible mais harmonisé */
.page-femme .btn-rdv-maiia {
    background-color: #5d4037 !important; /* Chocolat doux */
    color: #ffffff !important;
}
/* ==========================================================
   HARMONISATION STRICTE DES TITRES DE PÔLES
   ========================================================== */

/* On cible la classe .detail-title qui est commune aux deux pages */
body.page-sport .detail-title, 
body.page-femme .detail-title {
    /* 1. La Police et la Taille */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.2rem !important;      /* Taille strictement identique */
    font-weight: 300 !important;       /* Écriture fine élégante */
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    color: #ffffff !important;
    
    /* 2. Le Placement (Positionnement au pixel près) */
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;         /* Centre le bloc */
    padding-top: 70px !important;      /* Espace fixe identique sous le bandeau photo */
    padding-bottom: 50px !important;   /* Espace fixe avant les cases */
    
    /* 3. Sécurité */
    line-height: 1.2 !important;
    min-height: auto !important;
}

/* On s'assure que le conteneur qui les porte n'ajoute pas de décalage */
.container-detail {
    padding-top: 0 !important; /* On laisse le padding du titre gérer l'espace */
    margin-top: 0 !important;
}
/* ==========================================================
   HARMONISATION STRICTE DES TITRES DE PÔLES
   ========================================================== */

/* On cible la classe .detail-title qui est commune aux deux pages */
body.page-sport .detail-title, 
body.page-femme .detail-title {
    /* 1. La Police et la Taille */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.2rem !important;      /* Taille strictement identique */
    font-weight: 300 !important;       /* Écriture fine élégante */
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    color: #ffffff !important;
    
    /* 2. Le Placement (Positionnement au pixel près) */
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;         /* Centre le bloc */
    padding-top: 70px !important;      /* Espace fixe identique sous le bandeau photo */
    padding-bottom: 50px !important;   /* Espace fixe avant les cases */
    
    /* 3. Sécurité */
    line-height: 1.2 !important;
    min-height: auto !important;
}

/* On s'assure que le conteneur qui les porte n'ajoute pas de décalage */
.container-detail {
    padding-top: 0 !important; /* On laisse le padding du titre gérer l'espace */
    margin-top: 0 !important;
}
/* ==========================================================
   HARMONISATION STRICTE DES TITRES DE PÔLES
   ========================================================== */

/* On cible la classe .detail-title qui est commune aux deux pages */
body.page-sport .detail-title, 
body.page-femme .detail-title {
    /* 1. La Police et la Taille */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2.2rem !important;      /* Taille strictement identique */
    font-weight: 300 !important;       /* Écriture fine élégante */
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    color: #ffffff !important;
    
    /* 2. Le Placement (Positionnement au pixel près) */
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;         /* Centre le bloc */
    padding-top: 70px !important;      /* Espace fixe identique sous le bandeau photo */
    padding-bottom: 50px !important;   /* Espace fixe avant les cases */
    
    /* 3. Sécurité */
    line-height: 1.2 !important;
    min-height: auto !important;
}

/* On s'assure que le conteneur qui les porte n'ajoute pas de décalage */
.container-detail {
    padding-top: 0 !important; /* On laisse le padding du titre gérer l'espace */
    margin-top: 0 !important;
}
/* --- NOUVELLE HARMONIE PÔLE SPORT (PLUS DOUCE) --- */

/* 1. Le bas de la page - Vert sauge soutenu (moins sombre) */
body.page-sport {
    background-color: #7a9478 !important; 
}

/* 2. Le bandeau du haut - Vert sauge doux (plus pigmenté) */
.page-sport .kine-hero {
    background-color: #c5d1c4 !important; 
}

/* 3. Ajustement des textes (pour que ce soit lisible sans être noir) */
.page-sport .kine-greeting,
.page-sport .kine-desc {
    color: #2c3e2b !important; /* Un vert très très sombre */
}

/* 4. Le bouton - On l'accorde au fond du bas pour créer un rappel */
.page-sport .btn-rdv-maiia {
    background-color: #4a5d48 !important;
    color: #ffffff !important;
}

/* 5. Les cases de spécialités */
.page-sport .spec-card {
    background: #4a5d48 !important; /* Même couleur que le bouton pour l'unité */
}
/* --- CORRECTION FINALE : TAILLE BANDEAU IDENTIQUE --- */

.kine-hero {
    height: 350px !important;      /* Force la hauteur exacte */
    min-height: 350px !important;  
    padding-top: 0 !important;     /* Supprime les marges internes qui gonflent le bandeau */
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.photo-charlene, .photo-julian {
    height: 270px !important;      /* Force la taille de la photo pour ne pas pousser les bords */
    width: 200px !important;
    object-fit: cover !important;
}

.kine-desc {
    margin-bottom: 15px !important; /* Réduit un peu l'espace sous le texte pour tout faire tenir dans 350px */
}
/* DESCENDRE UNIQUEMENT LA PHOTO DE CHARLENE */
.page-femme .photo-charlene {
    margin-top: 30px !important; /* Ajuste ce chiffre (40px, 50px...) pour la descendre plus ou moins */
}
/* MONTER LÉGÈREMENT LA PHOTO DE CHARLÈNE */
.page-femme .photo-charlene {
    margin-top: 20px !important; /* On passe de 30px à 20px pour qu'elle soit plus haute */
}
/* DESCENDRE ENCORE UN PEU PLUS LA PHOTO */
.page-femme .photo-charlene {
    margin-top: 45px !important; 
}
/* Style du titre principal (Gras) */
.page-femme .text-content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem !important; /* Taille équilibrée */
    font-weight: 700 !important;  /* Bien en gras pour le titre */
    color: #3e2723;
    line-height: 1.5;
    text-align: justify;
}

/* Style après les deux points (Plus petit et fin) */
.page-femme .details-sante {
    font-weight: 400 !important;  /* Pas de gras */
    font-size: 0.95rem !important; /* Écriture plus petite */
    opacity: 0.9;                 /* Légèrement plus doux */
}
/* JUSTIFIER LE TITRE ET LES DÉTAILS */
.page-femme .text-content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.05rem !important;
    font-weight: 700 !important; /* "Santé de la femme" reste en gras */
    color: #3e2723;
    line-height: 1.6;
    
    /* --- JUSTIFICATION ICI --- */
    text-align: justify !important;
    text-justify: inter-word;
    width: 100%;
    margin-bottom: 15px;
}

/* Style après les deux points (plus petit et fin) */
.page-femme .details-sante {
    font-weight: 400 !important;   /* Écriture normale (pas grasse) */
    font-size: 0.9rem !important;  /* Taille plus petite */
    display: inline;               /* Reste sur la même ligne */
}
/* Style de la carte (l'écrin) */
.spec-card {
    background: rgba(62, 39, 35, 0.9); /* Ton marron signature */
    padding: 35px;                     /* On augmente l'espace interne pour l'élégance */
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    min-height: 250px;                 /* Force les cases à avoir la même hauteur */
    transition: all 0.3s ease;
}

/* Style du texte à l'intérieur */
.spec-card h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    line-height: 1.7 !important;       /* Plus d'espace entre les lignes pour la lisibilité */
    color: #ffffff !important;
    text-align: justify !important;
    text-justify: inter-word;
    hyphens: auto;                     /* Coupe proprement les mots trop longs */
    margin: 0 !important;
}

/* Style des titres en majuscules (MATERNITÉ, etc.) */
.titre-gras {
    display: block;                    /* Le titre prend sa propre ligne */
    font-weight: 700 !important;
    text-transform: uppercase;         /* Tout en majuscules */
    letter-spacing: 1.5px;             /* Petit espace entre les lettres (très chic) */
    margin-bottom: 12px;               /* Espace sous le titre */
    color: #e3d5ca;                    /* Un beige sable doux pour contraster */
}
/* --- GRILLE SPORTIVE ADAPTATIVE --- */

.page-sport .specialites-grid {
    display: grid;
    /* 3 colonnes sur grand écran, s'adapte automatiquement sur petit */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 15px;
    margin-top: 30px;
}

/* Style de la case : plus de min-height, la taille s'adapte au texte */
.page-sport .spec-card {
    background: rgba(45, 71, 59, 0.9); /* Vert sombre signature */
    padding: 25px 20px;                /* Padding équilibré */
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
    height: auto;                      /* La case s'adapte au texte */
}

.page-sport .spec-card:hover {
    transform: translateY(-3px);
    background: rgba(55, 81, 69, 1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* Style du titre identique au Pôle Femme (Majuscules + Espacement) */
.titre-gras-sport {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;         /* Majuscules */
    letter-spacing: 1.5px;             /* Espacement chic */
    color: #ffffff;
    line-height: 1.4;
    display: block;
}
/* --- STYLE DES CARTES PÔLE SPORTIF --- */

.page-sport .specialites-grid {
    display: grid;
    /* Crée 3 colonnes sur grand écran, s'adapte sur mobile */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 15px;
    margin-top: 30px;
}

.page-sport .spec-card {
    background: rgba(45, 71, 59, 0.9); /* Ton vert sombre */
    padding: 25px 20px;                /* Padding fixe pour que la case entoure le texte */
    border-radius: 15px;
    display: flex;
    align-items: center;               /* Centre verticalement */
    justify-content: center;           /* Centre horizontalement */
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid rgba(255, 255, 255, 0.05);
    
    /* Supprime toute hauteur fixe pour que la case s'adapte au texte */
    height: auto !important;           
    min-height: 0 !important;          
}

.page-sport .spec-card:hover {
    transform: translateY(-3px);
    background: rgba(55, 81, 69, 1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* --- STYLE DU TITRE (IDEM PÔLE FEMME) --- */

.titre-gras-sport {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;      /* Taille fine et élégante */
    font-weight: 700 !important;
    text-transform: uppercase;          /* Majuscules */
    letter-spacing: 1.5px;              /* Espacement entre les lettres */
    color: #ffffff;
    line-height: 1.4;
    display: block;
    margin: 0 !important;
}
/* --- ALIGNEMENT HAUT DE PAGE --- */

.page-sport .kine-hero {
    padding-bottom: 20px !important; /* Réduit l'espace sous la photo de Julian */
    margin-bottom: 0 !important;
}

.page-sport .container-detail {
    margin-top: -30px !important; /* Remonte tout le bloc titre + cases vers le haut */
    padding-top: 0 !important;
}

.page-sport .detail-title {
    margin-top: 0 !important;
    margin-bottom: 15px !important; /* Rapproche les cases du titre */
    padding-top: 0 !important;
}

.page-sport .specialites-grid {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* ==========================================================
   VERROUILLAGE FINAL : ALIGNEMENT MIROIR
   ========================================================== */

/* 1. On réinitialise TOUT l'espace au-dessus des titres sur les deux pages */
body.page-sport .container-detail, 
body.page-femme .container-detail {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 2. On impose la même position exacte aux deux titres */
body.page-sport .detail-title, 
body.page-femme .detail-title {
    margin: 0 auto !important;
    padding-top: 60px !important;    /* Ajuste ce chiffre pour monter/descendre les deux en même temps */
    padding-bottom: 40px !important; /* Espace entre titre et cases */
    display: block !important;
    text-align: center !important;
}

/* 3. On force les cases Sport à être identiques aux cases Femme */
body.page-sport .spec-card {
    min-height: 250px !important;    /* Même hauteur que chez Charlène */
    background: #4a5d48 !important;  /* Ta couleur verte */
    border-radius: 20px !important;
    padding: 35px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* 4. On s'assure que les titres des cases Sport sont bien stylés */
body.page-sport .titre-gras-sport {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    line-height: 1.5 !important;
}
/* ==========================================================
   RÉDUCTION DE LA TAILLE DES CASES PÔLE SPORTIF
   ========================================================== */

/* 1. On réduit la hauteur et l'épaisseur des cases sportives */
body.page-sport .spec-card {
    min-height: 120px !important;    /* Hauteur beaucoup plus petite que 250px */
    padding: 20px 15px !important;   /* Moins d'espace interne pour compacter */
    border-radius: 15px !important;  /* Arrondi légèrement réduit pour aller avec la taille */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* 2. On ajuste la grille pour qu'elle soit plus compacte */
body.page-sport .specialites-grid {
    gap: 12px !important;            /* Rapproche un peu les cases entre elles */
    max-width: 1100px !important;    /* Largeur de la grille */
    margin: 0 auto !important;
}

/* 3. On s'assure que le titre dans la case reste bien proportionné */
body.page-sport .titre-gras-sport {
    font-size: 0.8rem !important;    /* Texte légèrement plus petit pour les petites cases */
    letter-spacing: 1.2px !important;
    line-height: 1.3 !important;
}
/* ==========================================================
   ÉLARGISSEMENT DES CASES PÔLE FEMME
   ========================================================== */

/* 1. On autorise la grille à prendre toute la largeur disponible */
body.page-femme .specialites-grid {
    max-width: 1100px !important; /* Même largeur maximale que le pôle sport */
    width: 100% !important;
    margin: 0 auto !important;
    gap: 20px !important;         /* Espace entre les deux colonnes */
}

/* 2. On s'assure que les cases s'étirent bien */
body.page-femme .spec-card {
    width: 100% !important;
    min-height: 250px !important; /* On garde la hauteur actuelle */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

/* 3. On ajuste le texte pour qu'il profite de la nouvelle longueur */
body.page-femme .spec-card h3 {
    text-align: justify !important; /* Garde le texte propre */
    width: 100% !important;
}
/* ==========================================================
   HARMONISATION DES TEXTES DE CONTENU (CASES)
   ========================================================== */

/* On cible le texte descriptif de Femme ET le texte de Sport */
body.page-femme .details-sante,
body.page-sport .titre-gras-sport {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;    /* Taille identique */
    font-weight: 500 !important;      /* Graisse medium (pas trop gras, pas trop fin) */
    letter-spacing: 0.5px !important; /* Léger espacement pour la clarté */
    line-height: 1.6 !important;      /* Même hauteur de ligne */
}

/* Note pour le Pôle Sport : 
   Si tu veux que le texte sport ne soit PLUS en majuscules (pour ressembler au texte descriptif de femme), 
   décommente la ligne ci-dessous : */

/* body.page-sport .titre-gras-sport { text-transform: none !important; } *
/* ==========================================================
   RÉGLAGE FINAL HAUTEUR PÔLE FEMME (210PX)
   ========================================================== */

body.page-femme .spec-card {
    /* Hauteur intermédiaire entre 180 et 250 */
    min-height: 210px !important; 
    
    /* On garde la largeur maximale */
    width: 100% !important;
    padding: 30px 40px !important;
    
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

/* On verrouille la largeur de la grille pour l'alignement gauche/droite */
body.page-femme .specialites-grid {
    max-width: 1100px !important;
    width: 100% !important;
    margin: 0 auto !important;
    gap: 20px !important;
}
/* ==========================================================
   ALIGNEMENT PARFAIT DES TITRES DANS LES CASES
   ========================================================== */

/* 1. On force le contenu des cases à s'aligner en haut et non au centre */
body.page-femme .spec-card {
    justify-content: flex-start !important; /* Aligne le contenu vers le haut */
    padding-top: 40px !important;           /* Espace fixe avant le titre */
}

/* 2. On harmonise les marges des titres (H3) pour qu'ils soient sur la même ligne */
body.page-femme .spec-card h3 {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    display: block !important;
    width: 100% !important;
}

/* 3. On s'assure que le texte descriptif ne décale rien */
body.page-femme .details-sante {
    margin-top: 0 !important;
}
/* ==========================================================
   CORRECTION MOBILE CIBLÉE (PÔLE SPORTIF & FEMME)
   ========================================================== */

@media (max-width: 768px) {
    /* 1. FIX PHOTO COUPÉE : On descend le bloc pour ne plus cacher le haut */
    .kine-hero {
        padding-top: 60px !important; /* Donne de l'air en haut */
        height: auto !important;
    }

    .kine-hero-content {
        flex-direction: column !important;
        gap: 20px !important;
    }

    /* 2. CASES PAR DEUX : Plus petites et alignées côte à côte */
    .page-sport .specialites-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important; /* 2 colonnes sur mobile */
        gap: 10px !important;
        padding: 10px !important;
    }

    .page-sport .spec-card {
        min-height: 100px !important; /* Moins haute pour tenir à deux */
        padding: 10px !important;
    }

    .page-sport .titre-gras-sport {
        font-size: 0.75rem !important; /* Texte un peu plus petit pour tenir */
    }

    /* 3. FIX BOUTON RETOUR : On s'assure qu'il est cliquable et visible */
    .top-back-link, .back-link {
        position: relative !important;
        z-index: 9999 !important; /* Passe devant tout le reste */
        display: inline-block !important;
        padding: 15px !important; /* Zone de clic plus grande pour le pouce */
        background-color: white !important; /* Fond blanc pour bien le voir */
        width: 100% !important;
        text-align: left !important;
    }

    /* Ajustement photo Julian/Charlène */
    .photo-julian, .photo-charlene {
        width: 160px !important;
        height: auto !important;
        margin-top: 10px !important; /* Évite de toucher le bouton retour */
    }
}
/* ==========================================================
   NETTOYAGE COMPLET MOBILE - PÔLE SPORT
   ========================================================== */

@media (max-width: 768px) {
    /* 1. On descend tout pour que rien ne soit coupé en haut */
    .kine-hero {
        display: flex !important;
        flex-direction: column !important;
        padding: 80px 20px 40px 20px !important; /* Plus d'espace en haut */
        height: auto !important;
        background-color: #d4e3d4 !important;
    }

    .kine-hero-content {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 15px !important;
    }

    /* 2. Photo bien cadrée */
    .photo-julian {
        width: 150px !important;
        height: 180px !important;
        margin-bottom: 10px !important;
        box-shadow: 8px 8px 0px rgba(255, 255, 255, 0.3) !important;
    }

    /* 3. Texte bien espacé */
    .kine-greeting {
        font-size: 1.8rem !important;
        margin-bottom: 10px !important;
    }

    .kine-desc {
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
        margin-bottom: 20px !important;
        text-align: center !important;
    }

    /* 4. UN SEUL bouton RDV bien propre */
    .btn-rdv-maiia {
        display: inline-block !important;
        width: 80% !important;
        max-width: 250px !important;
        padding: 12px !important;
        margin: 0 auto !important;
        font-size: 0.85rem !important;
        background-color: #4a5d48 !important;
        border-radius: 5px !important;
    }

    /* 5. TITRE DU PÔLE */
    .detail-title {
        font-size: 1.4rem !important;
        padding: 40px 10px 20px 10px !important;
        background-color: #7a9478 !important; /* Le fond du bas */
        margin: 0 !important;
    }

    /* 6. GRILLE PAR DEUX (Propre et alignée) */
    .page-sport .specialites-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* Deux colonnes égales */
        gap: 10px !important;
        padding: 15px !important;
        background-color: #7a9478 !important;
    }

    .page-sport .spec-card {
        min-height: 80px !important;
        padding: 10px !important;
        background: #4a5d48 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 10px !important;
    }

    .titre-gras-sport {
        font-size: 0.7rem !important;
        text-align: center !important;
    }
}
/* ==========================================================
   NETTOYAGE RADICAL PÔLE FEMME (SUPPRESSION DU VERT)
   ========================================================== */

/* 1. On force la suppression du vert sur TOUT ce qui touche au titre */
body.page-femme .detail-title, 
body.page-femme .container-detail,
body.page-femme section:not(.kine-hero) {
    background-color: transparent !important;
    background: none !important;
}

/* 2. On s'assure que le fond de la page prend le dessus partout */
body.page-femme {
    background-color: #c09a92 !important; /* Ton rose poudré/terre cuite */
}

/* 3. Adaptation des cases femme (Plus petites et par deux) */
@media (max-width: 768px) {
    body.page-femme .specialites-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* 2 colonnes */
        gap: 8px !important;
        padding: 10px !important;
        max-width: 100% !important;
    }

    body.page-femme .spec-card {
        min-height: 110px !important; /* Cases compactes */
        height: auto !important;
        padding: 15px 10px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    /* Texte miniature pour que ça tienne dans les petites cases */
    body.page-femme .titre-gras {
        font-size: 0.7rem !important;
        margin-bottom: 4px !important;
    }

    body.page-femme .spec-card h3,
    body.page-femme .details-sante {
        font-size: 0.65rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
    }
}
/* Uniquement pour les écrans de téléphone (moins de 480px) */
@media (max-width: 480px) {
    .brand-title {
        font-size: 2.5rem; /* On réduit la taille (ajuste si besoin) */
        letter-spacing: 2px; /* On resserre un peu les lettres */
        white-space: nowrap; /* Empêche de couper le mot en deux */
    }
    
    .logo-img {
        max-width: 120px; /* On réduit aussi un peu le logo pour gagner de la place */
    }
}