/* ==========================================================================
   Blocs de contenu (page édito) — complément de theme.json
   Figma : Design Kit > Blocs pages (7:297), page édito 4141:6366 / 4206:8338
   ========================================================================== */

/* ---------- Rythme : chaque nouvelle section (H2) est bien détachée ---------- */
.wp-block-post-content > h2:not(:first-child) {
	margin-top: var(--wp--preset--spacing--70);
}

/* ---------- Listes ---------- */
.wp-block-list > li + li {
	margin-top: 0.5rem;
}

/* ---------- Image + légende ---------- */
.wp-block-post-content .wp-block-image img {
	border: 1px solid var(--wp--preset--color--neutral-25);
}

.wp-block-image figcaption,
.wp-block-embed figcaption {
	margin: 12px 0 0;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--s);
	line-height: normal;
	text-align: left;
}

/* ---------- Vidéo YouTube (façade, cf. inc/content-blocks.php) ---------- */
.pass-video {
	max-width: 688px;
}

.pass-video.alignwide,
.pass-video.alignfull {
	max-width: none;
}

/* Alignée à gauche dans la colonne de contenu (maquette), pas centrée. */
.is-layout-constrained > .pass-video:not(.alignwide):not(.alignfull):not(.aligncenter) {
	margin-left: 0 !important;
}

.pass-video__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--neutral-25);
	background-color: var(--wp--preset--color--neutral);
}

.pass-video__play {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.pass-video__play img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pass-video__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	transform: translate(-50%, -50%);
	transition: transform var(--wp--custom--transition);
}

.pass-video__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.pass-video__play:hover .pass-video__icon,
.pass-video__play:focus-visible .pass-video__icon {
	transform: translate(-50%, -50%) scale(1.08);
}

.pass-video__play:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: -3px;
}

.pass-video__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 47.99em) {
	.pass-video__icon {
		width: 56px;
		height: 56px;
	}
}

/* ---------- Accordéon (core/accordion) : « + » / « − », fermé par défaut ---------- */
.wp-block-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wp-block-accordion > *,
.wp-block-accordion-item > * {
	margin-block: 0;
}

.wp-block-accordion-heading {
	margin: 0;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--m);
	font-weight: 600;
	line-height: 1.25;
}

.wp-block-accordion-heading__toggle {
	gap: 20px;
	padding: 20px;
	border-radius: 20px;
	background-color: var(--wp--preset--color--primary-10);
	transition: color var(--wp--custom--transition);
}

.wp-block-accordion-heading__toggle:hover {
	color: var(--wp--preset--color--primary);
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.wp-block-accordion-heading__toggle:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.wp-block-accordion-heading__toggle-icon {
	flex: none;
	width: 24px;
	height: 16px;
	font-size: 0;
	background-color: currentColor;
	mask: var(--pass-icon-plus) center / contain no-repeat;
}

/* Le « + » devient « − » à l'ouverture (icônes Figma 4611:6804 / 4611:6806). */
.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: none;
	mask-image: var(--pass-icon-minus);
}

.wp-block-accordion-panel {
	margin-top: 5px;
	padding: 20px;
	border: 1px solid var(--wp--preset--color--neutral-25);
	border-radius: 20px;
	background-color: var(--wp--preset--color--white);
}

.wp-block-accordion-item.is-open {
	padding-bottom: 10px;
}

.wp-block-accordion-panel > :first-child {
	margin-top: 0;
}

.wp-block-accordion-panel > :last-child {
	margin-bottom: 0;
}

/* ---------- Tableau : lignes alternées, empilé en mobile ---------- */
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-table :is(th, td) {
	padding: 16px 28px;
	border: 0;
	color: var(--wp--preset--color--neutral);
	font-size: var(--wp--preset--font-size--m);
	line-height: 1.5;
	text-align: left;
	vertical-align: top;
}

.wp-block-table thead {
	border-bottom: 0;
}

.wp-block-table thead th {
	padding-inline: 24px;
	border-bottom: 1px solid var(--wp--preset--color--neutral);
	font-weight: 600;
	line-height: normal;
}

.wp-block-table tbody tr:nth-child(odd),
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background-color: transparent;
}

.wp-block-table tbody tr:nth-child(even),
.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background-color: var(--wp--preset--color--primary-10);
}

.wp-block-table.is-style-stripes {
	border-bottom: 0;
}

@media (max-width: 47.99em) {
	.wp-block-table:has(td[data-label]) {
		overflow-x: visible;
	}

	.wp-block-table:has(td[data-label]) :is(table, tbody, tr, td) {
		display: block;
	}

	.wp-block-table:has(td[data-label]) thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
	}

	.wp-block-table:has(td[data-label]) tbody tr {
		border-bottom: 1px solid var(--wp--preset--color--neutral);
		background-color: transparent !important;
	}

	.wp-block-table:has(td[data-label]) td {
		padding: 10px 16px;
	}

	.wp-block-table:has(td[data-label]) td:nth-child(even) {
		background-color: var(--wp--preset--color--primary-10);
	}

	.wp-block-table td[data-label]::before {
		content: attr(data-label);
		display: block;
		font-weight: 600;
		line-height: normal;
	}
}

/* ---------- Mise en avant (core/media-text, styles « highlight ») ---------- */
.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) {
	column-gap: 60px;
	padding: 40px 60px;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue):not([style*="grid-template-columns"]) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue):not([class*="is-vertically-aligned-"]) {
	align-items: start;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) .wp-block-media-text__media img {
	aspect-ratio: 3 / 2;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) > .wp-block-media-text__content {
	padding: 0;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) > .wp-block-media-text__content > * {
	margin-block: 20px 0;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) > .wp-block-media-text__content > :first-child {
	margin-top: 0;
}

.wp-block-media-text:is(.is-style-highlight, .is-style-highlight-blue) > .wp-block-media-text__content > .is-style-overline + :is(h1, h2, h3, h4, h5, h6) {
	margin-top: 5px;
}

.wp-block-media-text.is-style-highlight-blue .is-style-overline {
	color: var(--wp--preset--color--white);
}

@media (max-width: 599px) {
	.wp-block-media-text.is-stacked-on-mobile:is(.is-style-highlight, .is-style-highlight-blue) {
		grid-template-columns: 100% !important;
		row-gap: 24px;
		padding: 30px;
	}

	.wp-block-media-text.is-stacked-on-mobile:is(.is-style-highlight, .is-style-highlight-blue) > .wp-block-media-text__content {
		padding: 0;
	}
}
