/* Refonte D2 de l'espace foncier (src/d2-foncier.js, src/d2-foncier-couches.js ; Henri, 25/10/2026 : « les cartes et
 * interfaces de foncier doivent avoir les calques comme cartes et améliore l'interface dans l'esprit du travail déjà
 * effectué »). Jetons : src/jetons.css (.jt). Typographie fine D2, pas de halo, étiquettes à taille fixe.
 * Préfixe :is(html, html[data-theme]) :is(.page-app, body) .pg : le poids des feuilles du foncier (foncier-epure.css,
 * instrument.css, onglets.css) ; cette feuille se charge après elles (scripts/modules.json). */

/* ══ 1. Le panneau des calques sur chaque carte du foncier ══ */
.d2f-carte .cc { display: none !important; }
.d2-kp.d2f-kp { position: absolute; left: 10px; top: 10px; z-index: 7; width: var(--kepler); max-height: calc(100% - 20px); }
.d2-kp.d2f-kp .d2-kp-onglets { grid-template-columns: repeat(2, 1fr); }
.d2-kp.d2f-kp.reduit { width: 196px; }
.d2-kp.d2f-kp.reduit .d2-kp-onglet { height: 40px; }
.d2-kp.d2f-kp .d2-btn-ic { width: 28px; height: 28px; display: grid; place-items: center; border-radius: var(--r-bouton); color: var(--attenue); }
.d2-kp.d2f-kp .d2-btn-ic:hover { background: var(--survol); color: var(--encre); }
.d2f-kp .d2f-leg-autre { display: block; }
.d2f-carte .d2-num { pointer-events: none; }
/* la Zone (dessin d'un périmètre) reste en haut à droite ; la légende du module reste en bas */
:is(html, html[data-theme]) :is(.page-app, body) .pg .d2f-carte > .fc-outils { left: auto; right: 10px; }

@media (max-width: 899px) {
  /* téléphone : un bouton rond sur la carte ; ouvert, une feuille du bas, comme le panneau de l'écran Carte (D2-mobile) */
  html.d2-tel .d2-kp.d2f-kp.reduit { width: auto; transform: none; position: absolute; left: 10px; top: 10px; right: auto; bottom: auto; border-radius: var(--r-carte); padding: 0; max-height: none; background: var(--verre); box-shadow: var(--verre-ombre), var(--verre-filet); }
  html.d2-tel .d2-kp.d2f-kp.reduit .d2-kp-onglets { margin: 0; padding: 2px; border: 0; background: none; grid-template-columns: repeat(2, auto); }
  html.d2-tel .d2-kp.d2f-kp.reduit .d2-kp-corps { display: none; }
  html.d2-tel .d2-kp.d2f-kp.reduit .d2-kp-onglet { min-height: 40px; padding: 0 12px; background: none !important; box-shadow: none !important; color: var(--encre); }
  html.d2-tel .d2-kp.d2f-kp:not(.reduit) { position: fixed; left: 0; right: 0; top: auto; bottom: 0; width: auto; max-height: 72%; z-index: 120; transform: none; border-radius: 14px 14px 0 0; background: var(--d2-feuille, var(--panneau)); padding-bottom: env(safe-area-inset-bottom); box-shadow: 0 -10px 40px rgba(0, 0, 0, .35); }
  html.d2-tel .d2-kp.d2f-kp:not(.reduit) .d2-kp-tete { display: flex !important; padding: 14px 12px 8px 16px; }
}

/* ══ 2. La page (src/d2-foncier.js) : un panneau D2, en-tête, barre d'outils, tableau à gauche, carte à droite ══ */
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f { background: var(--fond-app); color: var(--texte); font-family: var(--police); -webkit-font-smoothing: antialiased; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f.d2f-cache { visibility: hidden; pointer-events: none; }
.pg.d2f .d2f-compte { font-size: var(--t-13); color: var(--attenue); white-space: nowrap; }
.pg.d2f .d2f-compte:empty { display: none; }
/* la table : dense et fine, comme la maquette (13/400, en-têtes 12 atténués, lignes de 36 px, filets fins) */
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table { font-size: var(--t-13); font-weight: 400; color: var(--texte); border-collapse: collapse; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table :is(th, td) { height: 36px; padding: 0 10px; border-bottom: 1px solid var(--filet); font-weight: 400; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table thead th { position: sticky; top: 0; z-index: 2; height: 34px; background: var(--panneau); color: var(--attenue); font-size: var(--t-12); font-weight: 400; border-bottom: 1px solid var(--filet-fort); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table thead button { height: 28px; padding: 0 4px; font-size: var(--t-12); font-weight: 400; color: inherit; border-radius: var(--r-pastille); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table thead th[aria-sort] { color: var(--encre); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody th { font-weight: 500; color: var(--encre); background: var(--panneau); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.pg.d2f .fc-table tbody tr { cursor: pointer; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody tr:hover > * { background: var(--survol); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody tr.fc-choisie > * { background: var(--actif); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody tr.fc-choisie > :first-child { box-shadow: inset 2px 0 0 var(--encre); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody tr.d2f-sel > * { background: color-mix(in srgb, var(--encre) 9%, transparent); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody tr.d2f-sel > :first-child { box-shadow: inset 3px 0 0 var(--encre); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table .num, .pg.d2f .fc-table td.num { font-variant-numeric: tabular-nums; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table-cadre { border: 0; border-radius: 0; background: transparent; }
/* les chiffres de la recherche : une ligne fine au-dessus du tableau */
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-synthese { margin: 0; padding: 12px 16px 8px; gap: 0 24px; border: 0; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-synthese dt { font-size: var(--t-12); font-weight: 400; color: var(--attenue); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-synthese dd { font-size: var(--t-17); font-weight: 500; color: var(--encre); font-variant-numeric: tabular-nums; letter-spacing: 0; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-synthese dd small { font-size: var(--t-12); font-weight: 400; color: var(--attenue); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-synthese-note { margin: 0; padding: 0 16px 10px; font-size: var(--t-12); color: var(--attenue); }
/* boutons : la maquette D2 (fantômes 13/400, sans fond ni ombre) */
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f :is(.og-droite .bouton, .fc-plus, .pm-tete .bouton) { height: 30px; min-height: 0; padding: 0 10px; border: 0; border-radius: var(--r-bouton); background: none; box-shadow: none; color: var(--texte); font-size: var(--t-13); font-weight: 400; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f :is(.og-droite .bouton, .fc-plus, .pm-tete .bouton):hover { background: var(--survol); color: var(--encre); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-droite .bouton svg { width: 15px; height: 15px; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-droite .bouton[aria-expanded="true"] { background: var(--actif); }
/* la fiche courte de la carte et la légende : le verre D2 */
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-fiche { background: var(--verre-plein); box-shadow: var(--verre-ombre), var(--verre-filet), 0 0 0 1px var(--filet); border-radius: var(--r-panneau); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-fiche h3 { font-size: var(--t-15); font-weight: 600; letter-spacing: 0; }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-dl > div { font-size: var(--t-13); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-fiche .fe-actions .bouton { background: var(--plein); color: var(--plein-texte); border: 0; box-shadow: none; font-weight: 500; font-size: var(--t-13); border-radius: var(--r-bouton); }
:is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-legende { background: var(--verre); -webkit-backdrop-filter: var(--verre-flou); backdrop-filter: var(--verre-flou); box-shadow: var(--verre-ombre), var(--verre-filet); border-radius: var(--r-moyen); color: var(--texte); font-size: var(--t-12); }

@media (min-width: 900px) {
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f { padding: 8px; }
  .pg.d2f::before { content: ""; position: absolute; inset: 8px; z-index: 0; border-radius: var(--r-carte); background: var(--panneau); box-shadow: 0 0 0 1px var(--filet); pointer-events: none; }
  .pg.d2f > :not(.d2f-selbar):not(.fc-flottant) { position: relative; z-index: 1; }
  /* le menu du titre ouvert passe au-dessus du tableau et de la carte (frères suivants, même z-index : ils le recouvraient) */
  .pg.d2f > .og-barre.og-ouvert { z-index: 40; }
  /* l'en-tête : le mode en titre (menu), le nombre, les actions ; « Fermer » : la barre latérale et Échap le font */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f > .og-barre { height: 52px; flex: none; padding: 0 12px 0 14px; gap: 10px; background: transparent; border-bottom: 1px solid var(--filet); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-fermer { display: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-choix { height: 32px; padding: 0 8px; background: none; box-shadow: none; border-radius: var(--r-bouton); font-size: var(--t-17); font-weight: 600; color: var(--encre); letter-spacing: 0; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-choix:hover { background: var(--survol); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-barre.og-ouvert .og-onglets { left: 6px; background: var(--verre-plein); box-shadow: var(--menu-ombre), 0 0 0 1px var(--filet); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-barre.og-ouvert .og-onglets > button { font-size: var(--t-13); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-barre.og-ouvert .og-long { font-weight: 500; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-barre.og-ouvert .og-desc { color: var(--attenue); font-size: var(--t-12); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-droite { margin-left: auto; gap: 2px; }
  /* la barre d'outils : recherche, filtres en puces */
  .pg.d2f .d2f-outils { flex: none; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 14px; border-bottom: 1px solid var(--filet); }
  .pg.d2f .d2f-cherche { flex: none; }
  .pg.d2f .d2f-cherche:empty, .pg.d2f .d2f-cherche:empty + .d2f-sep { display: none; }
  .pg.d2f .d2f-sep { width: 1px; height: 20px; flex: none; background: var(--filet-fort); }
  .pg.d2f .d2f-puces { flex: 1; min-width: 0; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-recherche { flex: none; width: 300px; height: 32px; margin: 0; background: var(--champ); box-shadow: none; border-radius: var(--r-bouton); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-recherche:focus-within { box-shadow: inset 0 0 0 1px var(--filet-fort); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.pg.d2f .fe-recherche input { height: 32px; font-size: var(--t-13); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-recherche .suggestions { background: var(--verre-plein); box-shadow: var(--menu-ombre), 0 0 0 1px var(--filet); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puces { position: static; max-width: none; display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); padding-right: 24px; }
  .pg.d2f .fe-puces::-webkit-scrollbar { display: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce { flex: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce { height: 28px; padding: 0 9px 0 10px; border-radius: var(--r-bouton); background: var(--champ); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; color: var(--attenue); font-size: var(--t-13); font-weight: 400; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce:hover { background: var(--actif); color: var(--encre); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce > b { color: var(--encre); font-weight: 500; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce > b::before { content: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce > b { margin-left: 4px; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce.fe-on { background: var(--plein); color: var(--plein-texte); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce.fe-on > b { color: inherit; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-puce-colonne { background: none; }
  /* la rubrique ouverte, sous sa puce : le verre plein D2 */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f.fe:not(.fe-colonne)[data-fe-ouverte] > .pg-appli > .pg-reglages { top: 6px; background: var(--verre-plein); box-shadow: var(--menu-ombre), 0 0 0 1px var(--filet); border-radius: var(--r-panneau); }
  /* le corps : tableau à gauche (flexible), carte à droite (36 %), sans gouttière : un filet les sépare */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f > .pg-appli { padding: 0; gap: 0; border-radius: 0 0 var(--r-carte) var(--r-carte); overflow: hidden; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-plateau[data-colonne] { gap: 0; grid-template-columns: minmax(0, 1fr) var(--d2f-carte, clamp(380px, 38%, 640px)); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-plateau[data-colonne] > .fc-resultats { grid-column: 1; grid-row: 1; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-plateau[data-colonne] > .fc-carte { grid-column: 2; grid-row: 1; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-plateau > .pg-poignee-droite { display: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-carte { border-radius: 0 0 var(--r-carte) 0; box-shadow: inset 1px 0 0 var(--filet); border-left: 1px solid var(--filet); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-resultats { padding: 0 0 24px; border-radius: 0 0 0 var(--r-carte); background: transparent; box-shadow: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-resultats > :is(p, .note, .pm-tete, .pc-vide, .alerte) { margin-left: 16px; margin-right: 16px; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table tbody th, :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fc-table thead th:first-child { padding-left: 16px; }
  /* Valeur, Opérations : la colonne de leur formulaire reste à gauche ; même panneau, mêmes filets */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f:is(.op, .vi) .fc-plateau[data-colonne] { grid-template-columns: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f:is(.op, .vi) .fc-plateau[data-colonne] > :is(.fc-resultats, .fc-carte) { grid-column: auto; grid-row: auto; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .pg-reglages { background: transparent; box-shadow: none; border-right: 1px solid var(--filet); border-radius: 0; }
}

/* ══ 3. L'aperçu d'une ligne, sous la carte ; la sélection ; le retour ══ */
.d2f-apercu { position: absolute; z-index: 6; right: 10px; bottom: 10px; width: 300px; max-width: calc(100% - 20px); padding: 12px 14px 14px; }
.d2f-ap-tete { display: flex; align-items: center; gap: 8px; }
.d2f-ap-tete b { flex: 1; min-width: 0; font-size: var(--t-15); font-weight: 600; color: var(--encre); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.d2f-apercu .d2-btn-ic { width: 26px; height: 26px; display: grid; place-items: center; border-radius: var(--r-bouton); color: var(--attenue); }
.d2f-apercu .d2-btn-ic:hover { background: var(--survol); color: var(--encre); }
.d2f-ap-dl { margin: 8px 0 0; }
.d2f-ap-dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-top: 1px solid var(--filet); font-size: var(--t-13); }
.d2f-ap-dl dt { color: var(--attenue); white-space: nowrap; }
.d2f-ap-dl dd { margin: 0; min-width: 0; text-align: right; color: var(--encre); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.d2f-ap-act { display: flex; gap: 6px; margin-top: 12px; }
.d2f-ap-act .d2-bt { height: var(--h-bouton); }
.d2f-selbar { position: absolute; z-index: 30; left: 50%; bottom: 22px; transform: translateX(-50%); display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 14px; font-size: var(--t-13); color: var(--texte); background: var(--verre-plein) !important; box-shadow: var(--menu-ombre), 0 0 0 1px var(--filet) !important; }
.d2f-selbar b { font-weight: 600; color: var(--encre); }
.d2f-retour { position: fixed; z-index: 95; top: 12px; left: calc(var(--coq-l, 0px) + 50%); transform: translateX(-50%); }
.d2f-retour[hidden] { display: none; }
.d2f-retour .d2-bt { height: var(--h-bouton); padding: 0 14px 0 10px !important; background: var(--plein) !important; color: var(--plein-texte) !important; border-radius: var(--r-bouton); font-weight: 500; box-shadow: var(--menu-ombre); }
html.d2-on .d2f-retour { left: calc(var(--coq-l, 0px) + (100vw - var(--coq-l, 0px) - var(--fiche, 380px)) / 2); }

/* ══ 4. Téléphone (D2-mobile) : barre de navigation, recherche pleine largeur, cartes ══ */
.d2f-cartes { display: none; }
@media (max-width: 899px) {
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f { background: var(--panneau); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f > .og-barre { background: var(--panneau); border-bottom: 1px solid var(--filet); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-fermer { height: 44px; padding: 0 10px; border: 0; background: none; box-shadow: none; color: var(--texte); font-size: var(--t-15); font-weight: 400; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-choix { background: none; box-shadow: none; font-size: var(--t-15); font-weight: 600; color: var(--encre); }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-droite .bouton { width: 40px; height: 44px; padding: 0; justify-content: center; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .og-droite .bouton:not(.fm-bouton) { width: auto; padding: 0 10px; }
  .pg.d2f .d2f-compte { display: none; }
  .pg.d2f .d2f-outils { flex: none; padding: 8px 16px; }
  /* une seule hauteur de champ dans tous les modes, 44 px de cible tactile (91S-1092) : la rangée garde ses 52 px */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .d2f-outils { padding-block: 4px; }
  /* le popover de filtres passe au-dessus des onglets Couches et Fond (.d2-kp, 41 au téléphone), sous la feuille ouverte (120) */
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f > .fm-panneau { z-index: 50; }
  .pg.d2f .d2f-sep, .pg.d2f .d2f-puces { display: none; }
  .pg.d2f .d2f-cherche:empty { display: none; }
  .pg.d2f .d2f-outils:has(.d2f-cherche:empty) { display: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.d2f .fe-recherche { display: flex; flex: 1; width: 100%; height: 44px; margin: 0; border-radius: var(--r-moyen); background: var(--champ); box-shadow: none; }
  :is(html, html[data-theme]) :is(.page-app, body) .pg.pg.d2f .fe-recherche input { height: 44px; font-size: 16px; }
  /* les lignes de la recherche par hauteur : des cartes, comme la maquette */
  html.d2-tel .pg.d2f .d2f-cartes { display: block; list-style: none; margin: 0; padding: 0 16px; }
  html.d2-tel .pg.d2f.fc .fc-table-cadre:has(.fc-table) > .fc-table { display: none; }
  .d2f-cartes li { border-bottom: 1px solid var(--filet); }
  .d2f-cartes li > button { display: block; width: 100%; padding: 12px 0; text-align: left; background: none; border: 0; color: var(--texte); font: inherit; cursor: pointer; }
  .d2f-cartes .l1 { display: flex; align-items: baseline; gap: 8px; }
  .d2f-cartes .l1 b { font-size: var(--t-15); font-weight: 600; color: var(--encre); }
  .d2f-cartes .l1 span { flex: 1; min-width: 0; font-size: var(--t-15); color: var(--texte); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d2f-cartes .l1 em { font-style: normal; font-size: var(--t-15); font-weight: 500; color: var(--vente); white-space: nowrap; } /* le prix garde la teinte des ventes : --vente-terrain est devenu le vert sauge du seul type Terrain (Henri, 25/10/2026) */
  .d2f-cartes .l2 { display: flex; flex-wrap: wrap; gap: 2px 8px; margin-top: 4px; font-size: var(--t-13); color: var(--texte); }
  .d2f-cartes .l2 i { font-style: normal; color: var(--discret); }
  .d2f-cartes .l3 { display: block; margin-top: 3px; font-size: var(--t-13); color: var(--attenue); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .d2f-apercu { left: 10px; right: 10px; width: auto; }
  .d2f-retour { top: calc(env(safe-area-inset-top) + 76px); left: 50%; }
  .d2f-selbar { position: fixed; bottom: calc(env(safe-area-inset-bottom) + 16px); }
}
