/* ==========================================================================
   Portail-Habitat.fr - rubrique Isolation : simulateur, tableaux, encadré
   local des pages villes, liste des villes. Chargé après menuiserie.css,
   uniquement sur les pages de la catégorie Isolation.
   ========================================================================== */

/* ---------- Simulateur et calculateur R ---------- */
.iso-sim-champs { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; padding: .9rem; background: var(--mag-pale); border-radius: .8rem; align-items: end; }
.iso-outil-r .iso-sim-champs { grid-template-columns: minmax(0, 2fr) minmax(0, .9fr) minmax(0, 1.3fr); }
.iso-sim-champs .iso-sim-large { min-width: 0; }
.mn-simulateur .iso-sim-case { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: .6rem; }
.mn-simulateur .iso-sim-case[hidden] { display: none; }
.mn-simulateur .iso-sim-case input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.mn-simulateur .iso-sim-case span { font-size: .95rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: #1B2626; }
.iso-sim-aide { margin: .6rem 0 0; font-size: .9rem; line-height: 1.45; color: #4A5555; }
.iso-sim-aide:empty { display: none; }
.mn-resultat [data-r="verdict"]:empty { display: none; }

/* ---------- Tableaux ---------- */
.iso-tableau th[scope="row"] { font-weight: 600; }
.iso-tva { display: inline-block; margin-left: .3rem; padding: .05rem .4rem; border-radius: .3rem; background: #FFF3D6; color: #6B4A00; font-size: .78rem; font-weight: 700; white-space: nowrap; }

/* ---------- Encadré « Les logements à {ville} » ---------- */
.iso-local { margin: 1.75rem 0; padding: 1.4rem 1.5rem; background: #fff; border: 1px solid #E3DED5; border-radius: 1rem; }
.iso-local-titre { margin: 0 0 1rem; font-size: 1.15rem; font-weight: 800; color: var(--mag-nuit); }
.iso-local .chiffres-cles { margin-top: 0; }
.iso-barres { margin: 1.25rem 0 0; }
.iso-barres-titre { margin: 0 0 .6rem; font-size: .95rem; font-weight: 700; color: #34403F; }
.iso-barre { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) 3.6rem; align-items: center; gap: .6rem; margin: 0 0 .4rem; font-size: .92rem; color: #34403F; }
.iso-barre strong { text-align: right; font-weight: 700; color: var(--mag-nuit); }
.iso-barre-fond { display: block; height: .8rem; background: var(--mag-pale); border-radius: 999px; overflow: hidden; }
.iso-barre-fond span { display: block; height: 100%; background: var(--terre); border-radius: 999px; }
.iso-barres-note { margin: .6rem 0 0; font-size: .88rem; line-height: 1.45; color: #4A5555; }
.iso-local-infos { margin: 1.1rem 0 0; padding: 0; list-style: none; }
.iso-local-infos li { position: relative; margin: 0 0 .45rem; padding-left: 1.2rem; line-height: 1.5; }
.iso-local-infos li::before { content: ""; position: absolute; left: 0; top: .6em; width: .5rem; height: .5rem; border-radius: 50%; background: var(--terre); }
.iso-local .note-tableau { margin: .9rem 0 0; font-size: .85rem; font-style: italic; line-height: 1.5; color: #4A5555; }

/* ---------- Catégorie : villes par région ---------- */
.iso-regions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.iso-region { padding: 1rem 1.1rem; background: #fff; border: 1px solid #E3DED5; border-radius: .9rem; }
.iso-region h3 { margin: 0 0 .5rem; font-size: 1rem; font-weight: 800; color: var(--mag-nuit); }
.iso-region h3 a { color: inherit; }
.iso-region ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: .3rem .9rem; }
.iso-region li a { font-size: .95rem; }

@media (max-width: 1023px) {
	.iso-regions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.iso-sim-champs, .iso-outil-r .iso-sim-champs { grid-template-columns: minmax(0, 1fr); }
	.iso-regions { grid-template-columns: minmax(0, 1fr); }
	.iso-barre { grid-template-columns: 6.2rem minmax(0, 1fr) 3.3rem; font-size: .88rem; }
	.iso-local { padding: 1.1rem 1rem; }
}
