/*
Theme Name: Prends Ton Envol By Val
Theme URI: https://example.com
Author: Julien Vacherand
Author URI:
Description: Thème personnalisé pour le site
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: montheme
*/


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* -----------------------------------------------------------------------      NAVIGATION DANS LE FICHIER CSS  ----------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

/* 1) GENERAL
/* 2) ACCUEIL
/* 3) À PROPOS




/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------  GENERAL  ------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


/* --------------------------------------------------------------------------
   FORMULES TARIFS
   -------------------------------------------------------------------------- */
.formules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

@media (max-width: 768px) {
    .formules-grid { grid-template-columns: 1fr; }
}

.formule-card {
    padding: 24px 20px;
    border: 0.5px solid #C8D9B6;
    border-radius: 8px;
    background: #FAFAF6;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.formule-card.formule-featured {
    background: #F0F4EA;
    border: 1.5px solid #6B8F52;
}

.formule-badge {
    font: 0.8rem "Inter";
    letter-spacing: 1px;
    color: #3E5A2E;
    background: #E2EDD5;
    padding: 0.5em;
    border-radius: 2px;
    align-self: flex-start;
    font-weight: 600;
}



.formule-duree {
    font-size: 1.2rem;
    color: #888780;
}

p.formule-price {
    margin-top: 0.5em;
    font-size: 1.6rem;
    font-weight: 400;
    color: #3E5A2E;
    line-height: 1;
}

.formule-price-sub {
    font-size: 1rem;
    color: #888780;
}

.formule-sep {
    height: 0.1em;
    background: #C8D9B6;
    margin: 1em 0;
}

.formule-includes {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.formule-item {
    display: flex;
    gap: 1em;
    align-items: flex-start;
    font: 1.1rem "Inter";
    color: #5F5E5A;
    line-height: 1.5;
}

.formule-check {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #A8BC8E;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.formule-check svg {
    width: 14px;
    height: 14px;
}

.formule-description {
    line-height: 1.65;
    border-top: 0.1em solid #C8D9B6;
    padding: 1.5em 0;
    margin-top: 1em;
    font-size: 1.2rem;
}

.formule-btn {
    margin-top: auto;
    padding: 0.8em;
    background: #3E5A2E;
    color: #E2EDD5;
    border: none;
    border-radius: 2px;
    font: 1rem "Inter";
    letter-spacing: 0.8px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    display: block;
    transition: background 0.15s ease;
}

.formule-btn:hover {
    background: #2B3F1E;
    color: #E2EDD5;
}

.formule-btn-ghost {
    background: transparent;
    color: #3E5A2E;
    border: 0.5px solid #6B8F52;
}

.formule-btn-ghost:hover {
    background: #F0F4EA;
    color: #3E5A2E;
}





body.cmplz-show-banner {
    overflow: hidden !important;
    height: 100vh !important;
}


*{
    margin: 0;
    padding: 0;
}

h1{
    font: 2.5rem "Libre Baskerville", Sans-serif !important;
    color: #6B8F52 !important;
    font-weight: 600 !important;
}

h2{
    margin: 0 0 0.5em 0 !important;
    font-size: 3.5rem !important;
    font-family: "Libre Baskerville" !important;
    color: #243318 !important;
    font-weight: bold !important;
}

h3{
    font: 2rem "Libre Baskerville" !important;
    font-weight: 600 !important;
    color: #6B8F52 !important;
}

h4{
    font: 1.3rem "Inter", sans-serif !important;
    color: #243318 !important;
    font-weight: 600 !important;
}

p, ul li{
    font-size: 1.3rem;
    font-family: "Inter", sans-serif !important;
    font-weight: 400;
    color: #5F5E5A;
}


.no-margin-no-padding{
    margin: 0 !important;
    padding: 0 !important;
}

/* CTA */

div.cta{
    display: flex;
    flex-direction: row !important;
    justify-content: space-around;
    align-items: center;
    padding: 1em;
    background-color: #3E5A2E;
    border-bottom: 0.5px solid rgba(168, 188, 142, 0.25);
}

div.cta p{
    color: #F4F6F1;
}

div.cta span, div.cta span a{
    font-size: 1.1rem;
    font-family: "DM Sans";
    color: #F4F6F1;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

div.cta span:hover { color: #E2EDD5; }


.pilier-num {
    font-family: 'DM Sans', 'Inter', sans-serif;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #A8BC8E;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    color: #243318;
    letter-spacing: 0.5px;
    margin-top: 2px;
}

div.hero{
    padding: 5em;
    border-bottom: 2px solid #C8D9B6;
    background-color: #F0F4EA;
}

div.elementor-widget-text-editor h4{
    padding-bottom: 0.5em;
}



/* Par défaut : header normal */
.site-header {
    background-color: #FAFAF6;
}

div.titre-accueil h1{
    font-size: 4.5rem !important;
    font-family: "Allura" !important;
    color: #243318 !important;
}

/* Sur la page d'accueil : header transparent au-dessus du contenu 

header.header-accueil nav{
  position: absolute;
  width: 100%;
}
*/

nav ul{
    list-style-type: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #D3D1C7;
    padding-inline-start: 0 !important;
    padding-right: 20em;
}


nav ul li a{
    position: relative;
    padding-bottom: 0.3em;
    color: #243318;
    font: 1.5rem "DM Sans";
    text-decoration: none;
}

nav ul li a:hover{
    color: #6B8F52;
}

nav ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: #6B8F52;
    transition: width 0.25s ease;
}

nav ul li a:hover::after {
    width: 100%;
    
}

nav ul li a.active,
nav ul li.current-menu-item a{
    color: #6B8F52;
}




.social-links {
    list-style: none;
    display: flex;
    gap: 35px;
    padding: 0;
}

.social-links li a {
    color: #fff;
    font-size: 1.5rem;
}

.social-links li a:hover {
    color: #FFD700;
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------  ACCUEIL  ------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


.elementor-widget-rating .e-rating .e-icon-wrapper svg{
    width: 16px !important;
    height: 16px !important;
    fill: #3e5a2e !important;
}


div.elementor-element-995d1b7.e-con, .elementor-element-331743e.e-con{
    padding-left: 0 !important;
}

/* Derniers articles */

.blog-grille {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    /*max-width: 900px; */
    margin: 0 auto;
    font: 1.2rem "Inter";
}

@media (max-width: 768px) {
    .blog-grille {
        grid-template-columns: 1fr;
    }
}

.blog-carte {
    border: 0.5px solid #C8D9B6;
    border-radius: 8px;
    overflow: hidden;
    background: #FAFAF6;
    display: flex;
    flex-direction: column;
}



.blog-img-placeholder {
    width: 100%;
    height: 160px;
    background: #D4E4C4;
}

.blog-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.blog-cat {
    font-size: 10px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #6B8F52;
    font-weight: 600;
}

.blog-titre a {
    font-size: 14px;
    font-weight: 600;
    color: #243318;
    text-decoration: none;
    line-height: 1.45;
    display: block;
}

.blog-titre a:hover {
    color: #6B8F52;
}

.blog-extrait {
    font-size: 12px;
    color: #5F5E5A;
    line-height: 1.65;
}

.blog-lire {
    font-size: 12px;
    color: #6B8F52;
    text-decoration: none;
    letter-spacing: 0.3px;
    border-bottom: 0.5px solid #A8BC8E;
    padding-bottom: 1px;
    align-self: flex-start;
    margin-top: auto;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------  PAGE LA NATUROPATHIE  ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


/* Le vrai fix : rendre le paragraphe inline */
.mythe p, .realite p, .badge_complementaire h4, .badge_allopathie h4 {
    display: inline;
}

/* Style commun badge */
.mythe::before,
.realite::before {
    display: inline-block;
    font: 0.9rem "Raleway";
    font-weight: 600;
    padding: 0.5em;
    border-radius: 6px;
    margin-right: 0.5em;
    line-height: 1;
}

/* Mythe */
.mythe::before {
    content: "Mythe";
    background: #FDE8D7;
    color: #A65A2E;
    border: 1px solid #F4C7A1;
}

/* Réalité */
.realite::before {
    content: "R\0000E9alit\0000E9";
    background: #E4F3E7;
    color: #2E6B3F;
    border: 1px solid #B7DFC2;
}

.mythe .elementor-widget-container, .realite .elementor-widget-container,  .badge_allopathie .elementor-widget-container, .badge_complementaire .elementor-widget-container{
    display: inline;
}


.badge_complementaire::after,
.badge_allopathie::after {
    display: inline-block;
    font: 0.9rem "Raleway";
    font-weight: 600;
    padding: 0.5em;
    border-radius: 6px;
    margin-left: 0.5em;
    line-height: 1;
}

/* Mythe */
.badge_complementaire::after {
    content: "Compl\0000E9mentaire";
    background: #E2EDD5;
    color: #3E5A2E;
}

/* Réalité */
.badge_allopathie::after {
    content: "Allopathie";
    background: #E2E8F0;
    color: #475569;
}




/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------  PAGE À PROPOS  ------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

.texte-vertical {
  writing-mode: vertical-rl;   /* texte vertical */
  transform: rotate(180deg);  /* pour lire de bas en haut */
  text-orientation: mixed;    /* lettres normales */
}

div.titre_mon_histoire h3{
    color: #243318 !important;
}

div.hobbies ul li.elementor-icon-list-item{
    padding: 1em;
    border: 0.5px solid #C8D9B6;
    border-radius: 20px;
    background-color: #F0F4EA;
}

div.hobbies ul li.elementor-icon-list-item svg{
    fill: #2E6B3F;
}
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* -----------------------------------------------------------------------------------------   PAGE BLOG   ---------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


   div.elementor-element-d8880c7{
    margin: 0 !important;
    padding: 0 !important;
   }



/* --------------------------------------------------------------------------
   STATS
   -------------------------------------------------------------------------- */
.blog-stats {
    display: flex;
    gap: 4em;
    margin-top: 2em;
}

.blog-stat-num {
    font: 2rem "Inter";
    color: #3E5A2E;
    line-height: 1;
}

.blog-stat-label {
    font: 1.3rem "Inter";
    letter-spacing: 1px;
    color: #888780;
    margin-top: 0.2em;
}


/* --------------------------------------------------------------------------
   ARTICLE VEDETTE
   -------------------------------------------------------------------------- */
.vedette-wrap {
    display: flex;
    justify-content: space-between;
    border-bottom: 0.5px solid #D3D1C7;
}

.vedette-img {
    width: 45%;
    position: relative;
    background: #D4E4C4;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 80px 80px;
    min-height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-right: 0.5px solid #D3D1C7;
}

.vedette-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    
    inset: 0;
}

.vedette-badge {
    position: absolute;
    top: 1em;
    left: 1em;
    font: 1rem "Inter";
    letter-spacing: 1px;
    padding: 0.4em;
    background: #3E5A2E;
    color: #E2EDD5;
    border-radius: 2px;
    z-index: 1;
}

.vedette-img-ph {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.vedette-img-ph span {
    font-size: 11px;
    color: #3E5A2E;
    letter-spacing: 0.5px;
}

.vedette-body {
    width: 55%;
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    background: #FAFAF6;
}

.vedette-cat {
    margin-bottom: 0.8em;
    font: 1.1rem "Inter";
    letter-spacing: 1px;
    color: #6B8F52;
    font-weight: 600;
}

.vedette-title a {
    
    font: 2.2rem "Libre Baskerville";
    font-weight: 400;
    color: #243318;
    line-height: 1.35;
    text-decoration: none;
}

.vedette-title a:hover {
    color: #3E5A2E;
}

.vedette-excerpt {
    margin-top: 1.5em;
    font: 1.3rem "Inter";
    color: #5F5E5A;
    line-height: 1.75;
}

.vedette-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 2em;
}

.vedette-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #A8BC8E;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 1.2rem "Inter";
    font-weight: 500;
    color: #243318;
    flex-shrink: 0;
}

.vedette-author {
    font: 1rem "Inter";
    color: #5F5E5A;
}

.vedette-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #C8D9B6;
}

.vedette-date {
    font: 1rem "Inter";
    color: #A8A9A4;
}

.vedette-lire {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font: 1.4rem "Inter";
    color: #3E5A2E;
    text-decoration: none;
    border-bottom: 0.5px solid #A8BC8E;
    padding-bottom: 1px;
    align-self: flex-start;
    margin-top: 1.5em;
}

.vedette-lire:hover {
    color: #6B8F52;
}


.blog-img {
    height: 140px;
    background-color: #F0F4EA;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60px 60px; /* taille de l'icône visible */
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}



/* --------------------------------------------------------------------------
   FILTRES
   -------------------------------------------------------------------------- */
.blog-filtres {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 16px 0;
    margin-bottom: 8px;
}



.filtre-btn {
    font: 1.1rem "Inter";
    padding: 0.8em;
    min-width: 250px;
    text-align: left;
    border: 1px solid #C8D9B6;
    border-radius: 6px;
    color: #5F5E5A;
    background: transparent;
    cursor: pointer;
    transition: all 0.15s ease;
}

.filtre-btn:hover {
    background: #F0F4EA;
    border-color: #6B8F52;
    color: #3E5A2E;
}

.filtre-btn.active {
    background: #3E5A2E;
    color: #E2EDD5;
    border-color: #3E5A2E;
}

.filtre-btn.active .filtre-count{
    color: #E2EDD5;
}

.filtre-count {
    margin-top: 0.5em;
    text-align: left;
    font-size: 1rem;
    opacity: 0.7;
    
}


/* --------------------------------------------------------------------------
   GRILLE ARTICLES
   -------------------------------------------------------------------------- */
.blog-grille {
    --cols: 3;
    --gap: 1.5em;
    gap: var(--gap);
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 28px;
    padding: 0 3em;
    transition: opacity 0.2s ease;
}

@media (max-width: 768px) {
    .blog-grille {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .blog-grille {
        grid-template-columns: 1fr;
    }
}

.blog-carte {
    flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
    min-height: 350px;
    border: 0.5px solid #C8D9B6;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.15s ease;
}


.blog-carte:hover {
    border-color: #6B8F52;
}



.blog-img-ph {
    width: 100%;
    height: 100%;
    background: #D4E4C4;
}

/* Badges catégories — couleurs par slug */
.blog-cat-badge {
    position: absolute;
    bottom: 8px;
    left: 8px;
    padding: 0.8em !important;
    font: 0.8rem "Inter";
    letter-spacing: 0.8px;
    padding: 3px 8px;
    border-radius: 2px;
    font-weight: 500;
}

/* Ajoute ici les slugs de tes vraies catégories WordPress */
.cat-acne, .cat-acne-peau { background: #6B8F52; }
.cat-hormones, .cat-troubles-feminins { background: #C4A07A; color: #243318; }
.cat-digestion { background: #5F5E5A; color: #fff;}
.cat-stress, .cat-stress-sommeil { background: #A8BC8E; color: #243318; }
.cat-nutrition { background: #3E5A2E; }
.cat-grossesse, .cat-fertilite-grossesse { background: #9FBA74; color: #243318; }
.cat-immunite { background: #3E5A2E; }
.cat-phytotherapie { background: #085041; }
.cat-a-la-une { background: #3E5A2E; }
.cat-sante { background: #C9822B; color: #243318; }
.cat-immunite-energie { background: #B86E1F; color: #243318;
}

.blog-body {
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.blog-titre a {
    margin-top: 0.5em;
    font-size: 1.2rem;
    font-weight: 500;
    color: #243318;
    text-decoration: none;
    line-height: 1.45;
    display: block;
}

.blog-titre a:hover {
    color: #3E5A2E;
}

.blog-extrait {
    margin-top: 1em;
    font: 0.9rem "Inter";
    color: #5F5E5A;

}

.blog-footer {
    display: flex;
    align-items: center;
    gap: 1em;
    margin-top: auto;
    padding-top: 8px;
    border-top: 0.5px solid #EEF2E8;
}

.blog-date {
    font: 1rem "Inter";
    color: #A8A9A4;
    flex: 1;
}

.blog-read {
    font: 0.9rem "Inter";
    color: #A8A9A4;
}

.blog-lire {
    font: 1rem "Inter";
    color: #6B8F52;
    border: none;
    letter-spacing: 0.3px;
}


.blog-lire:hover {
    color: #3E5A2E;
}


/* --------------------------------------------------------------------------
   MESSAGE VIDE
   -------------------------------------------------------------------------- */
.blog-vide {
    grid-column: 1 / -1;
    text-align: center;
    padding: 48px 24px;
    color: #888780;
    font-size: 14px;
    line-height: 1.7;
}

.blog-vide a {
    color: #3E5A2E;
    text-decoration: none;
    border-bottom: 0.5px solid #A8BC8E;
}


/* --------------------------------------------------------------------------
   PAGINATION
   -------------------------------------------------------------------------- */
.blog-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 24px 0 8px;
}

.page-btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.5px solid #C8D9B6;
    border-radius: 2px;
    font: 1rem "Inter";
    color: #5F5E5A;
    cursor: pointer;
    background: transparent;
    text-decoration: none;
    transition: all 0.15s ease;
}

.page-btn:hover {
    background: #F0F4EA;
    border-color: #6B8F52;
    color: #3E5A2E;
}

.page-btn.active {
    background: #3E5A2E;
    color: #E2EDD5;
    border-color: #3E5A2E;
    cursor: default;
}

.page-btn.arrow {
    color: #6B8F52;
    font-size: 16px;
}

.page-btn.page-dots {
    border: none;
    cursor: default;
    color: #A8A9A4;
}

.page-btn.page-dots:hover {
    background: transparent;
}


/* --------------------------------------------------------------------------
   RESPONSIVE — VEDETTE
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .vedette-wrap {
        grid-template-columns: 1fr;
    }

    .vedette-img {
        min-height: 200px;
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
    }

    .vedette-body {
        padding: 24px 20px;
    }
}

/* BARRE DE FILTRES — layout */
.blog-filtres-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 0;
    margin-bottom: 8px;
}

.blog-filtres-cats,
.blog-filtres-tri {
    margin: 1em 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* BOUTONS TRI */
.tri-btn {
    font: 1.1rem "Inter";
    padding: 0.8em;
    min-width: 150px;
    border: 1px solid #C8D9B6;
    border-radius: 6px;
    color: #5F5E5A;
    background: transparent;
    cursor: pointer;
    transition: all 0.15s ease;
}

.tri-btn:hover {
    background: #F0F4EA;
    border-color: #6B8F52;
    color: #3E5A2E;
}

.tri-btn.active {
    background: #6B8F52;
    color: #E2EDD5;
    border-color: #6B8F52;
}

/* Distinction visuelle : filtres verts foncés, tri verts clairs */
.filtre-btn.active  { background: #3E5A2E; border-color: #3E5A2E; }
.tri-btn.active     { background: #6B8F52; border-color: #6B8F52; }


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ----------------------------------------------------------------------------------------  ARTICLE SEUL  ---------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

/* ==========================================================================
   SINGLE ARTICLE — CSS à ajouter dans style.css
   ========================================================================== */

.single-wrap {
    width: 100%;
    background: #FAFAF6;
}

/* --------------------------------------------------------------------------
   FIL D'ARIANE
   -------------------------------------------------------------------------- */
.single-breadcrumb {
    padding: 1.5em 5em;
    border-bottom: 0.5px solid #D3D1C7;
    background: #F7FAF3;
    display: flex;
    align-items: center;
    gap: 0.5em;
    flex-wrap: wrap;
}

.single-breadcrumb .bc-item {
    font: 1.2rem "Inter";
    color: #5F5E5A;
    text-decoration: none;
}

.single-breadcrumb .bc-item:hover {
    color: #3E5A2E;
}

.single-breadcrumb .bc-sep {
    font: 1.5rem "Inter";
    color: #A8A9A4;
}

.single-breadcrumb .bc-current {
    font: 1.2rem "Inter";
    color: #3E5A2E;
}

/* --------------------------------------------------------------------------
   EN-TÊTE
   -------------------------------------------------------------------------- */
.single-hero {
    padding: 3em 5em;
    border-bottom: 0.5px solid #D3D1C7;
}

.single-cat-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.single-cat {
    font: 1.1rem "Inter";
    letter-spacing: 1.5px;
    color: #6B8F52;
    font-weight: 600;
    background: #F0F4EA;
    padding: 0.5em;
    border-radius: 2px;
}


.single-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #C8D9B6;
    flex-shrink: 0;
}

.single-read {
    font: 1.1rem "Inter";
    color: #888780;
}

.single-title {
    margin: 1em 0;
}

.single-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.single-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #A8BC8E;
    display: flex;
    align-items: center;
    justify-content: center;
    font: 1rem "Inter";
    font-weight: 500;
    color: #243318;
    flex-shrink: 0;
}

.single-author {
    font: 1.2rem "Inter";
    font-weight: 500;
    color: #243318;
}

.single-date {
    font: 1rem "Inter";
    color: #888780;
    margin-top: 0.2em;
}

/* --------------------------------------------------------------------------
   IMAGE PRINCIPALE
   -------------------------------------------------------------------------- */
.single-img {
    position: relative;
    border-bottom: 0.5px solid #D3D1C7;
    overflow: hidden;
    max-height: 420px;
}

.single-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    max-height: 420px;
}

.single-img-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 16px;
    background: rgba(36, 51, 24, 0.6);
    font-size: 11px;
    color: rgba(226, 237, 213, 0.9);
    font-style: italic;
}

/* --------------------------------------------------------------------------
   CORPS — CONTENU
   -------------------------------------------------------------------------- */
.single-body {
    display: block;
    padding: 0 3rem;
    border-bottom: 0.5px solid #D3D1C7;
}

.single-content {
    padding: 36px 48px;
   min-width: 0;
    border-right: none;
}

/* --------------------------------------------------------------------------
   PROSE (contenu WordPress)
   -------------------------------------------------------------------------- */

.prose blockquote {
    border-left: 2px solid #A8BC8E;
    padding: 14px 18px;
    margin: 24px 0;
    background: #F7FAF3;
    border-radius: 0 4px 4px 0;
}

.prose blockquote p {
    font-family: 'Playfair Display', 'Lora', Georgia, serif;
    font-size: 15px;
    font-style: italic;
    color: #3E5A2E;
    margin: 0;
    line-height: 1.7;
}

.prose ul,
.prose ol {
    margin: 12px 0 18px 0;
    padding-left: 0;
    list-style: none;
}

.prose ul li,
.prose ol li {
    font-size: 14px;
    color: #3A3A38;
    line-height: 1.8;
    padding: 4px 0 4px 18px;
    position: relative;
}

.prose ul li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #6B8F52;
    position: absolute;
    left: 0;
    top: 12px;
}

.prose ol {
    counter-reset: ol-counter;
}

.prose ol li::before {
    content: counter(ol-counter) '.';
    counter-increment: ol-counter;
    position: absolute;
    left: 0;
    top: 4px;
    font-size: 12px;
    font-weight: 500;
    color: #6B8F52;
}

.prose a {
    color: #3E5A2E;
    text-decoration: none;
    border-bottom: 0.5px solid #A8BC8E;
    padding-bottom: 1px;
}

.prose a:hover {
    color: #6B8F52;
}

.prose strong {
    font-weight: 500;
    color: #243318;
}

.prose img {
    width: 100%;
    border-radius: 6px;
    margin: 16px 0;
    display: block;
}

.prose figure {
    margin: 20px 0;
}

.prose figcaption {
    font-size: 12px;
    color: #888780;
    font-style: italic;
    text-align: center;
    margin-top: 6px;
}

.prose hr {
    border: none;
    border-top: 0.5px solid #D3D1C7;
    margin: 28px 0;
}

/* TAGS */
.prose-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 32px;
    padding-top: 20px;
    border-top: 0.5px solid #D3D1C7;
}

.prose-tag {
    font-size: 11px;
    padding: 4px 10px;
    border: 0.5px solid #D3D1C7;
    border-radius: 2px;
    color: #5F5E5A;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.prose-tag:hover {
    border-color: #6B8F52;
    color: #3E5A2E;
}


/* --------------------------------------------------------------------------
   NAVIGATION PRÉCÉDENT / SUIVANT
   -------------------------------------------------------------------------- */
.single-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 0.5px solid #D3D1C7;
    border-bottom: 0.5px solid #D3D1C7;
}

.nav-prev,
.nav-next {
    padding: 2em;
    text-decoration: none;
    display: block;
    transition: background 0.15s ease;
}

.nav-prev {
    border-right: 0.5px solid #D3D1C7;
}

.nav-next {
    text-align: right;
}

.nav-prev:hover,
.nav-next:hover {
    background: #F7FAF3;
}

.nav-label {
    font: 1.1rem "Inter";
    letter-spacing: 1.5px;
    color: #888780;
    margin-bottom: 1em;
}

.nav-title {
    font: 1.2rem "Inter";
    color: #243318;
    line-height: 1.4;
    font-weight: 500;
}

.nav-cat {
    font: 1rem "Inter";
    color: #6B8F52;
    margin-top: 0.5em;
}

.nav-empty {
    background: transparent;
    cursor: default;
}

/* --------------------------------------------------------------------------
   ARTICLES SIMILAIRES
   -------------------------------------------------------------------------- */
.articles-lies {
    padding: 2em;
    border-bottom: 0.5px solid #D3D1C7;
}

.articles-lies-titre {
    font: 1.3rem "Inter";
    letter-spacing: 2px;
    color: #6B8F52;
    margin-bottom: 1.5em;
    font-weight: 600;
}

.lies-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.lie-card {
    border: 0.5px solid #D3D1C7;
    border-radius: 8px;
    overflow: hidden;
    background: #FAFAF6;
    text-decoration: none;
    display: block;
    transition: border-color 0.15s ease;
}

.lie-card:hover {
    border-color: #6B8F52;
}

.lie-img {
    height: 80px;
    background-color: #F0F4EA;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 44px 44px;
}

.lie-body {
    padding: 1em;
}

.lie-cat {
    font: 1.1rem "Inter";
    letter-spacing: 1px;
    color: #6B8F52;
    margin-bottom: 4px;
    font-weight: 600;
}

.lie-title {
    margin-top: 1em;
    font: 1.3rem "Inter";
    font-weight: 500;
    color: #243318;
    line-height: 1.4;
}

/* --------------------------------------------------------------------------
   CTA FINAL
   -------------------------------------------------------------------------- */
.single-cta {
    padding: 1.5em;
    background: #3E5A2E;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.single-cta-text {
    font: 1.2rem 'Inter';
    color: #E2EDD5;
    line-height: 1.55;
}

.single-cta-btn {
    font-size: 11px;
    letter-spacing: 0.8px;
    padding: 10px 22px;
    background: #A8BC8E;
    color: #243318;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    text-decoration: none;
    display: inline-block;
    transition: background 0.15s ease;
}

.single-cta-btn:hover {
    background: #9FBA74;
    color: #243318;
}

/* --------------------------------------------------------------------------
   RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    .single-body {
        grid-template-columns: 1fr;
    }

    .single-content {
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
        padding: 24px 20px;
    }

    .single-sidebar {
        padding: 20px;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
    }

    .sidebar-bloc {
        flex: 1;
        min-width: 200px;
    }

    .single-hero {
        padding: 28px 20px 24px;
    }

    .single-title {
        font-size: 24px;
    }

    .single-nav {
        grid-template-columns: 1fr;
    }

    .nav-prev {
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
    }

    .nav-next {
        text-align: left;
    }

    .lies-grid {
        grid-template-columns: 1fr 1fr;
    }

    .single-cta {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .single-cta-btn {
        width: 100%;
        text-align: center;
    }

    .single-breadcrumb {
        padding: 10px 20px;
    }
}

@media (max-width: 480px) {
    .lies-grid {
        grid-template-columns: 1fr;
    }

    .single-share {
        margin-left: 0;
        margin-top: 8px;
    }

    .single-meta {
        flex-wrap: wrap;
    }
}


/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ----------------------------------------------------------------------------------------  PAGE CONTACT  ---------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */


input.wpcf7-text, textarea.wpcf7-textarea{
    margin: 0 0 4em 0;
  padding: 1em 0;
  border: none;
  border-bottom: 0.5px solid #C8D9B6;
  width: 100%;
  color: #243318;
  background: transparent;
}

label.wpforms-field-label{
  margin-bottom: 1em;
  font: 1.1rem "DM Sans";
  letter-spacing: 1px;
  color: #6B8F52;
}

.formulaire_contact h3, .coordonnees_contact h3{
    margin-bottom: 1em;
}

.formulaire_contact input::placeholder, .formulaire_contact textarea::placeholder{
    font: 1rem "DM Sans";
    color: #A8A9A4;
}

textarea{
    margin: 0 !important;
  resize : none !important;
}


input.wpcf7-submit{
  margin: 0 0 2em 0;
  padding: 1.2em;
  background-color: #3E5A2E;
  color: #F4F6F1;
  border: none;
  border-radius: 0.3em;
  letter-spacing: 1px;
  cursor: pointer;
  font: 1rem "DM Sans";
  transition: background 0.15s ease;
}

input.wpcf7-submit:hover {
    background: #2B3F1E;
}

div.elementor-element-3906166 h4{
  margin-bottom: 0.5em;
}

div.elementor-element-3906166 div.info-sub{
  margin-top: 0.5em;
}

.elementor-1004 .elementor-element.elementor-element-a49a3c8 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title {
  padding-bottom: 2em;
}

.coordonnees_contact .elementor-shortcode, .coordonnees_contact .elementor-shortcode a{
    font-size: 1.1rem !important;
    font-family: "DM Sans", sans-serif !important;
    font-weight: 400 !important;
    color: #5F5E5A;
}

.coordonnees_contact .elementor-shortcode a:hover{
    color: #6B8F52;
}



/* Map */

#map {
    margin: 4em 0 0 0;
    height: 500px;
    width: 100%;
}

.custom-marker {
    width: 48px;
    height: 64px;
    background-image: url('/wp-content/uploads/pin-cercle.svg');
    background-repeat: no-repeat;
    cursor: pointer;
}

div.custom-marker svg:first-child{
    display: none !important;
}

.maplibregl-popup{
    max-width: 100% !important;
}

.maplibregl-popup-content{
    background: #FAFAF6 !important;
}

/* Horaires d'ouverture */

div.horaires_ouverture div.elementor-widget-container div.elementor-shortcode{
    display: flex;
    justify-content: space-between;
}

div.horaires_ouverture div.elementor-widget-container div.elementor-shortcode div{
    display: flex;
    flex-direction: column;
    text-align: center;
    padding: 1em;
    border-radius: 6px;
    width: 13%;
    background: #fff;
    border: 0.5px solid #C8D9B6;
}

div.horaires_ouverture div.elementor-widget-container div.elementor-shortcode div span {
    font: 1rem "Inter";
    letter-spacing: 0.5px;
    color: #6B8F52;
    margin-bottom: 0.5em;
}

div.horaires_ouverture div.elementor-widget-container div.elementor-shortcode div span:last-child {
    margin-bottom: 0;
    color: #243318;
}

/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------  FOOTER  ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

/* STRUCTURE GÉNÉRALE */
.footer-wrap {
  font-family: 'DM Sans', 'Inter', sans-serif;
  background: #3E5A2E;
  color: #E2EDD5;
}

/* ============================================
   GRILLE PRINCIPALE
   ============================================ */
.footer-top {
  display: flex;
  justify-content: space-around;
  padding: 2em;
  border-bottom: 0.5px solid rgba(168, 188, 142, 0.25);
}


/* ============================================
   RÉSEAUX SOCIAUX
   ============================================ */


.footer-social {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-social-lien {
    display: flex;
    align-items: center;
    gap: 1em;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.footer-social-lien:hover {
    opacity: 0.75;
}

.footer-social-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-social-icon svg {
    width: 32px;
    height: 32px;
}

.footer-social-nom {
    font: 1rem "DM Sans";
    color: #A8BC8E;
    letter-spacing: 0.3px;
}

/* ============================================
   TITRES DE COLONNES
   ============================================ */
.footer-col-titre {
  font-size: 1.1rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #A8BC8E;
  margin-bottom: 20px;
  font-weight: 600;
}

/* ============================================
   ADRESSE & CONTACT
   ============================================ */
.footer-adresse-bloc {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-adresse-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.footer-adresse-icone {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.7;
}

.tel_footer, .mail_footer{
  margin-top: 1em;
}

.footer-adresse-texte {
  font-size: 1rem;
  color: #C8D9B6;
  line-height: 1.6;
}

.footer-adresse-texte a {
  color: #C8D9B6;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-adresse-texte a:hover {
  color: #A8BC8E;
}

/* ============================================
   HORAIRES
   ============================================ */
.footer-horaires {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.footer-horaire-ligne {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 1rem;
  color: #C8D9B6;
  padding: 8px 0;
  border-bottom: 0.5px solid rgba(168, 188, 142, 0.15);
}

.footer-horaire-ligne:last-child {
  border-bottom: none;
}

.footer-horaire-jour {
  color: #A8BC8E;
  font-weight: 500;
  min-width: 80px;
}

.footer-horaire-heure {
  text-align: right;
}

.footer-horaire-ferme {
  color: #F4F6F1;
  font-style: italic;
}

/* ============================================
   NAVIGATION
   ============================================ */
.footer-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav a {
  font-size: 1rem;
  color: #C8D9B6;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: color 0.2s ease;
}

.footer-nav a::before {
  content: '';
  width: 16px;
  height: 0.5px;
  background: #6B8F52;
  flex-shrink: 0;
  transition: width 0.2s ease;
}

.footer-nav a:hover {
  color: #A8BC8E;
}

.footer-nav a:hover::before {
  width: 24px;
}

/* ============================================
   BANDE COPYRIGHT
   ============================================ */
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 48px;
  gap: 20px;
}

.footer-copy {
    width: 33.3333333333%;
  font-size: 0.8rem;
  color: #F4F6F1;
  letter-spacing: 0.3px;
  margin: 0;
}

.footer-copy span {
  color: #A8BC8E;
}

.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.footer-legal a {
  font-size: 12px;
  color: #F4F6F1;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-legal a:hover {
  color: #A8BC8E;
}

.footer-badge {
    width: 33.3333333333%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 11px;
  color: #C8D9B6;
  letter-spacing: 0.3px;
}


/* ============================================
   RESPONSIVE — TABLETTE (max 1024px)
   ============================================ */
@media (max-width: 1024px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    padding: 48px 32px 40px;
  }

  .footer-col-brand {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    padding: 18px 32px;
  }
}

/* ============================================
   RESPONSIVE — MOBILE (max 768px)
   ============================================ */
@media (max-width: 768px) {
  .footer-top {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 24px 32px;
  }

  .footer-col-brand {
    grid-column: auto;
  }

  .footer-tagline {
    max-width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 24px;
  }

  .footer-legal {
    flex-wrap: wrap;
    gap: 12px;
  }

  .footer-horaire-jour {
    min-width: 90px;
  }
}

/* ============================================
   RESPONSIVE — PETIT MOBILE (max 480px)
   ============================================ */
@media (max-width: 480px) {
  .footer-top {
    padding: 32px 16px 24px;
    gap: 28px;
  }

  .footer-bottom {
    padding: 16px;
  }

  .footer-social {
    flex-wrap: wrap;
  }

  .footer-legal {
    flex-direction: column;
    gap: 8px;
  }
}























/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* ---------------------------------------------------------------------------------------  PAGE RENDEZ-VOUS  ------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

/* WRAP */
.rdv-wrap {
    font-family: 'DM Sans', sans-serif;
}


/* HERO */
.rdv-hero {
    
    border-bottom: 0.5px solid #C8D9B6;
    background: #F0F4EA;
}

.rdv-eyebrow h2{
    padding-top: 0.5em;
}
.rdv-hero-desc {
    font-size: 14px;
    color: #5F5E5A;
    line-height: 1.75;
    max-width: 540px;
}

/* BARRE DE PROGRESSION */
.rdv-steps-bar {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 0.5px solid #D3D1C7;
    background: #FAFAF6;
}

.rdv-step-tab {
    padding: 1.5em 3em;
    border-right: 0.5px solid #D3D1C7;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: default;
}

.rdv-step-tab:last-child {
    border-right: none;
}

.rdv-step-tab.active {
    background: #F0F4EA;
}

.rdv-step-num {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #D3D1C7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 500;
    color: #5F5E5A;
    flex-shrink: 0;
    transition: background 0.2s ease, color 0.2s ease;
}

.rdv-step-tab.active .rdv-step-num {
    background: #3E5A2E;
    color: #E2EDD5;
}

.rdv-step-tab.done .rdv-step-num {
    background: #A8BC8E;
    color: #243318;
}

.rdv-step-label {
    font-size: 1.1rem;
    color: #888780;
    line-height: 1.3;
}

.rdv-step-tab.active .rdv-step-label {
    color: #243318;
    font-weight: 500;
}

/* BODY */
.rdv-body {
    display: flex;
    border-bottom: 0.5px solid #D3D1C7;
}

/* MAIN */
.rdv-main {
    width: 60%;
    padding: 3em;
    border-right: 0.5px solid #D3D1C7;
}

/* SECTIONS */
.rdv-section {
    margin-bottom: 5em;
}

.rdv-section-hidden {
    display: none;
}

.rdv-sec-label {
    font-size: 10px;
    letter-spacing: 2px;
    color: #6B8F52;
    text-transform: uppercase;
    margin-bottom: 14px;
    font-weight: 600;
}

/* SERVICES */
.rdv-services-list {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin: 2em 0;
}

.rdv-service-card {
    padding: 1em;
    border: 0.5px solid #C8D9B6;
    border-radius: 6px;
    background: #FAFAF6;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.rdv-service-card:hover {
    border-color: #6B8F52;
    background: #F7FAF3;
}

.rdv-service-card.selected {
    border: 1.5px solid #6B8F52;
    background: #F0F4EA;
}

.rdv-service-name {
    font-size: 1.2rem;
    font-weight: 500;
    color: #243318;
    margin-bottom: 3px;
}

.rdv-service-detail {
    font-size: 1rem;
    color: #888780;
    display: flex;
    gap: 6px;
}

.rdv-service-right-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.rdv-service-price {
    font-family: 'Lora', serif;
    font-size: 20px;
    color: #3E5A2E;
    text-align: right;
}

.rdv-service-currency {
    font-size: 11px;
    color: #888780;
    font-family: 'DM Sans', sans-serif;
}

.rdv-service-radio {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 0.5px solid #C8D9B6;
    background: #fff;
    flex-shrink: 0;
    position: relative;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.rdv-service-radio.checked {
    background: #3E5A2E;
    border-color: #3E5A2E;
}

.rdv-service-radio.checked::after {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* CALENDRIER */
.rdv-cal-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.rdv-month-label {
    font-size: 15px;
    font-weight: 500;
    color: #243318;
    text-transform: capitalize;
}

.rdv-cal-arrow {
    width: 30px;
    height: 30px;
    border: 0.5px solid #D3D1C7;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    color: #6B8F52;
    background: #FAFAF6;
    user-select: none;
    transition: background 0.15s ease;
}

.rdv-cal-arrow:hover {
    background: #F0F4EA;
}

.rdv-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 20px;
}

.rdv-cd-label {
    font-size: 1rem;
    letter-spacing: 0.5px;
    color: #6B8F52;
    text-align: center;
    padding: 4px 0;
    font-weight: 600;
}

.rdv-cd {
    font-size: 1rem;
    text-align: center;
    padding: 8px 4px;
    border-radius: 4px;
    cursor: default;
    color: #5F5E5A;
    transition: background 0.15s ease;
}

.rdv-cd.rdv-cd-av {
    color: #243318;
    font-weight: 500;
    background: #F0F4EA;
    cursor: pointer;
}

.rdv-cd.rdv-cd-av:hover {
    background: #E2EDD5;
}

.rdv-cd.rdv-cd-sel {
    background: #3E5A2E;
    color: #E2EDD5;
}

.rdv-cd.rdv-cd-past,
.rdv-cd.rdv-cd-off {
    color: #C8D9B6;
    cursor: default;
    background: transparent;
}

/* CRÉNEAUX */
.rdv-slots-wrap {
    margin-top: 5em;
}

.rdv-slots-title {
    font-size: 1.1rem;
    color: #243318;
    font-weight: 500;
    margin-bottom: 10px;
}

.rdv-slots-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}

.rdv-slot {
    padding: 0.8em;
    border: 0.5px solid #C8D9B6;
    border-radius: 4px;
    font-size: 1rem;
    text-align: center;
    color: #243318;
    cursor: pointer;
    background: #FAFAF6;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.rdv-slot:hover {
    background: #F0F4EA;
    border-color: #6B8F52;
}

.rdv-slot.rdv-slot-sel {
    background: #3E5A2E;
    color: #E2EDD5;
    border-color: #3E5A2E;
}

/* FORMULAIRE */
.rdv-form {
    margin-top: 4px;
}

.rdv-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.rdv-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.rdv-field-full {
    grid-column: 1 / -1;
}

.rdv-field-label {
    font-size: 1rem;
    letter-spacing: 1px;
    color: #6B8F52;
    text-transform: uppercase;
}

.rdv-field-input {
    padding: 1em 0;
    font-size: 1rem;
    border: none;
    border-bottom: 0.5px solid #C8D9B6;
    background: transparent;
    color: #243318;
    outline: none;
    font-family: inherit;
    transition: border-color 0.15s ease;
    width: 100%;
}

.rdv-field-input:focus {
    border-bottom-color: #6B8F52;
}

.rdv-field-input::placeholder {
    color: #A8A9A4;
}

.rdv-field-textarea {
    padding: 10px 0;
    font-size: 1rem;
    border: none;
    border-bottom: 0.5px solid #C8D9B6;
    background: transparent;
    color: #243318;
    outline: none;
    font-family: inherit;
    resize: none;
    height: 8em;
    width: 100%;
    transition: border-color 0.15s ease;
}

.rdv-field-textarea:focus {
    border-bottom-color: #6B8F52;
}

.rdv-field-textarea::placeholder {
    color: #A8A9A4;
}

.rdv-field-check {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    cursor: pointer;
    font-size: 12px;
    color: #5F5E5A;
    line-height: 1.65;
}

.rdv-field-check input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: #3E5A2E;
}

.rdv-field-check a {
    color: #3E5A2E;
}

.rdv-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 0.5px solid #EEF2E8;
}

.rdv-submit-note {
    font-size: 12px;
    color: #888780;
}

.rdv-submit-btn {
    padding: 12px 28px;
    background: #3E5A2E;
    color: #E2EDD5;
    border: none;
    border-radius: 2px;
    font-size: 12px;
    letter-spacing: 0.8px;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: background 0.15s ease;
}

.rdv-submit-btn:hover {
    background: #2B3F1E;
}

.rdv-submit-btn:disabled {
    opacity: 0.6;
    cursor: default;
}

/* SUCCÈS */
.rdv-success {
    padding: 20px 24px;
    background: #F0F4EA;
    border: 0.5px solid #A8BC8E;
    border-radius: 6px;
    font-size: 14px;
    color: #3E5A2E;
    font-weight: 500;
    text-align: center;
    margin-top: 16px;
}

/* CHARGEMENT */
.rdv-loading,
.rdv-loading-cal,
.rdv-no-service,
.rdv-error {
    font-size: 13px;
    color: #888780;
    font-style: italic;
    padding: 16px 0;
}

.rdv-error { color: #C0392B; }

/* SIDEBAR */
.rdv-sidebar {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-content: center;
    gap: 2em;
    padding: 3em;
    background: #F7FAF3;
    position: sticky;
    top: 0;
}

.rdv-recap-bloc,
.rdv-info-bloc {
    padding: 14px;
    background: #FAFAF6;
    border: 0.5px solid #C8D9B6;
    border-radius: 6px;
}

.rdv-info-bloc {
    background: #F0F4EA;
}

.rdv-info-bloc h3{
    margin-bottom: 0.5em;
}

.rdv-recap-item {
    padding: 1em 0;
    border-bottom: 0.5px solid #EEF2E8;
}

.rdv-recap-item:last-child {
    border-bottom: none;
}

.rdv-recap-label {
    font-size: 1.1rem;
    color: #888780;
    margin-bottom: 2px;
}

.rdv-recap-value {
    font-size: 1rem;
    font-weight: 500;
    color: #243318;
}

.rdv-recap-price {
    font-family: 'Lora', serif;
    font-size: 18px;
    color: #3E5A2E;
    font-weight: 400;
}

.rdv-info-item {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    padding: 6px 0;
    border-bottom: 0.5px solid #EEF2E8;
    font-size: 1rem;
    color: #5F5E5A;
    line-height: 1.5;
}

.rdv-info-item:last-child { border-bottom: none; }

.rdv-info-item a {
    color: #3E5A2E;
    text-decoration: none;
}

.rdv-info-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    margin-top: 1px;
    opacity: 0.8;
}

.rdv-horaires{
    width: 25%;
}

.rdv-horaire-ligne{
    display: flex;
    justify-content: space-between;
}

/* RÉASSURANCE */
.rdv-reassurance {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 0.5px solid #D3D1C7;
    border-bottom: 0.5px solid #D3D1C7;
    background: #F7FAF3;
}

.rdv-r-item {
    padding: 18px 5%;
    border-right: 0.5px solid #D3D1C7;
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.rdv-r-item:last-child { border-right: none; }

.rdv-r-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #E2EDD5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rdv-r-icon svg { width: 13px; height: 13px; }

.rdv-r-title {
    font-size: 12px;
    font-weight: 500;
    color: #243318;
    margin-bottom: 2px;
}

.rdv-r-desc {
    font-size: 11px;
    color: #5F5E5A;
    line-height: 1.5;
}

/* FAQ */
.rdv-faq {
    padding: 5em 3em;
    border-bottom: 0.5px solid #D3D1C7;
    background-color: #FAFAF6;
}
.rdv-faq h4{
    padding-bottom: 1em;
}


.rdv-faq-list {
    display: flex;
    flex-direction: column;
    margin-top: 14px;
}

.rdv-faq-item {
    padding: 14px 0;
    border-bottom: 0.5px solid #EEF2E8;
}

.rdv-faq-item:last-child { border-bottom: none; }

.rdv-faq-q {
    font-size: 13px;
    font-weight: 500;
    color: #243318;
    margin-bottom: 5px;
}

.rdv-faq-a {
    font-size: 12px;
    color: #5F5E5A;
    line-height: 1.7;
}

/* CTA */
.rdv-cta-band {
    padding: 24px 5%;
    background: #3E5A2E;
    border-bottom: 0.5px solid rgba(168, 188, 142, 0.25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rdv-cta-band p{
    color: #F4F6F1;
}

.rdv-cta-link {
    font-size: 1.1rem;
    color: #F4F6F1;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: color 0.15s ease;
}

.rdv-cta-link:hover { color: #E2EDD5; }

/* RESPONSIVE */
@media (max-width: 768px) {
    .rdv-body {
        grid-template-columns: 1fr;
    }

    .rdv-main {
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
    }

    .rdv-sidebar {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 12px;
    }

    .rdv-recap-bloc,
    .rdv-info-bloc {
        flex: 1;
        min-width: 200px;
    }

    .rdv-form-grid {
        grid-template-columns: 1fr;
    }

    .rdv-steps-bar {
        grid-template-columns: 1fr;
    }

    .rdv-step-tab {
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
    }

    .rdv-reassurance {
        grid-template-columns: 1fr;
    }

    .rdv-r-item {
        border-right: none;
        border-bottom: 0.5px solid #D3D1C7;
    }

    .rdv-slots-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .rdv-cta-band {
        flex-direction: column;
        text-align: center;
    }

    .rdv-form-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .rdv-submit-btn {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .rdv-slots-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}











.badge{
  background:#EEF1F5;
  color:#5f6b7a;
  font-size:12px;
  font-weight:600;
  padding:4px 10px;
  border-radius:8px;
  margin-left:10px;
  white-space:nowrap;
}

.tech-dot {
    margin-top: 0.4em;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #6B8F52;
    flex-shrink: 0;
}







/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------  POLITIQUE DES COOKIES  --------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ */

.legal-container {
    width: 1140px;
    margin: 0 auto;
    padding: 5em 0;
}



.legal-content h3 {
    margin: 2em 0 0.5em 0;
}
.legal-content p{
    line-height: 1.5em
}


#cmplz-document h2{
    margin-top: 2em !important;
    font: 2rem "Lora" !important;
    font-weight: 600 !important;
    color: #6B8F52 !important;
}
#cmplz-document h3{
    font: 1.3rem "Raleway", sans-serif !important;
    color: #243318 !important;
    font-weight: 600 !important;
}


#cmplz-document p{
    font-size: 1.3rem;
    font-family: "DM Sans", sans-serif !important;
    font-weight: 400;
    color: #5F5E5A;
}



.info-banner {
    background: #3E5A2E;
    padding: 2em;
}
.info-banner .container{
    display: flex;
    align-items: center;
    gap: 1.5em;
}

.info-banner .container img{
    width: 36px;
    height: 36px;
}
.info-banner p{
    color: #F7FAF3;
}

















/* ==========================================================================
   DERNIERS ARTICLES — Grille mosaïque
   À ajouter dans style.css
   ========================================================================== */

.da-section {
    font-family: 'Inter', sans-serif;
    width: 90vw;
    max-width: 90vw;
}

.da-titre {
    font-family: 'Libre Baskerville', serif;
    font-size: 30px;
    font-weight: 400;
    color: #243318;
    margin-bottom: 28px;
    font-style: italic;
}

.da-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 16px;
}

.da-card {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    background-color: #F0F4EA;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 70px 70px;
    display: flex;
    align-items: flex-end;
    transition: transform 0.2s ease;
}

.da-card:hover {
    transform: translateY(-2px);
}

/* Grand article vedette à gauche, occupe 2 lignes */
.da-feature {
    grid-row: 1 / span 2;
    background-size: 110px 110px;
    min-height: 520px;
}

/* Article large en haut milieu + droite */
.da-wide {
    grid-column: 2 / span 2;
    min-height: 250px;
}

.da-small {
    min-height: 250px;
}

/* Overlay dégradé vert foncé pour lisibilité */
.da-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(36,51,24,0.85) 0%, rgba(36,51,24,0.35) 45%, rgba(36,51,24,0.05) 100%);
}

.da-content {
    position: relative;
    z-index: 1;
    padding: 22px;
    width: 100%;
}

.da-feature .da-content {
    padding: 28px;
}

.da-cat {
    display: inline-block;
    font-size: 9px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #E2EDD5;
    background: rgba(107,143,82,0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    padding: 4px 10px;
    border-radius: 2px;
    margin-bottom: 12px;
}

.da-card-titre {
    font-family: 'Libre Baskerville', serif;
    font-style: italic;
    color: #FAFAF6;
    line-height: 1.3;
    margin-bottom: 12px;
}

.da-feature .da-card-titre { font-size: 24px; }
.da-wide   .da-card-titre { font-size: 18px; }
.da-small  .da-card-titre { font-size: 15px; }

.da-lire {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    letter-spacing: 0.5px;
    color: #E2EDD5;
}

.da-lire svg {
    width: 13px;
    height: 13px;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .da-grid {
        grid-template-columns: 1fr 1fr;
    }
    .da-feature {
        grid-row: auto;
        grid-column: 1 / -1;
        min-height: 280px;
    }
    .da-wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .da-grid {
        grid-template-columns: 1fr;
    }
    .da-feature,
    .da-wide,
    .da-small {
        grid-column: auto;
        min-height: 220px;
    }
    .da-titre {
        font-size: 24px;
    }
}
