/*
Theme Name: Marie Caïazzo
Template: twentytwentyfive
Description: Thème enfant du site de Marie Caïazzo, créé en octobre 2026 pour remplacer Divi : couleurs, vagues entre les sections, formulaires, en-tête et pied de page. Le contenu des pages se modifie avec l'éditeur de blocs de WordPress.
Version: 1.0.0
Requires at least: 6.7
Text Domain: marie-caiazzo
*/

:root {
	--mc-masque-vague-haut: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 L0.0,52.0 L30.0,47.6 L60.0,43.3 L90.0,39.2 L120.0,35.6 L150.0,32.5 L180.0,30.0 L210.0,28.1 L240.0,26.8 L270.0,26.1 L300.0,26.0 L330.0,26.4 L360.0,27.3 L390.0,28.5 L420.0,30.0 L450.0,31.8 L480.0,33.8 L510.0,35.9 L540.0,38.1 L570.0,40.4 L600.0,42.7 L630.0,45.0 L660.0,47.3 L690.0,49.7 L720.0,52.0 L750.0,54.3 L780.0,56.7 L810.0,59.0 L840.0,61.3 L870.0,63.6 L900.0,65.9 L930.0,68.1 L960.0,70.2 L990.0,72.2 L1020.0,74.0 L1050.0,75.5 L1080.0,76.7 L1110.0,77.6 L1140.0,78.0 L1170.0,77.9 L1200.0,77.2 L1230.0,75.9 L1260.0,74.0 L1290.0,71.5 L1320.0,68.4 L1350.0,64.8 L1380.0,60.7 L1410.0,56.4 L1440.0,52.0 L1440,100 Z'/%3E%3C/svg%3E");
	--mc-masque-vague-bas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 L0.0,52.0 L30.0,47.6 L60.0,43.3 L90.0,39.2 L120.0,35.6 L150.0,32.5 L180.0,30.0 L210.0,28.1 L240.0,26.8 L270.0,26.1 L300.0,26.0 L330.0,26.4 L360.0,27.3 L390.0,28.5 L420.0,30.0 L450.0,31.8 L480.0,33.8 L510.0,35.9 L540.0,38.1 L570.0,40.4 L600.0,42.7 L630.0,45.0 L660.0,47.3 L690.0,49.7 L720.0,52.0 L750.0,54.3 L780.0,56.7 L810.0,59.0 L840.0,61.3 L870.0,63.6 L900.0,65.9 L930.0,68.1 L960.0,70.2 L990.0,72.2 L1020.0,74.0 L1050.0,75.5 L1080.0,76.7 L1110.0,77.6 L1140.0,78.0 L1170.0,77.9 L1200.0,77.2 L1230.0,75.9 L1260.0,74.0 L1290.0,71.5 L1320.0,68.4 L1350.0,64.8 L1380.0,60.7 L1410.0,56.4 L1440.0,52.0 L1440,0 Z'/%3E%3C/svg%3E");
	--mc-masque-courbe-haut: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 Q720,200 1440,0 L1440,100 L0,100 Z'/%3E%3C/svg%3E");
	--mc-masque-courbe-bas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 Q720,200 1440,0 Z'/%3E%3C/svg%3E");
	--mc-hauteur-vague: 100px;
}
@media (max-width: 767px) {
	:root { --mc-hauteur-vague: 60px; }
}

/* ─── En-tête : reste en haut de l'écran pendant le défilement (comme sur Divi) ─── */
header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 100;
	background: var(--wp--preset--color--blanc);
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.mc-entete .wp-block-site-logo img { height: auto; }
@media (max-width: 781px) {
	.mc-entete .wp-block-site-logo img { width: 160px !important; }
}
.mc-entete .wp-block-navigation .wp-block-navigation-item__content { color: var(--wp--preset--color--bleu); }
.mc-entete .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.mc-entete .wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] { color: var(--wp--preset--color--bleu-canard); }
.mc-entete .wp-block-navigation a:hover { text-decoration: none; opacity: 0.7; }
/* Sous-menus déroulants (Ateliers, Parcours) */
.mc-entete .wp-block-navigation .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-top: 3px solid var(--wp--preset--color--bleu) !important;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	padding: 20px 0 !important;
	min-width: 240px !important;
	background: var(--wp--preset--color--blanc);
}
.mc-entete .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 20px !important; }
/* Menu mobile (plein écran) */
.mc-entete .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 10vw; }
.mc-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border-top: 0 !important; box-shadow: none; padding: 0 0 0 1rem !important; }
.mc-entete .wp-block-navigation__responsive-container-open svg { width: 32px; height: 32px; color: var(--wp--preset--color--bleu); }

/* ─── Sections pleine largeur : pas d'espace entre elles ─── */
.entry-content > .alignfull,
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* ─── Vagues et courbes entre les sections ───
   Classes à mettre sur un groupe pleine largeur (Bloc > Avancé > Classes CSS additionnelles) :
   mc-vague-haut (le groupe monte en vague sur la section du dessus), mc-vague-bas (il descend en vague sur celle
   du dessous), mc-courbe-haut (il remonte en arrondi sur les côtés), mc-courbe-bas (il descend en arrondi au centre).
   La vague prend automatiquement la couleur de fond du groupe : donner un fond (même blanc) au groupe. */
.mc-vague-haut, .mc-vague-bas, .mc-courbe-haut, .mc-courbe-bas { position: relative; }
.mc-vague-haut::before, .mc-courbe-haut::before, .mc-vague-bas::after, .mc-courbe-bas::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: var(--mc-hauteur-vague);
	background-color: inherit;
	pointer-events: none;
	z-index: 1;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}
.mc-vague-haut::before, .mc-courbe-haut::before { bottom: calc(100% - 1px); }
.mc-vague-bas::after, .mc-courbe-bas::after { top: calc(100% - 1px); }
.mc-vague-haut::before { -webkit-mask-image: var(--mc-masque-vague-haut); mask-image: var(--mc-masque-vague-haut); }
.mc-vague-bas::after { -webkit-mask-image: var(--mc-masque-vague-bas); mask-image: var(--mc-masque-vague-bas); }
.mc-courbe-haut::before { -webkit-mask-image: var(--mc-masque-courbe-haut); mask-image: var(--mc-masque-courbe-haut); }
.mc-courbe-bas::after { -webkit-mask-image: var(--mc-masque-courbe-bas); mask-image: var(--mc-masque-courbe-bas); }

/* ─── Images : coins arrondis gardés même quand l'image est réduite ─── */
.wp-block-image img { vertical-align: bottom; }
.wp-block-image.is-resized img { height: auto; }

/* ─── Boutons : largeur fixe (300 px max), texte centré, comme sur Divi ─── */
.wp-block-button { width: auto; min-width: min(300px, 100%); max-width: 100%; }
.wp-block-button .wp-block-button__link { width: 100%; text-align: center; }
.wp-block-button.has-custom-width { max-width: none; }
.wp-block-button.mc-largeur-80 { width: 80%; max-width: none; }
.wp-block-buttons.is-content-justification-center .wp-block-button { margin-left: auto; margin-right: auto; }
.wp-block-buttons { margin-top: 30px; }
:where(.wp-block-group, .wp-block-column) > .wp-block-buttons:first-child { margin-top: 0; }
/* Bouton « contour » (fond blanc, bordure de couleur) */
.wp-block-button.is-style-outline > .wp-block-button__link { padding: 1rem 2.2rem; border-width: 2px; }
/* Couleurs au survol (classes ajoutées au bouton : survol-fond-…, survol-texte-…, survol-bord-…) */
.wp-block-button.survol-fond-bleu .wp-block-button__link:hover,.wp-block-button.survol-fond-bleu .wp-block-button__link:focus{background-color:var(--wp--preset--color--bleu)!important}
.wp-block-button.survol-texte-bleu .wp-block-button__link:hover,.wp-block-button.survol-texte-bleu .wp-block-button__link:focus{color:var(--wp--preset--color--bleu)!important}
.wp-block-button.survol-bord-bleu .wp-block-button__link:hover,.wp-block-button.survol-bord-bleu .wp-block-button__link:focus{border-color:var(--wp--preset--color--bleu)!important}
.wp-block-button.survol-fond-corail .wp-block-button__link:hover,.wp-block-button.survol-fond-corail .wp-block-button__link:focus{background-color:var(--wp--preset--color--corail)!important}
.wp-block-button.survol-texte-corail .wp-block-button__link:hover,.wp-block-button.survol-texte-corail .wp-block-button__link:focus{color:var(--wp--preset--color--corail)!important}
.wp-block-button.survol-bord-corail .wp-block-button__link:hover,.wp-block-button.survol-bord-corail .wp-block-button__link:focus{border-color:var(--wp--preset--color--corail)!important}
.wp-block-button.survol-fond-bleu-canard .wp-block-button__link:hover,.wp-block-button.survol-fond-bleu-canard .wp-block-button__link:focus{background-color:var(--wp--preset--color--bleu-canard)!important}
.wp-block-button.survol-texte-bleu-canard .wp-block-button__link:hover,.wp-block-button.survol-texte-bleu-canard .wp-block-button__link:focus{color:var(--wp--preset--color--bleu-canard)!important}
.wp-block-button.survol-bord-bleu-canard .wp-block-button__link:hover,.wp-block-button.survol-bord-bleu-canard .wp-block-button__link:focus{border-color:var(--wp--preset--color--bleu-canard)!important}
.wp-block-button.survol-fond-orange .wp-block-button__link:hover,.wp-block-button.survol-fond-orange .wp-block-button__link:focus{background-color:var(--wp--preset--color--orange)!important}
.wp-block-button.survol-texte-orange .wp-block-button__link:hover,.wp-block-button.survol-texte-orange .wp-block-button__link:focus{color:var(--wp--preset--color--orange)!important}
.wp-block-button.survol-bord-orange .wp-block-button__link:hover,.wp-block-button.survol-bord-orange .wp-block-button__link:focus{border-color:var(--wp--preset--color--orange)!important}
.wp-block-button.survol-fond-rose-pale .wp-block-button__link:hover,.wp-block-button.survol-fond-rose-pale .wp-block-button__link:focus{background-color:var(--wp--preset--color--rose-pale)!important}
.wp-block-button.survol-texte-rose-pale .wp-block-button__link:hover,.wp-block-button.survol-texte-rose-pale .wp-block-button__link:focus{color:var(--wp--preset--color--rose-pale)!important}
.wp-block-button.survol-bord-rose-pale .wp-block-button__link:hover,.wp-block-button.survol-bord-rose-pale .wp-block-button__link:focus{border-color:var(--wp--preset--color--rose-pale)!important}
.wp-block-button.survol-fond-vert-eau .wp-block-button__link:hover,.wp-block-button.survol-fond-vert-eau .wp-block-button__link:focus{background-color:var(--wp--preset--color--vert-eau)!important}
.wp-block-button.survol-texte-vert-eau .wp-block-button__link:hover,.wp-block-button.survol-texte-vert-eau .wp-block-button__link:focus{color:var(--wp--preset--color--vert-eau)!important}
.wp-block-button.survol-bord-vert-eau .wp-block-button__link:hover,.wp-block-button.survol-bord-vert-eau .wp-block-button__link:focus{border-color:var(--wp--preset--color--vert-eau)!important}
.wp-block-button.survol-fond-bleu-clair .wp-block-button__link:hover,.wp-block-button.survol-fond-bleu-clair .wp-block-button__link:focus{background-color:var(--wp--preset--color--bleu-clair)!important}
.wp-block-button.survol-texte-bleu-clair .wp-block-button__link:hover,.wp-block-button.survol-texte-bleu-clair .wp-block-button__link:focus{color:var(--wp--preset--color--bleu-clair)!important}
.wp-block-button.survol-bord-bleu-clair .wp-block-button__link:hover,.wp-block-button.survol-bord-bleu-clair .wp-block-button__link:focus{border-color:var(--wp--preset--color--bleu-clair)!important}
.wp-block-button.survol-fond-gris-clair .wp-block-button__link:hover,.wp-block-button.survol-fond-gris-clair .wp-block-button__link:focus{background-color:var(--wp--preset--color--gris-clair)!important}
.wp-block-button.survol-texte-gris-clair .wp-block-button__link:hover,.wp-block-button.survol-texte-gris-clair .wp-block-button__link:focus{color:var(--wp--preset--color--gris-clair)!important}
.wp-block-button.survol-bord-gris-clair .wp-block-button__link:hover,.wp-block-button.survol-bord-gris-clair .wp-block-button__link:focus{border-color:var(--wp--preset--color--gris-clair)!important}
.wp-block-button.survol-fond-blanc .wp-block-button__link:hover,.wp-block-button.survol-fond-blanc .wp-block-button__link:focus{background-color:var(--wp--preset--color--blanc)!important}
.wp-block-button.survol-texte-blanc .wp-block-button__link:hover,.wp-block-button.survol-texte-blanc .wp-block-button__link:focus{color:var(--wp--preset--color--blanc)!important}
.wp-block-button.survol-bord-blanc .wp-block-button__link:hover,.wp-block-button.survol-bord-blanc .wp-block-button__link:focus{border-color:var(--wp--preset--color--blanc)!important}
.wp-block-button.survol-fond-noir .wp-block-button__link:hover,.wp-block-button.survol-fond-noir .wp-block-button__link:focus{background-color:var(--wp--preset--color--noir)!important}
.wp-block-button.survol-texte-noir .wp-block-button__link:hover,.wp-block-button.survol-texte-noir .wp-block-button__link:focus{color:var(--wp--preset--color--noir)!important}
.wp-block-button.survol-bord-noir .wp-block-button__link:hover,.wp-block-button.survol-bord-noir .wp-block-button__link:focus{border-color:var(--wp--preset--color--noir)!important}

/* ─── Questions dépliables (bloc « Détails ») ─── */
.wp-block-details { border: 0; }
.wp-block-details + .wp-block-details { margin-block-start: 0; }
.wp-block-details > summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 1.2rem 3rem 1.2rem 1rem;
	color: var(--wp--preset--color--corail);
	font-size: clamp(22px, 2.05vw, 29px);
	line-height: 1.2;
}
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after {
	content: "";
	position: absolute;
	right: 1rem;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-50%) rotate(-45deg);
	transition: transform 0.2s;
}
.wp-block-details[open] > summary::after { transform: translateY(-75%) rotate(45deg); }
.wp-block-details > :not(summary) { padding: 0 1rem; }
.wp-block-details.is-style-faq { border-bottom: 1px solid var(--wp--preset--color--orange); }
.wp-block-details.is-style-faq[open] { background: var(--wp--preset--color--blanc); border-radius: 8px; }
.wp-block-details.is-style-encadre { border-radius: 8px; }
.wp-block-details.is-style-encadre:not(.has-background) { background: var(--wp--preset--color--rose-pale); }
.wp-block-details.is-style-encadre + .wp-block-details.is-style-encadre { margin-block-start: 30px; }
.wp-block-details.is-style-encadre > summary { font-size: 21px; padding: 20px 50px 20px 20px; }
.wp-block-details.mc-titre-grand > summary { font-size: clamp(22px, 2.05vw, 29px); }
/* Encadrés : « + » fermé, « − » ouvert (comme sur Divi) */
.wp-block-details.is-style-encadre > summary::after {
	content: "+";
	border: 0;
	width: auto;
	height: auto;
	transform: translateY(-50%);
	font-size: 26px;
	line-height: 1;
	right: 20px;
}
.wp-block-details.is-style-encadre[open] > summary::after { content: "−"; transform: translateY(-50%); }
.wp-block-details.is-style-encadre > :not(summary) { padding: 0 20px; }
.wp-block-details[open] > :last-child { padding-bottom: 1rem; }

/* ─── Formulaires (Contact Form 7) : champs bordés de bleu, deux colonnes ─── */
.wpcf7 { max-width: 600px; margin-left: auto; margin-right: auto; }
.mc-form-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.mc-form-grille .mc-plein { grid-column: 1 / -1; }
.mc-form-grille p { margin: 0 0 14px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--bleu);
	border-radius: 8px;
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--bleu);
	font: inherit;
	font-size: 14px;
	line-height: 1.5;
	padding: 14px 16px;
}
.wpcf7 textarea { height: 150px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { background: var(--wp--preset--color--gris-clair); outline: none; }
.wpcf7 ::placeholder { color: var(--wp--preset--color--bleu); opacity: 1; }
.wpcf7 .mc-form-titre { font-weight: 700; margin: 10px 0 0; line-height: 1.5; }
.wpcf7 .wpcf7-list-item { display: block; margin: 0 0 10px; }
.wpcf7 .wpcf7-list-item, .wpcf7 .wpcf7-list-item * { line-height: 1.6; }
.wpcf7 .wpcf7-list-item label { color: var(--wp--preset--color--bleu); font-size: 18px; line-height: 1.6; cursor: pointer; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label, .wpcf7 .wpcf7-checkbox .wpcf7-list-item-label { color: var(--wp--preset--color--bleu); }
.wpcf7 input[type="checkbox"] { accent-color: var(--wp--preset--color--bleu); width: 16px; height: 16px; vertical-align: -2px; margin-right: 6px; }
.wpcf7 .mc-envoyer { text-align: right; margin: 10px 0 0; }
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--bleu);
	color: var(--wp--preset--color--blanc);
	border: 2px solid var(--wp--preset--color--bleu);
	border-radius: 8px;
	font: inherit;
	font-size: 20px;
	line-height: 1.7;
	padding: 1rem 1.6rem;
	min-width: 140px;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--corail); border-color: var(--wp--preset--color--corail); }
.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output { border-radius: 8px; margin: 1rem 0 0; padding: 0.8rem 1rem; font-size: 16px; line-height: 1.5; }
.wpcf7-not-valid-tip { font-size: 14px; }
@media (max-width: 600px) {
	.mc-form-grille { grid-template-columns: 1fr; }
}

/* ─── Grand titre de l'accueil un peu plus petit sur téléphone (réglage de l'ancien site) ─── */
@media (max-width: 767px) {
	.wp-block-heading.mc-h1-mobile { font-size: 32px !important; }
}

/* ─── Trait de séparation dans les encadrés (tarifs) ─── */
.wp-block-column > .wp-block-separator.is-style-wide { margin-top: 22px !important; margin-bottom: 22px; border-width: 0; height: 1px; }

/* ─── Titre suivi de son texte : petit écart (10 px) comme sur Divi ─── */
.wp-block-heading + * { margin-block-start: 10px !important; }

/* ─── Listes : interligne serré comme sur Divi ─── */
.wp-block-list li { margin: 0; }
.wp-block-list { margin-block-end: 0; }

/* ─── Pied de page ─── */
.mc-pied .wp-block-heading { font-size: 20px; margin-bottom: 0.5rem; }
.mc-pied ul { list-style: none; padding-left: 0; margin: 0; }
.mc-pied ul ul { padding-left: 1.3rem; margin-top: 4px; }
.mc-pied li { position: relative; padding-left: 0.9rem; font-size: 16px; font-style: italic; line-height: 1.5; margin-bottom: 6px; }
.mc-pied li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 5px; height: 5px; border-radius: 50%; background: var(--wp--preset--color--corail); }
.mc-pied li a { color: var(--wp--preset--color--bleu); }

/* ─── Liens noirs soulignés (ex. Instagram / Facebook sur la page Contact) ─── */
.liens-noirs-soulignes a { color: var(--wp--preset--color--noir); text-decoration: underline; }
