/* ============================================
   VARIANT 02
   Merged from TDM/tdm-02.css + POSTS/post-02.css
   ============================================ */

/* -------- TDM (Table of Contents) -------- */

/* SOMMAIRE
   STYLE 2
   LAYOUT : Full Width (2 columns)
*/

/* Layout: full width container, inner list in 2 columns */
.ruby-table-contents {
  display: block;
  width: 100%;
  max-width: 100%;
  float: none;
  clear: both;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
body .ruby-table-contents .inner,
body .rbtoc .inner {
  counter-reset: toc;
  display: block !important;
  column-count: 2 !important;
  -webkit-column-count: 2 !important;
  -moz-column-count: 2 !important;
  columns: 2 !important;
  column-gap: 12px !important;
  column-rule: 1px solid #e5e7eb !important;
  width: 100% !important;
}
body .ruby-table-contents .inner a {
  display: block !important;
  width: 100% !important;
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  page-break-inside: avoid !important;
}
body .rbtoc .inner {
  padding-top: 0!important;
}
  .rbtoc.table-fw .inner a {
    max-width: 100%;
  }
@media (max-width: 768px) {
  .ruby-table-contents .inner {
    column-count: 1;
  }

}

.ruby-table-contents {
  border-left: none;
}

/* HEADER : titre + icône stylisés */
.ruby-table-contents .toc-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  margin-bottom: 10px !important;
  background: transparent;
  border-left: none;
  border-radius: 0;
}
.ruby-table-contents .toc-header span {
  font-size: 22px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.ruby-table-contents .toc-header .rbi-read:before {
  content: '\1F4D1'; /* 📑 */
  font-family: initial;
  font-size: 24px;
  color: var(--g-color) !important;
  padding-right: 6px !important;
}

/* Les numéros ne doivent s'afficher QUE sur les liens du inner */
.ruby-table-contents .toc-header a::before,
.ruby-table-contents .toc-header::before {
  content: none !important;
  display: none !important;
}

.ruby-table-contents .inner a {
  counter-increment: toc;
  display: flex;
  gap: 10px;
  padding: 6px 0;
  color: #444;
}

.ruby-table-contents .inner a::before {
  content: counter(toc);
  font-size: 12px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border-radius: 6px;
  color: #666;
}

.ruby-table-contents .inner a:hover {
  color: var(--g-color);
}

/* Collapse toggle icon — personalized */
.ruby-table-contents .ruby-toc-toggle i:before {
  content: "\25BE" !important;
  font-family: initial !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--g-color) !important;
}


/* -------- POST (Single post layout) -------- */

/* POSTS - STYLE 02 - inspired by TDM-02 : Two-Column Counter Uppercase
   Ambiance : headers uppercase avec badges numérotés, structure 2 colonnes sur le contenu
*/

.single-post .s-feat-outer {
	width: 100%;
	margin-bottom: 24px;
}
.single-post .s-feat img {
	width: 100%;
	height: auto;
	display: block;
}

.single-post .s-title {
	font-size: 38px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	line-height: 1.2;
	color: #1a1a1a;
	margin: 0 0 14px;
}

.single-post .s-cats a,
.single-post .s-cats .p-category,
.single-post .s-cats .meta-category a {
	display: inline-block;
	padding: 6px 12px;
	background: #f3f4f6;
	color: #333 !important;
	border-radius: 6px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-right: 6px;
	text-decoration: none;
}

/* Meta lisible sur fond blanc (date, auteur, catégorie) */
.single-post .single-meta,
.single-post .single-meta a,
.single-post .single-meta time,
.single-post .single-meta .meta-date,
.single-post .single-meta .meta-author,
.single-post .single-meta .meta-author a,
.single-post .single-meta .meta-category a,
.single-post .single-meta .is-meta,
.single-post .single-meta .smeta-in,
.single-post .single-meta .smeta-extra,
.single-post time {
	color: #333 !important;
}

.single-post .entry-content.rbct {
	counter-reset: sec;
	padding-top: 10px;
}

.single-post .entry-content.rbct h2 {
	counter-increment: sec;
	font-size: 22px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 36px;
	color: #1a1a1a;
}
.single-post .entry-content.rbct h2::before {
	content: counter(sec);
	font-size: 12px;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f3f4f6;
	border-radius: 6px;
	color: #666;
	flex-shrink: 0;
}

.single-post .entry-content.rbct h3 {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
	color: #444;
	margin-top: 24px;
}

.single-post .entry-content.rbct p {
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}


/* -------- HEADER -------- */
#site-header {
	background: #fafafa;
	border-bottom: 1px solid #ddd;
}
#site-header .logo-sec-inner {
	display: flex;
	align-items: center;
	gap: 32px;
}
#site-header .navbar-inner {
	justify-content: space-between;
}
#site-header .main-menu > li > a {
	text-transform: uppercase;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	color: #333;
	padding: 0 14px;
}
#site-header .main-menu > li > a:hover {
	color: #000;
}
