/*
Theme Name: OneAirMedia
Template: twentytwentyfive
Description: Thème enfant de Twenty Twenty-Five aux couleurs de OneAirMedia (turquoise, violet, jaune, rouge). Les réglages sont dans theme.json (OAM-5, 17/10/2026).
Version: 2.33
Requires at least: 6.7
Text Domain: oneairmedia
*/

/* ---------- Taille d'affichage générale ----------
   Sur ordinateur, tout le site est affiché à 80 % (comme le zoom du navigateur testé par Charlotte le 19/10).
   Sur téléphone, taille normale pour que le texte reste lisible. */
@media (min-width: 1024px) {
	:root { --oam-zoom: 0.85; } /* 80 % testé le 19/10, puis +5 % à la demande de Charlotte */
	html { zoom: var(--oam-zoom); }
}

/* ---------- Variables : mode clair ---------- */
:root {
	--oam-verre: rgba(255, 255, 255, 0.82);
	--oam-voile: rgba(255, 255, 255, 0);
	--oam-ombre: 0 12px 40px rgba(113, 0, 165, 0.14);
	color-scheme: light;
}

/* ---------- Mode sombre : automatique (réglage de l'appareil) ou choisi avec le bouton ---------- */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--wp--preset--color--base: #14111a;
		--wp--preset--color--contrast: #f3eff7;
		--wp--preset--color--accent-1: #c98bf5;
		--wp--preset--color--accent-4: #ff7a7a;
		--wp--preset--color--accent-5: #251c2e;
		--wp--preset--color--accent-6: #b7b1c1;
		--oam-verre: rgba(20, 17, 26, 0.85);
		--oam-voile: rgba(20, 17, 26, 0.82);
		--oam-ombre: 0 12px 40px rgba(0, 0, 0, 0.55);
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--wp--preset--color--base: #14111a;
	--wp--preset--color--contrast: #f3eff7;
	--wp--preset--color--accent-1: #c98bf5;
	--wp--preset--color--accent-4: #ff7a7a;
	--wp--preset--color--accent-5: #251c2e;
	--wp--preset--color--accent-6: #b7b1c1;
	--oam-verre: rgba(20, 17, 26, 0.85);
	--oam-voile: rgba(20, 17, 26, 0.82);
	--oam-ombre: 0 12px 40px rgba(0, 0, 0, 0.55);
	color-scheme: dark;
}

/* ---------- Fond à motif (barres aux couleurs du logo), en parallaxe ----------
   Calque fixe un peu plus haut que l'écran : il remonte de 30 % de la hauteur d'écran
   sur toute la longueur de la page (--oam-defil va de 0 à 1, posé par assets/parallaxe.js).
   Sans JavaScript, le fond reste simplement immobile. */
body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: calc(130vh / var(--oam-zoom, 1)); /* compense le zoom global, pour couvrir tout l'écran */
	z-index: -1;
	pointer-events: none;
	background-image: linear-gradient(var(--oam-voile), var(--oam-voile)), url(assets/fond-motif.png);
	background-size: cover;
	background-position: center top;
	transform: translate3d(0, calc(var(--oam-defil, 0) * -30vh / var(--oam-zoom, 1)), 0);
	will-change: transform;
}

/* ---------- Bandeaux 4 couleurs, toujours visibles en haut et en bas de l'écran ---------- */
:root {
	--oam-bandeau: 10px;
	--oam-4-couleurs: linear-gradient(90deg, #15c1b2 0 25%, #7100a5 25% 50%, #ffb300 50% 75%, #ac0000 75% 100%);
}
/* 4 bandes par bandeau (balises ajoutées par functions.php), pour pouvoir survoler chaque couleur. */
.oam-bandeau {
	position: fixed;
	left: 0;
	right: 0;
	height: var(--oam-bandeau);
	z-index: 99999;
	display: flex;
}
.oam-bandeau--haut {
	top: var(--wp-admin--admin-bar--height, 0px); /* sous la barre d'administration quand on est connecté */
}
.oam-bandeau--bas {
	bottom: 0;
}
.oam-bandeau span {
	flex: 1;
	height: 100%;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.oam-bandeau span:nth-child(1) { --c: #15c1b2; }
.oam-bandeau span:nth-child(2) { --c: #7100a5; }
.oam-bandeau span:nth-child(3) { --c: #ffb300; }
.oam-bandeau span:nth-child(4) { --c: #ac0000; }
.oam-bandeau span { background: var(--c); }

/* Progression de lecture (articles) : bandeau du haut pâle, qui se remplit de gauche à droite.
   --oam-rempli (0 à 1) est posé sur chaque bande par assets/bandeaux.js. */
.oam-lecture .oam-bandeau--haut span {
	position: relative;
	background: none;
}
.oam-lecture .oam-bandeau--haut span::before,
.oam-lecture .oam-bandeau--haut span::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--c);
}
.oam-lecture .oam-bandeau--haut span::before {
	opacity: 0.28;
}
.oam-lecture .oam-bandeau--haut span::after {
	transform: scaleX(var(--oam-rempli, 0));
	transform-origin: left;
	transition: transform 0.12s linear;
}
/* Grossit vers l'intérieur de l'écran, sans changer de largeur (scaleY seulement). */
.oam-bandeau--haut span { transform-origin: top; }
.oam-bandeau--bas span { transform-origin: bottom; }
@media (hover: hover) {
	.oam-bandeau span:hover { transform: scaleY(2.4); }
}
@media (prefers-reduced-motion: reduce) {
	.oam-bandeau span { transition: none; }
}
body {
	padding-top: var(--oam-bandeau);
	padding-bottom: var(--oam-bandeau);
}

/* ---------- Parallaxe des éléments (classes posées par assets/parallaxe.js) ---------- */
.oam-revele {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.oam-revele.oam-visible {
	opacity: 1;
	transform: none;
}
/* Décalage en profondeur : propriété « translate », indépendante de l'apparition (« transform »). */
.oam-couche {
	translate: 0 var(--oam-decalage, 0);
	will-change: translate;
}
.wp-block-post-featured-image {
	overflow: hidden;
}
.wp-block-post-featured-image img.oam-couche {
	scale: 1.12; /* marge pour que l'image ne laisse pas de vide en se décalant */
}
@media (prefers-reduced-motion: reduce) {
	body::before { transform: none; }
	.oam-revele { opacity: 1; transform: none; transition: none; }
	.oam-couche { translate: none; }
}

/* En-tête et pied de page : effet verre dépoli, le motif transparaît.
   Le flou est posé sur un calque ::before et pas sur l'en-tête lui-même : un backdrop-filter
   sur l'en-tête enfermerait le menu burger (position: fixed) à l'intérieur de l'en-tête. */
header.wp-block-template-part,
footer.wp-block-template-part {
	position: relative;
	isolation: isolate;
	z-index: 1;
}
/* L'en-tête (qui contient le menu burger) passe devant tout le reste de la page. */
header.wp-block-template-part {
	z-index: 1000;
}
header.wp-block-template-part::before,
footer.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--oam-verre);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	pointer-events: none;
}

/* ---------- Pied de page : carte blanche comme le contenu (19/10) ----------
   3 colonnes : présentation · « Explorer » (menu sur 2 colonnes) · « Suivez-nous » (réseaux),
   puis une barre du bas : © année + association à gauche, Mentions légales · Contact à droite.
   Sur téléphone, les colonnes s'empilent. */
footer.wp-block-template-part::before { display: none; } /* pas de verre dépoli : la carte suffit */
/* Pleine largeur (19/10) : la carte va d'un bord à l'autre et jusqu'en bas de l'écran, coins du haut arrondis ;
   le contenu reste aligné sur celui de la carte principale (1480 px max, mêmes marges intérieures). */
footer.wp-block-template-part { padding: 0 !important; margin-top: var(--wp--preset--spacing--50); }
.oam-pied-carte {
	/* = marge extérieure de la carte principale (1rem, ou le centrage au-delà de 1480 px) + sa marge intérieure */
	--oam-pied-marge: max(calc(1rem + clamp(1.25rem, 4vw, 3.5rem)), calc((100% - 1480px) / 2 + clamp(1.25rem, 4vw, 3.5rem)));
	background: var(--wp--preset--color--base);
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(1.5rem, 4vw, 3rem) var(--oam-pied-marge) calc(var(--oam-bandeau) + clamp(1rem, 2vw, 1.5rem)) !important;
	border-radius: 28px 28px 0 0;
	box-shadow: 0 -12px 40px rgba(113, 0, 165, 0.1);
}
.oam-pied-carte.is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.oam-pied { align-items: flex-start !important; gap: clamp(1.5rem, 4vw, 3rem) !important; margin: 0; }
.oam-pied-infos > * { margin-top: 0; margin-bottom: 0.6rem; }
.oam-pied-infos p { max-width: 38ch; }
.oam-pied-titre {
	margin: 0 0 0.9rem;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-1);
}
.oam-pied-menu .wp-block-navigation { font-size: 0.95rem; }
/* Menu sur 2 colonnes équilibrées, remplies de haut en bas quel que soit le nombre de liens. */
.oam-pied-menu .wp-block-navigation__container { display: block !important; columns: 2; column-gap: 2rem; }
.oam-pied-menu .wp-block-navigation__container > li { display: block; break-inside: avoid; margin-bottom: 0.5rem; }
.oam-pied-menu .wp-block-navigation-item__content { text-decoration: none; font-weight: 600; }
.oam-pied-menu .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-1); text-decoration: underline; }
/* Réseaux : pastilles violettes avec icône et nom, turquoise au survol. */
.oam-reseaux { gap: 0.5rem !important; }
.oam-reseaux .wp-social-link { border-radius: 999px !important; transition: transform 0.2s, background-color 0.2s; }
.oam-reseaux .wp-social-link:hover { transform: translateX(4px); background-color: #15c1b2 !important; }
.oam-reseaux .wp-block-social-link-anchor { padding: 0.5rem 1rem !important; font-weight: 700; text-decoration: none; gap: 0.5rem; }
.oam-reseaux .wp-block-social-link-anchor svg { width: 1.15rem; height: 1.15rem; }
.oam-reseaux .wp-block-social-link-label { font-size: 0.95rem; } /* WordPress réduit le nom par défaut */
/* Barre du bas */
.oam-pied-bas {
	margin-top: clamp(1.5rem, 3vw, 2.25rem) !important;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--accent-5);
	gap: 0.5rem 1.5rem;
	font-size: 0.8rem;
	color: var(--wp--preset--color--accent-6);
}
.oam-pied-bas p { margin: 0; }
.oam-pied-legal a { color: inherit; text-decoration: none; font-weight: 600; }
.oam-pied-legal a:hover { color: var(--wp--preset--color--accent-1); text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
	.oam-reseaux .wp-social-link { transition: none; }
}

/* Menu burger ouvert : panneau flottant en haut à droite, à la taille de son contenu,
   au-dessus de tout, page assombrie derrière, apparition en douceur. */
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: auto;
	top: 1rem;
	right: 1rem;
	left: auto;
	bottom: auto;
	z-index: 100000;
	width: max-content; /* largeur du plus long lien */
	min-width: 11rem;
	max-width: calc(100vw - 2rem);
	height: auto;
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	padding: 1.25rem 1.5rem 1.5rem !important;
	border-radius: 24px;
	background:
		linear-gradient(90deg, #15c1b2 0 25%, #7100a5 25% 50%, #ffb300 50% 75%, #ac0000 75% 100%) top / 100% 6px no-repeat,
		var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28), 0 0 0 100vmax rgba(20, 17, 26, 0.45);
	transform-origin: top right;
	animation: oam-menu-ouvre 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0.5rem !important;
	align-items: flex-end !important;
	text-align: right;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-end !important;
	gap: 0 !important;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--accent-5);
	animation: oam-lien-arrive 0.35s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
	border-bottom: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.75rem 0.25rem !important;
	text-align: right;
	font-size: 1.15rem;
	font-weight: 700;
	text-decoration: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-1);
}
/* Croix masquée à l'écran : on ferme en touchant en dehors du panneau (assets/menu.js).
   Elle reste disponible pour le clavier et les lecteurs d'écran, et réapparaît au focus clavier. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus-visible {
	top: 0.75rem;
	right: 0.75rem;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0.25rem;
	overflow: visible;
	clip-path: none;
	outline: 3px solid #15c1b2;
	border-radius: 8px;
}
/* Les liens arrivent l'un après l'autre. */
.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: 0.04s; }
.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: 0.08s; }
.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: 0.12s; }
.is-menu-open .wp-block-navigation-item:nth-child(5) { animation-delay: 0.16s; }
.is-menu-open .wp-block-navigation-item:nth-child(6) { animation-delay: 0.2s; }
.is-menu-open .wp-block-navigation-item:nth-child(n+7) { animation-delay: 0.24s; }

@keyframes oam-menu-ouvre {
	from { opacity: 0; transform: translateY(-10px) scale(0.96); }
	to { opacity: 1; transform: none; }
}
/* Fermeture en fondu : la classe oam-ferme est posée par assets/menu.js juste avant que WordPress ferme. */
.wp-block-navigation__responsive-container.is-menu-open.oam-ferme {
	animation: oam-menu-ferme 0.22s cubic-bezier(0.4, 0, 1, 1) both;
	pointer-events: none;
}
@keyframes oam-menu-ferme {
	from { opacity: 1; transform: none; }
	to { opacity: 0; transform: translateY(-10px) scale(0.96); }
}
@keyframes oam-lien-arrive {
	from { opacity: 0; transform: translateX(10px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		animation: none;
	}
}
body:has(.wp-block-navigation__responsive-container.is-menu-open) .oam-mode {
	display: none;
}

/* ---------- Carte principale (toutes les pages) ----------
   Le contenu est posé sur une carte blanche, lisible au-dessus du motif.
   Le thème limite le contenu à une colonne centrale de 645 px (mise en page « contrainte ») :
   ici, le contenu remplit toute la carte, sur toutes les pages. Mesuré le 18/10 sur l'accueil :
   carte 1408 px, contenu 645 px avant ce réglage, 1296 px après (marges intérieures comprises). */
main.wp-block-group {
	background: var(--wp--preset--color--base);
	max-width: min(1480px, calc(100% - 2rem));
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: var(--wp--preset--spacing--50);
	padding: clamp(1.25rem, 4vw, 3.5rem) !important;
	border-radius: 28px;
	box-shadow: var(--oam-ombre);
	overflow: hidden;
}
main.wp-block-group.is-layout-constrained > *,
main.wp-block-group .is-layout-constrained > * {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Les conteneurs de structure (contenu de la page, groupe du titre) n'ajoutent pas de marge en plus de la carte. */
main.wp-block-group .wp-block-post-content,
main.wp-block-group.is-layout-constrained > .has-global-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* Lisibilité : les paragraphes et listes de texte gardent ~75 caractères par ligne, alignés à gauche.
   (Les grilles, vidéos, titres et encadrés prennent toute la largeur.) */
main.wp-block-group .wp-block-post-content > :is(p, ul, ol):not(.oam-vide) {
	max-width: 75ch !important;
}
/* Le premier bloc de la carte ne rajoute pas d'espace en haut (la carte a déjà sa marge intérieure). */
main.wp-block-group.is-layout-constrained > :first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* =====================================================================
   Contenus OneAirMedia (mu-plugin oam-contenus) : vidéos, programme, live Twitch, accueil
   ===================================================================== */

.oam-badge {
	display: inline-block;
	margin: 0 0 0.6rem;
	padding: 0.2em 0.8em;
	border-radius: 999px;
	background: #ffb300;
	color: #141414;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.oam-vide {
	padding: 1.5rem;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-5);
	text-align: center;
	font-weight: 600;
}

/* ---------- Vidéos ---------- */
.oam-videos__vedette {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: auto auto;
	gap: 1.25rem;
	margin-bottom: 2rem;
}
.oam-video--grande { grid-row: span 2; }
.oam-videos__grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 1.25rem;
}
@media (max-width: 781px) {
	.oam-videos__vedette { grid-template-columns: 1fr; }
	.oam-video--grande { grid-row: auto; }
}
.oam-video {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.oam-video__vignette {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	/* vignette de remplacement aux couleurs du logo (vidéos fictives ou sans image) */
	background:
		linear-gradient(135deg, rgba(113, 0, 165, 0.92), rgba(21, 193, 178, 0.85)),
		url(assets/fond-motif.png) center / cover;
	box-shadow: var(--oam-ombre);
	text-decoration: none;
}
.oam-video__vignette img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.oam-video__vignette:hover img { transform: scale(1.05); }
.oam-video__lecture {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 56px;
	height: 56px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: #ffb300;
	color: #141414;
	font-size: 1.3rem;
	padding-left: 4px;
	transition: transform 0.25s;
}
.oam-video--grande .oam-video__lecture { width: 80px; height: 80px; font-size: 1.9rem; }
.oam-video__vignette:hover .oam-video__lecture { transform: scale(1.12); }
.oam-video__duree {
	position: absolute;
	right: 0.6rem;
	bottom: 0.6rem;
	padding: 0.1em 0.5em;
	border-radius: 6px;
	background: rgba(20, 17, 26, 0.85);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
}
.oam-video__emission {
	color: var(--wp--preset--color--accent-1);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.oam-video__titre { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.oam-video--grande .oam-video__titre { font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.oam-video__titre a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.oam-video__titre a:hover { color: var(--wp--preset--color--accent-1); }
.oam-video__date { color: var(--wp--preset--color--accent-6); font-size: 0.85rem; }

/* ---------- Page Vidéos : recherche, catégories, « Voir plus » (assets/videos.js) ---------- */
.oam-videos-outils { display: none; margin-bottom: 2rem; }
.oam-js-videos .oam-videos-outils { display: block; } /* sans JavaScript, la barre est inutile : cachée */
.oam-recherche {
	width: 100%;
	max-width: 640px;
	padding: 0.85rem 1.25rem 0.85rem 3rem;
	border: 2px solid var(--wp--preset--color--accent-5);
	border-radius: 999px;
	background: var(--wp--preset--color--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237100a5' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 1.1rem center / 1.1rem;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 1rem;
}
.oam-recherche:focus { outline: none; border-color: var(--wp--preset--color--accent-1); box-shadow: 0 0 0 4px rgba(113, 0, 165, 0.12); }
.oam-filtres { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0 0.75rem; }
.oam-filtre {
	padding: 0.4rem 0.9rem;
	border: 2px solid var(--wp--preset--color--accent-5);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.oam-filtre span { margin-left: 0.3rem; font-weight: 600; opacity: 0.6; }
.oam-filtre:hover { border-color: var(--wp--preset--color--accent-1); }
.oam-filtre[aria-pressed="true"] { background: #7100a5; border-color: #7100a5; color: #fff; }
.oam-filtre[aria-pressed="true"] span { opacity: 0.85; }
.oam-videos-compte { margin: 0; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--accent-6); }
.oam-video[hidden], .oam-videos__vedette[hidden] { display: none !important; }
.oam-videos--complet:not(.oam-filtre-actif) .oam-video--en-avant { display: none; } /* déjà en grand au-dessus */
.oam-voir-plus-zone { text-align: center; margin-top: 2rem; }
.oam-voir-plus {
	padding: 0.75rem 1.75rem;
	border: 0;
	border-radius: 999px;
	background: #7100a5;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.oam-voir-plus:hover { background: #141414; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip-path: inset(50%); white-space: nowrap; margin: -1px; padding: 0; border: 0;
}

/* ---------- Page Contact : encadré, cartes et fiches de l'équipe ---------- */
.oam-contact-ecrire,
.oam-carte-contact,
.oam-fiche {
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	border-radius: 20px;
}
.oam-contact-ecrire { background: var(--wp--preset--color--accent-5); border-left: 6px solid #15c1b2; }
.oam-carte-contact { border: 2px solid var(--wp--preset--color--accent-5); }
.oam-contact-colonnes { gap: clamp(1rem, 3vw, 1.75rem) !important; margin: 1.5rem 0 2.5rem !important; }
.oam-contact-colonnes > .wp-block-column { display: flex; }
.oam-contact-colonnes > .wp-block-column > * { flex: 1; }
.oam-contact-ecrire h2, .oam-carte-contact h2 { margin-top: 0; font-size: 1.5rem; }
.oam-contact-ecrire > *, .oam-carte-contact > *, .oam-fiche > * { margin-top: 0; margin-bottom: 0.75rem; }
.oam-contact-ecrire .wp-block-buttons, .oam-carte-contact .wp-block-buttons { margin-top: 1.25rem; margin-bottom: 0; }
.oam-fiche { background: var(--wp--preset--color--accent-5); border-top: 5px solid #7100a5; }
.oam-contact-colonnes > .wp-block-column:nth-child(2) .oam-fiche { border-top-color: #ffb300; }
.oam-fiche__nom { font-size: 1.25rem; }
.oam-etiquette {
	display: inline-block;
	padding: 0.2em 0.8em;
	border-radius: 999px;
	background: #7100a5;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}
main .oam-reseaux { margin-top: 1rem; }

/* ---------- Programme ---------- */
.oam-programme__mois {
	margin: 2rem 0 1rem;
	font-size: 1.3rem;
}
.oam-programme__grille {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.25rem;
}
.oam-evt {
	display: flex;
	gap: 1rem;
	padding: 1.25rem;
	border-radius: 20px;
	background: var(--wp--preset--color--accent-5);
	border-left: 6px solid var(--c, #15c1b2);
}
.oam-evt:nth-child(4n + 2) { --c: #7100a5; }
.oam-evt:nth-child(4n + 3) { --c: #ffb300; }
.oam-evt:nth-child(4n + 4) { --c: #ac0000; }
.oam-evt--brouillon { outline: 2px dashed #ffb300; outline-offset: -2px; }
.oam-evt__date {
	flex: 0 0 64px;
	height: 64px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	box-shadow: var(--oam-ombre);
	line-height: 1;
}
.oam-evt__jour { font-size: 1.6rem; font-weight: 800; }
.oam-evt__mois { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; color: var(--wp--preset--color--accent-1); }
.oam-evt__titre { margin: 0 0 0.3rem; font-size: 1.1rem; }
.oam-evt__titre a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.oam-evt__titre a:hover { color: var(--wp--preset--color--accent-1); }
.oam-evt__infos { margin: 0 0 0.5rem; font-size: 0.85rem; font-weight: 700; color: var(--wp--preset--color--accent-6); }
.oam-evt__resume { margin: 0 0 0.5rem; font-size: 0.95rem; }
.oam-evt__liens { margin: 0; font-size: 0.9rem; }
.oam-evt-infos {
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-5);
	border-left: 6px solid #15c1b2;
}
.oam-evt-infos p { margin: 0.3rem 0; }

/* ---------- Lives programmés (planning Twitch + Charmi) ---------- */
.oam-lives-prog { margin: 2.5rem 0; }
.oam-lives-prog__intro { margin: 0 0 1rem; color: var(--wp--preset--color--accent-6); }
.oam-lives-prog__filtres { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 1.25rem; }
.oam-lives-prog__filtres button {
	font: inherit; font-size: 0.9rem; font-weight: 700; cursor: pointer;
	padding: 0.35rem 0.9rem; border-radius: 99px;
	border: 2px solid var(--wp--preset--color--accent-1); background: transparent; color: var(--wp--preset--color--contrast);
}
.oam-lives-prog__filtres button.est-actif { background: var(--wp--preset--color--accent-1); color: #fff; }
/* Les jours côte à côte (comme un agenda de la semaine), les lives empilés dans chaque jour. */
.oam-lives-prog__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem 1rem; align-items: start; }
.oam-lives-prog__jour h3 { margin: 0 0 0.6rem; font-size: 1.05rem; }
.oam-lives-prog__jour ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.oam-live {
	display: flex; gap: 1rem; align-items: flex-start;
	padding: 0.9rem 1.1rem; border-radius: 16px;
	background: var(--wp--preset--color--accent-5); border-left: 6px solid var(--c, #15c1b2);
}
/* Couleurs de l'équipe, par chaîne Twitch (lives programmés et lecteurs en direct) :
   bleu = Cédric / oneairmediaoff · violet = Élodie / lodine33 · rouge = Charlotte / chanamye
   jaune = Stéphanie (chaîne à venir : ajouter sa ligne ici) et toute chaîne pas encore listée.
   --c : couleur de la bordure ; --t : couleur du nom, assez contrastée sur le fond de la carte. */
[data-chaine] { --c: #ffb300; --t: #8a6d00; }
[data-chaine="oneairmediaoff"] { --c: #15c1b2; --t: #0b7d73; }
[data-chaine="lodine33"] { --c: #7100a5; --t: #7100a5; }
[data-chaine="chanamye"] { --c: #ac0000; --t: #ac0000; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) [data-chaine] { --t: #ffb300; }
	:root:not([data-theme="light"]) [data-chaine="oneairmediaoff"] { --t: #15c1b2; }
	:root:not([data-theme="light"]) [data-chaine="lodine33"] { --t: #c98bf5; }
	:root:not([data-theme="light"]) [data-chaine="chanamye"] { --t: #ff7a7a; }
}
:root[data-theme="dark"] [data-chaine] { --t: #ffb300; }
:root[data-theme="dark"] [data-chaine="oneairmediaoff"] { --t: #15c1b2; }
:root[data-theme="dark"] [data-chaine="lodine33"] { --t: #c98bf5; }
:root[data-theme="dark"] [data-chaine="chanamye"] { --t: #ff7a7a; }
.oam-live[hidden], .oam-lives-prog__jour[hidden] { display: none; }
/* Live posté par l'équipe, avec image : l'image en fond de la carte, voile sombre pour lire le texte.
   Au survol (ou au clavier) : l'image zoome un peu, le voile fonce et la description apparaît.
   Sans survol possible (téléphone, tablette) : description toujours visible. */
.oam-live__desc { font-size: 0.88rem; line-height: 1.45; color: var(--wp--preset--color--contrast); opacity: 0.85; }
.oam-live--image {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: 230px; align-items: flex-end;
	color: #fff; background: #14111a;
}
.oam-live--image::before {
	content: ""; position: absolute; inset: 0; z-index: -2;
	background: var(--img) center / cover no-repeat;
	transition: transform 0.6s ease;
}
.oam-live--image::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background-color: rgba(12, 8, 18, 0);
	background-image: linear-gradient(to top, rgba(12, 8, 18, 0.95) 0%, rgba(12, 8, 18, 0.6) 50%, rgba(12, 8, 18, 0.1) 100%);
	transition: background-color 0.35s ease;
}
.oam-live--image { padding-top: 4.4rem; } /* place pour l'heure, posée sur l'image */
.oam-live--image .oam-live__heure {
	position: absolute; top: 0.8rem; left: 1.1rem; padding: 0.35rem 0.6rem; border-radius: 10px;
	background: rgba(12, 8, 18, 0.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.oam-live--image .oam-live__titre { font-size: 1.3rem; text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5); }
.oam-live--image .oam-live__theme {
	align-self: flex-start; margin: 0.3rem 0 0.15rem; padding: 0.2rem 0.8rem 0.2rem 0.95rem; border-radius: 99px;
	font-size: 0.85rem; background: rgba(255, 255, 255, 0.94); color: #14111a; box-shadow: inset 5px 0 0 var(--c);
}
.oam-live--image .oam-live__chaine { color: #fff; }
.oam-live--image .oam-live__chaine::before { content: ""; display: inline-block; width: 0.6em; height: 0.6em; margin-right: 0.4em; border-radius: 50%; background: var(--c); }
.oam-live--image .oam-live__heure small,
.oam-live--image .oam-live__infos { color: rgba(255, 255, 255, 0.8); }
.oam-live--image .oam-live__infos a { color: #fff; }
.oam-live--image .oam-live__desc {
	color: #fff; opacity: 0; max-height: 0; overflow: hidden;
	transition: max-height 0.45s ease, opacity 0.35s ease, margin 0.35s ease;
}
.oam-live--image:is(:hover, :focus-within)::before { transform: scale(1.07); }
.oam-live--image:is(:hover, :focus-within)::after { background-color: rgba(12, 8, 18, 0.55); }
.oam-live--image:is(:hover, :focus-within) .oam-live__desc { opacity: 1; max-height: 10em; margin: 0.2rem 0; }
@media (hover: none) {
	.oam-live--image .oam-live__desc { opacity: 1; max-height: none; }
}
@media (prefers-reduced-motion: reduce) {
	.oam-live--image::before, .oam-live--image .oam-live__desc { transition: none; }
	.oam-live--image:is(:hover, :focus-within)::before { transform: none; }
}
.oam-live__heure { flex: 0 0 4.2rem; display: flex; flex-direction: column; font-size: 1.15rem; font-weight: 800; line-height: 1.2; }
.oam-live__heure strong { color: #ac0000; font-size: 0.95rem; }
.oam-live__heure small { font-size: 0.72rem; font-weight: 600; color: var(--wp--preset--color--accent-6); }
.oam-live__corps { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.oam-live__chaine { font-weight: 800; text-decoration: none; color: var(--t, var(--c)); }
.oam-live__chaine:hover { text-decoration: underline; }
/* Titre et thématique : les deux informations principales d'un live. */
.oam-live__theme {
	font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--t, var(--c)); margin-top: 0.1rem;
}
.oam-live__titre { font-size: 1.08rem; font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.oam-live__infos { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; align-items: center; font-size: 0.8rem; color: var(--wp--preset--color--accent-6); }
.oam-live__genre { font-weight: 700; padding: 0.05rem 0.55rem; border-radius: 99px; color: #fff; background: #0b7d73; }
.oam-live__genre--jeu { background: #7100a5; }
.oam-live__genre--discussion { background: #8a6d00; }
.oam-live__genre--evenement { background: #ac0000; }
.oam-evt__twitch::before { content: "● "; color: #ac0000; }

/* ---------- Live Twitch ---------- */
.oam-twitch {
	margin: 0 0 2rem;
	padding: 1rem;
	border-radius: 24px;
	background: #14111a;
	color: #fff;
	box-shadow: 0 0 0 3px #9146ff, var(--oam-ombre);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.5s, transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.oam-twitch--visible { opacity: 1; transform: none; }
.oam-twitch__entete { margin: 0 0 0.75rem; font-weight: 800; }
.oam-twitch__point {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 0.5rem;
	border-radius: 50%;
	background: #ff3b3b;
	animation: oam-direct 1.4s ease-in-out infinite;
}
.oam-twitch__titre { font-weight: 500; opacity: 0.85; }
/* Plusieurs chaînes en direct : la principale en grand sur toute la largeur, les autres côte à côte. */
.oam-twitch__grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}
.oam-twitch__carte--principale { grid-column: 1 / -1; }
.oam-twitch__nom { margin: 0 0 0.5rem; font-weight: 800; }
.oam-twitch__nom a { color: #fff; text-decoration-color: #9146ff; }
.oam-twitch__lecteur { aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; }
/* Couleur de la personne (voir « Couleurs de l'équipe ») : pastille devant le nom, cadre autour du lecteur. */
.oam-twitch__carte[data-chaine] .oam-twitch__nom a::before {
	content: ""; display: inline-block; width: 0.7em; height: 0.7em; margin-right: 0.45em; border-radius: 50%; background: var(--c);
}
.oam-twitch__carte[data-chaine] .oam-twitch__lecteur { box-shadow: 0 0 0 3px var(--c); }
.oam-twitch__lecteur iframe { width: 100%; height: 100%; border: 0; }
@keyframes oam-direct { 50% { opacity: 0.25; } }

/* ---------- Accueil ---------- */
/* Page d'accueil (modèle « accueil ») : grand espace entre ses sections.
   (La largeur de la carte et du contenu est réglée pour toutes les pages, voir « Carte principale ».) */
.page-template-accueil main .wp-block-post-content > * + * {
	margin-top: clamp(2.5rem, 6vw, 5rem);
}
.oam-hero p { max-width: 65ch; } /* longueur de ligne confortable à lire */
/* sélecteur plus précis que la règle « Carte principale », pour garder le texte de l'encart artistes centré */
main.wp-block-group .oam-appel > p { max-width: 70ch !important; margin-left: auto !important; margin-right: auto !important; }

/* Plus d'air dans les grilles (toutes les pages) */
.oam-videos__vedette,
.oam-videos__grille,
.wp-block-post-template.is-layout-grid,
.oam-programme__grille {
	gap: clamp(1.25rem, 2.5vw, 2rem);
}
.oam-evt { padding: 1.5rem; }
.wp-block-post-template.is-layout-grid > li {
	padding: 1.25rem 1.5rem;
	border-radius: 20px;
	background: var(--wp--preset--color--accent-5);
}
.page-template-accueil main .wp-block-post-content > .oam-section-titre + * {
	margin-top: 1rem; /* le contenu reste près de son titre de section */
}
/* Live caché : il ne prend aucune place, l'espace normal entre sections est gardé. */
.oam-twitch[hidden] { display: none !important; }
/* Accueil sur ordinateur : colonne principale (vidéos, articles) + colonne latérale (rendez-vous, appel).
   Sur téléphone, le bloc Colonnes de WordPress empile les deux colonnes. */
.oam-colonnes {
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	align-items: flex-start !important;
	margin-bottom: 0;
}
.oam-colonnes > .wp-block-column > * { margin-top: 0; margin-bottom: 0; }
.oam-colonnes > .wp-block-column > * + * { margin-top: clamp(2rem, 5vw, 3.5rem); }
.oam-colonnes > .wp-block-column > .oam-section-titre + * { margin-top: 1rem; }
.oam-colonne-cote .oam-programme__grille { grid-template-columns: 1fr; }
.oam-colonne-cote .oam-programme__mois { margin-top: 1rem; font-size: 1.05rem; }
.oam-colonne-cote .oam-appel { padding: 1.5rem; }
@media (min-width: 782px) {
	.oam-colonne-cote {
		position: sticky;
		top: calc(var(--oam-bandeau) + var(--wp-admin--admin-bar--height, 0px) + 1rem);
	}
}
.oam-hero {
	padding: clamp(2rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem) !important;
	border-radius: 28px;
	background:
		linear-gradient(120deg, rgba(113, 0, 165, 0.94), rgba(21, 193, 178, 0.88)),
		url(assets/fond-motif.png) center / cover;
	color: #fff;
}
.oam-hero h1, .oam-hero h2, .oam-hero p { color: #fff; }
.oam-hero h1 { font-size: clamp(2.2rem, 6vw, 4rem); max-width: 16ch; }
.oam-hero .wp-block-button__link { background: #ffb300; color: #141414; }
.oam-hero .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: #fff; border: 2px solid #fff; }
/* Liens « Toutes les vidéos », « Tous les articles », « Tout le programme » : petite pastille discrète. */
.oam-section-titre p { margin: 0; }
.oam-section-titre { align-items: center !important; }
.oam-section-titre p a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.9rem;
	border: 2px solid var(--wp--preset--color--accent-5);
	border-radius: 999px;
	color: var(--wp--preset--color--accent-1);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s, border-color 0.2s;
}
.oam-section-titre p a:hover {
	background: var(--wp--preset--color--accent-5);
	border-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}
.oam-section-titre {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.oam-appel {
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: 28px;
	background: var(--wp--preset--color--accent-5);
	border-top: 8px solid #ffb300;
	text-align: center;
}
.oam-appel .wp-block-buttons { justify-content: center; }
.oam-appel h2::after { margin-left: auto; margin-right: auto; } /* petit bandeau 4 couleurs centré sous le titre */

@media (prefers-reduced-motion: reduce) {
	.oam-twitch, .oam-video__vignette img, .oam-video__lecture { transition: none; }
	.oam-twitch__point { animation: none; }
}

/* ---------- Bouton clair / sombre ---------- */
.oam-mode {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 100;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 3px solid #15c1b2;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: var(--oam-ombre);
	transition: transform 0.2s, border-color 0.2s;
}
.oam-mode:hover {
	border-color: #ffb300;
	transform: rotate(180deg);
}
.oam-mode:focus-visible {
	outline: 3px solid #ffb300;
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.oam-mode { transition: none; }
}

/* ---------- Page Articles et résultats de recherche (templates/home.html, search.html — OAM-27, 20/10) ----------
   Encarts : image, date, titre, extrait ; barre de recherche limitée aux articles. */
.oam-articles-recherche { margin: 1.5rem 0 2rem; }
.oam-articles-recherche .wp-block-search__inside-wrapper { max-width: 640px; border: 0; padding: 0; }
.oam-articles-recherche .wp-block-search__input {
	padding: 0.85rem 1.25rem 0.85rem 3rem;
	border: 2px solid var(--wp--preset--color--accent-5);
	border-radius: 999px;
	background: var(--wp--preset--color--base) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237100a5' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 1.1rem center / 1.1rem;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: 1rem;
}
.oam-articles-recherche .wp-block-search__input:focus { outline: none; border-color: var(--wp--preset--color--accent-1); box-shadow: 0 0 0 4px rgba(113, 0, 165, 0.12); }

.oam-articles .wp-block-post-template.is-layout-grid > li {
	display: flex;
	flex-direction: column;
	padding: 0;
	overflow: hidden;
	box-shadow: var(--oam-ombre);
	transition: transform 0.25s, box-shadow 0.25s;
}
.oam-articles .wp-block-post-template.is-layout-grid > li:hover { transform: translateY(-4px); }
.oam-article__image { margin: 0; }
.oam-article__image img { transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.oam-articles li:hover .oam-article__image img { transform: scale(1.05); }
.oam-article__texte { gap: 0.5rem; padding: 1.25rem 1.5rem 1.5rem; flex: 1; }
.oam-article__date {
	color: var(--wp--preset--color--accent-1);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.oam-article__titre { margin: 0; font-size: 1.2rem; line-height: 1.3; }
.oam-article__titre a { text-decoration: none; color: var(--wp--preset--color--contrast); }
.oam-article__titre a:hover { color: var(--wp--preset--color--accent-1); }
.oam-article__extrait { margin: 0; font-size: 0.95rem; }
.oam-article__extrait .wp-block-post-excerpt__excerpt { margin: 0; }
.oam-article__extrait .wp-block-post-excerpt__more-text { margin: 0.75rem 0 0; }
.oam-articles .wp-block-query-pagination { margin-top: 2.5rem; }
@media (prefers-reduced-motion: reduce) {
	.oam-articles .wp-block-post-template.is-layout-grid > li,
	.oam-article__image img { transition: none; transform: none !important; }
}

/* ---------- Article seul (templates/single.html — OAM-28, 20/10) ----------
   En-tête centré, colonne de lecture ~740 px (vidéo comprise), encarts, « D'autres portraits » en bas. */
.oam-article { --oam-colonne: 46rem; }
.oam-article__entete { max-width: 56rem; margin: 0 auto 2.5rem !important; text-align: center; }
.oam-article__retour { margin: 0 0 1.25rem; font-size: 0.85rem; }
.oam-article__retour a { text-decoration: none; }
.oam-article__rubrique { margin: 0 0 1rem; }
.oam-article__rubrique a {
	display: inline-block;
	padding: 0.25em 0.9em;
	border-radius: 999px;
	background: #ffb300;
	color: #141414;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}
.oam-article__rubrique .wp-block-post-terms__separator { display: none; }
.oam-article__grand-titre { margin: 0; font-size: clamp(1.9rem, 4.2vw, 3.2rem); line-height: 1.15; text-wrap: balance; }
.oam-article__infos { gap: 0.4rem 1.25rem; margin-top: 1.1rem; color: var(--wp--preset--color--accent-6); font-size: 0.9rem; font-weight: 600; }
.oam-article__infos > * { margin: 0; }
.oam-article__infos > * + *::before { content: "·"; margin-right: 1.25rem; }
.oam-article__une { max-width: 70rem; margin: 0 auto 2.5rem !important; border-radius: 24px; overflow: hidden; box-shadow: var(--oam-ombre); }

/* Colonne de lecture : tout le contenu (texte, vidéo, encarts) garde la même largeur. */
main.wp-block-group .oam-article__corps { max-width: var(--oam-colonne); margin: 0 auto !important; font-size: 1.075rem; line-height: 1.75; }
main.wp-block-group .oam-article__corps > * { max-width: 100% !important; }
.oam-article__corps > p:first-child { font-size: 1.25rem; line-height: 1.6; font-weight: 600; }
.oam-article__corps > h2 { margin-top: 2.75rem; font-size: clamp(1.35rem, 2.4vw, 1.7rem); }
.oam-article__corps .wp-block-embed { margin: 2.25rem 0; }
.oam-article__corps .wp-block-embed__wrapper { border-radius: 20px; overflow: hidden; box-shadow: var(--oam-ombre); background: #141414; }
.oam-article__corps .wp-block-embed figcaption { text-align: center; font-size: 0.85rem; color: var(--wp--preset--color--accent-6); }
.oam-article__corps blockquote {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	border: 0;
	border-left: 6px solid #15c1b2;
	border-radius: 0 16px 16px 0;
	background: var(--wp--preset--color--accent-5);
	font-size: 1.15rem;
	font-weight: 600;
}
.oam-article__corps .oam-mention-ia {
	margin-top: 2rem;
	padding: 0.85rem 1.1rem;
	border-radius: 14px;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--accent-6);
	font-size: 0.85rem;
	line-height: 1.5;
}
.oam-article__corps .oam-mention-ia::before { content: "ℹ︎ "; font-weight: 800; color: var(--wp--preset--color--accent-1); }

/* D'autres portraits : cachée s'il n'y a pas d'autre article. */
.oam-article__suite {
	margin: 4rem 0 0 !important;
	padding-top: 2.5rem;
	border-top: 2px solid var(--wp--preset--color--accent-5);
}
.oam-article__suite:has(.wp-block-query-no-results) { display: none; }
.oam-article__suite-titre { margin: 0 0 1.5rem; text-align: center; }
.oam-article__suite .oam-article__titre { font-size: 1.05rem; }

/* ---------- Rubriques (templates/archive.html — 20/10) : mêmes encarts que la page Articles ---------- */
.oam-archive__surtitre {
	display: inline-block;
	margin: 0 0 0.75rem;
	padding: 0.25em 0.9em;
	border-radius: 999px;
	background: #ffb300;
	color: #141414;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.archive main .wp-block-query-title { margin-top: 0; }
.archive main .wp-block-term-description { color: var(--wp--preset--color--accent-6); }
