/* ==========================================================================
   BASE — socle commun à toutes les pages
   ==========================================================================
   Remise à zéro, police et couleur du corps (jetons de hr-fiche-tokens.css),
   liens. Aucune marge ni taille de titre, de paragraphe ou de liste : chaque
   gabarit « Carnet » règle les siennes.

   Les règles héritées de Divi (corps en Arial gris à 1,4 em, 10 px sous chaque
   titre, 1 em sous chaque paragraphe sauf le dernier, 0,7 em forcé au-dessus de
   ce qui suit le dernier, listes à 23 px dessous et 26 px d'interligne) ont été
   retirées le 04/10/2026 avec hr-custom.css, et les neutralisations que chaque
   gabarit leur opposait (docs/amelioration-design.md, « Nettoyage de Divi »).
   ========================================================================== */

/* ──────────────────────────────────────────
   Remise à zéro, limitée aux éléments employés
   ────────────────────────────────────────── */

a, b, blockquote, body, div, em, figure, figcaption, form, h1, h2, h3, h4, h5, h6,
html, i, iframe, img, label, li, ol, p, section, span, strong, sub, sup,
table, tbody, td, th, thead, tr, ul {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ol, ul {
    list-style: none;
}

*, *::before, *::after {
    box-sizing: border-box;
}

/* ──────────────────────────────────────────
   Typographie
   ────────────────────────────────────────── */

body {
    font-family: var(--hr-font-texte);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    color: var(--hr-texte);
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: #05668d;
    text-decoration: none;
}

strong, b { font-weight: 700; }
em, i     { font-style: italic; }

img {
    max-width: 100%;
    height: auto;
}

/* Sans cela, la marge haute du premier bloc « s'effondre » hors de <main> et
   remonte coller l'en-tête au lieu d'espacer le contenu. */
main {
    display: flow-root;
}

/* Bloc absent : emplacement visible (emplacement(), core/template.php) */
.hr-emplacement {
    border: 2px dashed #b0b7c3;
    border-radius: 6px;
    padding: 1rem;
    margin: 1rem 0;
    color: #5b6472;
    background: #fafbfc;
    font: 14px/1.5 system-ui, sans-serif;
}
.hr-emplacement span { font-size: 13px; opacity: .8; }

/* Liens soulignés des textes (posés par le code : circuits, Top 5, FAQ des fiches) */
.lien-souligne {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    text-decoration-color: rgba(from currentColor r g b / 0.8);
    word-wrap: break-word;
    transition: text-decoration-color 0.2s ease;
}
.lien-souligne:hover {
    text-decoration: none !important;
}

/* Questions de la FAQ des fiches (fonctions/faq.php) */
.titre-rando-h3 {
    font-size: 22px;
}

/* ──────────────────────────────────────────
   Débordement horizontal sur mobile
   ────────────────────────────────────────── */

/* « clip » rogne sans faire du <body> un conteneur de défilement, qui
   empêcherait tout « position: sticky » (panneau et pastilles de la fiche,
   en-têtes du tableau) ; « hidden » pour les navigateurs qui l'ignorent. */
html, body {
    overflow-x: hidden;
}
@supports (overflow: clip) {
    html, body { overflow-x: clip; }
}

.leaflet-container {
    max-width: 100% !important;
    box-sizing: border-box;
}

