@import url("variables.css");

#header {
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--color-header-bg);
  color: var(--color-header-color);
}
#logo img {
  height: 50px;
}
#menuToggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
}
#menuToggle span {
  height: 3px;
  width: 28px;
  margin: 5px 0;
  border-radius: 3px;
  transition: 0.3s;
  background: var(--color-header-menu-span);
}
nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  background-color: var(--color-nav-ul-bg);
  list-style-type: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
nav ul li {
  margin-left: 25px;
  margin-bottom: 5px;
  padding: 0;
}
nav ul li:first-child {
  margin-left: 0;
}
nav ul li a {
  font-weight: 600;
  font-size: 1rem;
  padding: 6px 0;
  display: inline-block;
  color: var(--color-nav-ul-li-a-color);
}
nav ul li a:hover {
  color: var(--color-nav-ul-li-a-hover);
}

.hero {	
  margin-top: 0.5rem !important;
  margin-bottom: 30px;
  padding: 30px 15px;
  min-height: 350px;
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgb(0 0 0 / 0.15);
  background-color: var(--color-hero-bg);
  color: var(--color-hero-color);
}
.hero h1 {
  font-size: 3rem;
  font-weight: bold;
}
.hero-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.hero-text {
  flex: 1 1 300px;
  padding: 10px;
}
.hero-image {
  flex: 1 1 300px;
  text-align: center;
}
.hero-image img {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}

nav.table-of-contents {
  background-color: var(--color-table-of-contents-bg) !important;
  color: var(--color-table-of-contents-color) !important;
  border-color: transparent !important;
  padding: 1em;
  border-radius: 6px;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
nav.table-of-contents summary {
  font-weight: 700;
  font-size: 1.2rem;
  cursor: pointer;
  outline: none;
  list-style: none;
  position: relative;
  padding-left: 1.5em;
}
nav.table-of-contents summary::before {
  content: "►";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  font-size: 1rem;
  color: var(--color-accent-red);
}
nav.table-of-contents details {
  position: relative;
  z-index: 25;
}
nav.table-of-contents details[open] > summary::before {
  transform: translateY(-50%) rotate(90deg);
}
nav.table-of-contents ul {
  list-style: none;
  padding-left: 0;
  display: block;
  gap: 0.5em;
}
nav.table-of-contents li {
  margin-bottom: 0.3em;
}
nav.table-of-contents a {
  display: block;
  padding: 6px 10px;
  text-decoration: none;
  border-radius: 4px;
  color: var(--color-table-of-contents-color) !important;
  background-color: transparent !important;
}
nav.table-of-contents a:focus,
nav.table-of-contents a:hover {
  background-color: var(--color-table-of-contents-highlight-bg) !important;
  color: var(--color-table-of-contents-highlight-color) !important;
}

/* =========================
   STYLES TABLEAUX UNIFORMES
   ========================= */
table {
  border-collapse: collapse;
  border: 2px solid var(--color-border);
  width: 100%;
}

th, td {
  border: 1px solid var(--color-border);
  padding: 8px 12px;
  text-align: left;
}

/* Alternance de lignes */
tbody tr:nth-child(odd) {
  background-color: var(--color-table-alt);
}
tbody tr:nth-child(even) {
  background-color: var(--color-bg);
}

/* Mode sombre */
[data-theme="dark"] table {
  border-color: var(--color-border-dark);
}
[data-theme="dark"] th,
[data-theme="dark"] td {
  border-color: var(--color-border-dark);
}
[data-theme="dark"] tbody tr:nth-child(odd) {
  background-color: var(--color-table-alt-dark);
}
[data-theme="dark"] tbody tr:nth-child(even) {
  background-color: var(--color-bg-dark);
}

}