/* ============================================================
   LANDING DE DESTINO — taxonomy-destination.php
   Solo estilos específicos de esta plantilla. Reutiliza tokens y
   clases globales (.container, .eyebrow, .display, .btn*, .ph*, .rule).
   Prefijo: .dest-
   ============================================================ */

/* Breadcrumb: reusa .exp-breadcrumb, solo afina el top spacing del hero */
.dest-breadcrumb { padding-bottom: 16px; }

/* ---------- HERO ---------- */
.dest-hero { padding-top: 8px; padding-bottom: 96px; }
.dest-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}
.dest-hero__eyebrow { color: var(--terra); margin-bottom: 28px; }
.dest-hero__eyebrow .rule { margin-right: 12px; }
.dest-hero__title { font-size: var(--fs-4xl); margin-bottom: 32px; }
.dest-hero__lead {
  font-size: var(--fs-md);
  line-height: 1.65;
  color: var(--ink-soft);
  max-width: 560px;
  margin-bottom: 44px;
}
.dest-hero__cta { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.dest-hero__media {
  height: 620px;
  min-height: 480px;
  background-size: cover;
  background-position: center;
}

/* ---------- EXPERIENCES ---------- */
.dest-experiences { padding: 64px 0 120px; border-top: 1px solid var(--line); }
.dest-experiences__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 64px;
}
.dest-experiences__kicker { color: var(--terra); margin-bottom: 20px; }
.dest-experiences__kicker .rule { margin-right: 12px; }
.dest-experiences__title { font-size: var(--fs-2xl); max-width: 760px; }
.dest-experiences__all { flex: none; }

.dest-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 32px;
}

/* Paginación (rara vez visible, pero por si un destino crece) */
.dest-pagination { margin-top: 72px; }
.dest-pagination .nav-links {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.dest-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 10px 14px;
  font-size: var(--fs-2xs);
  letter-spacing: 0.04em;
  border: 1px solid var(--line);
  border-radius: 2px;
  color: var(--ink);
  transition: all 180ms ease;
}
.dest-pagination .page-numbers:hover { border-color: var(--ink-muted); }
.dest-pagination .page-numbers.current {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}

/* Estado vacío */
.dest-empty {
  padding: 64px 48px 80px;
  text-align: center;
  border: 1px solid var(--line);
  background: var(--paper);
}
.dest-empty__lead {
  font-family: var(--serif);
  font-size: var(--fs-xl);
  line-height: 1.3;
  color: var(--ink);
  max-width: 640px;
  margin: 0 auto 32px;
  text-wrap: balance;
}

/* ---------- WHY band ---------- */
.dest-why { background: var(--bg-dark); color: var(--paper); padding: 110px 0; }
.dest-why__intro { max-width: 760px; margin-bottom: 64px; }
.dest-why__intro .eyebrow { margin-bottom: 24px; }
.dest-why__title { font-size: var(--fs-2xl); color: var(--paper); }
.dest-why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px;
}
.dest-why__item { padding-top: 28px; border-top: 1px solid rgba(253, 250, 243, 0.18); }
.dest-why__h {
  font-family: var(--serif);
  font-weight: 400;
  font-size: var(--fs-xl);
  line-height: 1.15;
  color: var(--paper);
  margin-bottom: 14px;
}
.dest-why__p { font-size: var(--fs-xs); line-height: 1.7; color: rgba(253, 250, 243, 0.72); }

/* ---------- CLOSING CTA ---------- */
.dest-cta { padding: 120px 0; text-align: center; }
.dest-cta__inner { max-width: 880px; margin: 0 auto; }
.dest-cta__eyebrow { color: var(--terra); margin-bottom: 24px; }
.dest-cta__title { font-size: var(--fs-3xl); margin-bottom: 28px; }
.dest-cta__lead {
  font-size: var(--fs-md);
  line-height: 1.65;
  color: var(--ink-soft);
  max-width: 600px;
  margin: 0 auto 40px;
}

/* ---------- RESPONSIVE (mobile-first: 1 columna < 900px) ---------- */
@media (max-width: 900px) {
  .dest-hero { padding-top: 0; padding-bottom: 64px; }
  .dest-hero__grid { grid-template-columns: 1fr; gap: 40px; }
  .dest-hero__title { font-size: var(--fs-3xl); }
  .dest-hero__media { height: 360px; min-height: 0; order: -1; }

  .dest-experiences { padding: 56px 0 80px; }
  .dest-experiences__head { flex-direction: column; align-items: flex-start; margin-bottom: 40px; }
  .dest-grid { grid-template-columns: 1fr; gap: 40px; }

  .dest-why { padding: 80px 0; }
  .dest-why__grid { grid-template-columns: 1fr; gap: 36px; }
  .dest-why__intro { margin-bottom: 48px; }

  .dest-cta { padding: 80px 0; }
  .dest-empty { padding: 48px 24px 56px; }
}
