/* Índice de Destinos (page-destinations.php) */
.dst-head { padding-top: 160px; padding-bottom: 56px; }
.dst-head__kicker { color: var(--terra); margin-bottom: 24px; }
.dst-head__kicker .rule { margin-right: 12px; }
.dst-head__title { font-size: var(--fs-4xl); max-width: 1000px; margin-bottom: 28px; }
.dst-head__lead { font-size: var(--fs-md); color: var(--ink-soft); max-width: 680px; line-height: 1.6; }

.dst-section { padding-bottom: 64px; }
.dst-section__label { margin-bottom: 24px; }
.dst-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }

.dst-tile { display: block; }
.dst-tile__media { position: relative; aspect-ratio: var(--ratio-card); overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; padding: 28px; border-radius: 2px; }
.dst-tile__media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 520ms cubic-bezier(0.2,0.8,0.2,1); }
/* Scrim de legibilidad: teal de marca (no negro) → garantiza contraste AA del texto blanco sobre cualquier foto */
.dst-tile__media::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(14,74,94,0.78) 0%, rgba(14,74,94,0.32) 36%, rgba(14,74,94,0) 64%);
	transition: opacity 520ms cubic-bezier(0.2,0.8,0.2,1); }
.dst-tile__body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; }
.dst-tile__kicker { color: var(--paper); opacity: 0.82; }
.dst-tile__name { color: var(--paper); font-size: var(--fs-2xl); line-height: 1.05; text-shadow: 0 1px 12px rgba(0,0,0,0.4); }
.dst-tile__cta { display: inline-flex; align-items: center; gap: 8px; font-size: var(--fs-2xs); letter-spacing: 0.04em; text-transform: uppercase; color: var(--paper); opacity: 0.9; }
.dst-tile__arrow { color: var(--terra); transition: transform 320ms cubic-bezier(0.2,0.8,0.2,1); }
.dst-tile:hover .dst-tile__media > img { transform: scale(1.04); }
.dst-tile:hover .dst-tile__media::after { opacity: 1; }
.dst-tile:hover .dst-tile__arrow { transform: translateX(4px); }
.dst-tile:focus-visible { outline: 2px solid var(--terra); outline-offset: 4px; border-radius: 2px; }
@media (prefers-reduced-motion: reduce) {
	.dst-tile__media > img, .dst-tile__arrow, .dst-tile__media::after { transition: none; }
	.dst-tile:hover .dst-tile__media > img { transform: none; }
}

.dst-cta { background: var(--bg-alt); padding: 100px 0; }
.dst-cta__title { font-size: var(--fs-2xl); margin-bottom: 32px; }

@media (max-width: 900px) {
  .dst-head { padding-top: 130px; padding-bottom: 40px; }
  .dst-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .dst-grid { grid-template-columns: 1fr; }
}
