/* ---------------------------------------------------------------------------
   Web manager — feuille de style applicative.

   Un seul vocabulaire pour tous les écrans. La palette est posée en
   redéfinissant les variables de Bootstrap 5.3 plutôt qu'en doublant ses
   composants : ses cartes, tableaux, badges et champs adoptent donc nos
   couleurs sans qu'on ait à les réécrire, et nos composants à nous, écrits
   contre --bs-*, restent cohérents avec eux.

   Principe de couleur : ce qui doit ressortir est l'anomalie, pas l'interface.
   Un seul accent, réservé aux liens et à l'action principale ; le reste est
   neutre ou sémantique.
   --------------------------------------------------------------------------- */

[data-bs-theme="dark"] {
    /* Neutres légèrement bleutés : un gris pur lit comme non choisi. */
    --bs-body-bg: #0f141a;
    --bs-body-bg-rgb: 15, 20, 26;
    --bs-body-color: #e8eef5;
    --bs-body-color-rgb: 232, 238, 245;
    --bs-emphasis-color: #ffffff;
    --bs-secondary-color: #9dabbb;
    --bs-secondary-bg: #1d2731;
    --bs-tertiary-bg: #171e26;
    --bs-tertiary-color: #71808f;
    --bs-border-color: #2b3743;
    --bs-border-color-translucent: rgba(255, 255, 255, .09);

    --bs-primary: #7fb0e8;
    --bs-primary-rgb: 127, 176, 232;
    --bs-primary-text-emphasis: #7fb0e8;
    --bs-primary-bg-subtle: #17263a;
    --bs-primary-border-subtle: #2f4c6e;

    --bs-success-text-emphasis: #5cc48d;
    --bs-success-bg-subtle: #14301f;
    --bs-success-border-subtle: #245f3d;

    --bs-warning: #e5b25c;
    --bs-warning-rgb: 229, 178, 92;
    --bs-warning-text-emphasis: #e5b25c;
    --bs-warning-bg-subtle: #2f2610;
    --bs-warning-border-subtle: #6b5320;

    --bs-danger: #ef8a86;
    --bs-danger-rgb: 239, 138, 134;
    --bs-danger-text-emphasis: #ef8a86;
    --bs-danger-bg-subtle: #35181a;
    --bs-danger-border-subtle: #713235;

    --bs-link-color: #7fb0e8;
    --bs-link-color-rgb: 127, 176, 232;
    --bs-link-hover-color: #a3c7f0;

    --bs-card-bg: #171e26;
    --bs-heading-color: #e8eef5;
}

:root {
    --wm-surface-3: #26323f;
    --wm-bord-fort: #3d4b5b;
    --wm-texte-faible: #71808f;
    /* Le type d'un element n'est pas un etat : cette teinte ne doit donc
       ressembler ni au vert, ni a l'ambre, ni au rouge, ni a l'accent - qui
       veulent tous dire autre chose. */
    --wm-theme-teinte: #b39ddb;
    --wm-theme-fond: #241f33;
    --wm-theme-bord: #453a63;
    --wm-rayon: .5rem;
    --wm-etiquette: 11px;
}

body {
    background: var(--bs-body-bg);
    font-size: 15px;
}

code, .mono {
    font-family: var(--bs-font-monospace);
    font-size: .86em;
    font-variant-numeric: tabular-nums;
}

code { color: var(--bs-body-color); }

/* ---- navigation ---------------------------------------------------------- */
.wm-nav {
    background: var(--bs-tertiary-bg);
    border-bottom: 1px solid var(--bs-border-color);
    margin-bottom: 1.625rem;
}

.wm-nav-int {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1.25rem;
    display: flex;
    align-items: center;
    gap: .25rem;
    height: 52px;
    overflow-x: auto;
}

.wm-marque {
    font-weight: 650;
    letter-spacing: -.01em;
    margin-right: 1.125rem;
    white-space: nowrap;
    color: var(--bs-body-color);
    text-decoration: none;
}

.wm-onglet {
    color: var(--bs-secondary-color);
    text-decoration: none;
    font-size: .84rem;
    font-weight: 500;
    padding: .375rem .6875rem;
    border-radius: 6px;
    white-space: nowrap;
}

.wm-onglet:hover { background: var(--bs-secondary-bg); color: var(--bs-body-color); }
.wm-onglet.actif { background: var(--bs-primary-bg-subtle); color: var(--bs-primary); }

.wm-nav .fin {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .78rem;
    color: var(--wm-texte-faible);
    white-space: nowrap;
}

.wm-page { max-width: 1180px; margin: 0 auto; padding: 0 1.25rem 4rem; }

/* ---- structure de page --------------------------------------------------- */
.page-titre {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
    margin: 0 0 1.125rem;
}

.titre-carte {
    font-size: 1.15rem;
    font-weight: 650;
    letter-spacing: -.01em;
    text-align: center;
    margin: 0 0 1rem;
}

.page-titre h1 { font-size: 1.25rem; font-weight: 650; margin: 0; letter-spacing: -.01em; }
.page-titre .actions { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }

.bloc {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--wm-rayon);
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.bloc > header {
    display: flex;
    align-items: center;
    gap: .625rem;
    flex-wrap: wrap;
    padding: .6875rem .9375rem;
    border-bottom: 1px solid var(--bs-border-color);
    background: var(--bs-secondary-bg);
}

.bloc > header h2 { font-size: .84rem; font-weight: 650; margin: 0; }
.bloc > header .note { font-size: .75rem; color: var(--wm-texte-faible); margin-left: auto; }
.bloc .corps { padding: .9375rem; }

/* ---- boutons ------------------------------------------------------------- */
.btn {
    --bs-btn-font-size: .84rem;
    --bs-btn-font-weight: 550;
    --bs-btn-border-radius: 7px;
    --bs-btn-padding-y: .4375rem;
    --bs-btn-padding-x: .8125rem;
    white-space: nowrap;
}

.btn-sm { --bs-btn-font-size: .78rem; --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5625rem; }

/* Action secondaire : la teinte neutre de l'interface, pas une couleur. */
.btn-neutre {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: var(--bs-secondary-bg);
    --bs-btn-border-color: var(--wm-bord-fort);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-hover-bg: var(--wm-surface-3);
    --bs-btn-hover-border-color: var(--wm-bord-fort);
    --bs-btn-active-bg: var(--wm-surface-3);
    --bs-btn-active-border-color: var(--wm-bord-fort);
    --bs-btn-disabled-color: var(--wm-texte-faible);
    --bs-btn-disabled-bg: var(--bs-secondary-bg);
    --bs-btn-disabled-border-color: var(--bs-border-color);
}

.btn-primary {
    --bs-btn-color: #0d1620;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #0d1620;
    --bs-btn-hover-bg: #a3c7f0;
    --bs-btn-hover-border-color: #a3c7f0;
    --bs-btn-disabled-color: #0d1620;
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}

/* Action prudente : le cœur WordPress, et tout ce qui ne s'annule pas. */
.btn-prudent {
    --bs-btn-color: var(--bs-warning-text-emphasis);
    --bs-btn-bg: var(--bs-warning-bg-subtle);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-color: var(--bs-warning-text-emphasis);
    --bs-btn-hover-bg: #3d3115;
    --bs-btn-hover-border-color: var(--bs-warning);
    --bs-btn-disabled-color: var(--bs-warning-text-emphasis);
    --bs-btn-disabled-bg: var(--bs-warning-bg-subtle);
    --bs-btn-disabled-border-color: var(--bs-warning);
}

.btn-danger-doux {
    --bs-btn-color: var(--bs-danger-text-emphasis);
    --bs-btn-bg: var(--bs-danger-bg-subtle);
    --bs-btn-border-color: var(--bs-danger);
    --bs-btn-hover-color: var(--bs-danger-text-emphasis);
    --bs-btn-hover-bg: #451e21;
    --bs-btn-hover-border-color: var(--bs-danger);
}

/* ---- tableaux ------------------------------------------------------------ */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--bs-body-color);
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-hover-bg: var(--bs-secondary-bg);
    --bs-table-hover-color: var(--bs-body-color);
    font-size: .84rem;
    margin-bottom: 0;
}

.table thead th {
    font-size: var(--wm-etiquette);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 650;
    color: var(--wm-texte-faible);
    white-space: nowrap;
    background: var(--bs-secondary-bg);
    border-bottom-color: var(--bs-border-color);
    padding: .5625rem .875rem;
}

.table td, .table th { vertical-align: middle; padding: .625rem .875rem; }
.table tbody tr:last-child td { border-bottom-width: 0; }

.domaine { font-weight: 600; text-decoration: none; color: var(--bs-body-color); }
.domaine:hover { color: var(--bs-primary); }
.client { font-size: .78rem; color: var(--wm-texte-faible); }
.faible { color: var(--wm-texte-faible); }

/* ---- pastilles ----------------------------------------------------------- */
.p {
    display: inline-block;
    font-size: 11px;
    font-weight: 650;
    padding: 1.5px 7px;
    border-radius: 4px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.p.ok { background: var(--bs-success-bg-subtle); color: var(--bs-success-text-emphasis); border-color: var(--bs-success-border-subtle); }
.p.att { background: var(--bs-warning-bg-subtle); color: var(--bs-warning-text-emphasis); border-color: var(--bs-warning-border-subtle); }
.p.pb { background: var(--bs-danger-bg-subtle); color: var(--bs-danger-text-emphasis); border-color: var(--bs-danger-border-subtle); }
.p.neutre { background: var(--wm-surface-3); color: var(--bs-secondary-color); border-color: var(--wm-bord-fort); }
.p.ronde { border-radius: 999px; min-width: 21px; text-align: center; font-variant-numeric: tabular-nums; }

.att-t { color: var(--bs-warning-text-emphasis); }
.pb-t { color: var(--bs-danger-text-emphasis); font-weight: 600; }
.ok-t { color: var(--bs-success-text-emphasis); }

.alertes { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .25rem; }

/* ---- cartes de synthèse -------------------------------------------------- */
.grille-chiffres {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(184px, 1fr));
    gap: .75rem;
    margin-bottom: 1.25rem;
}

.carte-chiffre {
    background: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--wm-rayon);
    padding: .8125rem .9375rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-decoration: none;
    color: inherit;
}

.carte-chiffre:hover { border-color: var(--wm-bord-fort); background: var(--bs-secondary-bg); color: inherit; }
.carte-chiffre .etiq { font-size: .72rem; color: var(--wm-texte-faible); letter-spacing: .02em; }
.carte-chiffre .valeur { font-size: 1.7rem; font-weight: 650; line-height: 1.15; font-variant-numeric: tabular-nums; }
.carte-chiffre .sous { font-size: .75rem; color: var(--wm-texte-faible); }

/* Une carte ne se colore que lorsqu'elle réclame quelque chose : sur un
   tableau tout coloré, plus rien ne ressort. */
.carte-chiffre.att { border-color: var(--bs-warning); background: var(--bs-warning-bg-subtle); }
.carte-chiffre.att .valeur, .carte-chiffre.att .etiq, .carte-chiffre.att .sous { color: var(--bs-warning-text-emphasis); }
.carte-chiffre.pb { border-color: var(--bs-danger); background: var(--bs-danger-bg-subtle); }
.carte-chiffre.pb .valeur, .carte-chiffre.pb .etiq, .carte-chiffre.pb .sous { color: var(--bs-danger-text-emphasis); }

/* ---- listes d'événements ------------------------------------------------- */
.evt {
    display: flex;
    gap: .75rem;
    align-items: baseline;
    padding: .5rem .9375rem;
    border-bottom: 1px solid var(--bs-border-color);
    font-size: .82rem;
}

.evt:last-child { border-bottom: 0; }
.evt .quand { font-size: .72rem; color: var(--wm-texte-faible); flex: none; width: 5.75rem; font-variant-numeric: tabular-nums; }
.evt .quoi { flex: 1 1 auto; min-width: 0; }
.evt .qui { font-size: .72rem; color: var(--wm-texte-faible); flex: none; }

/* ---- formulaires --------------------------------------------------------- */
.form-label { font-size: .78rem; font-weight: 600; color: var(--bs-secondary-color); margin-bottom: .3125rem; }
.form-control, .form-select {
    background-color: var(--bs-body-bg);
    border-color: var(--wm-bord-fort);
    color: var(--bs-body-color);
    border-radius: 7px;
    font-size: .9rem;
}
.form-control:focus, .form-select:focus {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .2);
}

/* Un champ inerte doit se voir inerte : sinon on croit pouvoir le corriger. */
.form-control[readonly], .form-control:disabled {
    background-color: var(--bs-secondary-bg);
    color: var(--wm-texte-faible);
    border-color: var(--bs-border-color);
}

.form-text { font-size: .75rem; color: var(--wm-texte-faible); }

/* ---- définitions --------------------------------------------------------- */
dl.def { display: grid; grid-template-columns: 12rem 1fr; gap: .4375rem .875rem; margin: 0; font-size: .84rem; }
dl.def dt { color: var(--wm-texte-faible); font-size: .78rem; font-weight: 500; }
dl.def dd { margin: 0; }

/* ---- alertes ------------------------------------------------------------- */
.alert { border-radius: var(--wm-rayon); font-size: .84rem; padding: .625rem .875rem; }

/* ---- états vides --------------------------------------------------------- */
.vide { padding: 1.625rem .9375rem; text-align: center; color: var(--wm-texte-faible); font-size: .84rem; }
.vide .grand { font-size: 2.1rem; font-weight: 650; color: var(--wm-texte-faible); line-height: 1.2; }
.vide .btn { margin-top: .625rem; }

/* ---- filtre par type ----------------------------------------------------- */
.wm-filtres {
    display: inline-flex;
    gap: 2px;
    padding: 2px;
    border: 1px solid var(--bs-border-color);
    border-radius: 7px;
    background: var(--bs-body-bg);
}

.wm-filtre,
.wm-filtre-ext {
    background: none;
    border: 0;
    border-radius: 5px;
    color: var(--bs-secondary-color);
    font: inherit;
    font-size: .75rem;
    font-weight: 550;
    padding: .25rem .625rem;
    cursor: pointer;
    white-space: nowrap;
}

.wm-filtre-ext:hover,
.wm-filtre:hover { color: var(--bs-body-color); background: var(--bs-secondary-bg); }
.wm-filtre-ext.actif,
.wm-filtre.actif { background: var(--bs-secondary-bg); color: var(--bs-body-color); }
.wm-filtre-ext:focus-visible,
.wm-filtre:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 1px; }
.wm-filtre-ext[disabled],
.wm-filtre[disabled] { opacity: .4; cursor: default; }
.wm-filtre-ext .compte,
.wm-filtre .compte { font-variant-numeric: tabular-nums; opacity: .7; margin-left: .25rem; }

.groupe[hidden] { display: none; }
.maj .combien div { font-size: .72rem; }

/* ---- onglets de vue ------------------------------------------------------ */
.wm-onglets {
    display: flex;
    gap: .25rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--bs-border-color);
}

.wm-onglet-vue {
    background: none;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--bs-secondary-color);
    font: inherit;
    font-size: .875rem;
    font-weight: 550;
    padding: .5rem .875rem;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: -1px;
}

.wm-onglet-vue:hover { color: var(--bs-body-color); }
.wm-onglet-vue.actif { color: var(--bs-primary); border-bottom-color: var(--bs-primary); }
.wm-onglet-vue:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }

/* ===========================================================================
   Écran du parc — les composants qui lui sont propres
   =========================================================================== */

.parc-table tbody tr.site > td:first-child { border-left: 3px solid transparent; }
.parc-table tbody tr.site.att > td:first-child { border-left-color: var(--bs-warning); }
.parc-table tbody tr.site.pb > td:first-child { border-left-color: var(--bs-danger); }
.parc-table tbody tr.site.surligne { background-color: var(--bs-primary-bg-subtle); transition: background-color .6s ease; }
.parc-table .cellule-chevron { padding-right: 0; }

.parc-chiffres { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.parc-chiffres .chiffre {
    background: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color);
    border-radius: var(--wm-rayon); padding: .55rem .875rem;
    display: flex; align-items: baseline; gap: .5rem;
}
.parc-chiffres .chiffre b { font-size: 1.2rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.parc-chiffres .chiffre span { font-size: .78rem; color: var(--wm-texte-faible); }
.parc-chiffres .chiffre.attention { background: var(--bs-warning-bg-subtle); border-color: var(--bs-warning-border-subtle); }
.parc-chiffres .chiffre.attention b, .parc-chiffres .chiffre.attention span { color: var(--bs-warning-text-emphasis); }
.parc-chiffres .chiffre.critique { background: var(--bs-danger-bg-subtle); border-color: var(--bs-danger-border-subtle); }
.parc-chiffres .chiffre.critique b, .parc-chiffres .chiffre.critique span { color: var(--bs-danger-text-emphasis); }

/* Descendant et non enfant direct : dans un groupe, le chevron est imbriqué
   dans .maj, et un « > » ici empêcherait la flèche de tourner. */
.chevron {
    background: none; border: 0; cursor: pointer; color: var(--bs-secondary-color);
    padding: 2px 6px; border-radius: 5px; font-size: .82rem; line-height: 1; flex: none;
}
.chevron:hover { background: var(--bs-secondary-bg); color: var(--bs-emphasis-color); }
.chevron .fl { display: inline-block; transition: transform .18s ease; }
.groupe.ouverte .chevron .fl, tr.site.ouverte .chevron .fl { transform: rotate(90deg); }

.groupe { border-bottom: 1px solid var(--bs-border-color); }
.groupe:last-child { border-bottom: 0; }
.maj { display: flex; align-items: center; gap: .875rem; padding: .75rem .9375rem .75rem .625rem; }
.maj .genre {
    font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: 3px 7px; border-radius: 4px; background: var(--bs-secondary-bg);
    color: var(--bs-secondary-color); border: 1px solid var(--bs-border-color);
    flex: none; min-width: 78px; text-align: center;
}
/* Trois types, trois habillages : l'etiquette se lit sans etre relue. Le
   coeur emprunte l'ambre parce qu'il porte aussi un avertissement ; les deux
   autres se distinguent sans emprunter de couleur d'etat. */
.genre-plugin {
    background: var(--bs-primary-bg-subtle);
    color: var(--bs-primary);
    border-color: var(--bs-primary-border-subtle);
}

/* Notre propre plugin : ni un etat, ni une extension tierce. Il porte
   l'accent parce que son deploiement est une decision, pas une corvee. */
.genre-nous {
    background: var(--bs-primary);
    color: #0d1620;
    border-color: var(--bs-primary);
}

.genre-theme {
    background: var(--wm-theme-fond);
    color: var(--wm-theme-teinte);
    border-color: var(--wm-theme-bord);
}

.groupe.coeur .maj { background: var(--bs-warning-bg-subtle); }
.groupe.coeur .genre { background: var(--bs-warning); color: #241a05; border-color: var(--bs-warning); }
.maj .quoi { flex: 1 1 auto; min-width: 0; }
.maj .versions { color: var(--bs-secondary-color); font-size: .78rem; margin-top: 2px; }
.maj .fleche { padding: 0 .25rem; }
.maj .chemin { margin-left: .5rem; font-family: var(--bs-font-monospace); font-size: .72rem; color: var(--wm-texte-faible); }
.maj .combien { flex: none; font-size: .78rem; color: var(--wm-texte-faible); text-align: right; }
.maj .combien b { color: var(--bs-body-color); font-variant-numeric: tabular-nums; }

.sites-groupe {
    background: var(--bs-body-bg); border-top: 1px dashed var(--bs-border-color);
    padding: .625rem .9375rem .8rem 2.5rem;
}
.sites-groupe[hidden] { display: none; }
.sites-tete {
    display: flex; align-items: center; gap: .875rem; padding-bottom: .5rem; margin-bottom: .375rem;
    border-bottom: 1px solid var(--bs-border-color); font-size: .75rem; color: var(--wm-texte-faible);
}
.choix {
    display: flex; align-items: center; gap: .5625rem; padding: .25rem .5rem;
    border-radius: var(--wm-rayon); font-size: .82rem; cursor: pointer; margin: 0;
}
.choix:hover { background: var(--bs-secondary-bg); }
.choix input { width: 15px; height: 15px; cursor: pointer; flex: none; margin: 0; }
.choix .dom { flex: 1 1 auto; min-width: 0; font-weight: 500; }
.choix .depuis { color: var(--wm-texte-faible); font-size: .78rem; }
.choix .verdict { font-size: .78rem; white-space: nowrap; min-width: 92px; text-align: right; }
.grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 0 1.125rem; }

.jauge {
    height: 6px; border-radius: 3px; background: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color); overflow: hidden; width: 170px; flex: none;
}
.jauge i { display: block; height: 100%; background: var(--bs-primary); width: 0; transition: width .2s ease; }
.enCours { display: flex; align-items: center; gap: .625rem; font-size: .78rem; color: var(--wm-texte-faible); }
.enCours[hidden] { display: none; }

tr.detail > td { background: var(--bs-body-bg); padding: 0; }
tr.detail[hidden] { display: none; }
.detail-corps { padding: .75rem .9375rem .875rem 1.875rem; display: grid; gap: .5rem; }
.detail-titre { font-size: var(--wm-etiquette); font-weight: 650; letter-spacing: .05em; text-transform: uppercase; color: var(--wm-texte-faible); }
.detail-note { margin: 0; font-size: .82rem; color: var(--wm-texte-faible); max-width: 60ch; }
.item { display: flex; align-items: center; gap: .75rem; font-size: .82rem; }
.item .nom { flex: 1 1 auto; min-width: 0; }
.item .v { color: var(--wm-texte-faible); }

.parc-vide { padding: 1.125rem .9375rem; color: var(--wm-texte-faible); font-style: italic; }

.pagination-parc {
    display: flex; align-items: center; gap: .875rem; flex-wrap: wrap;
    padding: .625rem .9375rem; border-top: 1px solid var(--bs-border-color);
    background: var(--bs-secondary-bg); font-size: .78rem; color: var(--wm-texte-faible);
}
.pagination-parc .par-page { margin-left: auto; display: flex; align-items: center; gap: .4375rem; margin-bottom: 0; }
.pagination-parc select { width: auto; }

@media (max-width: 720px) {
    dl.def { grid-template-columns: 1fr; gap: 0 0; }
    dl.def dd { margin-bottom: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .chevron .fl, .jauge i, .parc-table tbody tr.site.surligne { transition: none; }
}
