/* ============================================================
   Theme 039 — Custom styles
   Archétype : A. Minimal Framed
   Scope : body.single-post (TDM+POST) + sitewide (MENU)
   ============================================================ */


/* ============================================================
   BLOC 1 — TDM (Table des matières, single post only)
   ============================================================ */

/* Conteneur */
body.single-post .ruby-table-contents {
	border: 3px solid var(--g-color);
	border-radius: 0px;
	padding: 16px 18px;
	box-shadow: none;
	background: var(--blanc);
}

/* En-tête de la TDM */
body.single-post .ruby-table-contents .toc-header {
	margin-bottom: 10px;
	padding-bottom: 0;
}
body.single-post .ruby-table-contents .toc-header span {
	font-size: 22px;
	font-weight: 700;
	font-family: var(--polices-styles);
	text-transform: uppercase;
	padding-bottom: 6px;
	color: var(--noir);
}
body.single-post .ruby-table-contents .toc-header .rbi-read:before {
	content: "\2630"; /* icône ☰ */
	font-family: initial;
	font-size: 28px;
	color: var(--g-color) !important;
	padding-right: 8px;
}

/* Liste des items */
body.single-post .ruby-table-contents .inner {
	margin-top: 0;
	padding-top: 0;
	column-count: 1;
}
body.single-post .ruby-table-contents .inner a {
	position: relative;
	display: block;
	padding: 8px 8px 8px 22px;
	margin-bottom: 4px;
	color: var(--noir) !important;
	font-size: 15px;
	line-height: 20px;
	font-weight: 500;
	text-decoration: none !important;
	text-shadow: none !important;
	border: 3px solid transparent;
	border-radius: 0px;
	transition: all .2s ease;
}
body.single-post .ruby-table-contents .inner a:hover {
	color: var(--g-color) !important;
	border-color: var(--g-color);
}
body.single-post .ruby-table-contents .inner a::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background: var(--g-color);
	border-radius: 0px;
}
body.single-post .ruby-table-contents .inner a::after {
	display: none !important;
}

/* Chevron toggle */
body.single-post .ruby-table-contents .ruby-toc-toggle i:before {
	content: "\2304" !important;
	font-family: initial !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--g-color) !important;
}


/* ============================================================
   BLOC 2 — POST (Single article)
   ============================================================ */

/* Image à la une */
body.single-post .s-feat-outer {
	width: 100%;
	margin-bottom: 28px;
}
body.single-post .s-feat img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 0px;
}

/* Catégories */
body.single-post .s-cats {
	margin-bottom: 14px;
}
body.single-post .s-cats a,
body.single-post .s-cats .p-category,
body.single-post .s-cats .meta-category a {
	display: inline-block;
	padding: 5px 12px;
	border: 3px solid var(--g-color);
	border-radius: 0px;
	color: var(--noir) !important;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	text-decoration: none;
}

/* Meta (date, auteur) — lisibilité */
body.single-post .single-meta,
body.single-post .single-meta a,
body.single-post .single-meta time,
body.single-post .single-meta .meta-date,
body.single-post .single-meta .meta-author,
body.single-post .single-meta .meta-author a,
body.single-post .single-meta .meta-category a,
body.single-post .single-meta .is-meta,
body.single-post .single-meta .smeta-in,
body.single-post .single-meta .smeta-extra,
body.single-post time {
	color: #333 !important;
}

/* Titre H1 article */
body.single-post .s-title {
	font-size: 42px;
	line-height: 1.15;
	font-weight: 700;
	font-family: var(--polices-styles);
	color: var(--noir);
	text-transform: uppercase;
	margin: 14px 0 20px;
}

/* Corps article */
body.single-post .entry-content.rbct {
	border: 3px solid color-mix(in srgb, var(--noir) 10%, transparent);
	border-radius: 0px;
	padding: 28px 34px;
	box-shadow: none;
	background: var(--blanc);
}

/* Sous-titres */
/* H2 — layout 3 (filet inférieur 5px accent sous le titre) */
body.single-post .entry-content.rbct h2 {
	font-size: 26px;
	font-weight: 700;
	font-family: var(--polices-styles);
	color: var(--noir);
	padding-bottom: 8px;
	margin-top: 32px;
	margin-bottom: 16px;
	border-bottom: 5px solid var(--g-color);
}

/* H3 — layout 12 (marqueur carré 1em × 0.6em accent en préfixe) */
body.single-post .entry-content.rbct h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 21px;
	font-weight: 700;
	font-family: var(--polices-styles);
	color: var(--noir);
	margin-top: 28px;
	margin-bottom: 12px;
}
body.single-post .entry-content.rbct h3::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 0.6em;
	background: var(--g-color);
	flex-shrink: 0;
}

/* Paragraphes & listes */
body.single-post .entry-content.rbct p,
body.single-post .entry-content.rbct ol li,
body.single-post .entry-content.rbct ul li {
	font-size: 17px;
	line-height: 1.75;
	color: #333;
}

/* Citations */
body.single-post .entry-content.rbct blockquote {
	border-left: 6px solid var(--g-color);
	background: color-mix(in srgb, var(--g-color) 6%, var(--blanc));
	padding: 18px 24px;
	margin: 24px 0;
	font-style: normal;
	color: #444;
	border-radius: 0px;
}

/* Liens inline */
body.single-post .entry-content.rbct a {
	color: var(--g-color);
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* ============================================================
   BLOC 3 — MENU (Header sitewide)
   ============================================================ */

#site-header {
	background: var(--blanc);
	border-bottom: 3px solid var(--g-color);
}
#site-header .logo-sec-inner {
	padding: 20px 0;
}
#site-header .main-menu > li > a {
	color: var(--noir);
	font-weight: 700;
	font-family: var(--polices-styles);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
#site-header .navbar-wrap {
	border-top: 1px solid color-mix(in srgb, var(--noir) 10%, transparent);
	background: var(--blanc);
}
#site-header .search-btn,
#site-header .dark-mode-toggle {
	color: var(--noir);
}
