/* ==========================================================================
   Page Zone d'intervention — composition uniquement (préfixe zi-)
   ========================================================================== */

/* ---- 01 Carte grand format ---------------------------------------------- */
.zi-map { align-items: start; row-gap: 32px; }
.zi-map__side .map-key { margin-top: 12px; }
.zi-map__key { grid-template-columns: minmax(0, 1fr); }
.zi-map__facts { margin-top: 32px; }

@media (min-width: 1101px) {
  .zi-map__figure { grid-column: 1 / 9; }
  .zi-map__side { grid-column: 9 / 13; padding-left: clamp(0px, 1.2vw, 20px); }
}
@media (min-width: 861px) and (max-width: 1100px) {
  .zi-map__figure { grid-column: 1 / 13; }
  .zi-map__side { grid-column: 1 / 13; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gap); align-items: start; }
  .zi-map__side .caps { grid-column: 1 / -1; }
  .zi-map__facts { margin-top: 12px; }
}
@media (max-width: 860px) {
  .zi-map__figure { margin-inline: calc(-1 * var(--gutter)); }
  .zi-map__figure .zone-map__box { border-inline: 0; }
  .zi-map__figure .caption { padding-inline: var(--gutter); }
  .zi-map__side .caps { display: none; }
  .zi-map__side .map-key { margin-top: 0; }
  .zi-map__key { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- 02 Communes par zone ------------------------------------------------ */
.zi-communes { align-items: start; row-gap: 40px; }
.zi-communes__title { padding-bottom: 12px; font-size: var(--fs-h4); line-height: 1.2; letter-spacing: -.02em; }
.zi-communes .commune-list { columns: 1; }
/* La zone est déjà donnée par le titre de colonne : pastille redondante masquée */
.zi-communes .commune-list__zone { display: none; }
@media (min-width: 861px) {
  .zi-communes__col { grid-column: span 4; }
}
/* Sous 861 px, les zones s’empilent : communes sur 3 puis 2 colonnes (lecture de haut en bas) */
@media (min-width: 481px) and (max-width: 860px) {
  .zi-communes .commune-list { columns: 3; }
}
@media (max-width: 860px) {
  .zi-communes { row-gap: 32px; }
}
@media (max-width: 480px) {
  .zi-communes .commune-list { columns: 2; column-gap: 20px; }
  .zi-communes .commune-list li { gap: 8px; padding: 7px 0; }
  .zi-communes .commune-list__name { min-width: 0; overflow-wrap: anywhere; }
}

.zi-ask { display: grid; gap: 12px 32px; margin-top: clamp(40px, 5vw, 72px); padding-top: 24px; border-top: 1px solid var(--line-strong); }
.zi-ask__q { font-size: var(--fs-h4); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.zi-ask__text { font-size: var(--fs-sm); color: var(--fg-2); max-width: 56ch; }
.zi-ask__btn { justify-self: start; }
@media (min-width: 861px) {
  .zi-ask { grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) auto; align-items: center; }
}

/* ---- 03 Frais ------------------------------------------------------------ */
.zi-fees__notes { margin-top: 28px; max-width: 72ch; }
.zi-fees__link { margin-top: 24px; }

/* ---- 04 Secteurs --------------------------------------------------------- */
.zi-secteurs__more { margin-top: 24px; max-width: 64ch; font-size: var(--fs-sm); color: var(--fg-2); }
