/* =========================================================================================
   CL Design — socle : polices, couleurs, typographie et grille (reprises de Divi 5, mesurées
   sur la prod le 25/09/2026). Les réglages propres à chaque élément sont dans pages.css.
   ========================================================================================= */

@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 300 700; font-display: swap;
	src: url("../polices/quicksand.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300 700; font-display: swap;
	src: url("../polices/cormorant-garamond.woff2") format("woff2"); }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 300 700; font-display: swap;
	src: url("../polices/cormorant-garamond-italique.woff2") format("woff2"); }

:root {
	/* Couleurs globales Divi (mêmes noms que Divi : pages.css les appelle). */
	--gcid-primary-color: #743344;
	--gcid-secondary-color: #aa8e59;
	--gcid-heading-color: #000000;
	--gcid-body-color: rgba(0, 0, 0, 0.7);
	--gcid-4907c8d4-9eff-49de-91ce-43a2d3a729cf: rgba(0, 0, 0, 0.6);
	--gcid-a1ea5ebf-c0a9-4cdc-9f7b-bb2349a290be: rgba(0, 0, 0, 0.1);
	--gcid-00af8519-940d-4f62-84af-484aba407c29: rgba(0, 0, 0, 0.2);
	--gcid-b828f3f7-0a92-4f39-8bfa-273b880b2442: rgba(255, 255, 255, 0.2);
	--gcid-f46b1a4b-f9e0-4459-adf1-a626d0a68b72: rgba(255, 255, 255, 0.3);
	--gcid-beb2c95b-3a59-4769-93ca-ebc39d60c20d: rgba(0, 0, 0, 0.12);
	--gcid-c95e4203-f20a-4a3b-be43-a7257b192282: #616161;
	--gcid-728e935a-fa6c-466d-83a7-16a5f618cdbc: #eae8e0;
	--gcid-4c714123-6778-41b0-aab7-281c46a9e746: #f5f4ef;
	--gcid-3e98298a-bc04-489a-a277-5ef7aad3eb39: #fafafa;
	--gcid-79008fab-ccde-4aaf-8238-1144e270bf33: rgba(255, 255, 255, 0.12);

	/* Extension Avis Google (mi-avis-google) aux couleurs du site. */
	--mag-police: var(--cld-police-texte);
	--mag-police-titre: var(--cld-police-titres);
	--mag-texte: #000;
	--mag-texte-avis: rgba(0, 0, 0, 0.7);
	--mag-bouton-fond: var(--gcid-primary-color);
	--mag-lien: var(--gcid-primary-color);
	--mag-rayon: 0;
	--mag-bouton-rayon: 0;

	--cld-police-titres: "Cormorant Garamond", Georgia, serif;
	--cld-police-texte: "Quicksand", Arial, sans-serif;

	/* Grille Divi 5 (--section-gutter, --row-gutter-*, --module-gutter, --content-width). */
	--cld-gouttiere-section: 60px;
	--cld-gouttiere-rangee: 5.5%;
	--cld-gouttiere-verticale: 40px;
	--cld-gouttiere-module: 30px;
	--cld-largeur: 80%;
	--cld-largeur-max: 1600px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: #fff;
	color: var(--gcid-body-color);
	font-family: var(--cld-police-texte);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media (max-width: 980px) { body { font-size: 15px; } }

img, video, svg { max-width: 100%; height: auto; vertical-align: middle; }
/* Liens des textes : prune foncé du site (le bleu #2ea3f2 par défaut de Divi a été écarté par Guillaume le 25/09/2026). */
a { color: var(--gcid-primary-color); text-decoration: none; }
a:hover { text-decoration: none; }
:focus-visible { outline: 2px solid var(--gcid-primary-color); outline-offset: 2px; }

p { margin: 0; padding-bottom: 1em; }
p:last-child, p:last-of-type { padding-bottom: 0; }

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding-bottom: 10px;
	color: var(--gcid-heading-color);
	font-family: var(--cld-police-titres);
	font-weight: 400;
	line-height: 1em;
	text-transform: uppercase;
	overflow-wrap: break-word; /* comme Divi : un mot trop long pour l'écran se coupe au lieu de déborder */
}
h1 { font-size: 30px; }
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }

ul, ol { margin: 0; padding: 0 0 23px 1em; line-height: 26px; }
ul { list-style: disc; }
li ul, li ol { padding-bottom: 0; }
strong, b { font-weight: 700; }
blockquote { margin: 20px 0 30px; padding-left: 20px; border-left: 5px solid var(--gcid-primary-color); }

.cld-evitement { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 10px 16px; background: #fff; }
.cld-evitement:focus { left: 10px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---- Grille Divi 5 ------------------------------------------------------------------------- */
/* Section : colonne flexible centrée, rangées espacées de 60 px, marge haute et basse de 4 %. */
.cld-s { display: block; }
.cld-sec {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: var(--cld-gouttiere-section);
	column-gap: var(--cld-gouttiere-section);
	padding: 4% 0;
	background-color: #fff;
}
@media (max-width: 980px) { .cld-sec { padding: 50px 0; } }

/* Rangée : 80 % de la largeur, colonnes côte à côte séparées de 5,5 %. */
.cld-row {
	--cld-ecart: var(--cld-gouttiere-rangee);
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	column-gap: var(--cld-ecart);
	row-gap: var(--cld-gouttiere-verticale);
	width: var(--cld-largeur);
	max-width: var(--cld-largeur-max);
	margin: 0 auto;
}
.cld-row > .cld-col { --cld-ecart-parent: var(--cld-ecart); }
.cld-row--imbriquee { width: 100%; max-width: none; margin: 0; }
/* Sous 768 px, Divi empile les colonnes (sauf réglage contraire, repris dans pages.css). */
@media (max-width: 767px) {
	.cld-row { flex-wrap: wrap; }
	.cld-row > .cld-col { width: 100%; }
}

/* Colonne : pile de modules espacés de 30 px. */
.cld-col {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	row-gap: var(--cld-gouttiere-module);
	column-gap: var(--cld-gouttiere-module);
	min-width: 0;
	min-height: 1px;
	width: 100%;
	flex: 0 1 auto;
}
.cld-col > .cld-row { --cld-ecart-parent: var(--cld-gouttiere-module); }

/* Colonne vide (photo de fond seule) : masquée sur tablette et téléphone, comme Divi. */
@media (max-width: 980px) { .cld-col--vide { display: none; } }

/* Groupe (et diapositive du carrousel) : même comportement qu'une colonne. */
.cld-groupe { position: relative; display: flex; flex-direction: column; row-gap: var(--cld-gouttiere-module); column-gap: var(--cld-gouttiere-module); }

/* Photo de fond d'une colonne ou d'un groupe (fond Divi → image éditable). */
.cld-a-fond { overflow: hidden; }
.cld-a-fond > .cld-fond-image { position: absolute; inset: 0; z-index: -1; margin: 0; }
.cld-a-fond > .cld-fond-image img { width: 100%; height: 100%; object-fit: cover; }
.cld-a-fond > .cld-fond-image + * { position: relative; }

/* Rangée en mode bloc (Divi 4, « columnStructure ») : colonnes flottantes → côte à côte, en haut,
   marge de 2 % ; modules espacés d'un pourcentage de la largeur de la colonne ; empilées sous 980 px. */
.cld-row--bloc { flex-wrap: wrap; align-items: flex-start; padding: 2% 0; }
.cld-col--bloc { row-gap: 0; }
.cld-col--bloc > *:not(:last-child) { margin-bottom: 2.75%; }
.cld-col--bloc.cld-t-1_2 > *:not(:last-child) { margin-bottom: 5.82%; }
.cld-col--bloc.cld-t-1_3 > *:not(:last-child) { margin-bottom: 9.27%; }
.cld-col--bloc.cld-t-2_3 > *:not(:last-child) { margin-bottom: 4.2%; }
.cld-col--bloc.cld-t-1_4 > *:not(:last-child) { margin-bottom: 13.174%; }
.cld-col--bloc.cld-t-3_4 > *:not(:last-child) { margin-bottom: 3.735%; }
@media (max-width: 980px) {
	.cld-row--bloc { row-gap: 30px; padding: 30px 0; }
	.cld-row--bloc > .cld-col { width: 100%; }
	.cld-col--bloc > *:not(:last-child) { margin-bottom: 30px; }
}

/* Rangée « mosaïque » (grille Divi) : les cases prennent toute leur place. */
.cld-row--mosaique > .cld-col { width: auto; min-height: 0; }

/* Modules : pas de marge propre (l'écart vient de la colonne). */
/* Spécificité nulle (:where) : les réglages de chaque élément (pages.css) l'emportent toujours. */
:where(.cld-m, .cld-col > .wp-block-buttons, .cld-col > figure, .cld-groupe > figure) { margin: 0; }
