/*
Theme Name: CapsuleTV — Le Journal
Theme URI: https://capsuletv.app/fr/
Author: Oscar
Description: Thème du blog « Le Journal » de CapsuleTV, fidèle au site capsuletv.app : mêmes couleurs, typographies, header, navigation et footer. Polices hébergées localement (aucun appel à Google Fonts).
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: capsuletv-journal
Tags: blog, custom-logo, featured-images, threaded-comments, translation-ready
*/

/* =========================================================================
   1. Polices (Cormorant Garamond, Crimson Text, Inter — licence SIL OFL)
   ========================================================================= */
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(assets/fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Crimson Text';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(assets/fonts/crimson-text-latin-400-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Crimson Text';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(assets/fonts/crimson-text-latin-400-italic.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Crimson Text';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(assets/fonts/crimson-text-latin-600-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(assets/fonts/inter-latin-500-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url(assets/fonts/inter-latin-700-normal.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================================================================
   2. Variables — valeurs relevées dans la feuille de style de capsuletv.app
   ========================================================================= */
:root {
	/* Les 3 couleurs de la charte CapsuleTV */
	--amber: #C77B3A; /* couleur signature (accent) */
	--sepia: #3A2E26; /* texte, footer */
	--linen: #F5EFE4; /* fond */

	--sepia-08: rgba(58, 46, 38, 0.08);
	--sepia-12: rgba(58, 46, 38, 0.12);
	--sepia-20: rgba(58, 46, 38, 0.2);
	--sepia-65: rgba(58, 46, 38, 0.65);
	--linen-10: rgba(245, 239, 228, 0.1);
	--linen-15: rgba(245, 239, 228, 0.15);
	--linen-90: rgba(245, 239, 228, 0.92);
	--amber-12: rgba(199, 123, 58, 0.12);
	--amber-30: rgba(199, 123, 58, 0.3);

	--radius-pill: 999px;
	--radius-lg: 24px;
	--radius-md: 16px;
	--radius-sm: 10px;

	--font-heading: 'Cormorant Garamond', Georgia, serif;
	--font-body: 'Crimson Text', Georgia, serif;
	--font-nav: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* =========================================================================
   3. Base
   ========================================================================= */
* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--linen);
	color: var(--sepia);
	font-family: var(--font-body);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img, svg { max-width: 100%; display: block; }
img { height: auto; }

a { color: inherit; text-decoration: none; }

button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }

h1, h2, h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

p { margin: 0; }

.sr-only,
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 1000;
	padding: 12px 20px;
	border-radius: var(--radius-pill);
	background: var(--sepia);
	color: var(--linen);
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 700;
}
.skip-link:focus { top: 16px; }

:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

.site-main { display: block; }

/* =========================================================================
   4. Boutons & liens (identiques au site)
   ========================================================================= */
.btn {
	display: inline-block;
	padding: 16px 32px;
	border-radius: var(--radius-pill);
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 700;
	line-height: normal;
	transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.btn:hover { transform: scale(1.02); box-shadow: 0 8px 24px var(--sepia-20); filter: brightness(1.08); }
.btn:active { transform: scale(0.98); }

.btn-primary { background: var(--amber); color: var(--linen); }
.btn-invert { background: var(--linen); color: var(--amber); }

.link {
	font-family: var(--font-nav);
	font-size: 14px;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size 200ms ease, color 200ms ease, background-color 200ms ease;
}
.link:hover { background-size: 100% 1px; }

/* =========================================================================
   5. Header / navigation
   Toujours dans l'état « scrolled » des pages secondaires du site.
   Robuste : le logo se réduit, puis les éléments passent à la ligne,
   sans jamais se chevaucher.
   ========================================================================= */
.nav {
	position: sticky;
	top: 0;
	z-index: 100;
	min-height: 96px;
	display: flex;
	align-items: center;
	background: var(--linen-90);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 4px 24px var(--sepia-12);
}
.admin-bar .nav { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .nav { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar .nav { top: 0; } }

.nav-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px 40px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}

.nav-logo {
	display: block;
	flex: 1 1 130px;
	max-width: 300px;
	min-width: 0;
}
.nav-logo img { width: 100%; max-width: 300px; height: auto; }
/* Logo remplacé dans Identité du site : proportions conservées, hauteur bornée */
.nav-logo img.custom-logo { width: auto; max-width: 100%; max-height: 72px; }
/* Sans logo : le titre du site passe à la ligne dans une largeur bornée (3 lignes max) */
.nav-logo--text { max-width: 380px; }
.nav-logo .logo-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.15;
	color: var(--sepia);
	overflow-wrap: anywhere;
	hyphens: auto;
}

.nav-right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex: 0 1 auto;
	min-width: 0;
}

.nav-signin,
.nav-blog {
	color: var(--amber);
	font-weight: 500;
	padding: 8px 12px;
	white-space: nowrap;
}

/* Onglet du blog : mis en valeur comme l'élément actif du menu de langues du site */
.nav-blog { border-radius: var(--radius-pill); }
.nav-blog.is-active {
	background-color: var(--amber-12);
	background-image: none;
	font-weight: 700;
}

.nav-ctas {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 8px;
}

.nav-cta {
	padding: 12px 22px;
	border-radius: var(--radius-pill);
	font-family: var(--font-nav);
	font-weight: 500;
	font-size: 14px;
	white-space: nowrap;
	transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-cta:hover { filter: brightness(1.08); transform: scale(1.02); box-shadow: 0 6px 16px var(--sepia-20); }

.nav-cta-create { background: var(--amber); color: var(--linen); }
.nav-cta-open { background: var(--linen); color: var(--amber); }

/* Sélecteur de langue */
.lang-dd { position: relative; }

.lang-dd-toggle {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--sepia);
	padding: 8px 12px;
	border-radius: var(--radius-pill);
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	transition: background-color 200ms ease, color 200ms ease;
}
.lang-dd-toggle svg { width: 18px; height: 18px; }
.lang-dd-toggle:hover, .lang-dd.open .lang-dd-toggle { background: var(--amber-12); }

.lang-dd-menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	background: var(--linen);
	border-radius: var(--radius-md);
	box-shadow: 0 12px 32px var(--sepia-20);
	padding: 8px;
	min-width: 150px;
	max-height: min(60vh, 420px);
	overflow-y: auto;
	display: none;
	flex-direction: column;
	gap: 2px;
	z-index: 200;
}
.lang-dd.open .lang-dd-menu { display: flex; }

.lang-dd-option {
	display: block;
	width: 100%;
	text-align: left;
	padding: 10px 14px;
	border-radius: var(--radius-sm);
	color: var(--sepia);
	font-family: var(--font-nav);
	font-size: 14px;
	transition: background-color 150ms ease;
}
.lang-dd-option:hover { background: var(--amber-12); }
.lang-dd-option.active { background: var(--amber-12); font-weight: 700; }

/* =========================================================================
   6. En-têtes de page (même composant que les pages FAQ / Contact du site)
   ========================================================================= */
.page-header {
	padding: 64px 40px 40px;
	text-align: center;
}

.section-eyebrow {
	display: block;
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.03em;
	color: var(--amber);
	text-align: center;
	margin-bottom: 12px;
}

.section-title {
	font-size: 44px;
	color: var(--sepia);
	text-align: center;
	margin-bottom: 16px;
	overflow-wrap: break-word;
}

.page-header-desc {
	max-width: 560px;
	margin: 0 auto;
	color: var(--sepia-65);
	font-size: 18px;
	line-height: 1.6;
}
.page-header-desc p + p { margin-top: 8px; }

.page-header-search { margin-top: 32px; }
.page-header-cta { margin-top: 32px; }
.page-header-404 { padding-bottom: 96px; }

/* =========================================================================
   7. Liste d'articles
   ========================================================================= */
.blog-section { padding: 24px 40px 80px; }

.blog-layout,
.entry-layout {
	max-width: 1200px;
	margin: 0 auto;
}

.posts-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--linen);
	border: 1px solid var(--sepia-12);
	border-radius: var(--radius-lg);
	overflow: hidden;
	transition: transform 300ms, box-shadow 300ms;
}
.post-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px var(--sepia-12); }

.post-card-media img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.post-card-body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 28px 24px;
}

.post-card-tag {
	font-family: var(--font-nav);
	font-size: 12px;
	font-weight: 700;
	color: var(--amber);
	letter-spacing: 0.03em;
	margin-bottom: 10px;
}

.post-card-title {
	font-size: 22px;
	color: var(--sepia);
	margin-bottom: 8px;
	overflow-wrap: break-word;
}
.post-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.post-card-title a:focus-visible { outline: none; }
.post-card:focus-within { outline: 2px solid var(--amber); outline-offset: 2px; }

.post-card-date {
	display: block;
	font-family: var(--font-nav);
	font-size: 13px;
	color: var(--sepia-65);
	opacity: 0.8;
	margin-bottom: 10px;
}

.post-card-excerpt {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--sepia-65);
	line-height: 1.6;
	margin-bottom: 14px;
}

.post-card-more { margin-top: auto; align-self: flex-start; color: var(--amber); }
.post-card:hover .post-card-more { background-size: 100% 1px; }

.post-card.sticky { border-color: var(--amber-30); }

.no-results {
	max-width: 560px;
	margin: 0 auto;
	text-align: center;
	color: var(--sepia-65);
	font-size: 18px;
	line-height: 1.6;
}

/* Pagination */
.pagination { margin-top: 56px; }
.pagination .nav-links,
.page-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
}
.page-numbers,
.page-links > a,
.page-links > .post-page-numbers {
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	border: 1px solid var(--sepia-12);
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 500;
	color: var(--sepia);
	transition: background-color 200ms ease, color 200ms ease;
}
a.page-numbers:hover, .page-links > a:hover { background: var(--amber-12); }
.page-numbers.current,
.page-links > .current {
	background: var(--amber);
	border-color: var(--amber);
	color: var(--linen);
	font-weight: 700;
}
.page-numbers.dots { border-color: transparent; }
.page-links { justify-content: flex-start; margin-top: 32px; }
.page-links-title { font-family: var(--font-nav); font-size: 14px; font-weight: 700; margin-right: 4px; }

/* =========================================================================
   8. Article seul / page
   ========================================================================= */
.entry-wrap { padding: 64px 40px 80px; }

.entry { max-width: 760px; margin: 0 auto; }

.entry-header { margin-bottom: 40px; }

.entry-eyebrow {
	display: inline-block;
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.03em;
	color: var(--amber);
	margin-bottom: 12px;
}
.entry-eyebrow:hover { text-decoration: underline; text-underline-offset: 3px; }

.entry-title {
	font-size: 44px;
	color: var(--sepia);
	overflow-wrap: break-word;
}

.entry-meta {
	margin-top: 12px;
	font-family: var(--font-nav);
	font-size: 14px;
	color: var(--sepia-65);
}
.entry-meta a:hover { color: var(--amber); }
.entry-meta-sep { margin: 0 6px; }

.entry-thumbnail { margin: 0 0 40px; }
.entry-thumbnail img { width: 100%; border-radius: var(--radius-lg); }

/* Contenu rédactionnel */
.entry-content {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--sepia);
	overflow-wrap: break-word;
}
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content > :first-child { margin-top: 0; }

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 { color: var(--sepia); margin-top: 1.9em; }

.entry-content h2 {
	font-size: 28px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--amber);
}
.entry-content h3 { font-size: 23px; }
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-family: var(--font-nav);
	font-weight: 700;
	line-height: 1.3;
	font-size: 16px;
}
.entry-content h2 + *,
.entry-content h3 + *,
.entry-content h4 + * { margin-top: 0.7em; }

.entry-content a {
	color: var(--amber);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.entry-content a:hover { color: var(--sepia); }

.entry-content strong, .entry-content b { font-weight: 600; }

.entry-content ul,
.entry-content ol { padding-left: 22px; }
.entry-content li + li { margin-top: 6px; }
.entry-content li::marker { color: var(--amber); }
.entry-content ol li::marker { font-family: var(--font-nav); font-size: 0.85em; font-weight: 700; }

.entry-content blockquote,
.entry-content .wp-block-quote {
	margin-left: 0;
	margin-right: 0;
	background: var(--amber-12);
	border-left: 4px solid var(--amber);
	border-radius: var(--radius-sm);
	padding: 24px 28px;
	font-style: italic;
	font-size: 20px;
	line-height: 1.6;
}
.entry-content blockquote p + p { margin-top: 0.8em; }
.entry-content blockquote cite,
.entry-content .wp-block-quote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--font-nav);
	font-style: normal;
	font-size: 13px;
	font-weight: 700;
	color: var(--amber);
}

.entry-content .wp-block-pullquote {
	border-top: 2px solid var(--amber);
	border-bottom: 2px solid var(--amber);
	padding: 32px 0;
	text-align: center;
}
.entry-content .wp-block-pullquote blockquote { background: none; border: 0; padding: 0; font-size: 24px; }

.entry-content hr,
.entry-content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--sepia-12);
	margin: 2.4em 0;
}

.entry-content img { border-radius: var(--radius-md); }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content figcaption,
.entry-content .wp-caption-text,
.entry-content .wp-element-caption {
	margin-top: 10px;
	font-family: var(--font-nav);
	font-size: 13px;
	color: var(--sepia-65);
	text-align: center;
}

.entry-content code,
.entry-content kbd {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.85em;
	background: var(--sepia-08);
	border-radius: 6px;
	padding: 2px 6px;
}
.entry-content pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	line-height: 1.6;
	background: var(--sepia-08);
	border: 1px solid var(--sepia-12);
	border-radius: var(--radius-md);
	padding: 20px 24px;
	overflow-x: auto;
}
.entry-content pre code { background: none; padding: 0; font-size: inherit; }

.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}
.entry-content .wp-block-table { overflow-x: auto; border: 1px solid var(--sepia-12); border-radius: var(--radius-md); }
.entry-content .wp-block-table table { margin: 0; }
.entry-content th,
.entry-content td,
.entry-content .wp-block-table th,
.entry-content .wp-block-table td { padding: 14px 20px; text-align: left; border: 0; border-top: 1px solid var(--sepia-12); }
.entry-content thead,
.entry-content .wp-block-table thead,
.entry-content .wp-block-table tfoot { border: 0; }
.entry-content thead th,
.entry-content .wp-block-table thead th { border-top: 0; }
.entry-content th { font-family: var(--font-nav); font-size: 14px; color: var(--sepia); }
.entry-content td { color: var(--sepia-65); }

.entry-content .wp-block-button__link,
.entry-content .wp-element-button {
	display: inline-block;
	padding: 16px 32px;
	border-radius: var(--radius-pill);
	background: var(--amber);
	color: var(--linen);
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
}
.entry-content .wp-block-button__link:hover { color: var(--linen); transform: scale(1.02); box-shadow: 0 8px 24px var(--sepia-20); filter: brightness(1.08); }
.entry-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--amber); border: 2px solid var(--amber); }

.entry-content .alignwide { margin-left: -120px; margin-right: -120px; max-width: calc(100% + 240px); }
.entry-content .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.entry-content .alignfull img { border-radius: 0; }

.alignleft { float: left; margin: 0.3em 1.5em 1em 0; max-width: 50%; }
.alignright { float: right; margin: 0.3em 0 1em 1.5em; max-width: 50%; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.gallery-caption { font-family: var(--font-nav); font-size: 12px; color: var(--sepia-65); }
.bypostauthor > .comment-body { border-color: var(--amber-30); }

/* Étiquettes */
.entry-footer { margin-top: 48px; }
.entry-tags {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.entry-tags a {
	display: inline-block;
	background: var(--amber-12);
	color: var(--amber);
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	padding: 6px 16px;
	border-radius: var(--radius-pill);
	transition: background-color 200ms ease;
}
.entry-tags a:hover { background: var(--amber-30); }

/* Article précédent / suivant */
.post-navigation { margin-top: 56px; }
.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.post-navigation .nav-next { grid-column: 2; text-align: right; }
.post-navigation a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	background: var(--linen);
	border: 1px solid var(--sepia-12);
	border-radius: var(--radius-lg);
	padding: 24px;
	transition: transform 300ms, box-shadow 300ms;
}
.post-navigation a:hover { transform: translateY(-4px); box-shadow: 0 16px 32px var(--sepia-12); }
.post-nav-label {
	font-family: var(--font-nav);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: var(--amber);
}
.post-nav-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2;
	color: var(--sepia);
	overflow-wrap: break-word;
}

/* =========================================================================
   9. Commentaires & formulaires (styles du formulaire de contact du site)
   ========================================================================= */
.comments-area {
	margin-top: 64px;
	padding-top: 8px;
}

.comments-title,
.comment-reply-title {
	font-family: var(--font-heading);
	font-size: 26px;
	color: var(--sepia);
	padding-bottom: 12px;
	margin-bottom: 20px;
	border-bottom: 2px solid var(--amber);
}
.comment-reply-title small { display: block; margin-top: 6px; }
.comment-reply-title small a {
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	color: var(--amber);
}

.comment-list,
.comment-list .children {
	list-style: none;
	margin: 0;
	padding: 0;
}
.comment-list { margin-bottom: 48px; }
.comment-list .children { margin-left: 24px; }

.comment-body {
	background: var(--linen);
	border: 1px solid var(--sepia-12);
	border-radius: var(--radius-md);
	padding: 18px 22px;
	margin-bottom: 12px;
}

.comment-meta { margin-bottom: 8px; }
.comment-author { font-family: var(--font-nav); font-size: 14px; font-weight: 700; color: var(--sepia); }
.comment-author .says { display: none; }
.comment-metadata { font-family: var(--font-nav); font-size: 12px; color: var(--sepia-65); margin-top: 2px; }
.comment-metadata a:hover { color: var(--amber); }
.comment-metadata .edit-link { margin-left: 8px; }
.comment-awaiting-moderation { display: block; margin-top: 6px; font-family: var(--font-nav); font-size: 12px; color: var(--amber); }

.comment-content {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--sepia);
}
.comment-content p + p { margin-top: 0.8em; }
.comment-content a { color: var(--amber); text-decoration: underline; text-underline-offset: 3px; }

.reply { margin-top: 10px; }
.comment-reply-link {
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 500;
	color: var(--amber);
}
.comment-reply-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.comment-list .pingback .comment-body,
.comment-list .trackback .comment-body { font-family: var(--font-nav); font-size: 13px; }

.comments-area .comment-navigation .nav-links { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.comments-area .comment-navigation a { font-family: var(--font-nav); font-size: 14px; color: var(--amber); }

.must-log-in a { color: var(--amber); }
.must-log-in { font-family: var(--font-nav); font-size: 14px; color: var(--sepia-65); }
.no-comments { font-family: var(--font-nav); font-size: 14px; color: var(--sepia-65); margin-bottom: 32px; }

.comment-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.comment-notes,
.logged-in-as {
	font-family: var(--font-nav);
	font-size: 13px;
	color: var(--sepia-65);
	line-height: 1.6;
}
.logged-in-as a { color: var(--amber); }

.form-group { display: flex; flex-direction: column; gap: 8px; }

.form-label {
	font-family: var(--font-nav);
	font-size: 14px;
	font-weight: 700;
	color: var(--sepia);
}
.required { color: var(--amber); }

.form-input,
.form-textarea {
	width: 100%;
	font-family: var(--font-body);
	font-size: 17px;
	color: var(--sepia);
	background: var(--linen);
	border: 1px solid var(--sepia-20);
	border-radius: var(--radius-sm);
	padding: 14px 16px;
	transition: border-color 200ms ease, box-shadow 200ms ease;
}
.form-input:focus,
.form-textarea:focus {
	outline: none;
	border-color: var(--amber);
	box-shadow: 0 0 0 3px var(--amber-12);
}
.form-textarea { resize: vertical; min-height: 120px; }

.comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-family: var(--font-nav);
	font-size: 13px;
	color: var(--sepia-65);
	line-height: 1.5;
}
.comment-form-cookies-consent input { margin-top: 2px; accent-color: var(--amber); }

.form-submit { margin: 4px 0 0; }

.post-password-form { display: flex; flex-direction: column; gap: 16px; }

/* Recherche */
.search-form {
	display: flex;
	gap: 10px;
	max-width: 560px;
	margin: 0 auto;
}
.search-form .search-field { flex: 1 1 auto; min-width: 0; }
.search-form .search-submit { flex: 0 0 auto; }
.search-field::-webkit-search-cancel-button { cursor: pointer; }

/* =========================================================================
   10. Colonne latérale (facultative — vide par défaut)
   ========================================================================= */
.has-sidebar .blog-layout,
.has-sidebar .entry-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 56px;
	align-items: start;
}
.has-sidebar .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.has-sidebar .entry { margin: 0; max-width: none; }

.sidebar { display: flex; flex-direction: column; gap: 24px; }

.widget {
	background: var(--linen);
	border: 1px solid var(--sepia-12);
	border-radius: var(--radius-lg);
	padding: 24px;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
}
.widget-title,
.widget .wp-block-heading {
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--amber);
	margin: 0 0 16px;
}
.widget ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.widget ul ul { margin-top: 10px; padding-left: 14px; }
.widget a:hover { color: var(--amber); }
.widget .search-form { flex-direction: column; }
.widget .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.widget .wp-block-search__input {
	flex: 1;
	min-width: 0;
	font-family: var(--font-body);
	font-size: 16px;
	border: 1px solid var(--sepia-20);
	border-radius: var(--radius-sm);
	padding: 10px 12px;
	background: var(--linen);
	color: var(--sepia);
}
.widget .wp-block-search__button {
	padding: 10px 18px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--amber);
	color: var(--linen);
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

/* =========================================================================
   11. Footer (identique au site ; logo ajouté au-dessus des réseaux sociaux)
   ========================================================================= */
.footer {
	background: var(--sepia);
	padding: 64px 40px 32px;
}

.footer-top {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 48px;
	flex-wrap: wrap;
}

.footer-brand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	min-width: 0;
}

.footer-logo { display: block; width: 220px; max-width: 100%; }
.footer-logo img { width: 100%; height: auto; }
/* Le fichier d'origine a une marge transparente à gauche : on l'aligne sur les icônes sociales. */
.footer-logo img.logo-bundled { margin-left: -12%; }
.footer-logo img.custom-logo { width: auto; max-width: 100%; max-height: 80px; }
.footer-logo .logo-text {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 28px;
	line-height: 1.1;
	color: var(--linen);
	overflow-wrap: anywhere;
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.footer-social a {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-pill);
	background: var(--linen-10);
	color: var(--linen);
	transition: all 200ms ease;
}
.footer-social a:hover { background: var(--amber); transform: translateY(-2px); }
.footer-social svg { width: 18px; height: 18px; }

.footer-nav-title {
	font-family: var(--font-nav);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--amber);
	margin-bottom: 16px;
}

.footer-nav-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-nav-links a {
	font-family: var(--font-nav);
	font-size: 14px;
	color: var(--linen);
	opacity: 0.85;
}
.footer-nav-links a:hover { opacity: 1; }

.footer-bottom {
	max-width: 1200px;
	margin: 40px auto 0;
	padding-top: 24px;
	border-top: 1px solid var(--linen-15);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	align-items: center;
}

.footer-copyright {
	font-family: var(--font-nav);
	font-size: 12px;
	color: var(--linen);
	opacity: 0.7;
}

.footer-legal { display: flex; gap: 16px; }
.footer-legal a {
	font-family: var(--font-nav);
	font-size: 12px;
	color: var(--linen);
	opacity: 0.7;
}
.footer-legal a:hover { opacity: 1; }

/* =========================================================================
   12. Responsive (mêmes points de rupture que le site : 1024 px et 640 px)
   ========================================================================= */
@media (max-width: 1120px) {
	.has-sidebar .blog-layout,
	.has-sidebar .entry-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; }
	.has-sidebar .posts-grid { grid-template-columns: minmax(0, 1fr); }
	.entry-content .alignwide { margin-left: 0; margin-right: 0; max-width: 100%; }
}

@media (max-width: 1024px) {
	.nav { min-height: 84px; }
	.nav-logo { max-width: 220px; }
	.nav-logo img { max-width: 220px; }
	.nav-logo--text { max-width: 380px; }
	.nav-logo .logo-text { font-size: 22px; }
	.section-title,
	.entry-title { font-size: 38px; }
	.posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.blog-section { padding: 16px 30px 60px; }
	.entry-wrap { padding: 56px 30px 60px; }
	.page-header { padding: 56px 30px 32px; }
}

/* Tablettes : logo + onglet + « Se connecter » sur la 1re ligne, boutons + langue sur la 2e */
@media (min-width: 641px) and (max-width: 1000px) {
	.nav-right { display: contents; }
	.nav-inner { column-gap: 8px; }
	.nav-logo { margin-right: auto; }
	.nav-ctas { flex: 1 1 calc(100% - 80px); justify-content: flex-end; margin-left: 0; }
}

@media (max-width: 860px) {
	.has-sidebar .blog-layout,
	.has-sidebar .entry-layout { grid-template-columns: minmax(0, 1fr); }
	.has-sidebar .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.nav { min-height: 0; }
	.nav-inner { padding: 12px 20px; row-gap: 12px; }
	.nav-logo { flex: 0 1 130px; max-width: 130px; }
	.nav-logo img { max-width: 130px; }
	.nav-logo--text { flex: 1 1 100%; max-width: 100%; }
	.nav-logo .logo-text { font-size: 22px; -webkit-line-clamp: 2; line-clamp: 2; }
	.nav-signin { display: none; }
	.nav-right { flex-basis: 100%; justify-content: flex-end; gap: 8px; }
	.nav-ctas { order: 1; flex-direction: column; align-items: stretch; width: 100%; gap: 8px; margin-left: 0; }
	.nav-blog { order: 2; }
	.lang-dd { order: 3; }
	.nav-cta { padding: 10px 14px; font-size: 13px; text-align: center; }
	.lang-dd-toggle span { display: none; }

	.page-header { padding: 40px 20px 32px; }
	.section-title,
	.entry-title { font-size: 30px; }
	.page-header-desc { font-size: 17px; }

	.blog-section { padding: 8px 20px 40px; }
	.posts-grid,
	.has-sidebar .posts-grid { grid-template-columns: minmax(0, 1fr); }

	.entry-wrap { padding: 40px 20px 48px; }
	.entry-content { font-size: 17px; }
	.entry-content h2 { font-size: 24px; }
	.entry-content h3 { font-size: 21px; }
	.entry-content blockquote { padding: 20px; font-size: 18px; }
	.alignleft, .alignright { float: none; margin: 1em 0; max-width: 100%; }
	.gallery { grid-template-columns: repeat(2, 1fr); }

	.post-navigation .nav-links { grid-template-columns: 1fr; }
	.post-navigation .nav-next { grid-column: auto; }
	.comment-list .children { margin-left: 12px; }

	.search-form { flex-direction: column; }

	.footer-top { flex-direction: column; }
	.footer-bottom { flex-direction: column; align-items: flex-start; }
}

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