/* Carte économique interactive 2026 (core/templates/core/carte_eco/carte.html) — jetons du socle (frontend/socle/jetons.css). */
.ce-grille { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3, 16px); align-items: start; }
@media (min-width: 1024px) { .ce-grille { grid-template-columns: 300px minmax(0, 1fr); } }
.ce-choix { display: grid; gap: var(--s-2, 12px); min-width: 0; }
@media (min-width: 640px) and (max-width: 1023.98px) { .ce-choix { grid-template-columns: 1fr 1fr; } }
.ce-groupe { margin: 0; padding: var(--s-2, 12px); border: 1px solid var(--c-border); border-radius: var(--r-md, 8px); background: var(--c-bg, #fff); min-width: 0; }
.ce-groupe legend { padding: 0 6px; margin: 0; font-size: 1rem; }
.ce-option { display: flex; align-items: center; gap: 8px; min-height: var(--tap, 44px); font: var(--t-compact); color: var(--c-text-body); cursor: pointer; overflow-wrap: anywhere; }
.ce-option input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--c-brand); }
.ce-option input:focus-visible { outline: 2px solid var(--ui-focus, #006AB5); outline-offset: 2px; }
.ce-pastille { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 1px solid rgba(15, 23, 42, .35); }
.ce-pastille--zone { border-radius: 2px; }
.ce-nb { color: var(--c-text-2); font-variant-numeric: tabular-nums; }
.ce-carte { min-width: 0; }
.ce-carte .ce-carte__cadre { height: 520px; }
@media (max-width: 639.98px) { .ce-carte .ce-carte__cadre { height: 380px; } }
.ce-legendes { margin-top: var(--s-2, 12px); min-width: 0; }
.ce-legende__titre { margin: 0; font: var(--t-compact); font-weight: 600; color: var(--c-text); }
.ce-legendes .ui-source { overflow-wrap: anywhere; }
.ce-tableau { margin-top: var(--s-2, 12px); }
.ce-tableau .ui-table__cadre { max-height: 480px; overflow: auto; }
.ce-tableau caption { text-align: left; font-weight: 600; padding: 8px 0; }
