/**
 * AENS — Styles des blocs Gutenberg côté front.
 * Aligne le rendu des blocs natifs sur les tokens du design system.
 *
 * @package aens-theme
 */

/* Contenu de page/article : alignements wide et full. */
.aens-entry-content > * {
	max-width: var(--container-lg);
	margin-inline: auto;
}

.aens-entry-content > .alignwide {
	max-width: var(--container-xl);
}

.aens-entry-content > .alignfull {
	max-width: none;
	width: 100%;
}

.aens-entry-content > .alignleft,
.aens-entry-content > .alignright {
	max-width: 22rem;
}

.alignleft  { float: inline-start; margin: 0 var(--space-md) var(--space-sm) 0; }
.alignright { float: inline-end;   margin: 0 0 var(--space-sm) var(--space-md); }
.aligncenter { margin-inline: auto; text-align: center; }

.aens-entry-content > * + * {
	margin-top: var(--space-md);
}

/* Boutons Gutenberg alignés sur les variantes AENS. */
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.75rem var(--space-md);
	border-radius: var(--radius-full);
	background-color: var(--color-cta);
	color: var(--color-cta-text);
	font-family: var(--font-heading);
	font-size: var(--text-label-lg);
	font-weight: 600;
	text-decoration: none;
	border: 1.5px solid transparent;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	background-color: var(--color-cta-hover);
	color: var(--color-cta-text);
}

.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.is-style-outline > .wp-block-button__link:hover {
	background-color: color-mix(in srgb, var(--color-accent) 6%, transparent);
}

/* Style de bouton personnalisé : accent vif. */
.wp-block-button.is-style-aens-vivid .wp-block-button__link {
	background-color: var(--color-cta-vivid);
	color: var(--color-cta-vivid-text);
}

.wp-block-button.is-style-aens-vivid .wp-block-button__link:hover {
	background-color: var(--aens-leaf-300);
}

/* Style de bouton personnalisé : solidarité chaude. */
.wp-block-button.is-style-aens-warm .wp-block-button__link {
	background-color: var(--color-action-warm);
	color: var(--color-action-warm-text);
}

.wp-block-button.is-style-aens-warm .wp-block-button__link:hover {
	background-color: var(--color-action-warm-hover);
}

/* Images et médias */
.wp-block-image img,
.wp-block-media-text__media img {
	border-radius: var(--radius-lg);
}

.wp-block-image.is-style-aens-rounded-xl img {
	border-radius: var(--radius-xl);
}

.wp-block-image figcaption {
	font-size: var(--text-body-sm);
	color: var(--color-text-secondary);
	text-align: center;
}

/* Citations */
.wp-block-quote {
	padding-inline-start: var(--space-md);
	border-inline-start: 3px solid var(--color-cta-vivid);
	font-family: var(--font-heading);
	font-size: var(--text-headline-sm);
	font-weight: 600;
	line-height: 1.45;
}

.wp-block-pullquote {
	padding: var(--space-lg);
	border-block: 2px solid var(--color-border-subtle);
	text-align: center;
}

/* Séparateur */
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--color-border-subtle);
	max-width: 8rem;
	margin-inline: auto;
}

.wp-block-separator.is-style-wide { max-width: 100%; }

/* Groupes et colonnes */
.wp-block-group.has-background {
	padding: var(--space-lg);
	border-radius: var(--radius-lg);
}

.wp-block-columns { gap: var(--space-md); }

/* Style de groupe personnalisé : carte AENS. */
.wp-block-group.is-style-aens-card {
	padding: var(--space-lg);
	background: var(--color-bg-surface);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-1);
}

.dark .wp-block-group.is-style-aens-card {
	background: var(--color-bg-subtle);
	border-color: var(--color-border);
	box-shadow: none;
}

/* Style de groupe personnalisé : bannière vert forêt. */
.wp-block-group.is-style-aens-banner {
	padding: var(--space-xl) var(--space-lg);
	background: linear-gradient(135deg, var(--aens-green-900) 0%, var(--aens-green-800) 100%);
	color: var(--aens-neutral-0);
	border-radius: var(--radius-xl);
}

.wp-block-group.is-style-aens-banner :is(h1, h2, h3, h4, h5, h6, p) {
	color: var(--aens-neutral-0);
}

.wp-block-group.is-style-aens-banner a:not(.wp-block-button__link) {
	color: var(--aens-leaf-100);
}

/* Listes stylées */
.wp-block-list.is-style-aens-check {
	list-style: none;
	padding-inline-start: 0;
}

.wp-block-list.is-style-aens-check li {
	position: relative;
	padding-inline-start: var(--space-md);
}

.wp-block-list.is-style-aens-check li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.55em;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: var(--radius-full);
	background: var(--color-cta-vivid);
}

/* Tableau */
.wp-block-table table {
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.wp-block-table thead th {
	background: var(--color-bg-subtle);
}

/* Couvertures */
.wp-block-cover {
	border-radius: var(--radius-xl);
	overflow: hidden;
	min-height: 22rem;
}

.wp-block-cover .wp-block-cover__inner-container {
	max-width: var(--container-lg);
}

/* Embeds responsive */
.wp-block-embed__wrapper {
	position: relative;
}

.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
	border-radius: var(--radius-lg);
}

/* Zones de contenu longues restent lisibles. */
.aens-entry-content p,
.aens-entry-content ul,
.aens-entry-content ol {
	max-width: var(--measure);
}

.aens-entry-content .alignwide p,
.aens-entry-content .alignfull p {
	max-width: none;
}

/* Code */
.wp-block-code {
	padding: var(--space-sm);
	background: var(--color-bg-subtle);
	border-radius: var(--radius-md);
	overflow-x: auto;
}
