/*
Theme Name: Couverture ANDRE
Theme URI: https://couvertureandre.fr
Description: Thème enfant de Twenty Twenty-Four pour Couverture ANDRE — couvreur, charpentier, zingueur.
Author: Meryline
Template: twentytwentyfour
Version: 1.0
Requires at least: 6.4
Tested up to: 6.7
License: GNU General Public License v2 or later
Text Domain: couverture-andre
*/


/* ============================================================
   BANDEAU D'ACCUEIL
   ============================================================ */

.ca-hero {
	margin-block-start: 0;
}


/* ============================================================
   BANDE DE RÉASSURANCE (à cheval sur le bandeau)
   ============================================================ */

.ca-reassurance {
	position: relative;
	z-index: 2;
	margin-block-start: -4.5rem;
	margin-block-end: 3rem;
	padding-inline: 1.5rem;
	pointer-events: none;
}

.ca-reassurance-in {
	gap: 0;
	margin: 0;
	padding: 1.5rem 1rem;
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(18, 20, 21, 0.7) 0%, rgba(18, 20, 21, 0.52) 100%);
	border: 1px solid rgba(231, 211, 187, 0.28);
	backdrop-filter: blur(14px) saturate(115%) brightness(0.86);
	-webkit-backdrop-filter: blur(14px) saturate(115%) brightness(0.86);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.ca-reassurance-in {
		background: linear-gradient(180deg, rgba(18, 20, 21, 0.94), rgba(18, 20, 21, 0.88));
	}
}

.ca-reassurance .wp-block-column {
	position: relative;
	padding-inline: 1.25rem;
}

.ca-reassurance .wp-block-column + .wp-block-column::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 3.4rem;
	width: 1px;
	background: rgba(231, 211, 187, 0.22);
}

.ca-reassurance .ca-ico {
	height: 26px;
	margin: 0 0 0.7rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 26px 26px;
}

.ca-reassurance .ca-ico-experience {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D3BB' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.2 2'/%3E%3C/svg%3E");
}

.ca-reassurance .ca-ico-chantiers {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D3BB' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.2 12 4l9 7.2'/%3E%3Cpath d='M5.4 12.6V20h13.2v-7.4'/%3E%3Cpath d='M9.6 20v-4.6h4.8V20'/%3E%3C/svg%3E");
}

.ca-reassurance .ca-ico-rayon {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E7D3BB' stroke-width='1.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21c3.6-4.4 5.4-7.6 5.4-9.9A5.4 5.4 0 0 0 12 5.7a5.4 5.4 0 0 0-5.4 5.4c0 2.3 1.8 5.5 5.4 9.9Z'/%3E%3Ccircle cx='12' cy='11' r='2.1'/%3E%3C/svg%3E");
}

.ca-reassurance .ca-chiffre {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.1;
	color: #fff;
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1;
	margin: 0 0 0.25rem;
}

.ca-reassurance .ca-libelle {
	font-size: 0.82rem;
	line-height: 1.35;
	color: var(--wp--preset--color--bois-clair);
	margin: 0;
}

@media (max-width: 781px) {
	.ca-reassurance {
		margin-block-start: -3rem;
		margin-block-end: 2rem;
		padding-inline: 1rem;
	}

	.ca-reassurance-in {
		padding: 1.1rem 0.4rem;
	}

	.ca-reassurance .wp-block-column {
		padding-inline: 0.45rem;
	}

	.ca-reassurance .ca-ico {
		height: 20px;
		background-size: 20px 20px;
		margin-bottom: 0.5rem;
	}

	.ca-reassurance .ca-chiffre {
		font-size: 1.15rem;
	}

	.ca-reassurance .ca-libelle {
		font-size: 0.6rem;
	}

	.ca-reassurance .wp-block-column + .wp-block-column::before {
		height: 3rem;
	}
}


/* ============================================================
   SECTION PRESTATIONS
   ============================================================ */

.ca-prestations {
	margin-block-start: 0;
}

.ca-prestations .ca-titre-filet {
	margin-bottom: 0;
}

.ca-prestations .ca-titre-filet::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: var(--wp--preset--color--bordeaux);
	margin: 1rem auto 0;
}

.ca-prestations .ca-chapo {
	max-width: 34rem;
	margin: 1.5rem auto 3.5rem;
}

.ca-prestations .ca-rangee {
	gap: 2.5rem;
	margin-bottom: 2.5rem;
}

.ca-prestations .wp-block-buttons {
	margin-bottom: 1.5rem;
}

.ca-carte {
	position: relative;
	padding-bottom: 2rem;
}

.ca-carte-photo {
	margin: 0;
}

.ca-carte-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 5px;
}

.ca-cartouche {
	position: relative;
	width: 88%;
	margin: -8rem auto 0;
	padding: clamp(22px, 3vw, 30px);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(18, 20, 21, 0.74) 0%, rgba(18, 20, 21, 0.56) 45%, rgba(18, 20, 21, 0.5) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-top-color: rgba(255, 255, 255, 0.26);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 30px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(18px) saturate(115%) brightness(0.82);
	-webkit-backdrop-filter: blur(18px) saturate(115%) brightness(0.82);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.ca-cartouche {
		background: linear-gradient(180deg, rgba(18, 20, 21, 0.94), rgba(18, 20, 21, 0.88));
	}
}

.ca-cartouche .ca-surtitre {
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bois-clair);
	margin: 0 0 0.7rem;
}

.ca-cartouche .ca-carte-titre {
	font-size: 1.4rem;
	color: #fff;
	margin: 0 0 0.9rem;
}

.ca-cartouche .ca-carte-texte {
	font-size: 0.95rem;
	line-height: 1.55;
	color: #e9eaeb;
	margin: 0 0 1.1rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.ca-cartouche .ca-garantie {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}

.ca-cartouche .ca-garantie strong {
	color: var(--wp--preset--color--bois-clair);
	font-weight: 500;
}

@media (max-width: 781px) {
	.ca-carte {
		padding-bottom: 0;
	}

	.ca-carte-photo img {
		aspect-ratio: 16 / 10;
	}

	.ca-cartouche {
		width: 94%;
		margin: -3rem auto 0;
		padding: 1.25rem 1.3rem;
	}

	.ca-cartouche .ca-carte-titre {
		font-size: 1.2rem;
	}

	.ca-cartouche .ca-carte-texte {
		font-size: 0.88rem;
	}
}


/* ============================================================
   SECTION SAVOIR-FAIRE
   ============================================================ */

.ca-savoir {
	margin-block-start: 0;
}

.ca-savoir-carte {
	max-width: 1080px;
	margin-inline: auto;
	padding: clamp(30px, 4vw, 48px) clamp(24px, 3.5vw, 44px);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(18, 20, 21, 0.74) 0%, rgba(18, 20, 21, 0.56) 45%, rgba(18, 20, 21, 0.5) 100%);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-top-color: rgba(255, 255, 255, 0.26);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 30px rgba(0, 0, 0, 0.22);
	backdrop-filter: blur(18px) saturate(115%) brightness(0.82);
	-webkit-backdrop-filter: blur(18px) saturate(115%) brightness(0.82);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.ca-savoir-carte {
		background: linear-gradient(180deg, rgba(18, 20, 21, 0.94), rgba(18, 20, 21, 0.88));
	}
}

.ca-savoir-carte .ca-surtitre {
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bois-clair);
	margin: 0 0 1rem;
}

.ca-savoir-carte .ca-savoir-titre {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	color: #fff;
	margin: 0 0 1.6rem;
}

.ca-savoir-carte .ca-savoir-texte {
	font-size: 1rem;
	line-height: 1.65;
	color: #e9eaeb;
	max-width: 46rem;
	margin: 0 auto 1.2rem;
}

.ca-savoir-carte .ca-savoir-chute {
	font-size: 1.1rem;
	color: var(--wp--preset--color--bois-clair);
	max-width: 46rem;
	margin: 1.8rem auto 0;
}

@media (max-width: 781px) {
	.ca-savoir {
		min-height: 0 !important;
	}

	.ca-savoir-carte {
		padding: 1.6rem 1.4rem;
	}

	.ca-savoir-carte .ca-savoir-texte {
		font-size: 0.92rem;
	}

	.ca-savoir-carte .ca-savoir-chute {
		font-size: 1rem;
	}
}


/* ============================================================
   SECTION RÉALISATIONS
   ============================================================ */

.ca-realisations {
	margin-block-start: 0;
}

.ca-realisations .ca-titre-filet {
	margin-bottom: 0;
}

.ca-realisations .ca-titre-filet::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: var(--wp--preset--color--bordeaux);
	margin: 1rem auto 0;
}

.ca-realisations .ca-chapo {
	max-width: 34rem;
	margin: 1.5rem auto 3.5rem;
}

.ca-realisations .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin: 0;
}

.ca-realisations .wp-block-column {
	flex-basis: auto !important;
	margin: 0 !important;
}

.ca-real-photo {
	margin: 0 0 1.2rem;
}

.ca-real-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 5px;
}

.ca-real .ca-real-titre {
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
}

.ca-real .ca-real-meta {
	font-size: 0.9rem;
	color: var(--wp--preset--color--ardoise-clair);
	margin: 0;
}

@media (max-width: 1080px) {
	.ca-realisations .wp-block-columns {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.ca-realisations .wp-block-columns {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}


/* ============================================================
   SECTION CONVERSION (CTA)
   ============================================================ */

.ca-conversion {
	margin-block-start: 0;
}

.ca-conversion .ca-conv-titre {
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	margin: 0 0 1.4rem;
}

.ca-conversion .ca-conv-texte {
	max-width: 38rem;
	margin: 0 auto;
	line-height: 1.7;
	color: var(--wp--preset--color--ardoise-clair);
}

.ca-conversion .ca-btn-sombre .wp-block-button__link {
	color: var(--wp--preset--color--bordeaux);
	border: 1px solid var(--wp--preset--color--bordeaux);
	background: transparent;
}

.ca-conversion .ca-btn-sombre .wp-block-button__link:hover {
	background: var(--wp--preset--color--bordeaux);
	color: #fff;
}

@media (max-width: 600px) {
	.ca-conversion .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.ca-conversion .wp-block-button__link {
		display: block;
		text-align: center;
	}
}


/* ============================================================
   BANDEAU COURT (pages intérieures)
   ============================================================ */

.ca-hero-court {
	margin-block-start: 0;
	position: relative;
}

.ca-hero-court::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(18, 20, 21, 0.82) 0%, rgba(18, 20, 21, 0.62) 45%, rgba(18, 20, 21, 0.28) 100%);
	pointer-events: none;
}

.ca-hero-court .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

.ca-hero-court .ca-hero-sur {
	margin: 0 0 0.6rem;
}

.ca-hero-court h1 {
	font-size: clamp(1.9rem, 3.6vw, 2.6rem);
	margin: 0 0 0.5rem;
}

.ca-hero-court .ca-hero-em {
	font-size: 1.15rem;
	margin: 0 0 0.9rem;
}

.ca-hero-court .ca-hero-texte {
	max-width: 30rem;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
}

@media (max-width: 781px) {
	.ca-hero-court {
		min-height: 0 !important;
	}

	.ca-hero-court::after {
		background: linear-gradient(180deg, rgba(18, 20, 21, 0.8) 0%, rgba(18, 20, 21, 0.66) 100%);
	}

	.ca-hero-court .ca-hero-em {
		font-size: 1rem;
	}

	.ca-hero-court .ca-hero-texte {
		font-size: 0.88rem;
	}
}
/* ============================================================
   PAGE CONTACT : COORDONNÉES
   ============================================================ */

.ca-coord {
	margin-block-start: 0;
}

.ca-coord .ca-coord-grille {
	gap: 0;
	margin: 0;
}

.ca-coord .wp-block-column {
	position: relative;
	padding-inline: 1.4rem;
}

.ca-coord .wp-block-column + .wp-block-column::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4rem;
	bottom: 0.4rem;
	width: 1px;
	background: rgba(138, 90, 52, 0.3);
}

.ca-coord .ca-ico {
	height: 24px;
	margin: 0 0 0.8rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
}

.ca-coord .ca-ico-tel {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A34' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
}

.ca-coord .ca-ico-mail {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A34' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}

.ca-coord .ca-ico-zone {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A34' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21c3.6-4.4 5.4-7.6 5.4-9.9A5.4 5.4 0 0 0 12 5.7a5.4 5.4 0 0 0-5.4 5.4c0 2.3 1.8 5.5 5.4 9.9Z'/%3E%3Ccircle cx='12' cy='11' r='2.1'/%3E%3C/svg%3E");
}

.ca-coord .ca-coord-label {
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--bois);
	margin: 0 0 0.5rem;
}

.ca-coord .ca-coord-fort {
	font-size: 1.35rem;
	line-height: 1.2;
	margin: 0 0 0.5rem;
	font-variant-numeric: lining-nums;
	font-feature-settings: "lnum" 1;
}

.ca-coord .ca-coord-fort a,
.ca-coord .ca-coord-moyen a {
	color: var(--wp--preset--color--bois);
	text-decoration: none;
	transition: color .2s ease;
}

.ca-coord .ca-coord-fort a:hover,
.ca-coord .ca-coord-moyen a:hover {
	color: var(--wp--preset--color--bordeaux);
}

.ca-coord .ca-coord-moyen {
	font-size: 0.95rem;
	line-height: 1.4;
	color: var(--wp--preset--color--ardoise);
	margin: 0 0 0.5rem;
	word-break: break-word;
}



.ca-coord .ca-coord-note {
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--wp--preset--color--ardoise-clair);
	margin: 0;
}

.ca-coord .ca-coord-communes {
	max-width: 42rem;
	margin: 2.6rem auto 0;
	padding-block: 1.4rem;
	border-block-start: 1px solid rgba(138, 90, 52, 0.30);
	border-block-end: 1px solid rgba(138, 90, 52, 0.30);
	font-size: 0.9rem;
	line-height: 1.9;
	color: var(--wp--preset--color--ardoise);
	text-align: center;
}
@media (max-width: 781px) {
	.ca-coord .ca-coord-grille {
		gap: 0;
	}

	.ca-coord .wp-block-column {
		flex-basis: 100% !important;
		padding-inline: 0;
		padding-block: 1.6rem;
	}

	.ca-coord .wp-block-column + .wp-block-column::before {
		left: 15%;
		right: 15%;
		top: 0;
		bottom: auto;
		width: auto;
		height: 1px;
	}

	.ca-coord .ca-coord-moyen {
		font-size: 1rem;
	}

	.ca-coord .ca-coord-communes {
		margin-top: 1.6rem;
	}
}



/* ============================================================
   PAGE CONTACT : FORMULAIRE
   ============================================================ */

.ca-form {
	margin-block-start: 0;
}

.ca-form .ca-titre-filet {
	margin-bottom: 0;
}

.ca-form .ca-titre-filet::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: var(--wp--preset--color--bordeaux);
	margin: 1rem auto 0;
}

.ca-form .ca-form-chapo {
	max-width: 34rem;
	margin: 1.4rem auto 2.6rem;
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ardoise-clair);
}

.ca-form .wpforms-field-label {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--ardoise);
	margin-bottom: 0.4rem;
}

.ca-form input[type="text"],
.ca-form input[type="email"],
.ca-form input[type="tel"],
.ca-form select,
.ca-form textarea {
	background: #fff;
	border: 1px solid rgba(23, 25, 26, 0.12);
	border-radius: 4px;
	padding: 0.7rem 0.9rem;
	font-size: 0.95rem;
	color: var(--wp--preset--color--ardoise);
	width: 100%;
}

.ca-form input:focus,
.ca-form select:focus,
.ca-form textarea:focus {
	border-color: var(--wp--preset--color--bois);
	outline: none;
}

.ca-form .wpforms-submit {
	background: var(--wp--preset--color--bordeaux);
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0.85rem 2rem;
	font-size: 0.95rem;
	cursor: pointer;
}

.ca-form .wpforms-submit:hover {
	background: var(--wp--preset--color--ardoise);
}

.ca-form .wpforms-submit-container {
	text-align: center;
}

/* ============================================================
   PAGES LÉGALES
   ============================================================ */

.ca-legal-hero {
	margin-block-start: 0;
}

.ca-legal-hero .ca-hero-sur {
	color: var(--wp--preset--color--bois);
	margin: 0 0 0.7rem;
}

.ca-legal-hero h1 {
	font-size: clamp(1.7rem, 3.2vw, 2.2rem);
	margin: 0 0 0.5rem;
}

.ca-legal-hero .ca-hero-em {
	font-size: 1.05rem;
	color: var(--wp--preset--color--ardoise-clair);
	margin: 0;
}

.ca-legal {
	margin-block-start: 0;
}

.ca-legal .ca-legal-h2 {
	font-size: 1.55rem;
	line-height: 1.3;
	margin: 4rem 0 1.4rem;
	padding-top: 2.2rem;
	border-top: 2px solid var(--wp--preset--color--bordeaux);
}

.ca-legal .ca-legal-h2:first-of-type {
	margin-top: 1.5rem;
}

.ca-legal .ca-num {
	display: block;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--bordeaux);
	margin-bottom: 0.6rem;
}

.ca-legal h3 {
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--wp--preset--color--bois);
	margin: 2.4rem 0 0.8rem;
	padding-left: 0.9rem;
	border-left: 3px solid var(--wp--preset--color--bois-clair);
}

.ca-legal p {
	font-size: 0.95rem;
	line-height: 1.8;
	color: var(--wp--preset--color--ardoise-clair);
	margin: 0 0 1.1rem;
}

.ca-legal .ca-legal-chapo {
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ardoise);
	margin-bottom: 0;
}

.ca-legal .ca-legal-date {
	font-size: 0.85rem;
	margin-top: 3.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(23, 25, 26, 0.1);
}

.ca-legal a {
	color: var(--wp--preset--color--bordeaux);
}

.ca-legal-fin {
	margin-block-start: 0;
}

.ca-legal-fin .ca-legal-fin-titre {
	font-size: 1.5rem;
	margin: 0 0 0.8rem;
}

.ca-legal-fin .ca-legal-fin-texte {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ardoise-clair);
	margin: 0;
}
@media (max-width: 600px) {
	.ca-legal-fin .wp-block-buttons {
		flex-direction: column;
		align-items: stretch;
	}

	.ca-legal-fin .wp-block-button__link {
		display: block;
		text-align: center;
	}
}

/* ================================================
   EN-TÊTE · ÉTAT FIGÉ EN VERRE DÉPOLI
   ================================================ */

.kb-header-sticky-wrapper{
	transition:background-color .35s ease, box-shadow .35s ease;
}

.kb-header-sticky-wrapper.item-is-stuck .wp-block-kadence-header-row{
	background-color:transparent !important;
}

.kb-header-sticky-wrapper.item-is-stuck{
	background:linear-gradient(180deg,
		rgba(18,20,21,.74) 0%,
		rgba(18,20,21,.56) 45%,
		rgba(18,20,21,.50) 100%);
	border-bottom:1px solid rgba(255,255,255,.10);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.08),
		0 10px 30px rgba(0,0,0,.22);
	backdrop-filter:blur(18px) saturate(115%) brightness(0.82);
	-webkit-backdrop-filter:blur(18px) saturate(115%) brightness(0.82);
}

@supports not (backdrop-filter: blur(1px)){
	.kb-header-sticky-wrapper.item-is-stuck{
		background:linear-gradient(180deg,
			rgba(18,20,21,.94) 0%,
			rgba(18,20,21,.88) 100%);
	}
}

/* ================================================
   PAGE PRESTATIONS · SECTIONS
   ================================================ */

.ca-presta-rangee{
	gap:3.2rem;
}

.ca-presta-visuel{
	margin:0;
}

.ca-presta-visuel img{
	inline-size:100%;
	block-size:clamp(320px, 34vw, 440px);
	object-fit:cover;
	display:block;
	border-radius:4px;
}

.ca-presta-surtitre{
	margin:0 0 .5rem;
	color:#8A5A34;
	font-size:.82rem;
	letter-spacing:.16em;
	text-transform:uppercase;
}

.ca-presta-titre{
	margin:0 0 1.2rem;
	color:#17191A;
	font-size:clamp(1.7rem, 3vw, 2.2rem);
	line-height:1.2;
}

.ca-presta-para{
	margin:0 0 1rem;
	color:#3A3D3F;
	font-size:1rem;
	line-height:1.75;
}

/* ---------- Bloc à déployer ---------- */

.ca-plus{
	margin-block-start:1.8rem;
}

.ca-plus-libelle{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.5rem;
	cursor:pointer;
	list-style:none;
	padding:1.15rem 1.4rem;
	background-color:#E3DED6;
	color:#17191A;
	font-size:1rem;
	line-height:1.45;
	transition:background-color .2s ease;
}

.ca-plus-libelle::-webkit-details-marker{
	display:none;
}

.ca-plus-libelle::after{
	content:"";
	inline-size:0;
	block-size:0;
	flex:0 0 auto;
	border-inline-start:6px solid transparent;
	border-inline-end:6px solid transparent;
	border-block-start:8px solid #4D0917;
	transition:transform .25s ease;
}

.ca-plus-libelle:hover{
	background-color:#DAD3C8;
}

.ca-plus[open] .ca-plus-libelle{
	background-color:#DAD3C8;
}

.ca-plus[open] .ca-plus-libelle::after{
	transform:rotate(180deg);
}

.ca-plus-contenu{
	padding:1.5rem 1.4rem;
	background-color:#FAF9F7;
}

.ca-plus-contenu ul{
	margin:0;
	padding-inline-start:1.1rem;
	color:#3A3D3F;
	font-size:.95rem;
	line-height:1.85;
}

.ca-plus-contenu li::marker{
	color:#8A5A34;
}

.ca-plus-mention{
	margin-block-start:1.1rem;
	margin-block-end:0;
	color:#6B6F71;
	font-size:.88rem;
	font-style:italic;
}

@media (max-width:781px){
	.ca-plus-libelle{
		padding:1rem 1.1rem;
		font-size:.95rem;
		gap:1rem;
	}

	.ca-plus-contenu{
		padding:1.3rem 1.1rem;
	}
}
/* ================================================
   PAGE CONTACT · QUESTIONS FRÉQUENTES
   ================================================ */

.ca-faq-item{
	margin-block-end:.5rem;
}

.ca-faq-item:first-of-type{
	margin-block-start:2.4rem;
}

.ca-faq-question{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.5rem;
	cursor:pointer;
	list-style:none;
	padding:1.35rem 1.6rem;
	background-color:#E3DED6;
	color:#17191A;
	font-size:1.03rem;
	line-height:1.45;
	transition:background-color .2s ease;
}

.ca-faq-question::-webkit-details-marker{
	display:none;
}

.ca-faq-question::after{
	content:"";
	inline-size:0;
	block-size:0;
	flex:0 0 auto;
	border-inline-start:6px solid transparent;
	border-inline-end:6px solid transparent;
	border-block-start:8px solid #4D0917;
	transition:transform .25s ease;
}

.ca-faq-question:hover{
	background-color:#DAD3C8;
}

.ca-faq-item[open] .ca-faq-question{
	background-color:#DAD3C8;
}

.ca-faq-item[open] .ca-faq-question::after{
	transform:rotate(180deg);
}

.ca-faq-reponse{
	padding:1.6rem;
	background-color:#FAF9F7;
}

.ca-faq-reponse p{
	margin:0 0 .9rem;
	color:#3A3D3F;
	font-size:.95rem;
	line-height:1.78;
}

.ca-faq-reponse p:last-child{
	margin-block-end:0;
}

@media (max-width:781px){
	.ca-faq-question{
		padding:1.15rem 1.2rem;
		font-size:.97rem;
		gap:1rem;
	}

	.ca-faq-reponse{
		padding:1.3rem 1.2rem;
	}
}


/* ================================================
   BANNIÈRE COOKIES
   ================================================ */

.cky-btn-customize{
	color:#232628 !important;
	border-color:#232628 !important;
	background-color:transparent !important;
}

.cky-btn-customize:hover{
	color:#17191A !important;
	border-color:#17191A !important;
	background-color:rgba(35,38,40,.06) !important;
}

.cky-btn-reject{
	color:#232628 !important;
	border-color:#232628 !important;
	background-color:transparent !important;
}

.cky-btn-reject:hover{
	color:#17191A !important;
	border-color:#17191A !important;
	background-color:rgba(35,38,40,.06) !important;
}

.cky-btn-accept{
	color:#FAF9F7 !important;
	border-color:#232628 !important;
	background-color:#232628 !important;
}

.cky-btn-accept:hover{
	border-color:#17191A !important;
	background-color:#17191A !important;
}

.cky-btn-revisit-wrapper{
	background-color:#3A3F42 !important;
}

.cky-btn-revisit-wrapper:hover{
	background-color:#4A5053 !important;
}

.cky-footer-wrapper .cky-btn-preferences,
.cky-prefrence-btn-wrapper .cky-btn-accept{
	color:#FAF9F7 !important;
	border-color:#232628 !important;
	background-color:#232628 !important;
}

.cky-prefrence-btn-wrapper .cky-btn-reject{
	color:#232628 !important;
	border-color:#232628 !important;
	background-color:transparent !important;
}

/* ================================================
   ANIMATION D'ENTRÉE · BANDEAUX
   ================================================ */

@keyframes ca-apparition{
	from{
		opacity:0;
		transform:scale(.94);
	}
	to{
		opacity:1;
		transform:scale(1);
	}
}

.ca-hero .ca-hero-sur,
.ca-hero .wp-block-heading,
.ca-hero .ca-hero-em,
.ca-hero .ca-hero-texte,
.ca-hero .wp-block-button,
.ca-hero-court .ca-hero-sur,
.ca-hero-court .wp-block-heading,
.ca-hero-court .ca-hero-em,
.ca-hero-court .ca-hero-texte,
.ca-hero-court .wp-block-button{
	opacity:0;
	animation:ca-apparition 1.1s cubic-bezier(.22,.61,.36,1) forwards;
}

.ca-hero .ca-hero-sur,
.ca-hero-court .ca-hero-sur{
	animation-delay:.2s;
}

.ca-hero .wp-block-heading,
.ca-hero-court .wp-block-heading{
	animation-delay:.45s;
}

.ca-hero .ca-hero-em,
.ca-hero-court .ca-hero-em{
	animation-delay:.7s;
}

.ca-hero .ca-hero-texte,
.ca-hero-court .ca-hero-texte{
	animation-delay:.95s;
}

.ca-hero .wp-block-button:nth-child(1),
.ca-hero-court .wp-block-button:nth-child(1){
	animation-delay:1.2s;
}

.ca-hero .wp-block-button:nth-child(2),
.ca-hero-court .wp-block-button:nth-child(2){
	animation-delay:1.35s;
}

@media (prefers-reduced-motion: reduce){
	.ca-hero .ca-hero-sur,
	.ca-hero .wp-block-heading,
	.ca-hero .ca-hero-em,
	.ca-hero .ca-hero-texte,
	.ca-hero .wp-block-button,
	.ca-hero-court .ca-hero-sur,
	.ca-hero-court .wp-block-heading,
	.ca-hero-court .ca-hero-em,
	.ca-hero-court .ca-hero-texte,
	.ca-hero-court .wp-block-button{
		opacity:1;
		animation:none;
	}
}

/* ================================================
   CARTOUCHE CLIQUABLE · ACCUEIL
   ================================================ */

.ca-cartouche{
	position:relative;
	transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease;
}

.ca-cartouche:hover{
	transform:translateY(-5px);
	box-shadow:0 16px 32px rgba(0,0,0,.30);
}

.ca-cartouche-lien{
	position:absolute;
	inset:0;
	z-index:4;
	display:block;
}

.ca-cartouche-lien:focus{
	outline:none;
}

.ca-cartouche-lien:focus-visible{
	outline:2px solid #E7D3BB;
	outline-offset:2px;
	border-radius:5px;
}

/* ================================================
   BANDEAU DE MOTS · ACCUEIL
   ================================================ */

.ca-bandeau-mots{
	margin-block:2.4rem 0;
	padding-block:1.4rem;
	border-block-start:1px solid rgba(138,90,52,.30);
	border-block-end:1px solid rgba(138,90,52,.30);
	text-align:center;
	color:#17191A;
	font-size:.98rem;
	letter-spacing:.02em;
	line-height:2;
}

@media (max-width:781px){
	.ca-bandeau-mots{
		font-size:.82rem;
		padding-inline:.5rem;
	}
}
/* ================================================
   LIENS · AFFINAGE
   ================================================ */

*, *::before, *::after{
	-webkit-tap-highlight-color:transparent !important;
}

a:focus,
a:active{
	outline:none !important;
}

a:hover{
	color:#8A5A34;
}

/* ================================================
   FORMULAIRE · MESSAGE DE CONFIRMATION
   ================================================ */

div.wpforms-container .wpforms-confirmation-container-full,
div[id^="wpforms-confirmation-"] {
	background-color: #FFFFFF !important;
	border: 1px solid var(--wp--preset--color--bois-clair) !important;
	border-radius: 4px !important;
	padding: 1.4rem 1.6rem !important;
	margin: 0 !important;
}

div[id^="wpforms-confirmation-"] p {
	color: var(--wp--preset--color--ardoise) !important;
	font-size: 0.98rem !important;
	line-height: 1.7 !important;
	margin: 0 !important;
}

/* ================================================
   REALISATIONS · LIEN FACEBOOK
   ================================================ */
.ca-real-lien {
	margin: 3.5rem auto 0;
	text-align: center;
}
.ca-real-lien a {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--wp--preset--color--zinc);
	border-radius: 5px;
	font-family: var(--wp--preset--font-family--inter);
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--wp--preset--color--ardoise);
	text-decoration: none;
	transition: border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
.ca-real-lien a::before {
	content: "";
	width: 1.5em;
	height: 1.5em;
	flex: none;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ca-real-lien a:hover,
.ca-real-lien a:focus-visible {
	border-color: var(--wp--preset--color--bordeaux);
	color: var(--wp--preset--color--bordeaux);
	background-color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 781px) {
	.ca-real-lien a {
		gap: 0.6rem;
		padding: 0.9rem 1.1rem;
		font-size: 0.9rem;
	}
	.ca-real-lien a::before {
		width: 1.3em;
		height: 1.3em;
	}
}

