/* ==========================================================================
   Kawann Supply — page « Mentions légales » (thème enfant hummingbird-kawann)
   Chargé après theme.css : ces règles surchargent le style Hummingbird.
   Palette et typographie : voir kawann-tokens.css (chargé avant celui-ci).

   Le balisage vient du back-office (Design > Pages) ; le gabarit
   templates/cms/page.tpl (branche $cms.id == 2) l'entoure d'un sommaire.
   Le texte est celui du document de la cliente, sans modification.

   Mise en page : sommaire collant à gauche, colonne de lecture à droite.
   Chaque article est un h2 numéroté suivi de ses paragraphes ; la fiche
   d'identité de l'éditeur (article 1) est encadrée, l'avertissement
   « à compléter » signalé.
   ========================================================================== */

/* Le titre de page reste celui du gabarit : on le met en capitales, comme
   sur le document, et on lui donne la marque en kicker via le contenu. */
.cms-id-2 .page-content--cms {
  max-width: none;
  padding: 0;
}

.cms-id-2 .page-title-section {
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.kawann-legal {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  color: var(--kawann-marine);
}

/* ==========================================================================
   Sommaire
   ========================================================================== */

.kawann-legal__sommaire {
  position: sticky;
  top: 96px;
  padding: 20px 22px;
  border: 1px solid var(--kawann-border);
  border-radius: 14px;
  background: var(--kawann-surface);
}

.kawann-legal__sommaire-titre {
  margin: 0 0 12px;
  font-size: 0.6875rem;
  font-weight: var(--kawann-weight-title);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kawann-text-muted);
}

.kawann-legal__sommaire-liste {
  /* Le thème parent retire les puces des listes du contenu CMS : on rétablit
     la numérotation, qui répond aux numéros des articles. */
  list-style: decimal;
  margin: 0;
  padding: 0 0 0 1.4em;
  font-size: 0.8125rem;
  font-weight: var(--kawann-weight-text);
  line-height: 1.4;
}

.kawann-legal__sommaire-liste li { margin: 0 0 8px; }
.kawann-legal__sommaire-liste li::marker { color: var(--kawann-soleil-ink); font-weight: var(--kawann-weight-title); }

.kawann-legal__sommaire-liste a {
  color: var(--kawann-marine);
  text-decoration: none;
}

.kawann-legal__sommaire-liste a:hover,
.kawann-legal__sommaire-liste a:focus-visible {
  color: var(--kawann-link-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================================
   Colonne de lecture
   ========================================================================== */

.kawann-legal__corps {
  max-width: 76ch;
}

/* En-tête du document : la marque en kicker, la devise en dessous. */
.kawann-legal__marque {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: var(--kawann-weight-title);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kawann-soleil-ink);
}

.kawann-legal__devise {
  margin: 0 0 36px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--kawann-border);
  font-size: 1.0625rem;
  font-weight: var(--kawann-weight-text);
  font-style: italic;
  color: var(--kawann-text-muted);
}

/* Articles : titre numéroté, filet Soleil, texte en lecture confortable.
   scroll-margin : la cible d'une ancre du sommaire ne passe pas sous
   l'en-tête fixe. */
.kawann-legal__corps h2 {
  margin: 40px 0 14px;
  scroll-margin-top: 96px;
  font-size: 1.25rem;
  font-weight: var(--kawann-weight-title);
  line-height: 1.25;
  color: var(--kawann-marine);
}

.kawann-legal__corps h2:first-of-type { margin-top: 0; }

.kawann-legal__corps h2::after {
  content: "";
  display: block;
  width: 36px;
  height: 3px;
  margin-top: 10px;
  border-radius: 2px;
  background: var(--kawann-soleil);
}

.kawann-legal__corps p {
  margin: 0 0 12px;
  font-size: 0.9375rem;
  font-weight: var(--kawann-weight-text);
  line-height: 1.75;
  color: var(--kawann-marine);
}

/* Fiche d'identité de l'éditeur : chaque ligne du document devient une
   ligne de la fiche, dans un cadre clair. */
.kawann-legal__fiche {
  margin: 4px 0 8px;
  padding: 18px 22px;
  border: 1px solid var(--kawann-border);
  border-radius: 12px;
  background: var(--kawann-surface);
}

.kawann-legal__fiche p {
  margin: 0;
  padding: 7px 0;
  font-size: 0.875rem;
  line-height: 1.55;
}

.kawann-legal__fiche p + p {
  border-top: 1px solid var(--kawann-border-clair);
}

/* Mention « à compléter » du document : signalée comme telle, pour qu'elle
   ne passe pas pour une information définitive. À retirer une fois
   l'hébergeur renseigné. */
.kawann-legal__a-completer {
  padding: 14px 18px;
  border: 1px solid var(--kawann-jaune);
  border-left: 4px solid var(--kawann-soleil);
  border-radius: 10px;
  background: var(--kawann-soleil-wash);
  font-weight: var(--kawann-weight-bold);
}

/* ==========================================================================
   Adaptations aux petites largeurs
   ========================================================================== */

@media (max-width: 991.98px) {
  .kawann-legal {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  /* Le sommaire ne colle plus : en une colonne, il précède le texte. */
  .kawann-legal__sommaire {
    position: static;
    padding: 16px 18px;
  }

  .kawann-legal__sommaire-liste {
    columns: 2;
    column-gap: 24px;
  }

  .kawann-legal__corps { max-width: none; }
}

@media (max-width: 575.98px) {
  .kawann-legal__sommaire-liste { columns: 1; }
  .kawann-legal__corps h2 { font-size: 1.125rem; margin-top: 32px; }
  .kawann-legal__fiche { padding: 14px 16px; }
}

/* ==========================================================================
   Éléments supplémentaires des CGV : sous-articles, listes, barème
   ========================================================================== */

/* Sous-articles « 8.1 Zone de livraison » */
.kawann-legal__corps h3 {
  margin: 22px 0 8px;
  font-size: 1rem;
  font-weight: var(--kawann-weight-title);
  line-height: 1.3;
  color: var(--kawann-marine);
}

/* Listes : puce Soleil, même corps que le texte. */
.kawann-legal__corps ul {
  margin: 0 0 14px;
  padding: 0 0 0 1.25em;
  list-style: disc;
}

.kawann-legal__corps ul li {
  margin: 0 0 6px;
  font-size: 0.9375rem;
  font-weight: var(--kawann-weight-text);
  line-height: 1.7;
  color: var(--kawann-marine);
}

.kawann-legal__corps ul li::marker { color: var(--kawann-soleil-ink); }

/* Barème des frais de livraison : tableau lisible, défilable si trop étroit. */
.kawann-legal__tableau {
  width: 100%;
  margin: 8px 0 16px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--kawann-border);
  border-radius: 12px;
  overflow: hidden;
  font-size: 0.875rem;
  line-height: 1.5;
}

.kawann-legal__tableau th,
.kawann-legal__tableau td {
  padding: 11px 14px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--kawann-border-clair);
}

.kawann-legal__tableau thead th {
  border-top: 0;
  background: var(--kawann-marine);
  color: var(--kawann-blanc);
  font-size: 0.75rem;
  font-weight: var(--kawann-weight-title);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.kawann-legal__tableau tbody th {
  font-weight: var(--kawann-weight-bold);
  color: var(--kawann-marine);
  background: var(--kawann-surface);
}

.kawann-legal__tableau td:last-child {
  font-weight: var(--kawann-weight-bold);
  white-space: nowrap;
}

/* Sur petit écran le tableau défile dans son cadre, jamais la page. */
@media (max-width: 575.98px) {
  .kawann-legal__tableau {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Un sommaire de dix-huit entrées peut dépasser la hauteur de la fenêtre :
   il défile dans son cadre. */
.kawann-legal__sommaire {
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}
