/**
 * Bloc : Contenu mis en avant (ri-contenu-avant)
 * Convention : Classe complète sur la section, classes courtes scopées
 * Utilise les variables globales de root.css (--ri-*)
 *
 * Structure : section > container > inner (fond couleur + grille)
 */

/* ========================================
   Base
   ======================================== */

.ri-contenu-avant {
	width: 100%;
	padding-block: var(--ri-block-padding-xl);
}

.ri-contenu-avant .inner {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 48px;
	align-items: center;
	padding: 24px;
}

/* ========================================
   Colonne Image (Gauche)
   ======================================== */

.ri-contenu-avant .image-wrapper {
	width: 100%;
	overflow: hidden;
}

.ri-contenu-avant .image {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

/* ========================================
   Galerie 4 images (variante)
   ======================================== */

.ri-contenu-avant .inner.has-galerie {
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
}

/* 2 lignes empilées, hauteurs Figma : 204px / 184px */
.ri-contenu-avant .galerie-wrapper {
	display: flex;
	flex-direction: column;
	gap: 16px;
	overflow: hidden;
}

/* Ligne du haut : large (334) | étroit (214) — 204px */
.ri-contenu-avant .galerie-row--top {
	display: grid;
	grid-template-columns: 334fr 214fr;
	gap: 16px;
}

/* Ligne du bas : étroit (214) | large (334) — 184px */
.ri-contenu-avant .galerie-row--bottom {
	display: grid;
	grid-template-columns: 214fr 334fr;
	gap: 16px;
}

.ri-contenu-avant .galerie-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ========================================
   Colonne Texte (Droite)
   ======================================== */

.ri-contenu-avant .content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 24px;
	justify-content: center;
}

.ri-contenu-avant .titre {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
	max-width: 320px;
}

.ri-contenu-avant .description {
	margin: 0;
	font: 400 var(--ri-size-text-body) / 1.7 var(--ri-font-1);
}

.ri-contenu-avant .description p {
	margin: 0 0 16px 0;
}

.ri-contenu-avant .description p:last-child {
	margin-bottom: 0;
}

/* CTA */
.ri-contenu-avant .cta {
	display: inline-block;
	align-self: flex-start;
	padding: 12px 16px;
	font: 700 var(--ri-size-text-body-sm) / 1 var(--ri-font-1);
	background-color: var(--ri-color-yellow);
	color: var(--ri-color-teal);
	text-decoration: none;
	transition: background-color var(--ri-transition-base), color var(--ri-transition-base);
}

.ri-contenu-avant .cta:hover {
	background-color: var(--ri-color-teal);
	color: var(--ri-color-yellow);
}

/* ========================================
   Variantes de fond
   ======================================== */

.ri-contenu-avant .inner.has-color-2-background-color {
	background-color: var(--ri-color-violet-dark);
}

/* Fond color-2 (violet) : bouton ton sur ton, texte blanc */
.ri-contenu-avant .inner.has-color-2-background-color .cta {
	background-color: var(--ri-color-violet-dark);
	color: var(--ri-color-white);
}

.ri-contenu-avant .inner.has-color-2-background-color .cta:hover {
	background-color: var(--ri-color-white);
	color: var(--ri-color-violet-dark);
}

.ri-contenu-avant .inner.has-color-2-background-color .titre,
.ri-contenu-avant .inner.has-color-2-background-color .description,
.ri-contenu-avant .inner.has-color-2-background-color .description p {
	color: var(--ri-color-violet-light);
}

/* Fond canard (text-1) : titre/description blancs, bouton jaune */
.ri-contenu-avant .inner.has-text-1-background-color {
	background-color: var(--ri-color-teal);
}

.ri-contenu-avant .inner.has-text-1-background-color .titre,
.ri-contenu-avant .inner.has-text-1-background-color .description,
.ri-contenu-avant .inner.has-text-1-background-color .description p {
	color: var(--ri-color-grey-light);
}

.ri-contenu-avant .inner.has-text-1-background-color .titre .is-accent {
	color: var(--ri-color-yellow);
}

/* Galerie sur fond gris moyen : bouton plein canard, texte blanc */
.ri-contenu-avant .inner.has-galerie.has-mid-gray-background-color .cta {
	background-color: var(--ri-color-teal);
	color: var(--ri-color-white);
}

#alternance {
	background-color: var(--ri-color-light-grey);
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 1200px) {

	.ri-contenu-avant .inner,
	.ri-contenu-avant .inner.has-galerie {
		gap: 40px;
		grid-template-columns: 1fr;
	}
}

@media (max-width: 782px) {

	.ri-contenu-avant .inner {
		gap: var(--ri-space-lg);
		padding: 16px;
	}

	.ri-contenu-avant .content {
		padding: 0;
	}

	.ri-contenu-avant .galerie-wrapper,
	.ri-contenu-avant .galerie-row {
		gap: 8px;
	}

	.ri-contenu-avant .galerie-img {
		height: 120px;
	}

	.ri-contenu-avant .cta {
		align-self: flex-end;
	}

}

/* ========================================
   Placeholder (éditeur)
   ======================================== */

.ri-contenu-avant.is-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	padding: var(--ri-space-lg);
	background-color: var(--ri-color-grey-light);
	border: 2px dashed var(--ri-color-teal);
	text-align: center;
}
