/* 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;
    margin-top: -45px;

	/* 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{
	padding: 15px 20px;
	font-weight: 700;
}
#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;
}
#primaryNav ul li ul.dropdown-menu li{
    padding: 10px;
}
/*****************Fade Dropdown*************/
/* Dropdown animation */
.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;
}
/***************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;
}
