body{background:#fff;font-family:'Poppins',sans-serif}

/* Global */
.cs,.main_color1{background:#dff1d9}
.theme_button,.btn{border-radius:150px;font-weight:300 !important;}
.theme_button.color1{background:#1d8600;color:#fff}
.theme_button.color1:hover{background:#228d00;color:#fff;}
a.btn{color:#fff;}
.btn.focus, .btn:focus, .btn:hover{color:#fff;background:#585858;}
.btn-primary{background:#FF8800;color:#fff;border-radius:150px;font-size: 14pt}
.btn-primary:hover{background:#FF9720;color:#fff;}
.btn-primary:focus,.btn-primary:active{background:#FF9720 !important;color:#fff;}
.bg-1{background:#f7f7f7;}
.alert{font-size: 14pt;font-weight: bold;margin-bottom: 40px;}
h1, h2, h3, h4, h5, h6{font-family:'Poppins',sans-serif;margin-bottom:15px;line-height:140%;margin-top:0;}
h1{font-size:35pt;font-weight:600;}
h2{font-size:26pt;font-weight:600;}
h3{font-size:19pt;font-weight:600;}
h4{font-size:17pt;font-weight:600;}
h5{font-size:16pt;font-weight:600;}
p,li{margin-bottom:15px;line-height:180%;font-size:15pt;font-weight: 300;color: #353535;}
main p a,main li a{color:#1d8600;font-weight:600;cursor:pointer;}
main p a:hover,main li a:hover,main p a:active,main p a:focus,main li a:active,main li a:focus{color:#228d00 !important;}
.bold,strong{font-weight:600;}
.float-left{float:left;margin-right:30px;margin-bottom:30px;}
.float-right{float:right;margin-left:30px;margin-bottom:30px;}
.wrapper{width:95%;max-width:1500px;margin:auto;position:relative;}

/* Header */
#header{padding:30px 0 22.5px 0;}
#header .header-logo h4{margin-bottom:0;line-height:120%;color:#222;}
#header .header-logo h5{font-weight:normal;line-height:100%;font-size:10pt;margin-top:5px;text-transform: uppercase;letter-spacing: 0.5px;color:#222;}
#header .header-logo img{max-width:60px;width:100%;height:auto;min-width:auto;margin-top:-12.5px;margin-right:10px;}
#header .header-logo .text,#header .header-logo .logo{display:inline-block;vertical-align:middle;}
#header .header-logo .text{text-align:left;}
#header .header-logo a.h4,#header .header-logo a.h5,#header .header-logo a{color:#222;}
#header .cta{position:absolute;right:0;top:0;}
#header .call{text-align:left;}
#header .call,#header .button{display:inline-block;vertical-align:middle;}
#header .call{min-width:215px;margin-right:20px;}
#header .call .icon{float:left;margin-right:15px;font-size: 30pt;margin-top: 10px;display: inline-block;color:#1d8600}
#header .call p{text-transform:uppercase;font-size:10pt;color:#222;letter-spacing:1px;}
#header .call p strong{display:block;font-size:16pt;}

/* Nav */
.header_white .sf-menu > li > a:hover, .header_white .sf-menu > li.active > a{color:#228d00;}
.sf-menu a{font-family:'Poppins',sans-serif;font-weight:600;}
.header_white .toggle_menu{width:130px;height:50px;}
.header_white .toggle_menu:after{content:"Menu";display:none;margin-top: 12px;margin-left:35px;font-weight:600;color:#000;}
.header_white .toggle_menu{margin-left:-80px;}
.toggle_menu.mobile-active:after{color:#fff;}
.header_white{max-height:86px;}

/* Home Slider */
.intro_section.ds{background:#fff;color: #b4b4b4;max-height:800px;}
.intro_section .container{max-width:1800px;width:95%;max-height:800px;}
.intro_section h3,.intro_section h2{color:#000;text-shadow:none;line-height:130%;max-width:1400px;}
.intro_section h2{font-size:50pt}
.intro_section h3{font-weight:normal;font-size: 28px;margin-bottom:10px;}
.intro_section p,.intro_section p a{color:#024878}
.intro_section p a{text-decoration:none;color: #024878;font-weight: bold;}
.intro_section p a:hover{color:#096764 !important;}

/* Home */
#home-ce-suivi{padding:80px 0;}
#home-ce-suivi h1{margin-bottom:30px;text-align:center}
#home-ce-suivi article{display:inline-block;vertical-align:top;width:47%;margin:30px 1.25% 20px 1.25%;text-align:left;}
#home-ce-suivi article h3{margin-bottom:5px;}
#home-ce-suivi article .content,#home-ce-suivi article .icon{display:inline-block;vertical-align:top;}
#home-ce-suivi article .icon{width:110px;height:110px;border-radius:150%;margin-top:15px;margin-right:20px;position:relative;}
#home-ce-suivi article .icon img{width:70%;height:auto;margin:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
#home-ce-suivi article .content{width:77%;}
.icon-blue{background:#2e9ed4;}
.icon-orange{background:#f19b38}
.icon-green{background:#59a740;}
.icon-gray{background:#807984}
#home-about{text-align:center;padding:65px 0 70px 0;}
#home-about .pic{width:45%;}
#home-about .pic img{border-top-right-radius:20px;}
#home-about .content,#home-about .pic{display:inline-block;vertical-align:middle;}
#home-about .content{width:48%;margin-right:6%;text-align:left;}
#home-about h2 strong{display:block;}
#home-prerequis{text-align:center;padding:60px 0 90px 0;}
#home-prerequis .pic{width:45%;}
#home-prerequis .pic img{border-bottom-left-radius:20px;}
#home-prerequis .content,#home-prerequis .pic{display:inline-block;vertical-align:top;}
#home-prerequis .content{width:49%;margin-left:5%;text-align:left;}
#home-prerequis .content li{list-style-type:none;margin-bottom:30px;}
#home-prerequis .content li .icon{color:#59a740;font-size: 18pt;display: inline-block;vertical-align: top;margin-right:5px;margin-top: 5px;}

/* Pages & Layouts */
#page_inside{padding-bottom:50px;min-height:650px;}
.page-title{padding:60px 0 50px 0;background:#eae9ca;margin-bottom:60px;background:url('../images/bg-nature.jpg?00');background-size:cover;}
.page-title h1{text-align:center;color:#fff;text-shadow:0px 0px 20px rgba(18, 62, 21, 0.2);}
#page_inside hr{margin:50px 0;}

.half-right,.half-left{margin-bottom:20px;}
.half-right .pic,.half-left .pic{width:45%;}
.half-right .pic img,.half-left .pic img{max-width:100%;height:auto;}
.half-right .content,.half-right .pic,.half-left .content,.half-left .pic{display:inline-block;vertical-align:middle;}
.half-right .content{width:48%;margin-right:6%;text-align:left;}
.half-left .content{width:48%;margin-left:6%;text-align:left;}

.block-images{margin-bottom:50px;margin-top:20px;}
.block-images .block{display:inline-block;vertical-align:top;width:31%;margin-right:1.5%;margin-bottom:30px;}
.block-images .block h3{}
.block-images .block li{font-size:14pt;}
.block-images .block .pic{display:block;margin-bottom:20px;}
.block-images .block .pic img{max-width:100%;height:auto;border-radius:5px;}
.block-large{padding:70px 0;background:#f7f7f7;margin:60px 0;}
.block-large .title{margin-bottom:45px;text-align:center;}

.a-propos .inline-block{display:inline-block;vertical-align:top;max-width:670px;margin-right:50px;margin-top:50px}
.a-propos .signature{font-family: 'Mr Dafoe', cursive;font-size:25pt;}

.meditation-pleine-conscience .block h3{display:inline-block;position:relative;}
.meditation-pleine-conscience .block h3:after{content:"";display:block;margin-top:5px;height:4px;background:#ccc;opacity:0.6;}
.meditation-pleine-conscience .block:nth-child(1) h3:after{background:#f19b38}
.meditation-pleine-conscience .block:nth-child(2) h3:after{background:#2e9ed4}
.meditation-pleine-conscience .block:nth-child(3) h3:after{background:#7cc369}

.rendez-vous .half-left .content{width:55%;margin-left:1.5%;}
.rendez-vous .half-left .pic{width:42%;}

.contact .inline-block{display:inline-block;vertical-align:top;width:46%;margin-right:2.5%;margin-bottom:40px;}
.contact .inline-block li{font-size:14pt;}
.contact form{width:100%;}
.contact form input,.contact form textarea{display:block;width:100%;margin-bottom:15px;border-radius:2px;border:1px solid #ccc;padding:10px;font-size:12pt;font-family:'Poppins',sans-serif;}
.contact form input[type="submit"]{padding:20px 10px;border-radius:150px;border:none;}
.contact .icon{display:inline-block;margin-right:5px;color: #7cc369;}
.contact input[type="text"],.contact input[type="tel"],.contact input[type="email"],.contact input[type="number"]{display:inline-block;width:48.9%;}
.contact form input:nth-child(1),.contact form input:nth-child(3){margin-right:1.15%;}
.contact form textarea{min-height:100px;resize:vertical;}
.contact #antispam{width:0px;height:0px;overflow:hidden;margin:0;}

/* Footer */
.page_footer{background:#f7f7f7;font-family:'Poppins',sans-serif;padding:50px 0;}
.page_footer p{color:#555;}
.page_footer a{color:#000;}
.page_copyright{padding:30px 0;}
.page_copyright p{color:#222;font-weight: 300;font-size:10pt;}
.page_copyright .menu{padding:0 !important;margin-bottom:0;}
.page_copyright .menu li{list-style-type:none;display:inline-block;margin-right:30px;font-size:13pt;}
.page_copyright .menu li a{color:#000;}
#rendezvous{padding:90px 0;text-align:center;background:#f7f7f7;position:relative;margin-top:20px;}
#rendezvous .wave{position: absolute;bottom: 50%;left: 0;z-index:-1;}
#rendezvous h3,#rendezvous p{position:relative;z-index:2;}
#toTop{background:rgba(0,0,0,.4);border-radius:150px;}

/* ==== Cookie Consent (bandeau + modale de préférences) ====
   Placé ici, HORS de tout @media, afin de s'appliquer à toutes les largeurs
   d'écran (la section "Media Queries" ci-dessous contient un bloc
   @media (max-width:1400px) déjà présent dans le fichier d'origine, sans
   accolade fermante — donc tout ce qui suit dans le fichier est, en pratique,
   imbriqué dedans et ne s'applique que sous 1400px de large ; non touché ici
   afin de ne rien modifier au comportement existant). Éléments en
   position:fixed : ne participent pas au flux normal de la page, donc aucun
   impact sur le CLS ni sur le LCP. */
.cookie-consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:100000;background:#fff;border-top:1px solid #e0e0e0;box-shadow:0 -4px 24px rgba(0,0,0,0.16);padding:22px 0;font-family:'Poppins',sans-serif;}
.cookie-consent-banner[hidden]{display:none;}
.cookie-consent-banner__inner{width:95%;max-width:1500px;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;}
.cookie-consent-banner__text{margin:0;flex:1 1 400px;font-size:11pt;line-height:160%;font-weight:300;color:#353535;}
.cookie-consent-banner__text a{color:#1d8600;font-weight:600;text-decoration:underline;}
.cookie-consent-banner__actions{display:flex;flex-wrap:wrap;gap:12px;flex:0 0 auto;}

.cookie-btn{font-family:'Poppins',sans-serif;font-weight:600 !important;font-size:10.5pt;border-radius:150px !important;padding:13px 28px !important;border:2px solid transparent;cursor:pointer;transition:0.2s;white-space:nowrap;line-height:1;}
.cookie-btn--primary{background:#1d8600 !important;color:#fff !important;}
.cookie-btn--primary:hover,.cookie-btn--primary:focus{background:#228d00 !important;color:#fff !important;}
.cookie-btn--outline{background:transparent !important;color:#1d8600 !important;border-color:#1d8600;}
.cookie-btn--outline:hover,.cookie-btn--outline:focus{background:#dff1d9 !important;color:#1d8600 !important;}
.cookie-btn:focus-visible{outline:3px solid #024878;outline-offset:2px;}

.cookie-consent-modal{position:fixed;inset:0;z-index:100001;}
.cookie-consent-modal[hidden]{display:none;}
.cookie-consent-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.55);}
.cookie-consent-modal__panel{position:relative;background:#fff;max-width:600px;width:92%;margin:5vh auto;max-height:88vh;overflow-y:auto;border-radius:16px;padding:38px;font-family:'Poppins',sans-serif;box-shadow:0 10px 50px rgba(0,0,0,0.25);}
.cookie-consent-modal__close{position:absolute;top:16px;right:20px;background:none !important;border:none;font-size:22pt;line-height:1;color:#555;cursor:pointer;padding:5px 10px;border-radius:0 !important;}
.cookie-consent-modal__close:focus-visible{outline:3px solid #024878;outline-offset:2px;}
.cookie-consent-modal h2{font-size:19pt;margin-bottom:12px;color:#222;font-weight:600;}
.cookie-consent-modal p{font-size:11pt;line-height:160%;font-weight:300;color:#353535;margin-bottom:22px;}

.cookie-category{border-top:1px solid #eee;padding:18px 0;}
.cookie-category__header{display:flex;align-items:center;justify-content:space-between;gap:15px;}
.cookie-category__title{font-weight:600;font-size:12pt;color:#222;}
.cookie-category__desc{margin:8px 0 0 0;font-size:10pt;font-weight:300;color:#555;}

.cookie-toggle{position:relative;display:inline-block;width:44px;height:24px;border-radius:150px !important;background:#ccc !important;cursor:pointer;flex:0 0 auto;transition:background 0.2s;}
.cookie-toggle__handle{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50% !important;background:#fff !important;transition:left 0.2s;box-shadow:0 1px 3px rgba(0,0,0,0.3);}
.cookie-toggle[aria-checked="true"]{background:#1d8600 !important;}
.cookie-toggle[aria-checked="true"] .cookie-toggle__handle{left:22px;}
.cookie-toggle--disabled{cursor:not-allowed;background:#1d8600 !important;opacity:0.6;}
.cookie-toggle:focus-visible{outline:3px solid #024878;outline-offset:2px;}

.cookie-consent-modal__actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:26px;}
.cookie-consent-modal__actions .cookie-btn{width:100%;text-align:center;}

@media screen and (max-width:650px){
	.cookie-consent-banner__inner{flex-direction:column;align-items:stretch;text-align:center;}
	.cookie-consent-banner__actions{justify-content:center;}
	.cookie-btn{flex:1 1 auto;}
	.cookie-consent-modal__panel{padding:26px 20px !important;margin:3vh auto;}
}

/* Le bandeau de cookies étant fixé en bas de l'écran, on remonte le bouton
   "retour en haut" (#toTop, lui aussi fixé en bas à droite) pour qu'il ne
   soit jamais recouvert par le bandeau tant que celui-ci est affiché. */
body.cookie-consent-visible #toTop{bottom:110px;}
@media screen and (max-width:650px){
	body.cookie-consent-visible #toTop{bottom:170px;}
}

/* Carte Calendly de la page Contact (contact.php) : en colonne sur mobile
   pour un empilement icône / texte / bouton propre et lisible, plutôt que
   de dépendre du retour à la ligne naturel du flex-wrap. Placé ici, avant
   le bloc @media (max-width:1400px) non fermé ci-dessous (voir commentaire
   plus haut concernant le cookie consent), pour être certain de s'appliquer. */
@media screen and (max-width:650px){
	.contact-calendly-card{flex-direction:column;}
}

/* FAQ (page d'accueil + pages de service) : accordéon natif <details>/<summary>
   — aucun JavaScript, aucune requête ni bibliothèque supplémentaire (donc aucun
   impact sur la performance), et nativement accessible au clavier et aux
   lecteurs d'écran (état ouvert/fermé annoncé automatiquement par le navigateur,
   sans attributs ARIA à gérer manuellement). Classe .faq-section réutilisée
   telle quelle sur chaque page (même design partout, une seule source de style
   à maintenir). Placé ici, avant le bloc @media (max-width:1400px) non fermé
   ci-dessous, pour être certain de s'appliquer. */
.faq-section{padding:80px 0;background:#f7f7f7;}
.faq-section .wrapper{max-width:900px;}
.faq-section h2{text-align:center;margin-bottom:40px;}
.faq-card{background:#fff;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,0.08);overflow:hidden;}
.faq-item{border-bottom:1px solid #eee;}
.faq-item:last-child{border-bottom:none;}
.faq-item summary{list-style:none;cursor:pointer;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13pt;color:#222;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:hover{color:#1d8600;}
.faq-item summary:focus-visible{outline:3px solid #024878;outline-offset:-3px;}
.faq-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#dff1d9;color:#1d8600;display:flex;align-items:center;justify-content:center;font-size:15pt;font-weight:600;line-height:1;transition:transform 0.4s ease;}
.faq-item[open] .faq-icon{transform:rotate(45deg);}
/* Ouverture/fermeture animée en CSS pur (aucun JS) : max-height 0 → une valeur
   large (jamais atteinte par le vrai contenu, juste un plafond) avec transition,
   plutôt qu'un display:none/block instantané. .faq-answer reste donc à hauteur
   ~0 et invisible à l'état fermé (padding porté par .faq-answer-inner pour ne
   jamais laisser un espace résiduel) ; le contenu est révélé avec un léger
   fondu, légèrement décalé pour un effet plus soigné. Durée de 0.5s : uniquement
   des propriétés peu coûteuses pour le navigateur (max-height, opacity), donc
   aucun impact sur le score de performance même en la ralentissant. */
.faq-item .faq-answer{max-height:0;overflow:hidden;transition:max-height 0.5s ease;}
.faq-item[open] .faq-answer{max-height:600px;}
.faq-item .faq-answer-inner{padding:0 32px 28px 32px;opacity:0;transition:opacity 0.25s ease;}
.faq-item[open] .faq-answer-inner{opacity:1;transition:opacity 0.4s ease 0.15s;}
.faq-item .faq-answer p{margin:0;font-size:11.5pt;line-height:170%;font-weight:300;color:#555;}
@media screen and (max-width:650px){
	.faq-section{padding:60px 0;}
	.faq-item summary{padding:20px 22px;font-size:12pt;gap:14px;}
	.faq-item .faq-answer-inner{padding:0 22px 22px 22px;}
}

/* Media Queries */
@media screen and (max-width:1400px){
.contact form input:nth-child(1),.contact form input:nth-child(3){margin-right:1%;}
}
@media screen and (max-width:1200px){
	#home-ce-suivi article .icon{display:block;margin-bottom:30px;width:90px;height:90px;}
	#home-ce-suivi article .content{width:100%;}
}
@media screen and (max-width:1091px){
	.intro_section.ds,.intro_section .container{max-height:1350px;}
	.block-images .block{width:48%;}
}
@media screen and (max-width:991px){
	.header_white .toggle_menu:after{display:inline-block;vertical-align:top;}
}
@media screen and (max-width:900px){
	#header{padding:20px 0 1px 0;text-align:center;}
	#header .logo,#header .cta{position:static;display:block;min-width:100%;margin:0 auto 20px auto;}
	#header .header-logo img{margin-top:0;}
	#header .call,#header .button{display:inline-block;margin:10px auto 20px auto;}
	.contact .inline-block{width:100%;display:block;margin:0 0 20px 0;}
	#home-prerequis .content,#home-prerequis .pic,#home-about .content,#home-about .pic,.half-left .content,.half-left .pic,.half-right .content,.half-right .pic,.rendez-vous .half-left .content,.rendez-vous .half-left .pic{display:block;width:100%;margin:0 0 20px 0;}
	.header_white .sf-menu > li > a:hover, .header_white .sf-menu > li.active > a{color:#44bd1d;}
}
@media screen and (max-width:800px){
	#home-ce-suivi article{display:block;width:95%;margin-right:0;}
	.block-images .block{width:100%;margin:0 0 30px 0;}
	.intro_section h2{font-size:40pt;}
	.intro_section h3{font-size:24pt;}
}
@media screen and (max-width:650px){
	#header .header-logo,#header .header-logo .text{text-align:center;}
	#header .header-logo .logo{display:none}
	.intro_section{margin-bottom:-50px;}
	.intro_section h2{font-size:26pt}
	.intro_section h3{font-size:18pt;margin-bottom:20px;}
	.intro_section p{font-size:10pt;}
	h1{font-size:30pt;text-align:center;}
	h3{font-size:17pt;}
	p,li{font-size:13pt;}
	.contact input{display:block !important;width:100% !important;}
	.contact form input:nth-child(1),.contact form input:nth-child(3){margin-right:0;}
}