/*
Theme Name: Maison Sireix
Template: astra
Author: ARGUS
Description: Child theme d'Astra. Design system editorial (projet Refonte Design Sites VDL). Palette et typo pilotees par variables CSS pour declinaison par site.
Version: 1.0.0
Text Domain: astra-child
*/

/* ============================================================
   DESIGN SYSTEM VDL — tokens (declinables par site)
   ============================================================ */
:root {
	--mssx-paper:   #F4F1E8;
	--mssx-paper-2: #EDE8DC;
	--mssx-ink:     #211C16;
	--mssx-soft:    #6B6156;
	--mssx-faint:   #9A9082;
	--mssx-rule:    #D8CFBE;
	--mssx-rule-2:  #E5DDCE;
	--mssx-accent:  #A8432A;
	--mssx-accent-d:#8F3720;
	--mssx-serif:   "Iowan Old Style", "Palatino Linotype", Palatino, "Hoefler Text", "Book Antiqua", Georgia, serif;
	--mssx-sans:    "Helvetica Neue", "Segoe UI", system-ui, -apple-system, sans-serif;
}

/* ---------- Fond papier + typo globale ---------- */
html {
	background-color: var(--mssx-paper) !important;
}
body,
body.single, body.archive, body.blog,
.ast-separate-container,
.ast-plain-container {
	background-color: var(--mssx-paper) !important;
}
body.single, body.archive { margin: 0 !important; }
body {
	color: var(--mssx-ink);
	font-family: var(--mssx-sans);
}
/* les "cartes" boxed d'Astra deviennent plates sur le fond papier */
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container #primary,
.ast-separate-container #secondary {
	background-color: transparent;
	box-shadow: none;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.ast-archive-title,
.widget-title {
	font-family: var(--mssx-serif);
	color: var(--mssx-ink);
	font-weight: 600;
	letter-spacing: 0;
}

a { color: var(--mssx-ink); }
a:hover { color: var(--mssx-accent); }

/* ============================================================
   ARTICLE (single)
   ============================================================ */
.ast-article-single .entry-header {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 8px;
}
/* la meta (categorie/date) devient un kicker au-dessus du titre */
.ast-article-single .entry-header .entry-meta {
	order: -1;
	margin: 0 0 14px;
	font-family: var(--mssx-sans);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mssx-faint);
}
.ast-article-single .entry-header {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ast-article-single .entry-header .entry-meta a { color: var(--mssx-accent); font-weight: 700; }
.ast-article-single .entry-title {
	font-size: clamp(2.1rem, 4.2vw, 3.2rem);
	line-height: 1.1;
	text-wrap: balance;
	margin: 0;
}

/* image a la une */
.ast-single-post-featured-section.post-thumb {
	margin: 34px auto 0;
	border-radius: 3px;
	overflow: hidden;
}
.ast-single-post-featured-section.post-thumb img {
	width: 100%;
	object-fit: cover;
}

/* prose */
.ast-article-single .entry-content {
	font-family: var(--mssx-serif);
	font-size: 1.18rem;
	line-height: 1.78;
	color: var(--mssx-ink);
	max-width: 72ch;
	margin-left: auto;
	margin-right: auto;
}
.ast-article-single .entry-content > p { margin: 0 0 1.4em; }
/* (lettrine retiree ici : geree uniquement dans .mssx-prose du template single.php custom,
   sinon elle debordait sur les pages type Contact qui utilisent le gabarit Astra par defaut) */
.ast-article-single .entry-content h2 { font-size: 1.85rem; margin: 1.7em 0 .5em; }
.ast-article-single .entry-content h3 { font-size: 1.4rem; margin: 1.4em 0 .4em; }
.ast-article-single .entry-content blockquote {
	margin: 1.6em 0;
	padding: 4px 0 4px 26px;
	border-left: 3px solid var(--mssx-accent);
	font-style: italic;
	color: var(--mssx-soft);
	font-size: 1.3rem;
	line-height: 1.5;
}
.ast-article-single .entry-content a {
	color: var(--mssx-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(168, 67, 42, .4);
}
.ast-article-single .entry-content a:hover { text-decoration-color: var(--mssx-accent); }

/* sidebar -> rail editorial */
#secondary .widget-title {
	font-family: var(--mssx-sans);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mssx-ink);
	font-weight: 700;
	border-top: 2px solid var(--mssx-ink);
	padding-top: 14px;
	margin-bottom: 14px;
}
#secondary .widget { margin-bottom: 30px; }
#secondary a { color: var(--mssx-soft); }
#secondary a:hover { color: var(--mssx-accent); }

/* ============================================================
   CATEGORIE / ARCHIVE
   ============================================================ */
.ast-archive-description {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 10px;
	padding: 30px 0 26px;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}
/* le conteneur boxed de l'archive redevient plat sur le fond papier */
.ast-separate-container .ast-archive-description,
.blog .ast-separate-container .site-content > .ast-container,
.archive .ast-separate-container .site-content { background: transparent !important; box-shadow: none !important; }
.ast-archive-title {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	position: relative;
}
/* kicker "Categorie" au-dessus du titre d'archive */
.ast-archive-title::before {
	content: "Categorie";
	display: block;
	font-family: var(--mssx-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mssx-accent);
	margin-bottom: 12px;
}
.ast-archive-description .ast-archive-description-title + *,
.ast-archive-description p {
	font-family: var(--mssx-serif);
	font-style: italic;
	color: var(--mssx-soft);
	font-size: 1.15rem;
}

/* cartes d'articles : editorial borderless */
.ast-article-post {
	border: 0;
	background: transparent;
}
.ast-article-post .ast-article-inner {
	border: 0;
	background: transparent;
	box-shadow: none;
}
.ast-article-post .post-thumb {
	overflow: hidden;
	border-radius: 3px;
	margin-bottom: 14px;
}
.ast-article-post .post-thumb img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform .5s ease;
}
.ast-article-post:hover .post-thumb img { transform: scale(1.03); }
.ast-article-post .entry-title {
	font-size: 1.4rem;
	line-height: 1.16;
	margin: 8px 0 8px;
}
.ast-article-post .entry-title a:hover { color: var(--mssx-accent); }
.ast-article-post .ast-excerpt-container {
	color: var(--mssx-soft);
	font-size: .97rem;
	line-height: 1.55;
}
.ast-article-post .entry-meta,
.ast-article-post .post-meta {
	font-family: var(--mssx-sans);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--mssx-faint);
	text-transform: uppercase;
}
.ast-article-post .ast-read-more-container a,
.ast-article-post .read-more a {
	font-family: var(--mssx-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mssx-accent);
}

/* boutons / accents Astra generiques */
.wp-block-button__link,
.ast-button,
.button,
button.menu-toggle {
	background-color: var(--mssx-accent);
	border-color: var(--mssx-accent);
}
.pagination .page-numbers.current,
.ast-pagination .page-numbers.current {
	background: var(--mssx-ink);
	border-color: var(--mssx-ink);
	color: var(--mssx-paper);
}

/* ============================================================
   HOME (front-page.php) — pleine largeur
   ============================================================ */
/* on neutralise le conteneur Astra sur la home pour gerer la pleine largeur */
.home #content.site-content { padding-top: 0; }
.home #content .ast-container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block !important;
}
.home #primary {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.home #secondary { display: none !important; }

.mssx-home { color: var(--mssx-ink); font-family: var(--mssx-sans); }
.mssx-home img { display: block; max-width: 100%; }
.mssx-home a { text-decoration: none; color: inherit; }
.mssx-wrap { max-width: 1240px; margin: 0 auto; padding: 0 34px; }
.mssx-home h1, .mssx-home h2, .mssx-home h3 { font-family: var(--mssx-serif); font-weight: 600; line-height: 1.08; margin: 0; text-wrap: balance; }
.mssx-block { padding: 84px 0; }
.mssx-pt0 { padding-top: 0; }

.mssx-eyebrow { font-family: var(--mssx-sans); font-size: 12px; letter-spacing: .3em; text-transform: uppercase; }
.mssx-kicker { font-family: var(--mssx-sans); font-size: 11.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--mssx-accent); }
.mssx-meta { font-family: var(--mssx-sans); font-size: 12.5px; letter-spacing: .05em; color: var(--mssx-faint); text-transform: uppercase; }
.mssx-link-arrow { font-family: var(--mssx-sans); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 9px; border-bottom: 1px solid var(--mssx-ink); padding-bottom: 4px; }
.mssx-link-arrow:hover { color: var(--mssx-accent); border-color: var(--mssx-accent); }

/* HERO */
.mssx-hero { position: relative; min-height: 82vh; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; overflow: hidden; }
.mssx-hero-bg { position: absolute; inset: 0; }
.mssx-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.mssx-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(26,20,15,.44), rgba(26,20,15,.60)); }
.mssx-hero-inner { position: relative; max-width: 830px; padding: 80px 30px; }
.mssx-hero .mssx-eyebrow { color: #E4C79C; display: inline-flex; align-items: center; gap: 16px; }
.mssx-hero .mssx-eyebrow::before, .mssx-hero .mssx-eyebrow::after { content: ""; width: 34px; height: 1px; background: currentColor; opacity: .7; }
.mssx-hero h1 { font-size: clamp(2.7rem, 5.8vw, 4.5rem); line-height: 1.04; margin: 26px 0 0; color: #fff; }
.mssx-hero h1 em { font-style: italic; color: #E4C79C; }
.mssx-hero p { font-family: var(--mssx-serif); font-style: italic; font-size: 1.3rem; line-height: 1.55; color: rgba(255,255,255,.9); max-width: 600px; margin: 24px auto 0; }
.mssx-cta { display: flex; gap: 14px; justify-content: center; margin-top: 38px; flex-wrap: wrap; }
.mssx-btn { font-family: var(--mssx-sans); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; padding: 14px 26px; border: 1px solid transparent; display: inline-flex; align-items: center; gap: 8px; transition: all .18s ease; }
.mssx-btn-solid { background: var(--mssx-accent); color: #fff; }
.mssx-btn-solid:hover { background: var(--mssx-accent-d); color: #fff; }
.mssx-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }
.mssx-btn-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; }

/* section label */
.mssx-slabel { display: flex; align-items: center; gap: 22px; margin: 0 0 34px; }
.mssx-slabel::before, .mssx-slabel::after { content: ""; flex: 1; height: 1px; background: var(--mssx-rule); }
.mssx-slabel h2, .mssx-slabel span:first-child { font-family: var(--mssx-sans); font-size: 12px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--mssx-ink); white-space: nowrap; margin: 0; line-height: 1; }
.mssx-slabel.mssx-left { margin-bottom: 26px; }
.mssx-slabel.mssx-left::before { display: none; }
.mssx-slabel .mssx-fill { flex: 1; height: 1px; background: var(--mssx-rule); }

/* Nos univers */
.mssx-univers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; }
.mssx-uni .mssx-ph { aspect-ratio: 4/5; overflow: hidden; background: var(--mssx-paper-2); margin-bottom: 16px; }
.mssx-uni .mssx-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mssx-uni:hover .mssx-ph img { transform: scale(1.04); }
.mssx-uni h3 { font-size: 1.5rem; margin: 0 0 6px; }
.mssx-uni:hover h3 { color: var(--mssx-accent); }
.mssx-uni .mssx-d { color: var(--mssx-soft); font-size: .96rem; margin: 0 0 12px; }
.mssx-uni .mssx-c { font-family: var(--mssx-sans); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--mssx-accent); font-weight: 600; }

/* Derniers + plus lus */
.mssx-magrow { display: grid; grid-template-columns: 1.75fr 1fr; gap: 64px; align-items: start; }
.mssx-dcard { display: grid; grid-template-columns: 190px 1fr; gap: 22px; padding: 26px 0; border-top: 1px solid var(--mssx-rule); align-items: center; }
.mssx-dcard:first-of-type { border-top: 0; padding-top: 0; }
.mssx-dcard .mssx-ph { aspect-ratio: 4/3; overflow: hidden; background: var(--mssx-paper-2); }
.mssx-dcard .mssx-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mssx-dcard:hover .mssx-ph img { transform: scale(1.04); }
.mssx-dcard h3 { font-size: 1.45rem; margin: 9px 0 8px; line-height: 1.14; }
.mssx-dcard:hover h3 { color: var(--mssx-accent); }
.mssx-dcard .mssx-ex { color: var(--mssx-soft); font-size: .97rem; margin: 0; }
.mssx-top { display: flex; gap: 11px; align-items: center; }
.mssx-top .mssx-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--mssx-faint); }
.mssx-morelink { margin-top: 26px; }

.mssx-popular { background: var(--mssx-paper-2); padding: 30px 28px; }
.mssx-popular ol { list-style: none; counter-reset: pop; margin: 0; padding: 0; }
.mssx-popular li { counter-increment: pop; display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 17px 0; border-top: 1px solid var(--mssx-rule); align-items: baseline; }
.mssx-popular li:first-child { border-top: 0; padding-top: 4px; }
.mssx-popular li::before { content: counter(pop, decimal-leading-zero); font-family: var(--mssx-serif); font-size: 1.3rem; font-weight: 600; color: var(--mssx-accent); font-variant-numeric: tabular-nums; }
.mssx-popular .mssx-pk { font-family: var(--mssx-sans); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--mssx-faint); display: block; margin-bottom: 3px; }
.mssx-popular li a { font-family: var(--mssx-serif); font-size: 1.12rem; line-height: 1.22; color: var(--mssx-ink); }
.mssx-popular li a:hover { color: var(--mssx-accent); }

/* Recette (module authentique) */
.mssx-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.mssx-feature .mssx-ph { aspect-ratio: 3/2; overflow: hidden; background: var(--mssx-paper-2); }
.mssx-feature .mssx-ph img { width: 100%; height: 100%; object-fit: cover; }
.mssx-feature h2, .mssx-feature h3, .mssx-feature .mssx-feature-title { font-family: var(--mssx-serif); font-weight: 600; font-size: clamp(1.9rem, 3vw, 2.5rem); line-height: 1.1; margin: 16px 0 0; }
.mssx-feature .mssx-stand { font-family: var(--mssx-serif); font-style: italic; color: var(--mssx-soft); font-size: 1.15rem; margin: 18px 0 26px; line-height: 1.55; }

/* A propos */
.mssx-about { background: var(--mssx-ink); color: rgba(255,255,255,.82); }
.mssx-about-inner { max-width: 760px; margin: 0 auto; text-align: center; padding: 82px 30px; }
.mssx-about .mssx-eyebrow { color: #E4C79C; }
.mssx-about h2 { font-family: var(--mssx-serif); color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.6rem); margin: 16px 0 22px; }
.mssx-about p { font-family: var(--mssx-serif); font-size: 1.2rem; line-height: 1.7; margin: 0 auto 18px; max-width: 62ch; }
.mssx-about .mssx-sig { font-family: var(--mssx-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #E4C79C; margin-top: 26px; }

@media (max-width: 921px) {
	.mssx-hero { min-height: 70vh; }
	.mssx-magrow { grid-template-columns: 1fr; gap: 44px; }
	.mssx-feature { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 600px) {
	.mssx-wrap { padding: 0 22px; }
	.mssx-univers { grid-template-columns: 1fr; }
	.mssx-dcard { grid-template-columns: 120px 1fr; gap: 16px; }
}

/* ============================================================
   FOOTER — sombre (facon maquette), tous viewports
   ============================================================ */
.site-footer,
.ast-footer-overlay,
.site-above-footer-wrap,
.site-primary-footer-wrap,
.site-below-footer-wrap { background-color: var(--mssx-ink) !important; }
.site-footer,
.site-footer p,
.site-footer span,
.site-footer li,
.site-footer .ast-footer-copyright,
.site-footer .widget { color: rgba(255,255,255,.74) !important; }
.site-footer a { color: rgba(255,255,255,.74) !important; }
.site-footer a:hover { color: #fff !important; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6,
.site-footer .ast-widget-title, .site-footer .widget-title {
	color: rgba(255,255,255,.55) !important;
	font-family: var(--mssx-sans) !important;
	font-size: 11px !important;
	letter-spacing: .2em !important;
	text-transform: uppercase !important;
}
.site-footer .ast-builder-grid-row-container { border: 0 !important; }
.site-primary-footer-wrap { border-top: 1px solid rgba(255,255,255,.14) !important; }

/* ============================================================
   HEADER — masthead centre (desktop uniquement ; mobile intact)
   ============================================================ */
/* filet sous le masthead + brand serif, tous viewports */
.ast-primary-header-bar.main-header-bar { border-bottom: 2px solid var(--mssx-ink); }
.site-branding.ast-site-identity { text-align: center; }
.ast-site-title-wrap .site-title { font-family: var(--mssx-serif); font-weight: 600; letter-spacing: .01em; margin: 0; }
.ast-site-title-wrap .site-title a { color: var(--mssx-ink); }
.main-header-menu .menu-link {
	font-family: var(--mssx-sans);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: 13px;
}

@media (min-width: 922px) {
	.site-primary-header-wrap.ast-container { padding-top: 18px !important; padding-bottom: 6px !important; }
	/* la grille builder (left | right) devient une colonne centree */
	.ast-builder-grid-row.ast-builder-grid-row-has-sides {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		grid-template-columns: none !important;
		gap: 14px !important;
	}
	/* sections compactes (Astra leur impose une min-height = hauteur header) */
	.ast-builder-grid-row.ast-builder-grid-row-has-sides > .site-header-section {
		height: auto !important;
		min-height: 0 !important;
		align-items: center !important;
	}
	.main-header-bar-wrap, .ast-main-header-wrap,
	.ast-primary-header-bar.main-header-bar, .site-primary-header-wrap {
		height: auto !important;
		min-height: 0 !important;
	}
	.site-header-primary-section-left,
	.site-header-primary-section-right {
		width: auto !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
		justify-content: center !important;
		margin: 0 !important;
	}
	.ast-main-header-bar-alignment { justify-content: center !important; }
	.main-header-bar-navigation .main-navigation,
	.main-header-menu.ast-nav-menu { justify-content: center !important; }
	/* brand plus grand facon masthead */
	.ast-site-title-wrap .site-title { font-size: 40px; line-height: 1; }
}

/* ============================================================
   TEMPLATES CUSTOM : single.php + archive.php (facon maquette)
   ============================================================ */
/* pleine largeur (comme la home) — Astra bride le body/#page a 700px sur les single */
body.single, body.archive { max-width: none !important; width: auto !important; }
.single #page, .archive #page { width: 100% !important; max-width: none !important; }
.single #content.site-content, .archive #content.site-content { padding-top: 0; }
.single #content .ast-container, .archive #content .ast-container {
	max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; display: block !important;
}
.single #primary, .archive #primary { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; margin: 0 !important; padding: 0 !important; }
.single #secondary, .archive #secondary { display: none !important; }

.mssx-single, .mssx-archive { font-family: var(--mssx-sans); color: var(--mssx-ink); }
.mssx-single img, .mssx-archive img { display: block; max-width: 100%; }
.mssx-single a, .mssx-archive a { text-decoration: none; color: inherit; }
.mssx-wrap.mssx-narrow { max-width: 1120px; }
.mssx-single h1, .mssx-single h2, .mssx-single h3,
.mssx-archive h1, .mssx-archive h2, .mssx-archive h3 { font-family: var(--mssx-serif); font-weight: 600; line-height: 1.1; margin: 0; text-wrap: balance; }

/* --- Article --- */
.mssx-crumb { font-family: var(--mssx-sans); font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--mssx-faint); padding: 26px 0 0; }
.mssx-crumb a { color: var(--mssx-soft); } .mssx-crumb a:hover { color: var(--mssx-accent); }
.mssx-art-head { max-width: 820px; margin: 0 auto; text-align: center; padding: 20px 0 6px; }
.mssx-art-head .mssx-kicker { color: var(--mssx-accent); }
.mssx-art-head h1 { font-size: clamp(2.1rem, 4.3vw, 3.3rem); margin: 16px 0 0; }
.mssx-stand { font-family: var(--mssx-serif); font-style: italic; font-size: 1.3rem; line-height: 1.55; color: var(--mssx-soft); margin: 20px auto 0; max-width: 60ch; }
.mssx-byline { display: flex; gap: 14px; align-items: center; justify-content: center; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--mssx-rule); font-family: var(--mssx-sans); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--mssx-faint); }
.mssx-byline .mssx-av { width: 34px; height: 34px; border-radius: 50%; background: var(--mssx-paper-2); border: 1px solid var(--mssx-rule); }
.mssx-byline .mssx-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--mssx-faint); }
.mssx-feat { margin: 34px 0 0; aspect-ratio: 16/9; overflow: hidden; background: var(--mssx-paper-2); border-radius: 3px; }
.mssx-feat img { width: 100%; height: 100%; object-fit: cover; }

.mssx-art-cols { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 60px; padding: 46px 0 20px; align-items: start; }
.mssx-prose { font-family: var(--mssx-serif); font-size: 1.16rem; line-height: 1.75; color: var(--mssx-ink); max-width: 70ch; }
.mssx-prose .ez-toc-container { display: none; }
.mssx-prose > p { margin: 0 0 1.4em; }
.mssx-prose > p:first-of-type::first-letter { font-size: 3.6em; float: left; line-height: .8; padding: 8px 14px 0 0; color: var(--mssx-accent); font-weight: 600; }
.mssx-prose h2 { font-family: var(--mssx-serif); font-size: 1.9rem; margin: 1.7em 0 .5em; }
.mssx-prose h3 { font-family: var(--mssx-serif); font-size: 1.42rem; margin: 1.4em 0 .4em; }
.mssx-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--mssx-accent); font-style: italic; color: var(--mssx-soft); font-size: 1.32rem; line-height: 1.5; }
.mssx-prose ul, .mssx-prose ol { padding-left: 1.1em; margin: 1.2em 0; }
.mssx-prose li { margin: .45em 0; }
.mssx-prose a { color: var(--mssx-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(168,67,42,.4); }
.mssx-prose a:hover { text-decoration-color: var(--mssx-accent); }
.mssx-prose img { border-radius: 3px; margin: 1.4em 0; }

.mssx-rail { position: sticky; top: 26px; display: flex; flex-direction: column; gap: 26px; }
.mssx-toc { display: none; } /* affiche par JS uniquement si l'article a de vrais sous-titres */
.mssx-railbox { border-top: 2px solid var(--mssx-ink); padding-top: 16px; }
.mssx-railt { font-family: var(--mssx-sans); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--mssx-ink); font-weight: 700; margin-bottom: 14px; }
.mssx-toclist a { display: block; font-family: var(--mssx-sans); font-size: 13.5px; color: var(--mssx-soft); padding: 8px 0 8px 14px; border-left: 2px solid var(--mssx-rule); }
.mssx-toclist a:hover { color: var(--mssx-accent); border-left-color: var(--mssx-accent); }
.mssx-rlist a { display: flex; gap: 14px; padding: 14px 0; border-top: 1px solid var(--mssx-rule-2); align-items: center; }
.mssx-rlist a:first-child { border-top: 0; padding-top: 4px; }
.mssx-mini { width: 72px; height: 72px; flex: none; overflow: hidden; background: var(--mssx-paper-2); border-radius: 3px; }
.mssx-mini img { width: 100%; height: 100%; object-fit: cover; }
.mssx-tt { font-family: var(--mssx-serif); font-size: 16px; line-height: 1.28; }
.mssx-rlist a:hover .mssx-tt { color: var(--mssx-accent); }

/* YARPP (articles similaires du plugin) — sous la prose */
.mssx-single .yarpp-related { margin-top: 2.6em; padding-top: 1.7em; border-top: 1px solid var(--mssx-rule); }
.mssx-single .yarpp-related::before {
	content: "Articles similaires"; display: block;
	font-family: var(--mssx-sans); font-size: 12px; font-weight: 700;
	letter-spacing: .24em; text-transform: uppercase; color: var(--mssx-ink); margin-bottom: 1em;
}
.mssx-single .yarpp-related h2, .mssx-single .yarpp-related h3, .mssx-single .yarpp-related .yarpp-related-title {
	font-family: var(--mssx-sans) !important; font-size: 12px !important; font-weight: 700 !important;
	letter-spacing: .24em !important; text-transform: uppercase !important; color: var(--mssx-ink) !important; margin-bottom: 1em !important;
}
.mssx-single .yarpp-related ol, .mssx-single .yarpp-related ul { list-style: none; padding: 0; margin: 0; }
.mssx-single .yarpp-related li { padding: 12px 0; border-top: 1px solid var(--mssx-rule-2); }
.mssx-single .yarpp-related li:first-child { border-top: 0; }
.mssx-single .yarpp-related > p { display: none; } /* masque le "Publications similaires :" natif (remplace par le titre ::before) */
.mssx-single .yarpp-related a { font-family: var(--mssx-serif); font-size: 1.1rem; color: var(--mssx-ink); text-decoration: none; }
.mssx-single .yarpp-related a:hover { color: var(--mssx-accent); }

/* --- Cartes stories (poursuivre la lecture + grille catégorie) --- */
.mssx-stories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 38px; }
.mssx-single .mssx-stories { border-top: 1px solid var(--mssx-rule); margin-top: 30px; padding-top: 6px; }
.mssx-story .mssx-ph { aspect-ratio: 4/3; overflow: hidden; margin-bottom: 16px; background: var(--mssx-paper-2); }
.mssx-story .mssx-ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.mssx-story:hover .mssx-ph img { transform: scale(1.03); }
.mssx-story .mssx-top { display: flex; gap: 12px; align-items: center; }
.mssx-story .mssx-top .mssx-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--mssx-faint); }
.mssx-story h2, .mssx-story h3, .mssx-story .mssx-story-title { font-family: var(--mssx-serif); font-weight: 600; font-size: 1.38rem; line-height: 1.16; margin: 10px 0 8px; }
.mssx-story:hover h2, .mssx-story:hover h3, .mssx-story:hover .mssx-story-title { color: var(--mssx-accent); }
.mssx-story .mssx-ex { color: var(--mssx-soft); font-size: .97rem; margin: 0 0 10px; }
.mssx-story .mssx-rl { font-family: var(--mssx-sans); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--mssx-accent); }
.mssx-single .mssx-slabel { margin: 44px 0 32px; }

/* --- En-tete categorie --- */
.mssx-cat-hero { text-align: center; padding: 52px 0 44px; border-bottom: 1px solid var(--mssx-rule); }
.mssx-cat-hero .mssx-kicker { color: var(--mssx-accent); }
.mssx-cat-hero h1 { font-size: clamp(2.6rem, 5.4vw, 4rem); margin: 14px 0 0; }
.mssx-cat-desc { font-family: var(--mssx-serif); font-style: italic; font-size: 1.24rem; line-height: 1.55; color: var(--mssx-soft); max-width: 60ch; margin: 18px auto 16px; }
.mssx-cat-hero .mssx-count { font-family: var(--mssx-sans); font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--mssx-faint); }
.mssx-arch-grid { padding-top: 8px; }

/* --- Pagination --- */
.mssx-pager { margin: 56px 0 0; }
.mssx-pager .navigation.pagination, .mssx-pager .nav-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.mssx-pager .page-numbers { min-width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--mssx-rule); font-family: var(--mssx-sans); font-size: 14px; color: var(--mssx-soft); text-decoration: none; }
.mssx-pager .page-numbers.current { background: var(--mssx-ink); color: var(--mssx-paper); border-color: var(--mssx-ink); }
.mssx-pager a.page-numbers:hover { border-color: var(--mssx-accent); color: var(--mssx-accent); }

@media (max-width: 921px) {
	.mssx-art-cols { grid-template-columns: 1fr; gap: 36px; }
	.mssx-rail { position: static; }
	.mssx-stories { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	.mssx-stories { grid-template-columns: 1fr; }
}
