/**
 * Module 13 : Pages légales — variante A (sommaire latéral)
 * Thème Storefront Child - TAMISIER MACHINES AGRICOLES
 *
 * Mise en page : sommaire collant à gauche, document à droite.
 * Le texte reste celui des fichiers languages/legal/*.txt.
 */

/* ==========================================================================
   0. CONTENEUR
   ========================================================================== */

.page .site-main {
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  padding: 0 1.5rem 3rem;
  box-sizing: border-box;
}

.tma-legal-page .site-main {
  max-width: 1080px !important;
  padding: 0 1.5rem 4rem !important;
}

.tma-legal-page .entry-header {
  padding: 0.5rem 0 1.5rem !important;
  margin: 0 auto 1.75rem !important;
  max-width: 1080px;
  border-bottom: 1px solid var(--agri-border-subtle, #e2e8f0);
}

.page .entry-title,
.tma-legal-page .entry-title {
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(1.85rem, 3.1vw, 2.6rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: var(--agri-anthracite-base, #1e2322) !important;
  margin: 0 !important;
}

/* ==========================================================================
   1. DISPOSITION : SOMMAIRE + DOCUMENT
   ========================================================================== */

.tma-legal-layout {
  display: grid;
  grid-template-columns: 232px minmax(0, 1fr);
  gap: 3rem;
  align-items: start;
}

/* --- Sommaire --- */

.tma-legal-toc {
  position: sticky;
  top: 1.5rem;
  border-left: 2px solid var(--agri-border-subtle, #e2e8f0);
  padding-left: 1.1rem;
}

.tma-legal-toc-title {
  margin: 0 0 0.9rem !important;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--agri-anthracite-muted, #525c59);
}

.tma-legal-toc a {
  display: block;
  padding: 0.3rem 0 0.3rem 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: var(--agri-anthracite-muted, #525c59) !important;
  text-decoration: none !important;
  border-left: 2px solid transparent;
  margin-left: -1.1rem;
  padding-left: 1.1rem;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.tma-legal-toc a:hover {
  color: var(--agri-green-primary, #215833) !important;
  border-left-color: var(--agri-green-light, #2e7a47);
}

.tma-legal-toc a.is-active {
  color: var(--agri-green-primary, #215833) !important;
  font-weight: 700;
  border-left-color: var(--agri-green-primary, #215833);
}

/* --- Document --- */

.tma-legal {
  max-width: 100%;
  font-size: 0.96rem;
  line-height: 1.75;
  color: var(--agri-anthracite-surface, #2b3230);
}

.tma-legal-meta {
  margin: 0 0 1.25rem !important;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--agri-anthracite-muted, #525c59) !important;
}

.tma-legal-intro {
  font-size: 1.02rem;
  color: var(--agri-anthracite-base, #1e2322);
}

.tma-legal p {
  margin: 0 0 1rem !important;
}

.tma-legal-heading {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.17rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: var(--agri-anthracite-base, #1e2322) !important;
  margin: 2.6rem 0 0.95rem !important;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--agri-border-subtle, #e2e8f0);
  scroll-margin-top: 1.5rem;
}

.tma-legal-heading:first-child {
  margin-top: 0 !important;
}

.tma-legal-num {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--agri-green-light, #2e7a47);
  flex: 0 0 auto;
}

/* ==========================================================================
   2. PAIRES LIBELLÉ / VALEUR
   ========================================================================== */

.tma-legal-pairs {
  margin: 0 0 1.25rem !important;
}

.tma-legal-pair {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--agri-border-subtle, #e2e8f0);
  font-size: 0.93rem;
}

.tma-legal-pair:last-child {
  border-bottom: 0;
}

.tma-legal-pair dt {
  margin: 0;
  color: var(--agri-anthracite-muted, #525c59);
  flex: 0 1 auto;
}

.tma-legal-pair dd {
  margin: 0;
  font-weight: 600;
  color: var(--agri-anthracite-base, #1e2322);
  text-align: right;
  flex: 0 1 auto;
}

/* ==========================================================================
   3. LISTES ET LIENS
   ========================================================================== */

.tma-legal-list {
  margin: 0 0 1.2rem !important;
  padding: 0 !important;
  list-style: none !important;
}

.tma-legal-list li {
  position: relative;
  margin: 0 0 0.45rem !important;
  padding-left: 1.3rem;
  line-height: 1.65;
}

.tma-legal-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--agri-green-primary, #215833);
}

.tma-legal a {
  color: var(--agri-green-primary, #215833) !important;
  text-decoration: underline !important;
  word-break: break-word;
}

.tma-legal a:hover {
  color: var(--agri-green-dark, #163e23) !important;
  text-decoration: none !important;
}

/* ==========================================================================
   4. CHAMPS À COMPLÉTER
   ========================================================================== */

.tma-legal-todo {
  display: inline-block;
  padding: 0 0.35rem;
  font-weight: 700;
  color: #92400e;
  background-color: var(--agri-amber-subtle, #fef3c7);
  border: 1px dashed var(--agri-amber-accent, #d97706);
  border-radius: var(--agri-radius, 4px);
  font-size: 0.92em;
}

.tma-legal-empty {
  padding: 1.5rem;
  background-color: var(--agri-bg-neutral, #f8fafc);
  border: 1px dashed var(--agri-border-subtle, #e2e8f0);
  border-radius: var(--agri-radius, 4px);
  color: var(--agri-anthracite-muted, #525c59);
  text-align: center;
}

/* ==========================================================================
   5. FIL D'ARIANE
   ========================================================================== */

.page .storefront-breadcrumb {
  margin: 0 !important;
  padding: 1.1rem 0 0 !important;
}

.page .storefront-breadcrumb .col-full {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
}

/* ==========================================================================
   6. RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
  .tma-legal-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .tma-legal-toc {
    position: static;
    border-left: 0;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--agri-border-subtle, #e2e8f0);
  }

  .tma-legal-toc-title {
    flex: 0 0 100%;
    margin-bottom: 0.4rem !important;
  }

  .tma-legal-toc a {
    margin: 0;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--agri-border-subtle, #e2e8f0);
    border-radius: 999px;
    font-size: 0.78rem;
  }

  .tma-legal-toc a.is-active {
    background-color: var(--agri-green-subtle, #edf7f0);
    border-color: var(--agri-green-primary, #215833);
  }
}

@media (max-width: 640px) {
  .tma-legal-page .site-main {
    padding: 0 1rem 3rem !important;
  }

  .tma-legal {
    font-size: 0.93rem;
    line-height: 1.7;
  }

  .tma-legal-heading {
    font-size: 1.06rem !important;
    margin-top: 2rem !important;
  }

  .tma-legal-pair {
    flex-direction: column;
    gap: 0.1rem;
  }

  .tma-legal-pair dd {
    text-align: left;
  }
}

/* ==========================================================================
   7. SOUS-SECTIONS (hors sommaire)
   ========================================================================== */

.tma-legal-subheading {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: var(--agri-anthracite-base, #1e2322) !important;
  margin: 1.8rem 0 0.7rem !important;
}

.tma-legal-subnum {
  font-size: 0.8rem;
  color: var(--agri-green-light, #2e7a47);
  flex: 0 0 auto;
}
