/* ============================================
   MAIN/PLAN-SITE.CSS — Plan du site (sitemap HTML)
   Charge sur : template-main.php (slug plan-du-site)
   Sobriété maximale : listes typographiques, aucune image.
   ============================================ */

.plan-site {
  padding-block: calc(var(--space-3xl) + 40px) var(--space-3xl);
}

.plan-site__title {
  font-family: var(--font-serif);
  font-weight: 300;
  font-size: clamp(2.25rem, 1.25rem + 4vw, 3.5rem);
  line-height: 1.05;
  color: var(--em-text);
}

.plan-site__groupes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--space-xl) var(--space-lg);
  margin-top: var(--space-2xl);
}

.plan-site__groupe-titre {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 1.375rem;
  color: var(--em-text);
  margin-bottom: var(--space-md);
}

.plan-site__liste {
  list-style: none;
  margin: 0;
  padding: 0;
}

.plan-site__liste li + li {
  margin-top: var(--space-2);
}

.plan-site__liste a {
  color: var(--em-text-light);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color var(--duration-swift) var(--ease-editorial),
              border-color var(--duration-swift) var(--ease-editorial);
}

.plan-site__liste a:hover,
.plan-site__liste a:focus-visible {
  color: var(--action-primary);
  border-bottom-color: var(--action-primary);
}

/* ── Landings par région ── */

.plan-site__landings {
  margin-top: var(--space-3xl);
  border-top: 1px solid var(--border-default);
  padding-top: var(--space-2xl);
}

.plan-site__groupe-titre--landings {
  font-size: 1.75rem;
  margin-bottom: var(--space-xl);
}

.plan-site__region + .plan-site__region {
  margin-top: var(--space-2xl);
}

.plan-site__region-titre {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--action-primary);
  margin-bottom: var(--space-lg);
}

.plan-site__villes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--space-lg);
}

.plan-site__ville-titre {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: 1.125rem;
  color: var(--em-text);
  margin-bottom: var(--space-3);
}

.plan-site__liste--compact {
  font-size: 0.9375rem;
}
