/* Réinitialisation */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    background: #f9f6f2; /* Fond global beige clair */
}

/* Conteneur global */
.body-container {
    max-width: 1240px;
    margin: 20px auto;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Conteneur principal */
.main {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	padding: 0 20px;
    position: relative;
}

.cops {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    display: flex;              /* Ajout pour aligner les colonnes */
    justify-content: space-between; /* Espace entre les colonnes */
}

/* Header */
header {
    padding: 10px 0;
    text-align: center;
}

.logo {
    width: 100%;
    /* height: auto; est redondant avec aspect-ratio */
    aspect-ratio: 3 / 1; 
    background: url(../images/logo-tabl.jpg) center no-repeat;
    /* CORRECTION : Utiliser 'cover' pour remplir la boîte entièrement */
    background-size: cover; 
    margin: 0;
}

/* Navigation */
nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff; /* Fond harmonieux */
    padding: 10px 20px;
    position: relative;
    z-index: 1000; /* Au-dessus du <h1> */
}

.menu-toggle {
    display: none;
    font-size: 24px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

#menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 2px; /* Séparation très fine */
}

#menu li {
    position: relative;
}

#menu a {
    display: block;
    padding: 10px 20px;
    color: #333;
    text-decoration: none;
    background: #f0f0f0; /* Gris clair neutre */
    transition: background 0.3s;
    white-space: nowrap;
}

#menu li:hover > a,
#menu .active a {
    background: #b5655d; /* Rappel saumon */
    color: #fff;
}

/* Liens de premier niveau */
#menu > li > a {
    color: #b5655d; /* Corail */
    padding: 8px 15px;
    transition: background 0.3s ease, color 0.3s ease;
    border-radius: 10px; /* Arrondi par défaut */
}

#menu > li > a:hover {
    background: #b5655d; /* Rouge foncé (dernière déclaration) */
    color: #fff;
}

#menu > li > a.active {
    background: #b5655d; /* Rouge clair */
    color: #fff;
}

#menu > li:first-child > a {
    border-radius: 10px 0 0 10px; /* Gauche arrondi, droite carré */
}

#menu > li:nth-child(2) > a {
    border-radius: 0; /* Carré */
}
#menu > li:nth-child(3) > a {
    border-radius: 0; /* Carré */
}
#menu > li:nth-child(4) > a {
    border-radius: 0; /* Carré */
}
#menu > li:nth-child(5) > a {
    border-radius: 0; /* Carré */

}#menu > li:nth-child(6) > a {
    border-radius: 0; /* Carré */
}

#menu > li:last-child > a {
    border-radius: 0 10px 10px 0; /* Droite arrondi, gauche carré */
}

/* Sous-menu */
#menu ul {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background: #f0f0f0;
    list-style: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s;
}

#menu li:hover ul {
    max-height: 400px;
}

#menu ul a {
    padding: 8px 20px;
    background: none;
    color: #aa5200; /* Vert-jaune pour liens */
}

#menu > li > ul {
    display: none; /* Caché par défaut */
    background: #fff;
    padding: 10px;
    margin: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1001; /* Au-dessus du reste */
}

#menu > li:hover > ul {
    display: block; /* Visible au survol */
}

#menu > li > ul > li > a {
    color: #b5655d;
    padding: 8px 15px;
    display: block;
    border-radius: 10px;
}

#menu > li > ul > li > a:hover {
    background: #b5655d; /* Rouge foncé (dernière déclaration) */
    color: #fff;
}

#menu > li > ul > li > a.active {
    background: #edbbaf; /* Rouge clair */
    color: #fff;
}

/* Language switch */
.language-switch {
    position: absolute;
    top: 10px;
    right: 15px;
}

/* Sections avec fonds alternés */
.section {
    padding: 20px 0;
}

.bg-light {
    background: #faf8f2; /* Beige très clair, harmonieux avec #f9f6f2 */
}

.bg-white {
    background: #fff; /* Fond blanc */
}

/* Contenu */
#content {
    padding: 0; /* Padding géré par .section */
}

h1 {
    font-size: 30px;
    color: #b5655d; /* Saumon pour titres */
    margin-bottom: 15px; /* Réduction espace sous h1 */
    text-align: center;
}

h4 {
    font-size: 30px;
    color: #b5655d; /* Saumon pour titres */
    margin-bottom: 15px; /* Réduction espace sous h1 */
    text-align: center;
}

h3 {
    font-size: 22px;
    color: #8c3f38;
    margin-bottom: 15px;
}

h5 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 15px;
}

p {
    margin-bottom: 15px;
}

a {
    color: #006400;
    text-decoration: underline;

}

a:hover {
    text-decoration: underline;
}

#more-text {
    display: none;
}

/* Vidéo responsive */
.video-container {
    position: relative;
    padding-bottom: 45%; /* Réduction hauteur */
    height: 0;
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid #b5655d; /* Bordure saumon */
    border-radius: 8px;
    max-width: 80%; /* Plus étroite */
    margin-left: auto;
    margin-right: auto;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Images */
.photo {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px 0;
}

.intro-photo {
    margin: 20px auto;
}

/* Grille */
.grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.grid-item {
    flex: 1 1 45%;
    min-width: 300px;
}

.grid-item.full-width {
    flex: 1 1 100%;
}

.grid-item.intro {
    flex: 1 1 100%;
    text-align: center;
}

.grid-item.start {

    margin: 200px ;
}


.grid-item.video {
    flex: 1 1 45%;
}

.grid-item.gallery {
    flex: 1 1 30%;
    min-width: 200px;
}

/* Disposition flex pour texte à droite */
.flex-row .flex-content {
    display: flex;
    gap: 20px;
    align-items: center;
}

.flex-row .flex-content .photo {
    flex: 1 1 40%;
    margin: 0;
}

.flex-row .flex-content .text-right {
    flex: 1 1 60%;
}

/* Carrousel */
.carousel {
    position: relative;
    max-width: 900px;
    margin: 20px auto;
    overflow: hidden;
}

.carousel-container {
    overflow: hidden;
}

.carousel-inner {
    display: flex;
    transition: transform 0.3s ease;
}

.carousel .testimonial {
    flex: 0 0 100%; /* 1 par défaut */
    padding: 15px;
    background: #fff;
    border-left: 4px solid #dfb5b0;
    border-radius: 5px;
    margin: 0 10px;
    min-height: 150px;
    box-sizing: border-box;
}

.carousel .author {
    text-align: center;
    color: #666;
    margin-top: 10px;
}

.carousel-prev,
.carousel-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: #b5655d !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 15px !important;
    cursor: pointer !important;
    font-size: 18px !important;
    z-index: 10 !important;
    border-radius: 50% !important;
    opacity: 0.6 !important;
    transition: opacity 0.3s ease !important;
}

.carousel-prev {
    left: 10px !important;
}

.carousel-next {
    right: 10px !important;
}

.carousel-prev:hover,
.carousel-next:hover {
    background: #b5655d !important;
    opacity: 1 !important;
}

.carousel-prev:active,
.carousel-next:active {
    opacity: 0.6 !important;
}

/* Bouton CTA */
.cta {
    text-align: center;
    margin: 20px 0;
}

.btn-reserve {
    display: inline-block;
    padding: 12px 25px;
    background: #8c3f38; /* Saumon pour CTA */
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
}

.btn-reserve:hover {
    background: #b5655d; /* Variation saumon */
}

/* Footer */
footer {
    padding: 20px 0;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

.footer-container .grid-item {
    flex: 1 1 200px;
    display: block;
    text-align: center; /* Centre le texte et les éléments inline */
}

.footer-container .grid-item img {
    display: block;
    margin: 0 auto; /* Centre horizontalement l’image */
}

.footer-container .grid-item ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block; /* Permet de centrer la liste */
}

.footer-container .grid-item ul li {
    margin-bottom: 10px;
}

.footer-container .grid-item ul a {
    color: #006400;
    text-decoration: none;

}

.footer-container .grid-item ul a:hover {
    text-decoration: underline;
}

.footer-title {
    color: #8c3f38; /* Saumon pour titre footer */
    font-weight: bold;
}

address {
    margin-bottom: 15px;
    text-align: center;
}

.social-links {
    text-align: center;
    margin-top: 20px;
}

.social-links a {
    display: inline-block; /* Modification ici */
    margin: 0 10px; /* Modification ici */
}

.social-links img {
    max-width: 30px;
    height: auto;
    vertical-align: middle; /* Ajout pour aligner les images verticalement */
}

/* Clearfix */
.clear {
    clear: both;
}

/* Section vidéo */
.video-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
}

.text-left {
    flex: 1;
    min-width: 300px; /* Évite collapse sur petit écran */
}

.video-right {
    flex: 1;
    min-width: 300px;
}
.map-right {
    flex: 1;
    padding-right: 20px;

}

/* Pour styliser l’iframe spécifiquement si besoin */
.map-right iframe {
    width: 100%;
    height: 300px;
    border: none;
    border-radius: 8px;
}


/* Accessibilité */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    white-space: nowrap !important; /* Empêche tout débordement */
}

/* Media Queries */
@media (min-width: 600px) {
    .carousel .testimonial {
        flex: 0 0 48%; /* 2 visibles */
    }
.intro-photo {
    margin: 0px auto;
}
    
    
}

@media (min-width: 900px) {
    .carousel .testimonial {
        flex: 0 0 31%; /* 3 visibles */
    }
}

@media (max-width: 600px) {
    .body-container {
        margin: 10px;
    }

    .logo {
        width: 100%;
        /* height: auto; est redondant avec aspect-ratio */
        aspect-ratio: 3 / 1; 
        background: url(../images/logo-tabl.jpg) center no-repeat;
        /* CORRECTION : Utiliser 'cover' pour remplir la boîte entièrement */
        background-size: cover; 
        margin: 0;
    }
    

    .language-switch {
        top: 5px;
        right: 10px;

    }

    nav {
        flex-direction: column;
        gap: 10px;
    }

    .menu-toggle {
        display: block;
        background: #b5655d;
        color: #fff;
        border: none;
        padding: 10px; /* Réduit pour carré (dernière déclaration) */
        cursor: pointer;
        border-radius: 5px;
        width: 40px; /* Largeur fixe = hauteur */
        height: 40px; /* Hauteur fixe */
        line-height: 20px; /* Centrage vertical */
        text-align: center;
        margin: 0 auto; /* Centré */
    }

    #menu {
        display: none; /* Caché par défaut */
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        gap: 5px; /* Séparation fine sur mobile */
    }

    #menu.active {
        display: flex; /* Visible quand activé */
    }

    #menu > li > a {
        width: 100%;
        text-align: center;
        border-radius: 10px; /* Tous arrondis sur mobile */
    }

    #menu > li:first-child > a,
    #menu > li:nth-child(2) > a,
	#menu > li:nth-child(3) > a,
	#menu > li:nth-child(4) > a,
	#menu > li:nth-child(5) > a,
    #menu > li:nth-child(6) > a,
    #menu > li:last-child > a {
        border-radius: 10px; /* Uniforme sur mobile */
    }

    #menu > li > ul {
        position: static;
        width: 100%;
        box-shadow: none;
        padding: 0 0 0 20px; /* Indentation */
    }

    #menu > li:hover > ul {
        display: none; /* Caché au survol sur mobile */
    }

    #menu.active > li > ul {
        display: block; /* Visible quand menu actif */
    }

    .grid-item,
    .grid-item.video,
    .grid-item.gallery {
        flex: 1 1 100%;
    }

    .flex-row .flex-content {
        flex-direction: column;
    }

    .flex-row .flex-content .photo,
    .flex-row .flex-content .text-right {
        flex: 1 1 100%;
    }

    .carousel-prev {
        left: 5px !important;
    }

    .carousel-next {
        right: 5px !important;
    }

    .carousel-prev,
    .carousel-next {
        opacity: 0.6 !important;
    }

    .carousel-prev:hover,
    .carousel-next:hover,
    .carousel-prev:active,
    .carousel-next:active {
        opacity: 0.6 !important; /* Reste translucide après clic */
    }

    h1 {
        font-size: 24px;
    }

    h3 {
        font-size: 18px;
    }
    h4 {
        font-size: 24px;
    }

    .footer-container {
        justify-content: center;
    }

    .video-section {
        flex-direction: column;
    }

    .text-left,
    .video-right {
        flex: 100%;
    }
    .sr-only {
        display: none !important; /* Double assurance */
    }
}

@media (min-width: 601px) and (max-width: 1024px) {
    .logo {
        width: 100%;
       
        background: url(../images/logo-tabl.jpg) center no-repeat;
    }
}

@media (max-width: 1000px) {
    .footer-container .grid-item:nth-child(1) {
        display: none;
    }
}

@media (max-width: 690px) {
    .footer-container .grid-item:nth-child(2) {
        display: none;
    }

}

@media (max-width: 800px) {

    .map-right {
        flex: 1;
        margin-right: 0px;

    }
}























/* Nouveaux styles pour la page services */
.service-section {
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    margin-bottom: 30px; /* Espacement entre sections */
}

.service-content {
    display: flex;
    gap: 20px;
    align-items: center;
}

.service-image img {
    max-width: 300px;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 5px;
}


.service-text {
    flex: 1;
}


.service-text p {
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 15px;
}

.service-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.service-links li {
    margin-bottom: 5px;
}

.service-links a {
    color: #006400;

    transition: color 0.3s ease;

    text-decoration: underline;
}

.service-links a:hover {
    color: #b5655d;
}

.service-pricing {
    text-align: center;
    margin-top: 20px;
    background: #f8f8f8;
    padding: 15px;
    border-radius: 5px;
}

.price-symbol {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #b5655d;
    color: #fff;
    border-radius: 50%;
    font-size: 18px;
    margin-right: 10px;
}

.price-list {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    line-height: 1.4;
    margin: 0;
    display: inline-block;
    vertical-align: middle;
}

.offer {
    color: #b5655d;
}

.price-note {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
}

.price-note em {
    font-style: italic;
}

/* Section sans image (Massage à Domicile) */
.no-image {
    justify-content: center;
}

.centered {
    text-align: center;
}

/* Responsive */
@media (max-width: 600px) {
    .service-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .service-image img {
        max-width: 100%;
    }

    .service-pricing {
        padding: 10px;
    }
}


/* Responsive */
@media (max-width: 800px) {


    #menu {

        width: 80%;

        padding: 0px;

    }
}
































/* Section Bio */
/* 1. Conteneur principal (Active Flexbox) */
.bio {
    /* Rétablissez les propriétés Flexbox pour aligner les enfants (photo et texte) côte à côte */
    display: flex;
    align-items: center; /* Aligne verticalement la photo et le texte au milieu */
    margin-bottom: 40px;
}

/* 2. Contenu Textuel (Doit prendre l'espace restant) */
.bio-text-content {
    /* Ceci permet au bloc de texte de s'étirer et de prendre toute la largeur disponible */
    flex: 1; 
}

/* 3. Styles des Photos */
.photo-right {
    max-width: 300px;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    
    /* Pousse la photo vers l'extrême droite et ajoute un espace entre le texte et la photo */
    margin-left: 20px; 
    margin-right: 0;
}

.photo-left {
    max-width: 300px;
    height: auto;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    
    /* S'aligne à gauche et ajoute un espace à droite */
    margin-right: 20px; 
    margin-left: 0;
}

/* 4. Paragraphes (Pas besoin de flexbox ici, ils restent en bloc) */
.bio-text-content p {
    /* Utilisez des marges normales pour séparer les paragraphes */
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
}



/* Responsive Design */
@media (max-width: 768px) {
    .bio {
        flex-direction: column;
        align-items: center;
    }

    .bio p {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .photo-right, .photo-left {
        max-width: 100%;
        margin: 0 0 20px 0;
    }
}

/* Styles pour la section de contact */
#contact-form-section {
    background: #f8f8f8;
    padding: 40px 0;
}

.main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.form-wrapper {
    display: flex;
    justify-content: space-between;

}

.contact-form, .newsletter-section {
    flex: 1;
    background: none;
    border: none;
    padding: 0;
    margin-right: 150px;
}



.contact-form fieldset {
    border: none;
    padding: 0;
}

.contact-form input, .contact-form textarea, .newsletter-section input {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box;
}

.contact-form textarea {
    resize: vertical;
}

.contact-form h1, .newsletter-section h2 {
    font-size: 24px;
    color: #b5655d;
    margin-bottom: 20px;
}

.contact-form label, .newsletter-section label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: #666;
}

.form-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 15px;
}

.button {
    background: #b5655d;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.button:hover {
    background: #b5655d;
}

.newsletter-section {
    max-width: 300px;
    margin: 0 auto;
}

.newsletter-form input[type="email"], .newsletter-form button {
    width: 100%;
    max-width: 250px;
    padding: 8px;
}

.rgpd-note {
    font-size: 14px;
    color: #666;
    text-align: center;
    margin-top: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-wrapper {
        flex-direction: column;
    }

.contact-form, 
.newsletter-section {
    max-width: 800px;
    width: 100%;
    margin: 0 auto 40px auto;
}


    .newsletter-form input[type="email"], .newsletter-form button {
        max-width: 100%;
        margin-right: 0px;
    }

    .map-right {
        padding: 0px;
    
    }
}


























.payment-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 20px 0;
}

.payment-block {
    background: #f9f9f9; /* Fond clair */
    border: 1px solid #ddd; /* Bordure subtile */
    border-radius: 8px;
    padding: 20px;
    flex: 1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.payment-block h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 15px;
}

.button-group {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 400px;
}

.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    color: #fff;
    cursor: pointer;
    transition: background 0.3s ease;
    
}

.btn img {
    height: 20px;
    vertical-align: middle; /* Alignement avec le texte */
  }

.stripe-50 { background: #9acd55; }
.stripe-50:hover { background: #85b74a; }
.stripe-70 { background: #6772e5; }
.stripe-70:hover { background: #5661c9; }
.stripe-90 { background: #f47a5a; }
.stripe-90:hover { background: #d96547; }
.stripe-120 { background: #a3daf4; }
.stripe-120:hover { background: #8cc5e0; }

/* Responsivité */
@media (max-width: 400px) {
    .payment-wrapper {
        flex-direction: column;

    }

   
}

@media (max-width: 00px) {
    #menu a {
        font-size: 0.9em;
        padding: 6px 10px !important; /* Forcer la réduction du padding */
        white-space: nowrap;
    }
}








/* Assurez-vous que le conteneur PayPal s'adapte à la largeur de l'écran */
#paypal-container-WUKMPRFDNHC7C {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden; /* Empêche le débordement horizontal */
}

/* Styles pour les éléments enfants du conteneur PayPal */
#paypal-container-WUKMPRFDNHC7C > * {
    width: 100%;
    box-sizing: border-box;
}

/* Media query pour les écrans de moins de 768px (smartphones) */
@media (max-width: 768px) {
    #paypal-container-WUKMPRFDNHC7C {
        width: 100%;
        max-width: 100%;
    }

    /* Ajuster les boutons ou iframes PayPal pour qu'ils soient responsive */
    #paypal-container-WUKMPRFDNHC7C iframe,
    #paypal-container-WUKMPRFDNHC7C img {
        width: 100% !important;
        height: auto !important;
    }
}











/* Styles généraux pour le tableau */
table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-family: Arial, sans-serif;
}

/* Styles pour les cellules */
td {
    padding: 15px;
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
}

/* Première colonne : icônes */
.td_largeur {
    width: 50px;
    text-align: center;
}

/* Deuxième colonne : titres */
.td_long {
    font-weight: bold;
    color: #333;
    width: 200px;
}

/* Troisième colonne : descriptions */
.td_60 {
    font-size: 14px;
    color: #666;
}










.lang-link {
  position: relative;
  padding: 5px 10px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  border: 1px solid #73c773;
  border-radius: 5px;
  transition: color 0.3s ease;
}




