/* =========================================================================
 * Allure - theme sur mesure de girlsonthemove.org
 * Magazine feminin : serif Cormorant Garamond, texte DM Sans, une teinte
 * par rubrique, cartes allongees (image en fond, titre dessus).
 * Prefixe des classes : gm-
 * ====================================================================== */

/* -------------------------------------------------------------------------
 * 1. Polices servies en local
 * ---------------------------------------------------------------------- */

@font-face {
	font-family: 'Allure Serif';
	src: url('../fonts/serif-var.woff2') format('woff2');
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Allure Serif';
	src: url('../fonts/serif-var-italic.woff2') format('woff2');
	font-weight: 300 700;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Allure Sans';
	src: url('../fonts/sans-var.woff2') format('woff2');
	font-weight: 100 1000;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Allure Sans';
	src: url('../fonts/sans-var-italic.woff2') format('woff2');
	font-weight: 100 1000;
	font-style: italic;
	font-display: swap;
}

/* -------------------------------------------------------------------------
 * 2. Jetons
 * ---------------------------------------------------------------------- */

:root {
	--gm-paper: #fffaf8;
	--gm-white: #ffffff;
	--gm-blush: #fbeeea;
	--gm-blush-2: #f6e0da;
	--gm-ink: #1b1620;
	--gm-ink-2: #453d4c;
	--gm-muted: #6f6677;
	--gm-line: #ecdfda;
	--gm-line-2: #f5ebe7;
	--gm-night: #1f1626;
	--gm-night-2: #2c2135;
	--gm-rose: #c8436b;
	--gm-rose-ink: #a82d55;
	--gm-rose-wash: #fce8ee;
	--gm-rose-soft: #f3a9bd;

	/* Teinte courante : celle de la rubrique affichee, le rose par defaut. */
	--gm-accent: var(--gm-rose-ink);
	--gm-accent-wash: var(--gm-rose-wash);

	--gm-serif: 'Allure Serif', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--gm-sans: 'Allure Sans', 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

	--gm-wrap: 1200px;
	--gm-read: 720px;
	--gm-gutter: clamp(20px, 5vw, 64px);
	--gm-radius: 14px;
	--gm-radius-s: 9px;
	--gm-shadow: 0 10px 28px -14px rgba(27, 22, 32, .3);
	--gm-shadow-up: 0 22px 44px -18px rgba(27, 22, 32, .4);
	--gm-ease: cubic-bezier(.22, .61, .36, 1);
}

/* Une teinte par rubrique : texte lisible sur papier, fond leger assorti. */
.gm-t-1 { --gm-accent: #b0325a; --gm-accent-wash: #fbe6ed; }
.gm-t-2 { --gm-accent: #b5482f; --gm-accent-wash: #fbe9e3; }
.gm-t-3 { --gm-accent: #44694f; --gm-accent-wash: #e7f0e9; }
.gm-t-4 { --gm-accent: #8f5f0a; --gm-accent-wash: #f8eeda; }
.gm-t-5 { --gm-accent: #2a6577; --gm-accent-wash: #e3eff2; }
.gm-t-6 { --gm-accent: #6a47a8; --gm-accent-wash: #ece6f6; }

/* -------------------------------------------------------------------------
 * 3. Socle
 * ---------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

body {
	margin: 0;
	background: var(--gm-paper);
	color: var(--gm-ink);
	font-family: var(--gm-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
	overflow-x: clip;
}
body.gm-locked { overflow: hidden; }

img, svg, video, iframe { max-width: 100%; }
img { height: auto; border: 0; }
figure { margin: 0; }

a { color: var(--gm-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--gm-ink); }

:focus-visible { outline: 2px solid var(--gm-accent); outline-offset: 3px; border-radius: 3px; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--gm-serif);
	font-weight: 600;
	color: var(--gm-ink);
	line-height: 1.1;
	margin: 0 0 .5em;
}

p { margin: 0 0 1.2em; }
p:last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.gm-skip {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 300;
	background: var(--gm-ink);
	color: #fff;
	padding: 12px 20px;
	border-radius: var(--gm-radius-s);
	font-size: 15px;
}
.gm-skip:focus { left: 8px; color: #fff; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
}

.gm-wrap {
	width: 100%;
	max-width: calc(var(--gm-wrap) + var(--gm-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--gm-gutter);
}

/* -------------------------------------------------------------------------
 * 4. Signes de la maison
 * ---------------------------------------------------------------------- */

/* Trois traits penches : le mouvement, sans animation. */
.gm-strokes {
	display: inline-block;
	width: 21px;
	height: .62em;
	margin-right: .42em;
	background: repeating-linear-gradient(90deg, var(--gm-accent) 0 3px, transparent 3px 9px);
	transform: skewX(-24deg);
	flex: none;
}

.gm-arrow {
	width: 1em;
	height: 1em;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	flex: none;
	transition: transform .25s var(--gm-ease);
}

/* Surtitre de rubrique : pastille de teinte + nom. */
.gm-kick {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--gm-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--gm-accent);
	text-decoration: none;
	line-height: 1.2;
}
.gm-kick::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}
a.gm-kick:hover { color: var(--gm-ink); }

/* Etiquette posee sur une image. */
.gm-chip {
	display: inline-block;
	font-family: var(--gm-sans);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--gm-accent);
	background: rgba(255, 255, 255, .95);
	padding: 6px 10px 5px;
	border-radius: 100px;
	text-decoration: none;
	position: relative;
	z-index: 2;
}
a.gm-chip:hover { background: var(--gm-accent); color: #fff; }

.gm-meta {
	font-family: var(--gm-sans);
	font-size: 12.5px;
	color: var(--gm-muted);
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 9px;
	align-items: center;
}
.gm-meta > * + *::before { content: '\00b7'; margin-right: 9px; opacity: .7; }

.gm-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--gm-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--gm-ink);
	border: 1px solid var(--gm-ink);
	padding: 14px 24px;
	border-radius: 100px;
	cursor: pointer;
	transition: background .2s var(--gm-ease), border-color .2s var(--gm-ease), color .2s var(--gm-ease);
}
.gm-btn:hover { background: var(--gm-rose-ink); border-color: var(--gm-rose-ink); color: #fff; }
.gm-btn:hover .gm-arrow { transform: translateX(4px); }
.gm-btn--line { background: transparent; color: var(--gm-ink); border-color: var(--gm-ink); }
.gm-btn--line:hover { background: var(--gm-ink); border-color: var(--gm-ink); color: #fff; }

/* -------------------------------------------------------------------------
 * 5. En-tete
 * ---------------------------------------------------------------------- */

.gm-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 250, 248, .94);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--gm-line);
	transition: box-shadow .25s var(--gm-ease);
}
.gm-header.is-stuck { box-shadow: 0 8px 24px -18px rgba(27, 22, 32, .45); }

.gm-header__in {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 78px;
}

/* Le titre-logo : capitales droites, mots du milieu en italique de teinte. */
.gm-logo {
	display: inline-flex;
	align-items: baseline;
	gap: .3em;
	font-family: var(--gm-serif);
	font-size: 25px;
	line-height: 1;
	color: var(--gm-ink);
	text-decoration: none;
	white-space: nowrap;
	flex: none;
	margin: 0;
}
.gm-logo:hover { color: var(--gm-ink); }
.gm-logo__a { font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.gm-logo__b {
	font-style: italic;
	font-weight: 500;
	font-size: 1.2em;
	letter-spacing: 0;
	text-transform: lowercase;
	color: var(--gm-rose-ink);
}
.gm-logo img { display: block; max-height: 46px; width: auto; }

.gm-nav { flex: 1; min-width: 0; display: flex; justify-content: center; }

.gm-menu {
	display: flex;
	align-items: center;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.gm-menu li { position: relative; }
.gm-menu a {
	display: block;
	padding: 12px 13px;
	font-family: var(--gm-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--gm-ink);
	text-decoration: none;
	white-space: nowrap;
	position: relative;
	transition: color .2s var(--gm-ease);
}
.gm-menu a::after {
	content: '';
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 5px;
	height: 2px;
	border-radius: 2px;
	background: var(--gm-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .28s var(--gm-ease);
}
.gm-menu a:hover,
.gm-menu .current-menu-item > a,
.gm-menu .current-menu-parent > a,
.gm-menu .current-post-ancestor > a { color: var(--gm-accent); }
.gm-menu a:hover::after,
.gm-menu .current-menu-item > a::after,
.gm-menu .current-menu-parent > a::after,
.gm-menu .current-post-ancestor > a::after { transform: scaleX(1); }

.gm-menu .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 220px;
	background: var(--gm-white);
	border: 1px solid var(--gm-line);
	border-radius: var(--gm-radius-s);
	box-shadow: var(--gm-shadow);
	list-style: none;
	margin: 0;
	padding: 6px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s var(--gm-ease), transform .2s var(--gm-ease), visibility .2s;
}
.gm-menu li:hover > .sub-menu,
.gm-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.gm-menu .sub-menu a { text-transform: none; letter-spacing: .01em; font-size: 14px; font-weight: 500; padding: 9px 12px; }
.gm-menu .sub-menu a::after { display: none; }

.gm-tools { display: flex; align-items: center; gap: 4px; flex: none; }

.gm-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: none;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--gm-ink);
	cursor: pointer;
	transition: background .2s var(--gm-ease), border-color .2s var(--gm-ease);
}
.gm-icon-btn:hover { background: var(--gm-blush); border-color: var(--gm-line); }
.gm-icon-btn svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gm-burger { display: none; }

.gm-searchbar { display: none; border-top: 1px solid var(--gm-line); background: var(--gm-white); padding-block: 18px; }
.gm-searchbar.is-open { display: block; }

.gm-searchform { display: flex; gap: 10px; }
.gm-searchform label { flex: 1; display: block; }
.gm-searchform input[type="search"] {
	width: 100%;
	font: 400 16px/1.3 var(--gm-sans);
	color: var(--gm-ink);
	background: var(--gm-paper);
	border: 1px solid var(--gm-line);
	border-radius: 100px;
	padding: 14px 22px;
}
.gm-searchform input[type="search"]:focus { outline: none; border-color: var(--gm-rose); box-shadow: 0 0 0 4px var(--gm-rose-wash); }

/* Tiroir du menu, sur petit ecran */
.gm-veil {
	position: fixed;
	inset: 0;
	background: rgba(27, 22, 32, .5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .28s var(--gm-ease), visibility .28s;
	z-index: 190;
}
.gm-veil.is-open { opacity: 1; visibility: visible; }

.gm-drawer {
	position: fixed;
	inset: 0 auto 0 0;
	width: min(86vw, 340px);
	background: var(--gm-white);
	transform: translateX(-102%);
	visibility: hidden;
	transition: transform .3s var(--gm-ease), visibility .3s;
	z-index: 200;
	overflow-y: auto;
	padding: 18px 24px 40px;
	display: flex;
	flex-direction: column;
}
.gm-drawer.is-open { transform: none; visibility: visible; }
.gm-drawer__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.gm-drawer .gm-logo { font-size: 19px; }
.gm-drawer .gm-menu { display: block; border-top: 1px solid var(--gm-line-2); }
.gm-drawer .gm-menu li { border-bottom: 1px solid var(--gm-line-2); }
.gm-drawer .gm-menu a {
	padding: 15px 2px;
	font-family: var(--gm-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	white-space: normal;
}
.gm-drawer .gm-menu a::after { display: none; }
.gm-drawer .gm-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 10px 14px; min-width: 0; }
.gm-drawer .gm-menu .sub-menu a { font-family: var(--gm-sans); font-size: 15px; padding: 7px 0; }
.gm-drawer__foot { margin-top: 22px; }
.gm-drawer__pages { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14px; }
.gm-drawer__pages a { color: var(--gm-muted); text-decoration: none; }

/* -------------------------------------------------------------------------
 * 6. Cartes
 * ---------------------------------------------------------------------- */

/* Carte allongee : l image fait le fond, le titre se pose dessus. */
.gm-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 1.9 / 1;
	border-radius: var(--gm-radius);
	overflow: hidden;
	background: var(--gm-night-2);
	box-shadow: var(--gm-shadow);
	isolation: isolate;
	transition: transform .3s var(--gm-ease), box-shadow .3s var(--gm-ease);
}
.gm-tile:hover { transform: translateY(-3px); box-shadow: var(--gm-shadow-up); }
.gm-tile__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
	transition: transform .8s var(--gm-ease);
}
.gm-tile:hover .gm-tile__img { transform: scale(1.04); }
.gm-tile::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(to top, rgba(20, 14, 24, .9) 0%, rgba(20, 14, 24, .62) 34%, rgba(20, 14, 24, .08) 68%, rgba(20, 14, 24, 0) 100%);
}
.gm-tile__body { padding: 18px 20px 17px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.gm-tile__title {
	font-family: var(--gm-serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.12;
	color: #fff;
	margin: 0;
	text-wrap: balance;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.gm-tile__title a { color: inherit; text-decoration: none; }
.gm-tile__title a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.gm-tile .gm-meta { color: rgba(255, 255, 255, .78); font-size: 12px; }

.gm-tile--xl { aspect-ratio: auto; min-height: 100%; }
.gm-tile--xl .gm-tile__body { padding: clamp(20px, 2.6vw, 34px); gap: 12px; max-width: 46em; }
.gm-tile--xl .gm-tile__title { font-size: clamp(27px, 3.1vw, 42px); font-weight: 600; line-height: 1.06; letter-spacing: -.005em; -webkit-line-clamp: 4; }
.gm-tile--xl .gm-meta { font-size: 13px; }

/* Carte en ligne : vignette a gauche, texte a droite. */
.gm-row {
	position: relative;
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	background: var(--gm-white);
	border: 1px solid var(--gm-line-2);
	border-radius: var(--gm-radius);
	padding: 10px 16px 10px 10px;
	min-height: 118px;
	transition: border-color .25s var(--gm-ease), box-shadow .25s var(--gm-ease), transform .25s var(--gm-ease);
}
.gm-row:hover { border-color: var(--gm-line); box-shadow: var(--gm-shadow); transform: translateY(-2px); }
.gm-row__img {
	width: 132px;
	height: 100%;
	min-height: 96px;
	max-height: 112px;
	object-fit: cover;
	border-radius: var(--gm-radius-s);
	display: block;
	background: var(--gm-blush);
}
.gm-row__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.gm-row__title {
	font-family: var(--gm-serif);
	font-size: 19.5px;
	font-weight: 700;
	line-height: 1.14;
	margin: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
	text-wrap: pretty;
}
.gm-row__title a { color: var(--gm-ink); text-decoration: none; }
.gm-row__title a::after { content: ''; position: absolute; inset: 0; }
.gm-row:hover .gm-row__title a { color: var(--gm-accent); }
.gm-row .gm-kick { position: relative; z-index: 1; font-size: 10.5px; }

/* -------------------------------------------------------------------------
 * 7. Accueil
 * ---------------------------------------------------------------------- */

.gm-une { padding-top: 26px; }
.gm-une__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr);
	gap: 20px;
}
.gm-une__main { aspect-ratio: 16 / 10.2; }
.gm-une__side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gm-une__side .gm-tile { aspect-ratio: auto; }

.gm-band { padding-top: clamp(44px, 5.4vw, 72px); }
.gm-band--last { padding-bottom: 0; }

/* Titre de section */
.gm-sec { display: flex; align-items: center; gap: 18px; margin-bottom: 22px; }
.gm-sec__title {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 600;
	font-size: clamp(30px, 3.2vw, 42px);
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}
.gm-sec__title a { color: var(--gm-ink); text-decoration: none; }
.gm-sec__title a:hover { color: var(--gm-accent); }
.gm-sec__line { flex: 1; height: 1px; background: var(--gm-line); }
.gm-sec__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--gm-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--gm-ink);
	text-decoration: none;
	white-space: nowrap;
}
.gm-sec__more .gm-arrow {
	width: 30px;
	height: 30px;
	padding: 8px;
	border: 1px solid var(--gm-line);
	border-radius: 50%;
	transition: background .25s var(--gm-ease), color .25s var(--gm-ease), border-color .25s var(--gm-ease), transform .25s var(--gm-ease);
}
.gm-sec__more:hover { color: var(--gm-accent); }
.gm-sec__more:hover .gm-arrow { background: var(--gm-accent); border-color: var(--gm-accent); color: #fff; transform: translateX(3px); }

/* Derniers articles : six cartes en ligne */
.gm-fresh { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }

/* Rubrique : une grande carte et trois lignes */
.gm-duo { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr); gap: 20px; }
.gm-duo--rev { grid-template-columns: minmax(0, 1fr) minmax(0, 1.62fr); }
.gm-duo--rev > .gm-tile { order: 2; }
.gm-duo__list { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 14px; }

/* Rubrique : trois cartes de front */
.gm-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

/* Rubrique mise a l honneur, sur fond de nuit */
.gm-night {
	background: var(--gm-night);
	color: #fff;
	border-radius: 22px;
	padding: clamp(26px, 3.6vw, 46px);
	--gm-accent: var(--gm-rose-soft);
}
.gm-night .gm-sec__title a { color: #fff; }
.gm-night .gm-sec__line { background: rgba(255, 255, 255, .16); }
.gm-night .gm-sec__more { color: #fff; }
.gm-night .gm-sec__more .gm-arrow { border-color: rgba(255, 255, 255, .28); }
.gm-night .gm-sec__more:hover .gm-arrow { color: var(--gm-night); }
.gm-faces { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.gm-face { position: relative; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: center; }
.gm-face__img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	box-shadow: 0 0 0 3px var(--gm-night), 0 0 0 4px var(--gm-rose-soft);
	transition: transform .4s var(--gm-ease);
}
.gm-face:hover .gm-face__img { transform: scale(1.05); }
.gm-face__title {
	font-family: var(--gm-serif);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.16;
	color: #fff;
	margin: 0 0 7px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.gm-face__title a { color: inherit; text-decoration: none; }
.gm-face__title a::after { content: ''; position: absolute; inset: 0; }
.gm-face:hover .gm-face__title { color: var(--gm-rose-soft); }
.gm-face .gm-meta { color: rgba(255, 255, 255, .64); }

/* Presentation du magazine, en bas d accueil */
.gm-about {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
	gap: clamp(24px, 5vw, 72px);
	align-items: center;
	background: var(--gm-blush);
	border-radius: 22px;
	padding: clamp(28px, 4.4vw, 58px);
}
.gm-about__title { font-size: clamp(30px, 3.6vw, 46px); font-style: italic; font-weight: 500; line-height: 1.04; margin: 14px 0 0; }
.gm-about__text { color: var(--gm-ink-2); font-size: 16.5px; }
.gm-about__text p { margin-bottom: 1em; }
.gm-about .gm-btn { margin-top: 8px; }

/* -------------------------------------------------------------------------
 * 8. Rubriques, recherche, pagination
 * ---------------------------------------------------------------------- */

.gm-crumbs {
	font-size: 12.5px;
	color: var(--gm-muted);
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
}
.gm-crumbs a { color: var(--gm-muted); text-decoration: none; }
.gm-crumbs a:hover { color: var(--gm-accent); }
.gm-crumbs span + span::before { content: '/'; margin-right: 8px; color: var(--gm-line); }

.gm-rubhead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 20px clamp(24px, 5vw, 72px);
	align-items: end;
	padding-block: clamp(22px, 2.8vw, 36px) clamp(22px, 2.6vw, 32px);
	border-bottom: 1px solid var(--gm-line);
	margin-bottom: 28px;
}
.gm-rubhead__title {
	display: flex;
	align-items: baseline;
	font-size: clamp(46px, 6.2vw, 84px);
	font-style: italic;
	font-weight: 500;
	line-height: .96;
	letter-spacing: -.01em;
	margin: 12px 0 0;
}
.gm-rubhead__title .gm-strokes { width: 27px; height: .34em; margin-right: .3em; align-self: center; }
.gm-rubhead__desc { color: var(--gm-ink-2); font-size: 16.5px; max-width: 54ch; margin: 0; }
.gm-rubhead__count {
	display: inline-block;
	margin-top: 14px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gm-accent);
	background: var(--gm-accent-wash);
	padding: 7px 13px 6px;
	border-radius: 100px;
}

.gm-mosaic { display: grid; grid-template-columns: minmax(0, 1.62fr) minmax(0, 1fr); gap: 20px; margin-bottom: 20px; }
.gm-mosaic__main { aspect-ratio: 16 / 10.2; }
.gm-mosaic__side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gm-mosaic__side .gm-tile { aspect-ratio: auto; }
.gm-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.gm-pager { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: clamp(34px, 4vw, 54px); }
.gm-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 16px;
	border: 1px solid var(--gm-line);
	border-radius: 100px;
	background: var(--gm-white);
	font-size: 14px;
	font-weight: 600;
	color: var(--gm-ink);
	text-decoration: none;
	transition: border-color .2s var(--gm-ease), background .2s var(--gm-ease), color .2s var(--gm-ease);
}
.gm-pager .page-numbers:hover { border-color: var(--gm-accent); color: var(--gm-accent); }
.gm-pager .page-numbers.current { background: var(--gm-ink); border-color: var(--gm-ink); color: #fff; }
.gm-pager .page-numbers.dots { border-color: transparent; background: none; min-width: 20px; padding: 0; }

.gm-empty { text-align: center; max-width: 56ch; margin-inline: auto; padding-block: clamp(40px, 6vw, 80px); }
.gm-empty__title { font-size: clamp(30px, 3.6vw, 44px); font-style: italic; font-weight: 500; }
.gm-empty p { color: var(--gm-ink-2); }
.gm-empty .gm-searchform { margin-top: 24px; text-align: left; }

.gm-rubhead .gm-searchform { margin-bottom: 14px; }
.comments-pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }

.gm-empty .gm-404__num { font-family: var(--gm-serif); font-style: italic; font-weight: 500; font-size: clamp(96px, 16vw, 190px); line-height: 1; color: var(--gm-rose-soft); margin: 0 0 4px; }

/* -------------------------------------------------------------------------
 * 9. Article
 * ---------------------------------------------------------------------- */

.gm-progress { position: fixed; left: 0; top: 0; z-index: 210; height: 3px; width: 100%; background: var(--gm-accent); transform: scaleX(0); transform-origin: left; pointer-events: none; }

.gm-art__head { padding-block: 22px 26px; }
.gm-art__kicks { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 16px; }

/* Le titre occupe toute la largeur : une ligne tant qu il tient. */
.gm-art__title {
	font-size: clamp(32px, 3.5vw, 50px);
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -.008em;
	margin: 0;
	text-wrap: pretty;
}
.gm-art__chapo {
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(20px, 1.9vw, 24.5px);
	line-height: 1.38;
	color: var(--gm-ink-2);
	margin: 18px 0 0;
	max-width: 46em;
	text-wrap: pretty;
}
.gm-art__chapo a { color: var(--gm-accent); }

.gm-byline { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin-top: 22px; font-size: 13.5px; color: var(--gm-muted); }
.gm-byline__avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; display: block; background: var(--gm-blush); }
.gm-byline__name { color: var(--gm-ink); font-weight: 600; }
.gm-byline__name a { color: inherit; text-decoration: none; }
.gm-byline__sep { width: 1px; height: 16px; background: var(--gm-line); }

.gm-art__fig { margin: 0 0 clamp(28px, 3.4vw, 44px); }
.gm-art__fig img { width: 100%; aspect-ratio: 5 / 2; object-fit: cover; border-radius: var(--gm-radius); display: block; background: var(--gm-blush); }
.gm-art__fig figcaption { font-size: 13px; color: var(--gm-muted); margin-top: 10px; }

.gm-art__cols {
	display: grid;
	grid-template-columns: minmax(0, var(--gm-read)) minmax(280px, 1fr);
	gap: clamp(32px, 6vw, 80px);
	align-items: start;
}
.gm-art__main { min-width: 0; }
.gm-art__cols--full { grid-template-columns: minmax(0, 1fr); }
.gm-art__cols--full .gm-art__main { margin-inline: auto; width: 100%; max-width: var(--gm-read); }

/* Texte courant */
.gm-prose { font-size: 18px; line-height: 1.75; color: var(--gm-ink-2); }
.gm-prose > *:first-child { margin-top: 0; }
.gm-prose p { margin: 0 0 1.3em; }
.gm-prose strong, .gm-prose b { color: var(--gm-ink); font-weight: 650; }
/* Les blocs produits d'AM Shopping gardent leurs propres liens (titres et boutons sans soulignement). */
.gm-prose a:not(.ams-bloc a) { color: var(--gm-accent); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--gm-accent) 40%, transparent); }
.gm-prose a:not(.ams-bloc a):hover { color: var(--gm-ink); text-decoration-color: currentColor; }
.gm-prose h2 {
	font-size: clamp(27px, 2.7vw, 35px);
	line-height: 1.1;
	margin: 1.9em 0 .55em;
	padding-top: .1em;
	text-wrap: pretty;
}
.gm-prose h2::before {
	content: '';
	display: block;
	width: 21px;
	height: 15px;
	margin-bottom: 14px;
	background: repeating-linear-gradient(90deg, var(--gm-accent) 0 3px, transparent 3px 9px);
	transform: skewX(-24deg);
	transform-origin: left bottom;
}
.gm-prose h3 { font-size: clamp(22px, 2.1vw, 26px); font-weight: 700; line-height: 1.16; margin: 1.6em 0 .45em; }
.gm-prose h4 { font-family: var(--gm-sans); font-size: 17px; font-weight: 700; letter-spacing: .01em; margin: 1.5em 0 .4em; }
.gm-prose ul, .gm-prose ol { margin: 0 0 1.3em; padding: 0; list-style: none; }
.gm-prose li { position: relative; padding-left: 30px; margin-bottom: .55em; }
.gm-prose ul > li::before {
	content: '';
	position: absolute;
	left: 6px;
	top: .68em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gm-accent);
}
.gm-prose ol { counter-reset: gm-ol; }
.gm-prose ol > li { counter-increment: gm-ol; }
.gm-prose ol > li::before {
	content: counter(gm-ol) '.';
	position: absolute;
	left: 0;
	top: -.06em;
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 700;
	font-size: 1.14em;
	color: var(--gm-accent);
}
.gm-prose li > ul, .gm-prose li > ol { margin: .5em 0 0; }
.gm-prose blockquote {
	margin: 1.8em 0;
	padding: 6px 0 6px 26px;
	border-left: 3px solid var(--gm-accent);
	font-family: var(--gm-serif);
	font-style: italic;
	font-size: 25px;
	line-height: 1.36;
	color: var(--gm-ink);
}
.gm-prose blockquote p:last-child { margin-bottom: 0; }
.gm-prose blockquote cite { display: block; margin-top: 10px; font: 600 12.5px/1.4 var(--gm-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gm-muted); }
.gm-prose img { border-radius: var(--gm-radius-s); }
.gm-prose figure { margin: 1.8em 0; }
.gm-prose figcaption { font-size: 13px; color: var(--gm-muted); margin-top: 9px; text-align: center; }
.gm-prose hr { border: 0; border-top: 1px solid var(--gm-line); margin: 2.2em 0; }
.gm-prose .alignleft { float: left; margin: .35em 1.6em 1em 0; max-width: 46%; }
.gm-prose .alignright { float: right; margin: .35em 0 1em 1.6em; max-width: 46%; }
.gm-prose .aligncenter { display: block; margin-inline: auto; }
.gm-prose iframe, .gm-prose embed, .gm-prose video { max-width: 100%; border-radius: var(--gm-radius-s); }
.gm-prose code { background: var(--gm-blush); padding: 2px 6px; border-radius: 4px; font-size: .9em; }

/* La premiere lettre du texte, en lettrine */
.gm-prose--lettrine > p:first-of-type::first-letter {
	float: left;
	font-family: var(--gm-serif);
	font-weight: 700;
	font-size: 4.5em;
	line-height: .74;
	margin: .1em .1em 0 -.03em;
	color: var(--gm-accent);
}

.gm-table { overflow-x: auto; margin: 1.8em 0; border: 1px solid var(--gm-line); border-radius: var(--gm-radius-s); background: var(--gm-white); }
.gm-table table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
.gm-table th, .gm-table td { padding: 12px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--gm-line-2); }
.gm-table th { background: var(--gm-accent-wash); color: var(--gm-ink); font-weight: 700; white-space: nowrap; }
.gm-table tr:last-child td { border-bottom: 0; }

/* Renvoi vers un autre article, au fil du texte */
.gm-also {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 18px;
	align-items: center;
	margin: 1.7em 0;
	padding: 16px 20px 16px 22px;
	background: var(--gm-accent-wash);
	border-radius: var(--gm-radius);
	text-decoration: none !important;
	color: var(--gm-ink) !important;
	transition: transform .25s var(--gm-ease), box-shadow .25s var(--gm-ease);
}
.gm-also:hover { transform: translateY(-2px); box-shadow: var(--gm-shadow); }
.gm-also__label { grid-column: 1; font: 700 11px/1.2 var(--gm-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--gm-accent); }
.gm-also__title { grid-column: 1; font-family: var(--gm-serif); font-size: 22px; font-weight: 700; line-height: 1.16; color: var(--gm-ink); }
.gm-also .gm-arrow { grid-column: 2; grid-row: 1 / span 2; width: 38px; height: 38px; padding: 10px; border-radius: 50%; background: var(--gm-white); color: var(--gm-accent); }
.gm-also:hover .gm-arrow { transform: translateX(4px); }

/* Colonne d appui */
.gm-rail { display: flex; flex-direction: column; gap: 28px; align-self: stretch; }
.gm-rail__title {
	display: flex;
	align-items: baseline;
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 25px;
	line-height: 1;
	margin: 0 0 16px;
}
.gm-rail__list { display: grid; gap: 12px; }
.gm-rail .gm-row { grid-template-columns: 92px minmax(0, 1fr); gap: 13px; min-height: 94px; padding: 8px 12px 8px 8px; }
.gm-rail .gm-row__img { width: 92px; min-height: 78px; max-height: 84px; }
.gm-rail .gm-row__title { font-size: 17.5px; }

/* Sommaire : seul element collant, en bas de colonne */
.gm-toc { position: sticky; top: 100px; background: var(--gm-white); border: 1px solid var(--gm-line-2); border-radius: var(--gm-radius); padding: 22px 22px 18px; }
.gm-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: gm-toc; }
.gm-toc__list li { counter-increment: gm-toc; }
.gm-toc__list a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 4px;
	padding: 8px 0;
	font-size: 14.5px;
	line-height: 1.36;
	color: var(--gm-ink-2);
	text-decoration: none;
	border-top: 1px solid var(--gm-line-2);
	transition: color .2s var(--gm-ease);
}
.gm-toc__list li:first-child a { border-top: 0; }
.gm-toc__list a::before {
	content: counter(gm-toc, decimal-leading-zero);
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.1;
	color: var(--gm-accent);
}
.gm-toc__list a:hover, .gm-toc__list a.is-current { color: var(--gm-accent); }
.gm-toc__list a.is-current { font-weight: 600; }

/* Sommaire replie, sur petit ecran */
.gm-toc-m { display: none; margin: 0 0 26px; background: var(--gm-white); border: 1px solid var(--gm-line); border-radius: var(--gm-radius); }
.gm-toc-m summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 15px 18px;
	font-family: var(--gm-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 22px;
}
.gm-toc-m summary::-webkit-details-marker { display: none; }
.gm-toc-m summary .gm-arrow { transform: rotate(90deg); width: 18px; height: 18px; color: var(--gm-accent); }
.gm-toc-m[open] summary .gm-arrow { transform: rotate(-90deg); }
.gm-toc-m .gm-toc__list { padding: 0 18px 12px; }

/* Fin d article */
.gm-end { margin-top: 38px; display: grid; gap: 26px; }

.gm-rate {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px 20px;
	background: var(--gm-accent-wash);
	border-radius: var(--gm-radius);
	padding: 18px 22px;
}
.gm-rate__label { font-family: var(--gm-serif); font-style: italic; font-weight: 600; font-size: 23px; line-height: 1.1; margin: 0; }
.gm-rate .kk-star-ratings { margin: 0 !important; display: flex; align-items: center; gap: 10px; }
/* Meme disposition que la feuille de l extension, pour que le bloc tienne meme sans elle. */
.gm-rate .kksr-stars { position: relative; display: inline-flex; }
.gm-rate .kksr-stars-inactive, .gm-rate .kksr-stars-active { display: flex; }
.gm-rate .kksr-stars-active { position: absolute; left: 0; top: 0; overflow: hidden; }

.gm-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.gm-tags a {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--gm-ink-2);
	background: var(--gm-white);
	border: 1px solid var(--gm-line);
	border-radius: 100px;
	padding: 7px 14px;
	text-decoration: none;
}
.gm-tags a:hover { border-color: var(--gm-accent); color: var(--gm-accent); }

.gm-share { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding-block: 20px; border-block: 1px solid var(--gm-line); }
.gm-share__label { font: 700 11.5px/1 var(--gm-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--gm-muted); margin-right: 6px; }
.gm-share a, .gm-share button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid var(--gm-line);
	border-radius: 50%;
	background: var(--gm-white);
	color: var(--gm-ink);
	cursor: pointer;
	transition: background .2s var(--gm-ease), border-color .2s var(--gm-ease), color .2s var(--gm-ease);
}
.gm-share a:hover, .gm-share button:hover { background: var(--gm-accent); border-color: var(--gm-accent); color: #fff; }
.gm-share svg { width: 17px; height: 17px; fill: currentColor; }

.gm-author { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 20px; align-items: start; background: var(--gm-white); border: 1px solid var(--gm-line-2); border-radius: var(--gm-radius); padding: 22px; }
.gm-author__img { width: 76px; height: 76px; border-radius: 50%; object-fit: cover; display: block; background: var(--gm-blush); }
.gm-author__sur { font: 700 11px/1 var(--gm-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--gm-accent); margin: 3px 0 7px; }
.gm-author__name { font-size: 25px; margin: 0 0 6px; }
.gm-author__name a { color: var(--gm-ink); text-decoration: none; }
.gm-author__bio { font-size: 15px; line-height: 1.6; color: var(--gm-ink-2); margin: 0; }

.gm-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gm-next a { display: block; padding: 18px 20px; background: var(--gm-white); border: 1px solid var(--gm-line-2); border-radius: var(--gm-radius); text-decoration: none; color: var(--gm-ink); transition: border-color .2s var(--gm-ease), box-shadow .2s var(--gm-ease); }
.gm-next a:hover { border-color: var(--gm-line); box-shadow: var(--gm-shadow); }
.gm-next__dir { display: flex; align-items: center; gap: 8px; font: 700 11px/1 var(--gm-sans); letter-spacing: .13em; text-transform: uppercase; color: var(--gm-muted); margin-bottom: 9px; }
.gm-next__title { display: block; font-family: var(--gm-serif); font-size: 20px; font-weight: 700; line-height: 1.16; }
.gm-next a:hover .gm-next__title { color: var(--gm-accent); }
.gm-next__b { text-align: right; }
.gm-next__b .gm-next__dir { justify-content: flex-end; }
.gm-next__a .gm-arrow { transform: rotate(180deg); }

/* -------------------------------------------------------------------------
 * 10. Formulaires et commentaires
 * ---------------------------------------------------------------------- */

input[type="text"], input[type="email"], input[type="url"], input[type="tel"],
input[type="number"], input[type="password"], input[type="date"], select, textarea {
	width: 100%;
	font: 400 16px/1.4 var(--gm-sans);
	color: var(--gm-ink);
	background: var(--gm-white);
	border: 1px solid var(--gm-line);
	border-radius: var(--gm-radius-s);
	padding: 14px 16px;
	transition: border-color .2s var(--gm-ease), box-shadow .2s var(--gm-ease);
}
textarea { min-height: 170px; resize: vertical; line-height: 1.6; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--gm-rose); box-shadow: 0 0 0 4px var(--gm-rose-wash); }
label { display: block; font-size: 14px; font-weight: 600; color: var(--gm-ink); margin-bottom: 7px; }
input[type="checkbox"], input[type="radio"] { width: auto; accent-color: var(--gm-rose-ink); }
input[type="submit"], button[type="submit"]:not(.gm-icon-btn), .wpcf7-submit {
	width: auto;
	font: 700 13px/1 var(--gm-sans);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	background: var(--gm-ink);
	border: 1px solid var(--gm-ink);
	border-radius: 100px;
	padding: 16px 30px;
	cursor: pointer;
	transition: background .2s var(--gm-ease), border-color .2s var(--gm-ease);
}
input[type="submit"]:hover, button[type="submit"]:not(.gm-icon-btn):hover, .wpcf7-submit:hover { background: var(--gm-rose-ink); border-color: var(--gm-rose-ink); }

.wpcf7 form p { margin-bottom: 18px; }
.wpcf7 label { font-weight: 600; }
.wpcf7-not-valid-tip { font-size: 13.5px; color: #b3261e; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 14px 18px; border-radius: var(--gm-radius-s); border-width: 1px; font-size: 14.5px; }

.gm-comments { margin-top: 12px; }
.gm-comments__title { font-size: 30px; font-style: italic; font-weight: 600; margin-bottom: 20px; }
.gm-comments ol { list-style: none; margin: 0 0 30px; padding: 0; }
.gm-comments ol.children { margin: 0; padding-left: 26px; }
.gm-comments .comment-body { padding: 18px 0; border-bottom: 1px solid var(--gm-line-2); }
.gm-comments .comment-author { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 15px; }
.gm-comments .comment-author img { border-radius: 50%; }
.gm-comments .comment-metadata { font-size: 12.5px; color: var(--gm-muted); margin: 4px 0 10px; }
.gm-comments .comment-metadata a { color: inherit; text-decoration: none; }
.gm-comments .comment-content { font-size: 16px; }
.gm-comments .reply a { font: 700 11px/1 var(--gm-sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.comment-respond .comment-reply-title { font-size: 28px; font-style: italic; font-weight: 600; margin-bottom: 6px; }
.comment-form p { margin-bottom: 16px; }
.comment-form .comment-notes, .comment-form .logged-in-as { font-size: 13.5px; color: var(--gm-muted); }
.comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
.comment-form-cookies-consent label { font-weight: 400; margin: 0; }

/* -------------------------------------------------------------------------
 * 11. Pied de page
 * ---------------------------------------------------------------------- */

.gm-footer { background: var(--gm-night); color: rgba(255, 255, 255, .78); margin-top: clamp(48px, 6vw, 84px); font-size: 15px; }
.gm-footer a { color: rgba(255, 255, 255, .82); text-decoration: none; transition: color .2s var(--gm-ease); }
.gm-footer a:hover { color: var(--gm-rose-soft); }
.gm-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(26px, 4vw, 56px);
	padding-block: clamp(42px, 5vw, 66px) clamp(30px, 4vw, 46px);
}
.gm-footer .gm-logo { color: #fff; font-size: 23px; margin-bottom: 16px; white-space: normal; flex-wrap: wrap; }
.gm-footer .gm-logo__b { color: var(--gm-rose-soft); }
.gm-footer__pitch { max-width: 40ch; line-height: 1.65; color: rgba(255, 255, 255, .68); margin: 0; }
.gm-footer__title { font: 700 11px/1 var(--gm-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gm-rose-soft); margin: 6px 0 16px; }
.gm-footer ul { list-style: none; margin: 0; padding: 0; }
.gm-footer li { padding: 5px 0; }
.gm-footer__posts li { padding: 8px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.gm-footer__posts li:first-child { border-top: 0; padding-top: 2px; }
.gm-footer__posts a { font-family: var(--gm-serif); font-size: 18px; font-weight: 600; line-height: 1.2; color: #fff; }
.gm-footer__count { color: rgba(255, 255, 255, .42); font-size: 12.5px; margin-left: 6px; }
.gm-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	padding-block: 20px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: 13px;
	color: rgba(255, 255, 255, .58);
}
.gm-footer__bottom ul { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.gm-footer__bottom li { padding: 0; }
.gm-footer__bottom p { margin: 0; }

/* -------------------------------------------------------------------------
 * 12. Extensions tierces
 * ---------------------------------------------------------------------- */

.kk-star-ratings .kksr-legend { font-family: var(--gm-sans); font-size: 13px !important; color: var(--gm-ink-2); }

.gm-prose .raa-banner { margin: 1.8em 0 !important; font-family: var(--gm-sans); }
.gm-prose .raa-banner a { text-decoration: none; }

/* Si le sommaire de l extension passe malgre tout, il prend les couleurs du theme. */
#ez-toc-container { background: var(--gm-white) !important; border: 1px solid var(--gm-line) !important; border-radius: var(--gm-radius) !important; box-shadow: none !important; padding: 18px 22px !important; width: 100% !important; }
#ez-toc-container .ez-toc-title { font-family: var(--gm-serif); font-style: italic; font-weight: 600 !important; font-size: 23px !important; }
#ez-toc-container a { color: var(--gm-ink-2) !important; text-decoration: none !important; font-size: 15px; }
#ez-toc-container a:hover { color: var(--gm-accent) !important; }

.yarpp-related { margin-top: 30px !important; }
.yarpp-related h3 { font-size: 26px; font-style: italic; }
.yarpp-related ol, .yarpp-related ul { list-style: none; margin: 0; padding: 0; }
.yarpp-related li { padding: 9px 0; border-top: 1px solid var(--gm-line-2); }
.yarpp-related li::before { display: none; }
.yarpp-related a { font-family: var(--gm-serif); font-size: 19px; font-weight: 700; color: var(--gm-ink); text-decoration: none; }

#cookie-notice { font-family: var(--gm-sans) !important; }
#cookie-notice .cn-button { border-radius: 100px !important; font-family: var(--gm-sans) !important; }

/* Pages de plan du site */
.gm-prose .wsp-container ul, .gm-prose .simple-sitemap-container ul { columns: 2; column-gap: 40px; }
.gm-prose .wsp-container li, .gm-prose .simple-sitemap-container li { break-inside: avoid; }

/* Quand on est connecte, la barre d administration occupe le haut de l ecran. */
.admin-bar .gm-header, .admin-bar .gm-progress { top: 32px; }
.admin-bar .gm-toc { top: 132px; }
.admin-bar .gm-drawer { z-index: 100001; }
.admin-bar .gm-veil { z-index: 100000; }
@media (max-width: 782px) {
	.admin-bar .gm-header, .admin-bar .gm-progress { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .gm-header, .admin-bar .gm-progress { top: 0; }
}

/* -------------------------------------------------------------------------
 * 13. Adaptations
 * ---------------------------------------------------------------------- */

@media (max-width: 1120px) {
	.gm-nav { display: none; }
	.gm-burger { display: inline-flex; }
	.gm-header__in { justify-content: space-between; min-height: 66px; gap: 8px; }
	.gm-header .gm-logo { position: absolute; left: 50%; transform: translateX(-50%); font-size: 21px; }
	.gm-header__in { position: relative; }
	.gm-fresh { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-faces { gap: 20px; }
	.gm-face { grid-template-columns: 76px minmax(0, 1fr); gap: 14px; }
	.gm-face__img { width: 76px; height: 76px; }
	.gm-art__cols { grid-template-columns: minmax(0, 1fr) 290px; gap: 36px; }
}

@media (max-width: 900px) {
	html { scroll-padding-top: 78px; }
	.gm-une__grid, .gm-mosaic { grid-template-columns: minmax(0, 1fr); }
	.gm-une__side, .gm-mosaic__side { grid-template-rows: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-une__side .gm-tile, .gm-mosaic__side .gm-tile { aspect-ratio: 1.55 / 1; }
	.gm-duo, .gm-duo--rev { grid-template-columns: minmax(0, 1fr); }
	.gm-duo > .gm-tile, .gm-duo--rev > .gm-tile { order: 0; aspect-ratio: 1.9 / 1; min-height: 0; }
	.gm-duo__list { grid-template-rows: none; }
	.gm-trio, .gm-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-trio > :nth-child(3):last-child { grid-column: 1 / -1; aspect-ratio: 2.6 / 1; }
	.gm-faces { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.gm-about { grid-template-columns: minmax(0, 1fr); }
	.gm-rubhead { grid-template-columns: minmax(0, 1fr); align-items: start; }
	.gm-art__cols { grid-template-columns: minmax(0, 1fr); }
	.gm-art__main { max-width: none; }
	.gm-toc { display: none; }
	.gm-toc-m { display: block; }
	.gm-rail__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gm-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	body { font-size: 16.5px; }
	.gm-header .gm-logo { font-size: 17px; }
	.gm-une { padding-top: 16px; }
	.gm-une__grid, .gm-mosaic, .gm-une__side, .gm-mosaic__side { gap: 14px; }
	.gm-une__main, .gm-mosaic__main { aspect-ratio: 1.25 / 1; }
	.gm-une__side, .gm-mosaic__side, .gm-trio, .gm-grid3, .gm-fresh, .gm-rail__list { grid-template-columns: minmax(0, 1fr); }
	.gm-une__side .gm-tile, .gm-mosaic__side .gm-tile, .gm-trio > :nth-child(3):last-child { aspect-ratio: 1.9 / 1; }
	.gm-trio, .gm-grid3 { gap: 14px; }
	.gm-fresh > :nth-child(n+5) { display: none; }
	.gm-tile__title { font-size: 21px; }
	.gm-sec { gap: 12px; margin-bottom: 18px; }
	.gm-sec__more span { display: none; }
	.gm-row { grid-template-columns: 104px minmax(0, 1fr); gap: 13px; min-height: 104px; }
	.gm-row__img { width: 104px; }
	.gm-row__title { font-size: 18.5px; }
	.gm-night, .gm-about { border-radius: 18px; }
	.gm-prose { font-size: 17.5px; }
	.gm-prose blockquote { font-size: 22px; padding-left: 20px; }
	.gm-prose .alignleft, .gm-prose .alignright { float: none; margin: 1.4em 0; max-width: 100%; }
	.gm-prose table { display: block; width: max-content; max-width: 100%; overflow-x: auto; }
	.gm-prose .wsp-container ul, .gm-prose .simple-sitemap-container ul { columns: 1; }
	.gm-art__fig img { aspect-ratio: 16 / 10; }
	.gm-also { padding: 14px 16px; }
	.gm-also__title { font-size: 20px; }
	.gm-next { grid-template-columns: minmax(0, 1fr); }
	.gm-next__b { text-align: left; }
	.gm-next__b .gm-next__dir { justify-content: flex-start; }
	.gm-author { grid-template-columns: 60px minmax(0, 1fr); gap: 16px; padding: 18px; }
	.gm-author__img { width: 60px; height: 60px; }
	.gm-footer__top { grid-template-columns: minmax(0, 1fr); }
	.gm-footer__bottom { flex-direction: column; align-items: flex-start; }
	.gm-comments ol.children { padding-left: 14px; }
}

@media print {
	.gm-header, .gm-drawer, .gm-veil, .gm-progress, .gm-rail, .gm-share, .gm-next, .gm-footer, .gm-related, .gm-rate, #cookie-notice { display: none !important; }
	body { background: #fff; font-size: 12pt; }
	.gm-art__cols { display: block; }
	.gm-tile, .gm-row { box-shadow: none; }
}
