/* P-012 · Plantilla página de municipio — docs/DESIGN_SYSTEM.md
   Reutiliza tokens y patrones de hero / listados / FAQ / CTA (sin componentes nuevos). */

.hero--municipio {
  min-height: 85svh;
  min-height: 85dvh;
}

.breadcrumb--after-hero {
  padding-block: var(--space-6) 0;
}

@media (min-width: 1024px) {
  .breadcrumb--after-hero {
    padding-block: var(--space-8) 0;
  }
}

/* ——— Intro local ——— */
.muni-intro__title {
  max-width: 22ch;
  text-wrap: balance;
}

.muni-intro__body {
  margin-top: var(--space-6);
  max-width: 40rem;
}

.muni-intro__body p + p {
  margin-top: var(--space-4);
}

.muni-intro__body a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.muni-intro__body a:hover {
  color: var(--color-brand-hover);
}

/* ——— Zona / ciudad (prosa) ——— */
.muni-zones__title {
  max-width: 22ch;
  text-wrap: balance;
}

.muni-zones__body {
  margin-top: var(--space-6);
  max-width: 40rem;
}

.muni-zones__body p + p {
  margin-top: var(--space-4);
}

.muni-zones__body a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.muni-zones__body a:hover {
  color: var(--color-brand-hover);
}

/* ——— Tipos de proyecto ——— */
.muni-projects__title {
  max-width: 18ch;
  text-wrap: balance;
}

.muni-projects__intro {
  margin-top: var(--space-4);
  max-width: 40rem;
  color: var(--color-ink-muted);
  font-size: 1.125rem;
  line-height: 1.55;
}

.muni-projects__list {
  list-style: none;
  display: grid;
  gap: var(--space-8);
  margin-top: var(--space-10);
  padding: 0;
}

@media (min-width: 768px) {
  .muni-projects__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8) var(--gutter);
  }
}

@media (min-width: 1024px) {
  .muni-projects__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--space-12);
  }
}

.muni-projects__item {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.muni-projects__name {
  font-size: 1.125rem;
  line-height: 1.3;
}

.muni-projects__text {
  margin-top: var(--space-2);
  color: var(--color-ink-muted);
  line-height: 1.55;
}

.muni-projects__text a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.muni-projects__text a:hover {
  color: var(--color-brand-hover);
}

/* ——— Enlace inline en listados reutilizados ——— */
.services__item-text a,
.trust__item-text a {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.services__item-text a:hover,
.trust__item-text a:hover {
  color: var(--color-brand-hover);
}

/* ——— P-013 · Hub /municipios/ (grid tipográfico + imagen; sin cards) ——— */
.muni-hub__title {
  max-width: 20ch;
  text-wrap: balance;
}

.muni-hub__intro {
  margin-top: var(--space-4);
  max-width: 40rem;
  color: var(--color-ink-muted);
  font-size: 1.125rem;
  line-height: 1.55;
}

.muni-hub__list {
  list-style: none;
  display: grid;
  gap: var(--gutter);
  margin-top: var(--space-10);
  padding: 0;
}

@media (min-width: 768px) {
  .muni-hub__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .muni-hub__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: var(--space-12);
  }
}

.muni-hub__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.muni-hub__name {
  font-size: 1.125rem;
  line-height: 1.3;
}

@media (min-width: 1024px) {
  .muni-hub__name {
    font-size: 1.25rem;
  }
}

.muni-hub__link {
  color: var(--color-ink);
  text-decoration: none;
}

.muni-hub__link:hover {
  color: var(--color-brand);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.muni-hub__text {
  color: var(--color-ink-muted);
  font-size: 1rem;
  line-height: 1.65;
}

.muni-hub__action {
  margin-top: auto;
  padding-top: var(--space-2);
}
