/* Base */
:root {
	--radius: 1rem;
}

.site-content {
	min-height: 60vh;
}
.rounded-3 {
	border-radius: var(--radius) !important;
}
a:focus-visible,
button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
body {
	font-family: 'Open Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	font-weight: 400;
	line-height: 1.6;
}
.object-fit-cover {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/*****************Chargement police**************/
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

@font-face {
	font-family: 'Grapevine';
	src:
		url('../fonts/grapevine/grapevine.woff2') format('woff2'),
		url('../fonts/grapevine/grapevine.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
.font-grapevine {
	font-family: 'Grapevine', 'Open Sans', cursive;
}
/*****************Titres*****************/
h1, h2, h3, h4, h5, h6 {
	font-family: 'Open Sans', system-ui, sans-serif;
	font-weight: 600;
	line-height: 1.3;
}
h2{
	color: #266F6A;
    font-family: "Lato", sans-serif;
  	font-weight: 900;
}
h3{
	color: #B76729;
    font-size: 20px;
    font-weight: 600;
}
h1.titleone{
	color: #FFA837;
}
h1.titlehero{
	font-size: 42px;
	color:#266F6A;
	font-weight: 900;
}
h1.blogsingle{
	color: #266F6A;
    font-weight: 600;
}
/******************Hero****************/
.hero-section {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: center;

	/* Image de fond */
	background-image: url("../../img/Caroline_Foucher-Hypnose.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

/* Overlay pour lisibilité */
.hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 43%);
	z-index: 2;
}

/* Le contenu passe au-dessus de l’overlay */
.hero-section > .container {
	position: relative;
	z-index: 3;
}
img.wavehero{
width: 35%;
margin-bottom: 20px;
}
/*****************Bouton***************/
.btn-one{
	background-color: #B76729;
	border: 2px solid #B76729;
	font-weight: 700;
}
.btn-one:hover{
	color:#B76729;
	background-color: white;
	border: 2px solid #B76729;
}
/*****************Preheader**************/
div.preheader{
	background-color: #266F6A;
	color:white;
	font-size: 13px;
	font-style: italic;
}
/***************MENU principal***********/
header,
.navbar {
	position: relative;
}
#primaryNav ul{
	background-color:#3A9B95;
	border-radius: 40px;
	margin-top: -40px;
	z-index: 10;
}
#primaryNav ul li {
    font-weight: 700;
}

@media (min-width: 992px) {
    #primaryNav ul li {
        padding: 15px 20px;
    }
}
#primaryNav ul li a{
	color:white;
}
ul.dropdown-menu{
	background-color: #94C5C2!important;
	border-radius: 0!important;
	margin-top: -10px!important;
}
ul.dropdown-menu li a:hover{
    color:#3A9B95!important;
}
ul.dropdown-menu li a{
    padding:20px 30px;
}
@media (min-width: 992px) {
    #primaryNav ul li ul.dropdown-menu li {
        padding: 10px;
    }
}
/***************** Fade Dropdown desktop uniquement *************/

@media (min-width: 992px) {
    .navbar .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
        pointer-events: none;
    }

    .navbar .dropdown-menu.show {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
}
/***************** Menu mobile *************/
@media (max-width: 991.98px) {
    #primaryNav > ul,
    #primaryNav .navbar-nav {
        margin-top: 1rem;
        padding: 1.5rem;
        border-radius: 40px;
        background-color: #3A9B95;
    }

    #primaryNav .nav-item {
        padding: 0.35rem 0;
    }

    #primaryNav .nav-link {
        color: #fff;
        padding: 0.35rem 0;
        font-weight: 700;
    }

    /* Sous-menus toujours ouverts */
    #primaryNav .dropdown-menu {
        position: static !important;
        display: block !important;
        width: 100%;
        margin: 0 !important;
        padding: 0.15rem 0 0.75rem 1rem;
        border: 0;
        box-shadow: none;
        background: transparent !important;

        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
    }

    #primaryNav .dropdown-menu li {
        padding: 0 !important;
    }

    #primaryNav .dropdown-menu .dropdown-item {
        padding: 0.25rem 0;
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 0.95rem;
        font-weight: 600;
    }

    #primaryNav .dropdown-toggle::after {
        display: none;
    }

    .nav-search-item {
        display: none !important;
    }
}

/***************Search**************/
.nav-search-item {
	display: flex;
	align-items: center;
}

.nav-search-btn {
	background: none;
	border: 0;
	padding: 0;
	font-size: 1.1rem;
}

.nav-search-btn:hover,
.nav-search-btn:focus {

}
/************Search Overlay*********/
.search-overlay {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: grid;
	place-items: center;
	padding: 1.5rem;
}

.search-overlay[hidden] {
	display: none;
}

.search-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: #ffa837c9;
	backdrop-filter: blur(2px);
}

.search-overlay__panel {
	position: relative;
	width: min(720px, 100%);
	background: #fff;
	border-radius: 100px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
	padding: 2rem 1.5rem;
	z-index: 1;

	/* petite animation */
	transform: translateY(12px);
	opacity: 0;
	transition: transform 180ms ease, opacity 180ms ease;
}

.search-overlay.is-open .search-overlay__panel {
	transform: translateY(0);
	opacity: 1;

}

.search-overlay__close {
	position: absolute;
	right: 20px;
    top: 37px;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.06);
	display: grid;
	place-items: center;
	cursor: pointer;
}

.search-overlay__close:hover,
.search-overlay__close:focus-visible {
	background: rgba(0, 0, 0, 0.12);
}

/* Form WP : rendu clean */
.search-overlay__form form {
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.search-overlay__form input[type="text"] {
	width: min(480px, 100%);
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: thin solid #c0c0c0;
}

.search-overlay__form input[type="submit"] {
	padding: 0.85rem 1.2rem;
	border-radius: 10px;
	border: 0;
	background: #B76729; /* ton bouton */
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.search-overlay__form input[type="submit"]:hover {
	background: #9f5a24;
}

/***************Footer************/
footer{
	background-color: #266F6A;
	color:white;
	font-size: 14px;
}
footer a{
	color:white!important;
	font-size: 14px;
}
h3.titlefooter{
    font-size: 20px;
    color: white;
}
.footer-nav .footer-menu {
	padding-left: 0;
	margin: 0;
}
.footer-nav .footer-menu li {
	margin: 0.35rem 0; /* espacement vertical */
}
.footer-nav .footer-menu a {
	display: inline-block;
	text-decoration: none;
	color: var(--bs-secondary-color);
}
.footer-nav .footer-menu a:hover,
.footer-nav .footer-menu a:focus {
	text-decoration: underline;
}
.footer-logo img {
	max-width: 180px;
	height: auto;
	margin-inline: auto;
	display: block;
}
.footer-nav {
	display: flex;
}
.footer-menu {

}
.footer-menu li {
	margin: 0.35rem 0;
}
.footer-map {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 120px;
	color: var(--bs-secondary-color);
}
.footer-map {
	width: 100%;
	height: 200px;
	overflow: hidden;
	border-radius: var(--radius);
}
.footer-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}
.footer-map {
	border-radius: 6px;
}
.prefooter{
	font-style: italic;
	font-size: 14px;
}
.prefooter a{
	text-decoration: none;
}
/******************************Modification des rows Kadence************************/
/* Sécurité anti micro scroll horizontal */
html, body { overflow-x: hidden; }

/* Row : fond pleine largeur */
.wp-block-kadence-rowlayout.is-style-fullbg{
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Contenu : centré (Kadence met souvent le contenu dans .kt-row-layout-inner) */
.wp-block-kadence-rowlayout.is-style-fullbg .kt-row-layout-inner{
	max-width: 1320px;       
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	box-sizing: border-box;
}

/* Fallback : certaines structures utilisent plutôt .kt-row-column-wrap */
.wp-block-kadence-rowlayout.is-style-fullbg .kt-row-column-wrap{
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
/* ===== Kadence Row : Pleine largeur (fond + contenu) ===== */
.wp-block-kadence-rowlayout.is-style-fullwidth {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Neutralise les wrappers internes Kadence qui pourraient limiter la largeur */
.wp-block-kadence-rowlayout.is-style-fullwidth .kt-row-layout-inner,
.wp-block-kadence-rowlayout.is-style-fullwidth .kt-row-column-wrap {
	max-width: 100% !important;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}
/* Cartes Livrets */
.livret-card {
	display: block;
	transition: transform 0.15s ease, filter 0.15s ease;
	aspect-ratio: 1 / 1;
	width: 100%;
	position: relative;
	isolation: isolate;
}

.livret-card:hover,
.livret-card:focus-visible {
	transform: translateY(-2px);
	filter: brightness(1.05);
}

.livret-card__title {
	color: #fff;
	font-weight: 800;
	font-size: clamp(18px, 2.2vw, 24px);
	line-height: 1.2;
}
.livret-card__label {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    background-color: white;
    padding: 5px 15px;
    border-radius: 20px;
}
/* Livret : fond couleur + texture PNG au-dessus (mais sous le texte) */
.livret-card {
	position: relative;
	isolation: isolate; /* évite les soucis de z-index */
}

/* Texture */
.livret-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--livret-texture);
	background-size: cover;       /* ou contain selon tes textures */
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.18;                /* ajuste : 0.10 à 0.30 */
	z-index: 0;
}

/* Contenu au-dessus */
.livret-card__inner {
	position: relative;
	z-index: 1;
	height: 100%;
	width: 100%;
}
.p-livret-card{
	color:#ffffffc4;
	font-style: italic;
    font-size: smaller;
}
i.dash-livret{
	color: white;
	font-size: x-large;
}
i.livret-pdf{
	color: white;
    font-size: 35px;
}
/************************SLICK SLIDER*****************/
.slick-slide {
	height: auto;
}
.slick-track {
	display: flex;
}
.slick-slide > div {
	height: 100%;
}
/* Slick : spacing + hauteur */
.so-fiches-slider .slick-slide {
	padding: 0 12px;
}

.so-fiches-slider .slick-list {
	margin: 0 -12px;
}
/*******************Blog*************************/
.btnprincipal{
	background-color: #3a9b95;
    padding: 10px 15px;
    border: 2px solid #3a9b95;
    transition: .3s;
}
.btnprincipal:hover{
	color: #3a9b95;
	background-color: white;
	border: 2px solid #3a9b95;
}
h2.card-title a{
    color: #3a9b95;
    font-weight: 700;
}
.excerpt-blog p{
	font-size: 14px;
}
/***********************ESPACE COMMENTAIRES***************/
.comments-area .comment-form {
	margin-top: 1rem;
}
.comments-area label {
	font-weight: 600;
}
.comments-area textarea {
	resize: vertical;
}
.comments-area input,
.comments-area textarea {
	width: 100%;
}
.comment-form-cookies-consent {
	margin-top: 1rem;
	font-size: 0.9rem;
}
.comment-form-cookies-consent input {
	margin-right: 0.4rem;
}
/* Bouton commentaire : largeur auto */
.comments-area .form-submit {
	margin-top: 1rem;
}

.comments-area .form-submit input[type="submit"] {
	width: auto;
	display: inline-block;
}
.comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.9rem;
}
.comment-form-cookies-consent input[type="checkbox"] {
	margin-top: 0.25rem; 
}
.comment-form-cookies-consent label {
	margin: 0;
	display: inline;
}
.comment-form-cookies-consent {
	display: inline-flex;
	align-items: flex-start;
	width: 100%;
	margin-top: 1rem;
	gap: 0.5rem;
}
.comment-form-cookies-consent input,
.comment-form-cookies-consent label {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto;
}
.comment-form-cookies-consent input[type="checkbox"] {
	margin: 0.25rem 0 0 0;
}
.comment-form-cookies-consent label {
	margin: 0;
	display: inline;
}
/**************************Bouton retour en haut***********************/
.back-to-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #B76729;
	color: #fff;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;

	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	z-index: 999;
}

/* Visible */
.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Hover */
.back-to-top:hover {
	background-color: #a85c23; 
}

/* Focus clavier */
.back-to-top:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}
/* Chaque bloc label prend toute la largeur */
.wpcf7-form label {
    display: block;
    width: 100%;
    color: #266f6a;
}

/* Champs en pleine largeur */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 10px;
    margin-top: 6px;
}

/* Bouton personnalisé */
.wpcf7-form input[type="submit"] {
    background-color: #48b8a6;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Hover bouton */
.wpcf7-form input[type="submit"]:hover {
    background-color: #3aa394;
}
.so-blog-filters .btn.active {
    color: #fff;
    background-color: #48b8a6;
    border-color: #48b8a6;
}

.so-blog-filters .btn {
    border-radius: 999px;
}
.so-post-category {
    font-style: italic;
    font-size: 0.875rem;
    font-weight: bold;
}
/* Evite que Bootstrap fasse n'importe quoi avec le bouton */
.home-blog .btnprincipal {
    display: inline-block;
}
.so-404-page .display-1 {
    line-height: 1;
    font-size: clamp(4rem, 10vw, 8rem);
}

.so-404-page .search-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.so-404-page .search-form label {
    flex: 1 1 260px;
    margin-bottom: 0;
}

.so-404-page .search-field {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
}

.so-404-page .search-submit {
    display: inline-block;
    padding: 10px 20px;
    border: 0;
    border-radius: 0.375rem;
}
.so-blog-filters .btn {
    border-radius: 999px;
    color: #3a9b95;
    border-color: #3a9b95;
}
/************************
 * AVIS CLIENTS SLIDER
 ************************/
.so-avis-clients {
    padding: 3rem 0;
}

.so-avis-clients__slider {
    max-width: 980px;
    margin: 0 auto;
}

.so-avis-clients__item {
    padding: 0 1rem;
}

.so-avis-card {
    max-width: 760px;
    margin: 0 auto;
    padding: 1rem 1.5rem 2.5rem;
}

.so-avis-card__quote {
    color: #d8cf9b;
    font-size: 6.5rem;
    line-height: 1;
    margin-bottom: -2rem;
    font-family: Georgia, serif;
}

.so-avis-card__content {
    max-width: 720px;
    margin: 0 auto 2rem;
    color: #6f675f;
    font-size: 1.1rem;
    line-height: 1.9;
    font-style: italic;
    font-family: 'Grapevine', 'Open Sans', cursive;
    text-align: center;
}

.so-avis-card__content p {
    margin-bottom: 1rem;
}

.so-avis-card__author {
    color: #6f675f;
    font-size: 1.1rem;
    line-height: 1.4;
}

/* Dots slick plus discrets */
.so-avis-clients .slick-dots {
    position: static;
    margin-top: 2rem;
}

.so-avis-clients .slick-dots li {
    margin: 0 0.15rem;
}

.so-avis-clients .slick-dots li button:before {
    font-size: 10px;
    color: #bdbdbd;
    opacity: 1;
}

.so-avis-clients .slick-dots li.slick-active button:before {
    color: #4d4d4d;
}

@media (max-width: 991.98px) {
    .so-avis-card__content {
        font-size: 1.45rem;
        line-height: 1.8;
    }

    .so-avis-card {
        max-width: 680px;
    }
}

@media (max-width: 767.98px) {
    .so-avis-clients {
        padding: 2rem 0;
    }

    .so-avis-card {
        padding: 0.5rem 1rem 2rem;
    }

    .so-avis-card__quote {
        font-size: 3.5rem;
        margin-bottom: 0.75rem;
    }

    .so-avis-card__content {
        font-size: 1.15rem;
        line-height: 1.75;
    }

    .so-avis-card__author {
        font-size: 1rem;
    }
}
@media (min-width: 1000px) {
    .hero-section {
        margin-top: -45px;
    }
}