/* ==========================================================================
   HelpZone — site public
   Direction éditoriale : titres serif, filets fins, coins 4px, couleur réservée aux actions.
   Polices locales (assets/site/fonts), aucune ressource externe.
   ========================================================================== */

:root {
    --hz-encre: #17202c;
    --hz-encre-doux: #475263;
    --hz-gris: #7c8594;
    --hz-filet: #e2e4e8;
    --hz-filet-fort: #17202c;
    --hz-fond: #f6f4f0;
    --hz-papier: #ffffff;
    --hz-orange: #e0561f;
    --hz-orange-survol: #c44812;
    --hz-orange-clair: #fdf1ea;
    --hz-vert: #2d7a4c;
    --hz-ambre: #9a6400;
    --hz-rouge: #b42318;
    --hz-serif: 'Marcellus', Georgia, 'Times New Roman', serif;
    --hz-sans: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
    --hz-rayon: 4px;
    --hz-largeur: 1160px;
}

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

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: var(--hz-sans);
    font-size: 17px;
    line-height: 1.55;
    color: var(--hz-encre);
    background: var(--hz-papier);
}

img { max-width: 100%; display: block; }

a { color: var(--hz-encre); text-decoration-color: rgba(23, 32, 44, .35); text-underline-offset: 3px; }
a:hover { color: var(--hz-orange); text-decoration-color: currentColor; }

h1, h2, h3, h4 { font-family: var(--hz-serif); font-weight: 400; line-height: 1.2; margin: 0 0 .5em; color: var(--hz-encre); }
h1 { font-size: clamp(32px, 5vw, 52px); }
h2 { font-size: clamp(26px, 3.2vw, 34px); }
h3 { font-size: 22px; }
p { margin: 0 0 1em; }

.hz-conteneur { width: 100%; max-width: var(--hz-largeur); margin: 0 auto; padding: 0 20px; }
.hz-etroit { max-width: 760px; }
.hz-section { padding: 64px 0; }
.hz-section--fond { background: var(--hz-fond); }
.hz-section--filet { border-top: 1px solid var(--hz-filet); }

.hz-surtitre {
    display: block;
    font-size: 13px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--hz-gris);
    margin-bottom: 12px;
    font-weight: 600;
}

.hz-chapo { font-size: 20px; color: var(--hz-encre-doux); max-width: 640px; }
.hz-doux { color: var(--hz-encre-doux); }
.hz-petit { font-size: 14px; color: var(--hz-gris); }
.hz-masque { display: none !important; }

/* ---------- En-tête ---------- */
.hz-entete { border-bottom: 1px solid var(--hz-filet); background: var(--hz-papier); position: sticky; top: 0; z-index: 50; }
.hz-entete__barre { display: flex; align-items: center; gap: 28px; height: 72px; }
.hz-entete__logo { text-decoration: none; }
.hz-marque { font-family: var(--hz-serif); font-size: 30px; line-height: 1; letter-spacing: -.01em; color: var(--hz-encre); white-space: nowrap; }
.hz-marque span { color: var(--hz-orange); }
.hz-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.hz-nav a { text-decoration: none; font-weight: 600; font-size: 16px; color: var(--hz-encre); }
.hz-nav a:hover, .hz-nav a.est-actif { color: var(--hz-orange); }
.hz-nav__compte { display: flex; align-items: center; gap: 12px; padding-left: 24px; border-left: 1px solid var(--hz-filet); }
.hz-nav__nom { font-size: 15px; color: var(--hz-encre-doux); }
.hz-nav__pastille { display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 4px; background: var(--hz-orange); color: #fff; font-size: 12px; line-height: 20px; text-align: center; border-radius: var(--hz-rayon); }
.hz-menu-bouton { display: none; margin-left: auto; background: none; border: 1px solid var(--hz-filet); border-radius: var(--hz-rayon); padding: 8px 12px; font: inherit; font-weight: 600; cursor: pointer; }

@media (max-width: 860px) {
    .hz-menu-bouton { display: block; }
    .hz-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: var(--hz-papier); border-bottom: 1px solid var(--hz-filet); flex-direction: column; align-items: stretch; gap: 0; padding: 8px 20px 20px; }
    .hz-nav.est-ouvert { display: flex; }
    .hz-nav a { padding: 12px 0; border-bottom: 1px solid var(--hz-filet); }
    .hz-nav__compte { flex-direction: column; align-items: stretch; padding: 12px 0 0; border-left: 0; }
    .hz-nav__compte .hz-bouton { width: 100%; }
}

/* ---------- Boutons ---------- */
.hz-bouton {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 22px;
    font: inherit; font-weight: 700; font-size: 16px; line-height: 1.2;
    border: 1px solid var(--hz-encre); border-radius: var(--hz-rayon);
    background: var(--hz-papier); color: var(--hz-encre);
    text-decoration: none; cursor: pointer;
    transition: background-color .15s, color .15s, border-color .15s;
}
.hz-bouton:hover { background: var(--hz-encre); color: #fff; }
.hz-bouton--action { background: var(--hz-orange); border-color: var(--hz-orange); color: #fff; }
.hz-bouton--action:hover { background: var(--hz-orange-survol); border-color: var(--hz-orange-survol); color: #fff; }
.hz-bouton--sombre { background: var(--hz-encre); color: #fff; }
.hz-bouton--sombre:hover { background: #000; }
.hz-bouton--succes { background: var(--hz-vert); border-color: var(--hz-vert); color: #fff; }
.hz-bouton--succes:hover { background: #22603b; color: #fff; }
.hz-bouton--discret { border-color: var(--hz-filet); }
.hz-bouton--danger { border-color: var(--hz-rouge); color: var(--hz-rouge); }
.hz-bouton--danger:hover { background: var(--hz-rouge); color: #fff; }
.hz-bouton--petit { padding: 8px 14px; font-size: 15px; }
.hz-bouton--large { width: 100%; }
.hz-bouton[disabled], .hz-bouton.est-occupe { opacity: .6; pointer-events: none; }

.hz-lien-fleche { font-weight: 700; text-decoration: none; white-space: nowrap; }
.hz-lien-fleche::after { content: ' →'; }

/* ---------- Héros ---------- */
.hz-heros { padding: 72px 0 56px; border-bottom: 1px solid var(--hz-filet); }
.hz-heros__grille { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: end; }
.hz-heros h1 { max-width: 640px; }
.hz-heros__aside { border-top: 2px solid var(--hz-filet-fort); padding-top: 18px; }
.hz-heros__aside dl { margin: 0; }
.hz-heros__aside div { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--hz-filet); }
.hz-heros__aside dt { color: var(--hz-encre-doux); }
.hz-heros__aside dd { margin: 0; font-family: var(--hz-serif); font-size: 30px; line-height: 1; }
@media (max-width: 860px) { .hz-heros__grille { grid-template-columns: 1fr; gap: 32px; } }

/* ---------- Recherche ---------- */
.hz-recherche { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 0; margin-top: 32px; border: 1px solid var(--hz-encre); border-radius: var(--hz-rayon); background: var(--hz-papier); max-width: 760px; }
.hz-recherche label { display: block; padding: 10px 16px 12px; border-right: 1px solid var(--hz-filet); }
.hz-recherche label span { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--hz-gris); font-weight: 600; }
.hz-recherche input, .hz-recherche select { width: 100%; border: 0; padding: 4px 0 0; font: inherit; font-size: 17px; background: transparent; color: var(--hz-encre); outline: none; }
.hz-recherche .hz-bouton { border-radius: 0 3px 3px 0; margin: -1px -1px -1px 0; }
@media (max-width: 680px) {
    .hz-recherche { grid-template-columns: 1fr; }
    .hz-recherche label { border-right: 0; border-bottom: 1px solid var(--hz-filet); }
    .hz-recherche .hz-bouton { border-radius: 0 0 3px 3px; margin: 0 -1px -1px; }
}

/* ---------- Titres de section ---------- */
.hz-entete-section { display: flex; justify-content: space-between; align-items: end; gap: 24px; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 2px solid var(--hz-filet-fort); }
.hz-entete-section h2 { margin: 0; }

/* ---------- Catégories (liste éditoriale) ---------- */
.hz-categories { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 40px; }
.hz-categories li { border-bottom: 1px solid var(--hz-filet); }
.hz-categories a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 16px 0; text-decoration: none; }
.hz-categories strong { font-family: var(--hz-serif); font-weight: 400; font-size: 21px; }
.hz-categories span { font-size: 14px; color: var(--hz-gris); white-space: nowrap; }
.hz-categories a:hover strong { color: var(--hz-orange); }
@media (max-width: 860px) { .hz-categories { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .hz-categories { grid-template-columns: 1fr; } }

/* ---------- Étapes ---------- */
.hz-etapes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 32px; }
.hz-etape { border-top: 1px solid var(--hz-filet-fort); padding-top: 16px; }
.hz-etape__num { font-family: var(--hz-serif); font-size: 46px; line-height: 1; color: var(--hz-orange); display: block; margin-bottom: 12px; }
.hz-etape h3 { margin-bottom: 8px; }
@media (max-width: 760px) { .hz-etapes { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Duo (bandeau prestataire) ---------- */
.hz-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.hz-duo ul { list-style: none; margin: 0 0 24px; padding: 0; }
.hz-duo li { padding: 12px 0; border-bottom: 1px solid var(--hz-filet); }
@media (max-width: 760px) { .hz-duo { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Cartes prestataires ---------- */
.hz-grille { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 960px) { .hz-grille { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .hz-grille { grid-template-columns: 1fr; } }

.hz-carte { display: flex; flex-direction: column; border: 1px solid var(--hz-filet); border-radius: var(--hz-rayon); background: var(--hz-papier); padding: 20px; transition: border-color .15s; }
.hz-carte:hover { border-color: var(--hz-encre); }
.hz-carte__haut { display: flex; gap: 14px; align-items: center; margin-bottom: 14px; }
.hz-carte h3 { font-size: 21px; margin: 0; }
.hz-carte h3 a { text-decoration: none; }
.hz-carte__meta { font-size: 15px; color: var(--hz-encre-doux); }
.hz-carte__lignes { margin: 0 0 16px; padding: 0; list-style: none; font-size: 15px; }
.hz-carte__lignes li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid var(--hz-filet); }
.hz-carte__lignes li span:first-child { color: var(--hz-gris); }
.hz-carte__bas { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; }

.hz-initiales { flex: 0 0 auto; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--hz-encre); border-radius: var(--hz-rayon); font-family: var(--hz-serif); font-size: 19px; background: var(--hz-papier); overflow: hidden; }
.hz-initiales img { width: 100%; height: 100%; object-fit: cover; }
.hz-initiales--grand { width: 88px; height: 88px; font-size: 34px; }

.hz-dispo { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--hz-gris); }
.hz-dispo::before { content: ''; width: 8px; height: 8px; border-radius: 1px; background: var(--hz-gris); }
.hz-dispo--oui { color: var(--hz-vert); }
.hz-dispo--oui::before { background: var(--hz-vert); }

.hz-note { white-space: nowrap; }
.hz-note b { font-weight: 700; }

/* ---------- Barre de filtres ---------- */
.hz-filtres { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; padding: 20px 0; border-bottom: 1px solid var(--hz-filet); margin-bottom: 24px; }
.hz-filtres .hz-champ { margin: 0; min-width: 180px; flex: 1; }
.hz-filtres .hz-champ--etroit { flex: 0 0 auto; min-width: 150px; }
.hz-resultats-entete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }

/* ---------- Formulaires ---------- */
.hz-champ { margin-bottom: 20px; }
.hz-champ label, .hz-libelle { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; }
.hz-champ .hz-aide { font-size: 14px; color: var(--hz-gris); margin-top: 6px; }
.hz-input, .hz-select, .hz-textarea {
    width: 100%; padding: 12px 14px;
    font: inherit; font-size: 17px; color: var(--hz-encre);
    background: var(--hz-papier);
    border: 1px solid #c9cdd3; border-radius: var(--hz-rayon);
    outline: none; transition: border-color .15s, box-shadow .15s;
}
.hz-input:focus, .hz-select:focus, .hz-textarea:focus { border-color: var(--hz-encre); box-shadow: 0 0 0 3px rgba(224, 86, 31, .18); }
.hz-textarea { min-height: 110px; resize: vertical; }
.hz-select {
    appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2317202c' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center;
}
.hz-champ.a-erreur .hz-input, .hz-champ.a-erreur .hz-select, .hz-champ.a-erreur .hz-textarea { border-color: var(--hz-rouge); }
.hz-erreur { color: var(--hz-rouge); font-size: 14px; margin-top: 6px; }
.hz-deux { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 560px) { .hz-deux { grid-template-columns: 1fr; } }

.hz-choix { display: grid; gap: 10px; }
.hz-choix--ligne { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.hz-choix label { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border: 1px solid #c9cdd3; border-radius: var(--hz-rayon); cursor: pointer; font-weight: 400; margin: 0; }
.hz-choix input { margin-top: 4px; accent-color: var(--hz-orange); }
.hz-choix label:has(input:checked) { border-color: var(--hz-encre); background: var(--hz-orange-clair); }
.hz-choix strong { display: block; }
.hz-choix small { color: var(--hz-encre-doux); font-size: 14px; }

.hz-position { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 8px; font-size: 15px; }
.hz-position__etat { color: var(--hz-encre-doux); }
.hz-position__etat.est-ok { color: var(--hz-vert); font-weight: 600; }

/* ---------- Panneaux / encadrés ---------- */
.hz-panneau { border: 1px solid var(--hz-filet); border-radius: var(--hz-rayon); background: var(--hz-papier); padding: 28px; }
.hz-panneau--fond { background: var(--hz-fond); border-color: transparent; }
.hz-panneau + .hz-panneau { margin-top: 20px; }
.hz-panneau h2, .hz-panneau h3 { margin-bottom: 14px; }
.hz-encadre { border-left: 0; border-top: 2px solid var(--hz-filet-fort); padding-top: 16px; }

.hz-page-auth { min-height: calc(100vh - 72px); display: grid; grid-template-columns: 1fr 1fr; }
.hz-page-auth__visuel { background: var(--hz-fond); padding: 72px 56px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--hz-filet); }
.hz-page-auth__form { padding: 56px; display: flex; align-items: center; justify-content: center; }
.hz-page-auth__form > div { width: 100%; max-width: 420px; }
@media (max-width: 860px) { .hz-page-auth { grid-template-columns: 1fr; } .hz-page-auth__visuel { display: none; } .hz-page-auth__form { padding: 40px 20px; } }

/* ---------- Mise en page en deux colonnes ---------- */
.hz-colonnes { display: grid; grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
@media (max-width: 960px) { .hz-colonnes { grid-template-columns: 1fr; } }
.hz-collant { position: sticky; top: 96px; }

/* ---------- Fiche prestataire ---------- */
.hz-fiche-entete { display: flex; gap: 24px; align-items: center; padding: 40px 0 28px; border-bottom: 1px solid var(--hz-filet); }
.hz-fiche-entete h1 { font-size: clamp(30px, 4vw, 42px); margin-bottom: 6px; }
.hz-fiche-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--hz-encre-doux); font-size: 16px; }
@media (max-width: 560px) { .hz-fiche-entete { flex-direction: column; align-items: flex-start; } }

.hz-chiffres { margin: 0; }
.hz-chiffres div { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--hz-filet); }
.hz-chiffres dt { color: var(--hz-encre-doux); }
.hz-chiffres dd { margin: 0; font-family: var(--hz-serif); font-size: 24px; }

.hz-services { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hz-filet-fort); }
.hz-services li { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--hz-filet); }
.hz-services h3 { font-size: 21px; margin: 0 0 2px; }
.hz-services p { margin: 0; font-size: 15px; color: var(--hz-encre-doux); }
.hz-services__prix { font-weight: 700; white-space: nowrap; }
.hz-services__action { display: flex; align-items: center; gap: 16px; }
@media (max-width: 560px) { .hz-services li { grid-template-columns: 1fr; } .hz-services__action { justify-content: space-between; } }

.hz-avis { list-style: none; margin: 0; padding: 0; }
.hz-avis li { padding: 18px 0; border-bottom: 1px solid var(--hz-filet); }
.hz-avis__tete { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--hz-encre-doux); margin-bottom: 6px; }
.hz-etoiles { color: var(--hz-orange); letter-spacing: 2px; }

/* ---------- Statuts ---------- */
.hz-statut { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.hz-statut::before { content: ''; width: 9px; height: 9px; border-radius: 1px; background: currentColor; }
.hz-statut--attente { color: var(--hz-ambre); }
.hz-statut--encours { color: var(--hz-orange); }
.hz-statut--succes { color: var(--hz-vert); }
.hz-statut--neutre { color: var(--hz-gris); }
.hz-statut--alerte { color: var(--hz-rouge); }

/* ---------- Tableaux / listes de demandes ---------- */
.hz-liste { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--hz-filet-fort); }
.hz-liste > li > a, .hz-liste > li > div { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; align-items: center; padding: 18px 4px; border-bottom: 1px solid var(--hz-filet); text-decoration: none; }
.hz-liste > li > a:hover { background: var(--hz-fond); }
.hz-liste h3 { font-size: 20px; margin: 0 0 4px; }
.hz-liste__meta { font-size: 15px; color: var(--hz-encre-doux); }
.hz-liste__droite { text-align: right; }
.hz-liste__montant { display: block; font-weight: 700; margin-bottom: 4px; }
.hz-liste--nouvelle > a { background: var(--hz-orange-clair); }
@media (max-width: 560px) { .hz-liste > li > a, .hz-liste > li > div { grid-template-columns: 1fr; } .hz-liste__droite { text-align: left; } }

.hz-onglets { display: flex; gap: 28px; border-bottom: 1px solid var(--hz-filet); margin-bottom: 24px; overflow-x: auto; }
.hz-onglets a { padding: 12px 0; text-decoration: none; font-weight: 600; color: var(--hz-encre-doux); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.hz-onglets a.est-actif { color: var(--hz-encre); border-bottom-color: var(--hz-orange); }

.hz-vide { padding: 48px 0; text-align: center; color: var(--hz-encre-doux); border-bottom: 1px solid var(--hz-filet); }
.hz-vide h3 { margin-bottom: 8px; }

/* ---------- Suivi d'une demande ---------- */
.hz-bandeau-etat { padding: 22px 24px; border-radius: var(--hz-rayon); border: 1px solid var(--hz-filet); margin-bottom: 24px; }
.hz-bandeau-etat h2 { font-size: 26px; margin: 0 0 4px; }
.hz-bandeau-etat p { margin: 0; color: var(--hz-encre-doux); }
.hz-bandeau-etat--attente { border-color: #e7c98a; background: #fdf8ec; }
.hz-bandeau-etat--encours { border-color: #f1b48f; background: var(--hz-orange-clair); }
.hz-bandeau-etat--succes { border-color: #a9d3b8; background: #f0f8f3; }
.hz-bandeau-etat--neutre { background: var(--hz-fond); border-color: transparent; }
.hz-bandeau-etat--alerte { border-color: #f0b4ae; background: #fdf1f0; }

.hz-chrono { list-style: none; margin: 0; padding: 0; }
.hz-chrono li { position: relative; display: flex; justify-content: space-between; gap: 12px; padding: 0 0 22px 30px; color: var(--hz-gris); }
.hz-chrono li::before { content: ''; position: absolute; left: 0; top: 6px; width: 12px; height: 12px; border: 1px solid #c9cdd3; border-radius: 2px; background: var(--hz-papier); }
.hz-chrono li::after { content: ''; position: absolute; left: 6px; top: 20px; bottom: 2px; width: 1px; background: var(--hz-filet); }
.hz-chrono li:last-child::after { display: none; }
.hz-chrono li.est-fait { color: var(--hz-encre); }
.hz-chrono li.est-fait::before { background: var(--hz-vert); border-color: var(--hz-vert); }
.hz-chrono li.est-courant { color: var(--hz-encre); font-weight: 700; }
.hz-chrono li.est-courant::before { background: var(--hz-orange); border-color: var(--hz-orange); }
.hz-chrono time { font-size: 14px; color: var(--hz-gris); font-weight: 400; }

.hz-carte-suivi { height: 300px; border: 1px solid var(--hz-filet); border-radius: var(--hz-rayon); margin-bottom: 24px; }

.hz-etoiles-saisie { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.hz-etoiles-saisie input { position: absolute; opacity: 0; pointer-events: none; }
.hz-etoiles-saisie label { font-size: 34px; line-height: 1; color: #d3d6db; cursor: pointer; margin: 0; }
.hz-etoiles-saisie label:hover, .hz-etoiles-saisie label:hover ~ label,
.hz-etoiles-saisie input:checked ~ label { color: var(--hz-orange); }

.hz-motifs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }

details.hz-repli summary { cursor: pointer; font-weight: 700; list-style: none; }
details.hz-repli summary::-webkit-details-marker { display: none; }
details.hz-repli summary::after { content: ' ▾'; }
details.hz-repli[open] summary::after { content: ' ▴'; }
details.hz-repli > div { padding-top: 16px; }

/* ---------- Messages ---------- */
.hz-alerte { padding: 14px 18px; border-radius: var(--hz-rayon); border: 1px solid; margin-bottom: 20px; font-size: 16px; }
.hz-alerte--succes { border-color: #a9d3b8; background: #f0f8f3; color: #1d5534; }
.hz-alerte--erreur { border-color: #f0b4ae; background: #fdf1f0; color: #8a1c13; }
.hz-alerte--info { border-color: var(--hz-filet); background: var(--hz-fond); }

.hz-toasts { position: fixed; right: 20px; bottom: 20px; z-index: 200; display: grid; gap: 10px; max-width: 360px; }
.hz-toast { padding: 14px 18px; border-radius: var(--hz-rayon); background: var(--hz-encre); color: #fff; font-size: 15px; box-shadow: 0 6px 24px rgba(0, 0, 0, .18); }
.hz-toast--succes { background: #1f5a37; }
.hz-toast--erreur { background: #8a1c13; }

.hz-alerte-demande { position: fixed; left: 50%; top: 88px; transform: translateX(-50%); z-index: 150; background: var(--hz-encre); color: #fff; padding: 16px 20px; border-radius: var(--hz-rayon); display: flex; gap: 16px; align-items: center; box-shadow: 0 10px 30px rgba(0, 0, 0, .25); width: calc(100% - 40px); max-width: 560px; }
.hz-alerte-demande strong { font-family: var(--hz-serif); font-weight: 400; font-size: 20px; display: block; }

/* ---------- Pagination ---------- */
.hz-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 32px; }
.hz-pagination a, .hz-pagination span { min-width: 40px; padding: 8px 12px; border: 1px solid var(--hz-filet); border-radius: var(--hz-rayon); text-align: center; text-decoration: none; }
.hz-pagination span { background: var(--hz-encre); color: #fff; border-color: var(--hz-encre); }

/* ---------- Pied de page ---------- */
.hz-pied { border-top: 2px solid var(--hz-filet-fort); padding: 40px 0; margin-top: 64px; font-size: 15px; color: var(--hz-encre-doux); }
.hz-pied__grille { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 32px; }
.hz-pied h4 { font-size: 18px; margin-bottom: 10px; }
.hz-pied ul { list-style: none; margin: 0; padding: 0; }
.hz-pied li { padding: 4px 0; }
.hz-pied a { color: var(--hz-encre-doux); text-decoration: none; }
.hz-pied a:hover { color: var(--hz-orange); }
.hz-pied__bas { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--hz-filet); font-size: 14px; }
@media (max-width: 760px) { .hz-pied__grille { grid-template-columns: 1fr; } }

.hz-titre-page { padding: 40px 0 24px; border-bottom: 1px solid var(--hz-filet); margin-bottom: 32px; }
.hz-titre-page h1 { font-size: clamp(30px, 4vw, 42px); margin-bottom: 8px; }
.hz-fil { font-size: 14px; color: var(--hz-gris); margin-bottom: 10px; }
.hz-fil a { color: var(--hz-gris); }

/* Chiffres : dans Marcellus, « 0 » se lit « O » → police du texte, chiffres alignés */
.hz-heros__aside dd, .hz-chiffres dd, .hz-etape__num { font-family: var(--hz-sans); font-weight: 600; font-variant-numeric: tabular-nums; }
.hz-heros__aside dd { font-size: 26px; }
.hz-chiffres dd { font-size: 20px; }
