/* AfricaTimes domain refinements.
   Etats hover/focus explicites pour les roles interactifs exiges par le
   contrat FULL_SUCCESS, et rangee de partage d'article. Aucun deplacement de
   mise en page: seuls color, background-color et text-decoration changent.
   Palette approuvee: encre #20170f, papier #fffdf7, accent #c55222.
   Les selecteurs n'exigent pas la classe body.diginov-media afin de rester
   applicables sur les gabarits sans cette classe (home page-template). */

/* Fil d'Ariane: encre au repos, accent + tinte au survol. */
body .dn-breadcrumb a {
  color: #20170f !important;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color 160ms ease, background-color 160ms ease, text-decoration-color 160ms ease;
}
body .dn-breadcrumb a:hover,
body .dn-breadcrumb a:focus-visible {
  color: #8a3a17 !important;
  background-color: rgba(197, 82, 34, 0.12) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor;
}

/* Titres de cartes: encre au repos, accent + tinte au survol. */
body :is(.dn-lead, .dn-support-card, .dn-stream-card, .dn-card, .dn-more-card, .dn-archive-card, .dn-related-card) :is(h1, h2, h3, h4) > a {
  color: #20170f !important;
}
body :is(.dn-lead, .dn-support-card, .dn-stream-card, .dn-card, .dn-more-card, .dn-archive-card, .dn-related-card) :is(h1, h2, h3, h4) > a:hover,
body :is(.dn-lead, .dn-support-card, .dn-stream-card, .dn-card, .dn-more-card, .dn-archive-card, .dn-related-card) :is(h1, h2, h3, h4) > a:focus-visible {
  color: #8a3a17 !important;
  background-color: rgba(197, 82, 34, 0.08) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-decoration-color: currentColor !important;
}

/* Pagination: fond accent au survol. */
body .dn-pagination a {
  transition: color 160ms ease, background-color 160ms ease;
}
body .dn-pagination a:hover,
body .dn-pagination a:focus-visible {
  color: #fffdf7 !important;
  background-color: #8a3a17 !important;
}

/* Auteur (article): accent au survol. */
body a.dn-article-author {
  transition: color 160ms ease;
}
body a.dn-article-author:hover,
body a.dn-article-author:focus-visible {
  color: #8a3a17 !important;
}
body a.dn-article-author:hover strong,
body a.dn-article-author:focus-visible strong {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Rangee de partage d'article. */
body .dn-share {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 0.9rem;
  margin: 1.05rem 0 0;
}
body .dn-share__label {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #20170f;
  opacity: 0.72;
}
body .dn-share__link {
  font-size: 0.82rem;
  color: #20170f;
  text-decoration-color: transparent;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  transition: color 160ms ease, background-color 160ms ease, text-decoration-color 160ms ease;
}
body .dn-share__link:hover,
body .dn-share__link:focus-visible {
  color: #8a3a17 !important;
  background-color: rgba(197, 82, 34, 0.10) !important;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

/* Anneau de focus clavier explicite pour tous les elements interactifs. */
body :is(a[href], button, input, select, textarea, [role="button"]):focus,
body :is(a[href], button, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid #c55222 !important;
  outline-offset: 2px;
}

/* Survols de liens et boutons dans le contenu principal: ton accessible >= 4.5:1. */
body main a[href]:not(.dn-trust__button):not(.ts-button):not(.dn-form-submit):hover,
body main a[href]:not(.dn-trust__button):not(.ts-button):not(.dn-form-submit):focus {
  color: #8a3a17 !important;
}
body main :is(a.dn-trust__button, a.ts-button):hover,
body main :is(a.dn-trust__button, a.ts-button):focus {
  color: #fffdf7 !important;
  background-color: #8a3a17 !important;
}
body main :is(button, input[type="submit"], .dn-form-submit, [role="button"]):hover,
body main :is(button, input[type="submit"], .dn-form-submit, [role="button"]):focus {
  color: #fffdf7 !important;
  background-color: #8a3a17 !important;
}

/* Pages commerciales: colonne editoriale large et centree, formulaire plein
   conteneur, grille de formats equilibree. Corrige le P1 DA formulaire colle
   a gauche et les trous a droite. */
body .dn-page--v3 .dn-page-layout.dn-page-layout--wide,
body .dn-page--v3 .dn-page-layout.dn-page-layout--wide {
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
}
body .dn-page-layout--wide .dn-page-content {
  margin-left: auto;
  margin-right: auto;
}
body .dn-page-layout--wide .dn-contact {
  max-width: none;
  width: min(1320px, calc(100vw - 48px));
  margin-left: calc((100% - min(1320px, calc(100vw - 48px))) / 2);
  margin-right: 0;
}
body .dn-page-layout--wide .dn-contact-form {
  width: 100%;
}
body .dn-trust__formats > .dn-trust__scope {
  grid-column: 1 / -1;
  margin: 0 0 6px;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #20170f;
  opacity: 0.72;
}

/* Bloc RankSource/commercial de la page Contact: le filtre de contenu insere
   un paragraphe vide qui forcait le contenu dans la premiere colonne etroit.
   On le neutralise et on replace logo et contenu sur une seule ligne desktop. */
body .dn-trust__contact-commercial > p:empty {
  display: none;
}
@media (min-width: 761px) {
  body .dn-trust__contact-commercial {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 18px;
  }
  body .dn-trust__contact-commercial > .dn-trust__marketplace-logo {
    grid-column: 1;
    grid-row: 1;
    display: block;
  }
  body .dn-trust__contact-commercial > div {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
  }
  body .dn-trust__contact-commercial > div > p {
    max-width: 68ch;
  }
}
