/*
Theme Name: Actu commun
Description: Thème commun des sites d'actualité automatiques (Mes Fins de Mois, Coup de Phare, Petit Écran). Chaque site l'habille par son thème enfant.
Version: 0.1.0
Requires PHP: 8.1
Text Domain: actu-commun
*/

/* ---------- Réglages (remplacés par chaque thème enfant) ---------- */
:root {
	--encre: #0E1B2C;
	--accent: #FFD23F;
	--fond: #FFFFFF;
	--doux: #F5F6F4;
	--doux-ligne: #E1E4E0;
	--ligne: #E3E6EA;
	--ligne-forte: #D5DAE0;
	--gris: #556070;
	--texte: #1A2533;
	--chapo: #2C3645;
	--survol: #1F4FB8;
	--entete-fond: #FFFFFF;
	--entete-texte: var(--encre);
	--entete-ligne: var(--ligne);
	--entete-bouton-bord: var(--ligne);
	--pastille-fond: #F1F3F5;
	--pastille-texte: var(--encre);
	--pastille-active-fond: var(--encre);
	--pastille-active-texte: #FFFFFF;
	--pastille-contour: var(--ligne-forte);
	--rayon-pastille: 999px;
	--rayon-image: 16px;
	--rayon-carte: 18px;
	--police-titre: system-ui, sans-serif;
	--police-ui: system-ui, sans-serif;
	--police-lecture: Georgia, serif;
	--titre-graisse: 800;
	--titre-casse: none;
	--titre-espacement: -0.025em;
	--titre-interligne: 1.08;
	--titre-echelle: 1;
	--section-casse: none;
	--essentiel-fond: var(--doux);
	--essentiel-texte: var(--texte);
	--essentiel-ligne: var(--doux-ligne);
	--pied-fond: var(--encre);
	--pied-texte: #FFFFFF;
	--pied-doux: #D6DCE4;
	--pub-fond: #F1F2F4;
	--pub-bord: #C3C8D0;
	--pub-texte: #5A6270;
	--image-vide: #DCE3EA;
	--largeur: 1200px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 150px; }
body {
	margin: 0;
	background: var(--fond);
	color: var(--encre);
	font-family: var(--police-ui);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--encre); }
a:hover { color: var(--survol); }
.t { text-decoration: none; }
.t:hover { text-decoration: underline; text-underline-offset: 3px; }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--survol); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--police-titre); }

.conteneur { width: 100%; max-width: var(--largeur); margin-inline: auto; padding-inline: 16px; }
.visuellement-cache {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.evitement { position: absolute; left: 8px; top: -60px; z-index: 50; background: var(--encre); color: #FFF; padding: 10px 16px; border-radius: 8px; }
.evitement:focus { top: 8px; color: #FFF; }
.defile { display: flex; gap: 8px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.defile::-webkit-scrollbar { display: none; }
.mobile-seul { display: block; }
.ordi-seul, .ordi-large, .ordi-seul-inline { display: none; }
@media (min-width: 768px) {
	.conteneur { padding-inline: 24px; }
	.mobile-seul { display: none; }
	.ordi-seul { display: block; }
	.ordi-seul-inline { display: inline-flex; }
}
@media (min-width: 1100px) {
	.ordi-large { display: block; }
}

/* ---------- Boutons et pastilles ---------- */
.bouton-rond {
	flex: none; width: 44px; height: 44px; border-radius: 999px;
	border: 1px solid var(--ligne); background: var(--fond); color: var(--encre);
	display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.bouton-rond:hover { color: var(--survol); }
.bouton-rond.est-copie { background: var(--accent); color: var(--encre); }
.bouton {
	min-height: 48px; padding: 0 22px; border-radius: var(--rayon-pastille); border: 0;
	background: var(--encre); color: var(--fond); font-weight: 700; cursor: pointer;
	display: inline-flex; align-items: center; text-decoration: none;
}
.bouton--contour { background: transparent; color: var(--encre); border: 1.5px solid var(--encre); margin-top: 20px; }
.bouton--contour:hover { background: var(--encre); color: var(--fond); }
.pastille {
	display: inline-flex; align-items: center; flex: none; min-height: 44px; padding: 0 16px;
	border-radius: var(--rayon-pastille); background: var(--pastille-fond); color: var(--pastille-texte);
	text-decoration: none; font-weight: 600; font-size: 15px;
}
.pastille:hover { color: var(--pastille-texte); filter: brightness(0.96); }
.pastille.est-active { background: var(--pastille-active-fond); color: var(--pastille-active-texte); }
.pastille--petite { padding: 0 14px; font-size: 14px; }
.pastille--contour { background: transparent; border: 1px solid var(--pastille-contour); color: var(--encre); }
.pastille--contour:hover { border-color: var(--encre); color: var(--encre); }
.pastilles { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- En-tête ---------- */
.entete { background: var(--entete-fond); color: var(--entete-texte); border-bottom: 1px solid var(--entete-ligne); }
.entete a { color: var(--entete-texte); }
.entete .bouton-rond { background: transparent; color: var(--entete-texte); border-color: var(--entete-bouton-bord); }
@media (min-width: 768px) {
	.entete { position: sticky; top: 0; z-index: 20; }
	.admin-bar .entete { top: 32px; }
}
.entete__barre { display: flex; align-items: center; gap: 10px; padding-top: 12px; padding-bottom: 8px; }
.entete__espace { flex: 1; }
.logo { display: flex; align-items: center; gap: 9px; text-decoration: none; min-width: 0; }
.logo__image { flex: none; }
.logo__nom {
	font-family: var(--police-titre); font-weight: var(--titre-graisse); font-size: 20px;
	letter-spacing: var(--logo-espacement, -0.02em); text-transform: var(--logo-casse, none); white-space: nowrap;
}
.entete__raccourci {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px;
	padding: 0 10px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 15px;
}
.entete__raccourci-texte { display: none; }
.rubriques { padding-bottom: 10px; }
.entete .rubriques .pastille { color: var(--pastille-texte); }
.entete .rubriques .pastille.est-active { color: var(--pastille-active-texte); }
@media (min-width: 768px) {
	.entete__barre { padding-top: 14px; padding-bottom: 10px; gap: 12px; }
	.logo { gap: 10px; }
	.logo__nom { font-size: calc(23px * var(--logo-echelle, 1)); }
	.entete__raccourci { padding: 0 14px; }
	.entete__raccourci-texte { display: inline; }
	.rubriques { padding-bottom: 12px; }
	.rubriques .pastille { padding: 0 18px; }
}
.recherche { display: flex; gap: 8px; padding-bottom: 12px; }
.recherche[hidden] { display: none; }
.recherche input {
	flex: 1; min-width: 0; min-height: 48px; padding: 0 16px; border-radius: 12px;
	border: 1px solid var(--ligne-forte); background: #FFF; color: #0E1B2C; font-size: 16px;
}
.recherche--page { max-width: 640px; padding: 8px 0 24px; }

/* Bandeau du temps fort (accueil) */
.bandeau { display: block; background: var(--accent); color: var(--bandeau-texte, var(--encre)); text-decoration: none; }
.bandeau:hover { color: var(--bandeau-texte, var(--encre)); }
.bandeau__contenu { display: flex; align-items: center; gap: 8px; padding-top: 10px; padding-bottom: 10px; font-size: 15px; white-space: nowrap; }
.bandeau__contenu strong { font-weight: 800; }
.bandeau__contenu svg { flex: none; margin-left: auto; }
.bandeau__long { display: none; }
.bandeau__court { overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 768px) {
	.bandeau__contenu { gap: 8px 12px; padding-top: 12px; padding-bottom: 12px; font-size: 16px; flex-wrap: wrap; white-space: normal; }
	.bandeau__contenu svg { margin-left: 0; }
	.bandeau__long { display: inline; }
	.bandeau__court { display: none; }
}

/* ---------- Titres de section ---------- */
.titre-section {
	margin: 0 0 8px; font-size: calc(21px * var(--titre-echelle)); letter-spacing: -0.02em;
	font-weight: var(--titre-graisse); text-transform: var(--section-casse);
}
.titre-section__aide { margin: 0 0 12px; color: var(--gris); font-size: 15px; }
.titre-encart { margin: 0 0 14px; font-size: calc(20px * var(--titre-echelle)); font-weight: var(--titre-graisse); text-transform: var(--section-casse); }
@media (min-width: 768px) { .titre-section { font-size: calc(28px * var(--titre-echelle)); } }

/* ---------- Cartes ---------- */
.image-169 { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: var(--rayon-image); background: var(--image-vide); }
.image-169--vide { background: var(--image-vide); }
.surtitre { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gris); }
.meta { font-size: 13px; color: var(--gris); }
.carte { min-width: 0; }
.carte__titre { margin: 0; font-weight: 700; line-height: 1.28; }
.carte__chapo { margin: 0; font-family: var(--police-lecture); font-size: 15px; line-height: 1.5; color: var(--chapo); }
.carte--une { display: flex; flex-direction: column; gap: 10px; }
.carte--une .carte__titre {
	font-size: calc(26px * var(--titre-echelle)); line-height: var(--titre-interligne); letter-spacing: var(--titre-espacement);
	font-weight: var(--titre-graisse); text-transform: var(--titre-casse);
}
.carte--une .carte__chapo { font-size: 17px; }
.carte--liste { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--ligne); }
.carte--liste .carte__image { flex: none; width: 112px; }
.carte--liste .image-169 { border-radius: calc(var(--rayon-image) * 0.6); }
.carte--liste .carte__texte { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.carte--liste .carte__titre { font-size: 16px; line-height: 1.3; }
.carte--fil .carte__heure { flex: none; width: 50px; font-weight: 700; font-size: 14px; font-variant-numeric: tabular-nums; }
.carte--colonne { display: flex; flex-direction: column; gap: 10px; }
.carte--colonne .carte__titre { font-size: 18px; line-height: 1.3; }
.carte--colonne .image-169 { border-radius: calc(var(--rayon-image) * 0.75); }
@media (min-width: 768px) {
	.surtitre { font-size: 12px; }
	.meta { font-size: 14px; }
	.carte--une .carte__titre { font-size: calc(42px * var(--titre-echelle)); }
	.carte--une .carte__chapo { font-size: 20px; }
	.carte--liste { gap: 20px; padding: 18px 0; }
	.carte--liste .carte__titre { font-size: 20px; }
	.carte--liste .carte__image { width: 200px; }
	.carte--liste .carte__chapo { font-size: 16px; }
	.carte--fil .carte__heure { width: 56px; font-size: 15px; }
	.carte--colonne .carte__titre { font-size: 19px; }
}
.vide { padding: 48px 0; color: var(--gris); font-size: 18px; }

/* ---------- Accueil ---------- */
.pub-haut { padding-top: 14px; }
.accueil { padding-top: 14px; display: flex; flex-direction: column; gap: 32px; }
.une { display: flex; flex-wrap: wrap; gap: 24px 40px; }
.une__principale { flex: 2 1 560px; min-width: 0; }
.une__principale:only-child { max-width: 760px; }
.une__liste { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; }
.une__liste .carte--liste:first-child { border-top: 0; padding-top: 0; }
.une__liste .carte__image { width: 120px; }
.une__liste .carte__titre { font-size: 17px; line-height: 1.25; }
@media (min-width: 768px) {
	.pub-haut { padding-top: 24px; }
	.accueil { padding-top: 32px; gap: 56px; }
	.une__liste .carte__titre { font-size: 19px; }
	.une__liste .carte--liste { gap: 14px; }
}
.deux-colonnes { display: flex; flex-wrap: wrap; gap: 32px 48px; }
.deux-colonnes__principale { flex: 999 1 560px; min-width: 0; }
.deux-colonnes__cote { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.fil .carte--liste:last-of-type { border-bottom: 1px solid var(--ligne); }
.par-rubrique__grille { display: flex; flex-wrap: wrap; gap: 20px; }
.par-rubrique__colonne { flex: 1 1 200px; min-width: 0; border-top: 3px solid var(--encre); padding-top: 14px; display: flex; flex-direction: column; gap: 12px; }
.par-rubrique__nom { font-family: var(--police-titre); font-size: 20px; font-weight: var(--titre-graisse); text-transform: var(--section-casse); }
.par-rubrique__lien { font-size: 16px; line-height: 1.35; font-weight: 600; }

/* ---------- Rubrique ---------- */
.tete-rubrique { display: flex; flex-direction: column; gap: 10px; padding: 14px 0 12px; border-bottom: 1px solid var(--ligne); }
.tete-rubrique__titre {
	margin: 0; font-size: calc(26px * var(--titre-echelle)); line-height: 1; letter-spacing: -0.03em;
	font-weight: var(--titre-graisse); text-transform: var(--section-casse);
}
.pastilles-sous { gap: 6px; margin-right: -16px; padding-right: 16px; }
.pastilles-sous .pastille { background: var(--sous-fond, var(--pastille-fond)); }
.pastilles-sous .pastille.est-active { background: var(--pastille-active-fond); color: var(--pastille-active-texte); }
@media (min-width: 768px) {
	.tete-rubrique { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 24px; padding: 18px 0 14px; }
	.tete-rubrique__titre { font-size: calc(36px * var(--titre-echelle)); }
	.pastilles-sous { flex: 1 1 320px; min-width: 0; margin-right: 0; padding-right: 0; }
}
.rubrique { padding-top: 20px; }
.rubrique .une { gap: 24px 32px; margin-bottom: 32px; }
.une--rubrique .une__principale { flex: 3 1 440px; }
.une--rubrique .carte--une .carte__titre { font-size: calc(24px * var(--titre-echelle)); }
.une__colonne { flex: 2 1 280px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.une__colonne .carte__titre { font-size: 19px; line-height: 1.25; }
@media (min-width: 768px) {
	.rubrique { padding-top: 32px; }
	.une--rubrique .carte--une .carte__titre { font-size: calc(34px * var(--titre-echelle)); }
	.une__colonne .carte__titre { font-size: 21px; }
}
.derniers .carte--liste:last-of-type { border-bottom: 1px solid var(--ligne); }
.apropos { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--ligne); max-width: 760px; }
.apropos h2 { margin: 0 0 8px; font-size: 16px; font-weight: 700; font-family: var(--police-ui); text-transform: none; }
.apropos p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--chapo); }
.plume { display: flex; gap: 16px; align-items: center; padding: 16px 0; max-width: 760px; }
.plume p { margin: 0; color: var(--chapo); }

/* ---------- Article ---------- */
.lecture { padding-top: 16px; }
.lecture__colonnes { display: flex; gap: 48px; align-items: flex-start; justify-content: center; }
.article { flex: 1 1 0; min-width: 0; max-width: 720px; display: flex; flex-direction: column; gap: 14px; }
.ariane { display: none; font-size: 14px; color: var(--gris); gap: 8px; flex-wrap: wrap; }
.ariane a { color: var(--gris); }
.article__surtitre { align-self: flex-start; }
.article__titre {
	margin: 0; font-size: calc(29px * var(--titre-echelle)); line-height: var(--titre-interligne); letter-spacing: var(--titre-espacement);
	font-weight: var(--titre-graisse); text-transform: var(--titre-casse);
}
.article__chapo { margin: 0; font-family: var(--police-lecture); font-size: 18px; line-height: 1.5; color: var(--chapo); font-weight: var(--chapo-graisse, 400); }
.signature { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); }
.auteur__initiales, .auteur__portrait {
	flex: none; border-radius: 999px; background: var(--initiales-fond, var(--accent)); color: var(--initiales-texte, var(--encre));
	display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; object-fit: cover;
}
.signature__texte { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.signature__nom { font-size: 14px; }
.signature__nom a:first-child { font-weight: 700; }
.signature__methode { color: var(--gris); }
.signature__dates { font-size: 13px; color: var(--gris); }
.signature__boutons { display: flex; gap: 8px; }
.bouton-rond.ordi-seul-inline { display: none; }
@media (min-width: 768px) { .bouton-rond.ordi-seul-inline { display: inline-flex; } }
.signature .bouton-rond { border-color: var(--ligne); }
.article__image { margin: 4px 0 0; display: flex; flex-direction: column; gap: 6px; }
.article__image figcaption { font-size: 12px; color: var(--gris); }
@media (min-width: 768px) {
	.lecture { padding-top: 28px; }
	.article { gap: 18px; }
	.ariane { display: flex; }
	.article__surtitre { display: none; }
	.article__titre { font-size: calc(46px * var(--titre-echelle)); }
	.article__chapo { font-size: 22px; }
	.signature { gap: 14px; padding: 14px 0; flex-wrap: wrap; }
	.signature__nom { font-size: 15px; }
	.signature__dates { font-size: 14px; }
	.article__image { margin-top: 6px; gap: 8px; }
	.article__image figcaption { font-size: 13px; }
}

/* Texte de l'article (blocs du moteur) */
.article__texte { font-family: var(--police-lecture); font-size: 18px; line-height: 1.6; color: var(--texte); display: flex; flex-direction: column; gap: 16px; }
.article__texte > * { margin: 0; }
.article__texte h2, .article__texte h3 {
	margin-top: 6px; font-family: var(--police-titre); line-height: 1.2; letter-spacing: -0.015em; font-weight: var(--titre-graisse); color: var(--encre);
}
.article__texte h2 { font-size: calc(23px * var(--titre-echelle)); }
.article__texte h3 { font-size: 20px; }
.article__texte ul, .article__texte ol { padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.article__texte a { color: var(--encre); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article__texte a:hover { color: var(--survol); }
.article__texte figure { margin: 0; }
.article__texte figure img { border-radius: calc(var(--rayon-image) * 0.75); }
.article__texte figcaption { margin-top: 6px; font-family: var(--police-ui); font-size: 13px; color: var(--gris); }
.article__texte table { border-collapse: collapse; width: 100%; font-family: var(--police-ui); font-size: 15px; display: block; overflow-x: auto; }
.article__texte th, .article__texte td { border-bottom: 1px solid var(--ligne); padding: 8px 10px; text-align: left; vertical-align: top; }
.article__texte blockquote { margin: 0; padding-left: 16px; border-left: 3px solid var(--accent); font-style: italic; }
.article__texte .sources { margin-top: 8px; font-family: var(--police-ui); font-size: 13px; line-height: 1.5; color: var(--gris); }
.article__texte .sources a { color: var(--gris); }
@media (min-width: 768px) {
	.article__texte { font-size: 19px; line-height: 1.65; gap: 18px; }
	.article__texte h2 { margin-top: 12px; font-size: calc(27px * var(--titre-echelle)); }
	.article__texte .sources { font-size: 14px; }
}

/* « L'essentiel » (si le texte en contient un) */
.article__texte .essentiel {
	background: var(--essentiel-fond); color: var(--essentiel-texte); border-radius: var(--rayon-carte); padding: 16px 18px;
	display: flex; flex-direction: column; gap: 10px; font-family: var(--police-ui); font-size: 15px; line-height: 1.4;
}
.article__texte .essentiel h2 {
	margin: 0; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; font-family: var(--police-ui); color: var(--essentiel-titre, var(--encre));
}
.article__texte .essentiel ul { list-style: none; padding: 0; gap: 10px; }
.article__texte .essentiel li { padding-top: 8px; border-top: 1px solid var(--essentiel-ligne); }
@media (min-width: 768px) { .article__texte .essentiel { padding: 22px 24px; font-size: 16px; } }

.article__sujets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.article__sujets-titre { font-size: 14px; font-weight: 700; margin-right: 4px; }
.ecriture { border: 1px solid var(--ligne); border-radius: var(--rayon-carte); padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.ecriture h2 { margin: 0; font-family: var(--police-ui); font-size: 15px; font-weight: 700; }
.ecriture p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--chapo); }
@media (min-width: 768px) {
	.ecriture { padding: 20px 22px; gap: 8px; }
	.ecriture h2 { font-size: 17px; }
	.ecriture p { font-size: 15px; }
}
.lecture__rail { flex: none; width: 300px; position: sticky; top: 140px; }
.admin-bar .lecture__rail { top: 172px; }
.aussi { max-width: 1040px; margin: 40px auto 0; }
.aussi__grille { display: flex; flex-direction: column; gap: 0; }
.aussi .carte--colonne { flex-direction: row; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--ligne); }
.aussi .carte--colonne .carte__image { flex: none; width: 112px; }
.aussi .carte--colonne .surtitre { display: none; }
.aussi .carte--colonne .carte__titre { font-size: 16px; }
@media (min-width: 768px) {
	.aussi { margin-top: 64px; }
	.aussi .titre-section { margin-bottom: 20px; }
	.aussi__grille { flex-direction: row; flex-wrap: wrap; gap: 24px; }
	.aussi .carte--colonne { flex: 1 1 280px; flex-direction: column; align-items: stretch; padding: 0; border-top: 0; }
	.aussi .carte--colonne .carte__image { width: auto; }
	.aussi .carte--colonne .surtitre { display: block; }
	.aussi .carte--colonne .carte__titre { font-size: 19px; }
}
.multiplex { max-width: 1040px; margin: 32px auto 0; }
@media (min-width: 768px) { .multiplex { margin-top: 48px; } }

/* ---------- Publicité (charte du 28/10/2026) ---------- */
.pub {
	position: relative; display: flex; align-items: center; justify-content: center; text-align: center;
	background: var(--pub-fond); border-radius: 8px; color: var(--pub-texte); font-family: var(--police-ui);
	font-size: 13px; line-height: 1.3; overflow: hidden;
}
.pub__etiquette { position: absolute; top: 6px; left: 10px; font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.pub__repere { padding: 20px 12px 8px; }
.pub:has(.pub__repere) { border: 1px dashed var(--pub-bord); }
.pub .adsbygoogle { margin: 18px auto 0; }
.pub--h { margin-inline: auto; width: 320px; max-width: 100%; height: 118px; }
.pub--p { margin: 0 auto; width: 300px; height: 268px; }
.pub--t { margin: 8px auto; width: 300px; max-width: 100%; min-height: 268px; }
.pub--f { justify-content: flex-start; min-height: 120px; margin: 0; border-top: 1px solid var(--ligne); border-radius: 10px; }
.pub--m { flex-direction: column; min-height: 600px; padding: 28px 14px 14px; border-radius: 12px; }
.pub--m .adsbygoogle { width: 100%; margin: 0; }
.pub--c { width: 300px; height: 618px; margin-inline: auto; }
.pub-colonne { height: 1200px; }
.pub-colonne .pub--c { position: sticky; top: 140px; }
.admin-bar .pub-colonne .pub--c { top: 172px; }
.pub-colonne:not(:has(.pub)) { display: none; }
@media (min-width: 768px) {
	.pub--h { width: 100%; max-width: 970px; height: 268px; }
	.pub--t { width: 100%; min-height: 298px; }
	.pub--m { min-height: 300px; padding: 32px 20px 20px; }
}

/* ---------- Pied de page ---------- */
.pied { margin-top: 64px; background: var(--pied-fond); color: var(--pied-texte); }
.pied a { color: var(--pied-texte); }
.pied a:hover { color: var(--accent); }
.pied__contenu { display: flex; flex-wrap: wrap; gap: 32px 40px; padding-top: 40px; padding-bottom: 24px; }
.pied__presentation { flex: 2 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.pied__presentation p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--pied-doux); max-width: 460px; }
.pied__nom { font-family: var(--police-titre); font-weight: var(--titre-graisse); font-size: 22px; text-transform: var(--logo-casse, none); }
.pied__liens { flex: 1 1 200px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.pied__copyright { margin: 0; padding-top: 16px; padding-bottom: 40px; font-size: 13px; color: var(--pied-doux); }
@media (min-width: 768px) {
	.pied { margin-top: 80px; }
	.pied__contenu { padding-top: 48px; }
}

/* ---------- Pages fixes ---------- */
.article--page { margin-inline: auto; }
