/* ==========================================================================
   TechTalk Board - board-core.css (Variables & Base)
   Fichier principal : contient UNIQUEMENT les variables CSS et les styles
   de base du plugin. Les styles spécifiques sont dans les modules séparés.
   ========================================================================== */

/* ==========================================================================
   Variables CSS (Couleurs, Polices, Espacements)
   ========================================================================== */
:root {
  /* Couleurs Primaires (Thème Sombre) */
  --clr-bg-page: #0A0A0E;
  --clr-bg-container: #101820;
  --clr-bg-element: #1A2028;
  --clr-bg-element-hover: #202831;
  --clr-bg-sidebar: #0D131A;
  --clr-bg-header-bar: #010A13;

  --clr-text-primary: #C8C8C8;
  --clr-text-secondary: #7E7E7E;
  --clr-text-heading: #F0F0F0;
  --clr-text-link: #CDA158;
  --clr-text-link-hover: #E8C37E;
  --clr-text-on-accent: #0A0A0E;

  /* Accents */
  --clr-accent-gold: #CDA158;
  --clr-accent-gold-darker: #A77E36;
  --clr-accent-blue-highlight: #0BC6E3;
    --clr-accent-gold-rgb: 205, 161, 88;

  /* Bordures & Séparateurs */
  --clr-border-primary: #252F3B;
  --clr-border-secondary: #353F4D;
  --clr-border-accent: var(--clr-accent-gold);
  --clr-divider: var(--clr-border-primary);

  --clr-bg-comment-primary: #1A2028;
  --clr-bg-comment-secondary: #101820;

  --clr-bg-page-rgb: 10, 10, 14;
  --clr-bg-element-rgb: 26, 32, 40;
  --clr-bg-element-pinned: #1E2A3A;

  /* Typographie */
  --font-base: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-size-base: 0.875rem;
  --font-size-sm: 0.75rem;
  --font-size-lg: 1rem;
  --font-size-xl: 1.25rem;
  --font-size-xxl: 1.75rem;
  --line-height-base: 1.5;
  --line-height-content: 1.7;

  /* Espacements */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;

  /* Chanfreins */
  --cut-sm: 8px;
  --cut-md: 12px;
  --chamfer-sm: polygon(
      var(--cut-sm) 0, 100% 0, 100% calc(100% - var(--cut-sm)),
      calc(100% - var(--cut-sm)) 100%, 0 100%, 0 var(--cut-sm)
  );
  --chamfer-md: polygon(
      var(--cut-md) 0, 100% 0, 100% calc(100% - var(--cut-md)),
      calc(100% - var(--cut-md)) 100%, 0 100%, 0 var(--cut-md)
  );

  /* Couleurs sémantiques */
  --clr-accent-success: #4CAF50;
  --clr-accent-danger:  #F44336;

  /* Autres */
  --border-radius: 3px;
  --max-width-forum: 1500px;
}

/* ==========================================================================
   Styles de Base pour le Contenu du Plugin
   ========================================================================== */
.ttb-forum-wrapper,
.ttb-single-thread-page {
    font-family: var(--font-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--clr-text-primary);
}

.ttb-forum-wrapper a,
.ttb-single-thread-page a {
    color: var(--clr-text-link);
    text-decoration: none;
}
.ttb-forum-wrapper a:hover,
.ttb-single-thread-page a:hover {
    color: var(--clr-text-link-hover);
    text-decoration: underline;
}

.ttb-forum-wrapper h1, .ttb-forum-wrapper h2, .ttb-forum-wrapper h3, .ttb-forum-wrapper h4,
.ttb-single-thread-page h1, .ttb-single-thread-page h2, .ttb-single-thread-page h3, .ttb-single-thread-page h4 {
    font-weight: 500;
    color: var(--clr-text-heading);
    margin-top: 0;
    margin-bottom: var(--space-md);
}

/* Utilitaires */
.ttb-screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}


/* ==========================================================================
   Conteneur Principal (Sidebar + Contenu)
   ========================================================================== */
.ttb-content-wrapper-outer {
    max-width: var(--max-width-forum);
    margin: var(--space-lg) auto;
    padding: 0;
}

.ttb-main-container {
  display: flex;
  gap: var(--space-lg);
}

/* ==========================================================================
   Catégories de la Sidebar (hiérarchie)
   ========================================================================== */
.ttb-parent-category-title {
    display: block;
    padding: var(--space-sm) var(--space-xs);
    color: var(--clr-text-heading);
    font-weight: bold;
    font-size: calc(var(--font-size-base) * 1.1);
    cursor: default;
    margin-top: var(--space-sm);
}

.ttb-parent-category-title.active-parent-group {
    color: var(--clr-accent-gold);
}

/* Style de base pour les listes enfants */
.ttb-child-board-list {
    list-style: none;
    padding: 0;
    margin: var(--space-xs) 0 0 var(--space-md);
}

.ttb-child-board-list.depth-2 {
    margin-left: var(--space-lg);
}
.ttb-child-board-list.depth-3 {
    margin-left: var(--space-xl);
}


.ttb-child-board-list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-xs) 0;
    color: var(--clr-text-secondary);
    font-size: var(--font-size-base);
    font-weight: normal;
    text-decoration: none;
    border-bottom: none;
    transition: color 0.2s ease;
}

/* Supprime la bordure inférieure du lien dans le DERNIER li du menu principal */
.ttb-boards-list > ul > li:last-child > a {
    border-bottom: none;
}

/* Supprime la bordure inférieure du lien dans le DERNIER li d'une sous-liste */
.ttb-boards-list .ttb-child-board-list li:last-child > a {
    border-bottom: none;
}


.ttb-child-board-list li a:hover,
.ttb-child-board-list li a.active {
    color: var(--clr-text-link);
}

.ttb-child-board-list li a .ttb-board-count {
    font-size: var(--font-size-sm);
    color: inherit;
}

.ttb-category-separator {
    list-style-type: none;
    padding: 0;
    margin: var(--space-sm) 0;
}

.ttb-hr-separator {
    border: none;
    height: 1px;
    background-color: var(--clr-divider);
    margin: 0;
}

html.light-mode .ttb-forum-wrapper h1,
html.light-mode .ttb-forum-wrapper h2,
html.light-mode .ttb-forum-wrapper h3,
html.light-mode .ttb-forum-wrapper h4,
html.light-mode .ttb-single-thread-page h1,
html.light-mode .ttb-single-thread-page h2,
html.light-mode .ttb-single-thread-page h3,
html.light-mode .ttb-single-thread-page h4 {
    color: var(--color-text-heading, #4A3B31);
}

html.light-mode .ttb-parent-category-title {
    color: var(--color-text-heading, #4A3B31);
}
html.light-mode .ttb-parent-category-title.active-parent-group {
    color: var(--clr-accent-gold);
}
html.light-mode .ttb-child-board-list li a {
    color: var(--color-text-secondary);
}
html.light-mode .ttb-child-board-list li a:hover,
html.light-mode .ttb-child-board-list li a.active {
    color: var(--clr-text-link);
}
html.light-mode .ttb-hr-separator {
    background-color: var(--clr-divider, #E0D5C1);
}
