/**
 * Formes décoratives CSS — pilotées par la palette unifiée.
 */

/* Demi-cercle bas (remplace demicercle-blanc-bas.svg)
 * Courbe blanche peu profonde en bas ; le fond `surface` reste visible. */
.wp-block-group.is-style-forme-demicercle-bas {
	position: relative;
	overflow: hidden;
}

.wp-block-group.is-style-forme-demicercle-bas::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 0;
	width: 140%;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--wp--preset--color--base, #fff);
	/* Pousse le cercle sous le bloc : seule une calotte apparaît en bas */
	transform: translate(-50%, 72%);
	pointer-events: none;
}

.wp-block-group.is-style-forme-demicercle-bas > * {
	position: relative;
	z-index: 1;
}

/* Variante : cercle d’accent à droite (remplace cercle-orange-droite) */
.wp-block-group.is-style-forme-cercle-droite {
	position: relative;
	overflow: hidden;
}

.wp-block-group.is-style-forme-cercle-droite::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 0;
	width: min(50vw, 384px);
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--wp--preset--color--surface-soutenue, var(--wp--preset--color--accent, #F4A100));
	transform: translate(35%, -50%);
	pointer-events: none;
}

.wp-block-group.is-style-forme-cercle-droite > * {
	position: relative;
	z-index: 1;
}

/* Demi-cercle haut (remplace demicercle-jaune-haut.svg) — calotte surface */
.wp-block-group.is-style-forme-demicercle-haut {
	position: relative;
	overflow: hidden;
}

.wp-block-group.is-style-forme-demicercle-haut::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 0;
	width: 140%;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--wp--preset--color--surface, #FEF3E3);
	transform: translate(-50%, -72%);
	pointer-events: none;
}

.wp-block-group.is-style-forme-demicercle-haut > * {
	position: relative;
	z-index: 1;
}

/* Cercle droite primary (remplace cercle-bleu-droite.svg) */
.wp-block-group.is-style-forme-cercle-droite-primary {
	position: relative;
	overflow: hidden;
}

.wp-block-group.is-style-forme-cercle-droite-primary::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 0;
	width: min(50vw, 384px);
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary, #2F3671);
	transform: translate(35%, -50%);
	pointer-events: none;
}

.wp-block-group.is-style-forme-cercle-droite-primary > * {
	position: relative;
	z-index: 1;
}

/* Colonnes verticales (remplace colonne-hor-jaune) — bandes surface */
.wp-block-group.is-style-forme-colonnes {
	position: relative;
	overflow: hidden;
	background-image: repeating-linear-gradient(
		to right,
		var(--wp--preset--color--surface, #FEF3E3) 0 60px,
		transparent 60px 120px
	);
	background-repeat: repeat;
	background-size: auto 100%;
}

/* Barres verticales surface (remplace barres crème) */
.wp-block-group.is-style-forme-barres-surface {
	min-height: clamp(48px, 8vw, 102px);
	background-color: transparent;
	background-image: repeating-linear-gradient(
		to right,
		var(--wp--preset--color--surface, #FEF3E3) 0 24px,
		transparent 24px 56.6667px
	);
	background-repeat: repeat;
	background-size: auto 100%;
}

/* Barres verticales primary (remplace barres-ver-bleu-header sous headers) */
.wp-block-group.is-style-forme-barres-primary {
	min-height: clamp(48px, 8vw, 102px);
	background-color: transparent;
	background-image: repeating-linear-gradient(
		to right,
		var(--wp--preset--color--primary, #2F3671) 0 24px,
		transparent 24px 56.6667px
	);
	background-repeat: repeat;
	background-size: auto 100%;
}

/* Ellipse bas soft (remplace Ellipse-1.png) — calotte surface */
.wp-block-group.is-style-forme-ellipse-bas {
	position: relative;
	overflow: hidden;
}

.wp-block-group.is-style-forme-ellipse-bas::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 0;
	width: 160%;
	aspect-ratio: 2 / 1;
	border-radius: 50%;
	background-color: var(--wp--preset--color--surface, #FEF3E3);
	transform: translate(-50%, 55%);
	pointer-events: none;
}

.wp-block-group.is-style-forme-ellipse-bas > * {
	position: relative;
	z-index: 1;
}

/* Icône SVG thématisée (inline) — couleurs via variables dans le SVG */
.ssd-icon-themed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	line-height: 0;
}

.ssd-icon-themed svg {
	width: 100%;
	height: 100%;
	display: block;
}

/*
 * CTA palette unifiée.
 * Les couleurs inline du bloc boutons écrasent le :hover theme.json :
 * on force le survol ici (surface-soutenue → primary).
 * Spécificité élevée pour passer après les styles globaux du thème enfant
 * (ex. Jeunesse, qui écrasait fond + texte en blanc).
 */
.wp-block-buttons .wp-block-button.ssd-cta-unified .wp-block-button__link.wp-element-button {
	transition: background-color 0.25s ease, color 0.25s ease;
}

.wp-block-buttons .wp-block-button.ssd-cta-unified .wp-block-button__link.wp-element-button:hover,
.wp-block-buttons .wp-block-button.ssd-cta-unified .wp-block-button__link.wp-element-button:focus,
.wp-block-buttons .wp-block-button.ssd-cta-unified .wp-block-button__link.wp-element-button:focus-visible {
	background-color: var(--wp--preset--color--primary, #2F3671) !important;
	color: var(--wp--preset--color--base, #fff) !important;
	border-color: transparent !important;
}

/* Icône flèche (CTA bas de section) */
.ssd-icon-themed--fleche {
	width: 22px;
	height: 22px;
	color: var(--wp--preset--color--ink, #102a62);
}

/* ── En ce moment adapt ── */
.ssd-en-ce-moment-adapt .ssd-carte-theme {
	transition: background-color 0.3s ease, color 0.3s ease;
}

.ssd-en-ce-moment-adapt .ssd-carte-theme.is-style-carte-cliquable:hover {
	background-color: var(--wp--preset--color--surface, #FEF3E3) !important;
}

.ssd-en-ce-moment-adapt .ssd-read-more-theme.wp-block-read-more {
	transition: background-color 0.25s ease, color 0.25s ease;
	text-decoration: none;
}

.ssd-en-ce-moment-adapt .ssd-read-more-theme.wp-block-read-more:hover,
.ssd-en-ce-moment-adapt .ssd-read-more-theme.wp-block-read-more:focus {
	background-color: var(--wp--preset--color--primary, #2F3671) !important;
	color: var(--wp--preset--color--base, #fff) !important;
}

.ssd-en-ce-moment-adapt .ssd-cta-lien-theme {
	transition: background-color 0.25s ease, color 0.25s ease;
}

.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:hover,
.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:focus-within {
	background-color: var(--wp--preset--color--primary, #2F3671) !important;
	color: var(--wp--preset--color--base, #fff) !important;
}

.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:hover a,
.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:focus-within a,
.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:hover .ssd-icon-themed,
.ssd-en-ce-moment-adapt .ssd-cta-lien-theme:focus-within .ssd-icon-themed {
	color: var(--wp--preset--color--base, #fff) !important;
}
