/* ================================
   FEATURED DESTINATIONS – LAYOUT ALT
   ================================ */


.ce-featured-destinations.layout-alt 
.ce-featured-destinations-grid {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(220px, auto);
}

/* DESTINO PRINCIPAL */
.ce-featured-destinations.layout-alt 
.ce-featured-destination:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

.ce-featured-destinations.layout-alt 
.ce-featured-destination:first-child h2 {
  font-size: 1.6rem;
}

.ce-featured-destinations.layout-alt 
.ce-featured-destination:first-child 
.ce-featured-image img {
  height: 100%;
  object-fit: cover;
}

/* DESTINOS SECUNDARIOS */
.ce-featured-destinations.layout-alt 
.ce-featured-destination:not(:first-child) h2 {
  font-size: 1.05rem;
}

.ce-featured-destinations.layout-alt 
.ce-featured-destination:not(:first-child)
.ce-featured-excerpt {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* CTA MÁS DISCRETO */
.ce-featured-destinations.layout-alt 
.ce-featured-cta {
  font-size: 0.85rem;
}

@media (max-width: 1024px) {
  .ce-featured-destinations.layout-alt 
  .ce-featured-destinations-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ce-featured-destinations.layout-alt 
  .ce-featured-destination:first-child {
    grid-column: span 2;
    grid-row: span 1;
  }
}

@media (max-width: 640px) {
  .ce-featured-destinations.layout-alt 
  .ce-featured-destinations-grid {
    grid-template-columns: 1fr;
  }

  .ce-featured-destinations.layout-alt 
  .ce-featured-destination:first-child {
    grid-column: span 1;
  }
}

/* === FIX OVERFLOW DESKTOP === */

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

/* contenedor principal */
.ce-destinations-featured,
.ce-destinations-inner,
.ce-destinations-grid {
    max-width: 100%;
    box-sizing: border-box;
}

/* grid seguro */
.ce-destinations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 32px;
}

/* cards no pueden crecer más */
.ce-destination-card {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

/* imágenes obedientes */
.ce-destination-image,
.ce-destination-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* links no rompen layout */
.ce-destination-card a {
    max-width: 100%;
    overflow-wrap: break-word;
}
/* === DESKTOP: 3 COLUMNAS === */
@media (min-width: 1024px) {
    .ce-destinations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1400px) {
    .ce-destinations-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* ===============================
   FIX GRID DESTINATIONS DESKTOP
================================ */

/* 1️⃣ Contenedor: ocupa todo el ancho útil */
.ce-destinations-featured,
.ce-destinations-inner {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    box-sizing: border-box;
}

/* 2️⃣ Grid limpio y balanceado */
.ce-destinations-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    align-items: stretch;
}

/* 3️⃣ Cards ocupan todo su espacio */
.ce-destination-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
}

/* 4️⃣ Imagen con proporción fija */
.ce-destination-image {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3; /* 👈 todas iguales */
    overflow: hidden;
}

.ce-destination-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* 👈 recorte elegante */
}

/* 5️⃣ Contenido alineado */
.ce-destination-content {
    flex-grow: 1;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
}

.ce-destination-content h2 {
    margin-top: 0;
}

/* 6️⃣ CTA siempre abajo */
.ce-destination-link {
    margin-top: auto;
}

/* 7️⃣ Desktop grande: 3 columnas */
@media (min-width: 1200px) {
    .ce-destinations-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ===========================
   FIX LAYOUT DESKTOP
=========================== */

/* Quitar limitación del tema */
.ce-destinations-featured,
.ce-destinations-inner {
  max-width: 100%;
  width: 100%;
}

/* Contenedor interno centrado */
.ce-destinations-inner {
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
}

/* GRID REAL EN DESKTOP */
.ce-destinations-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  width: 100%;
}

/* Cards ocupan todo su espacio */
.ce-destination-card {
  width: 100%;
}

/* Imágenes grandes y uniformes */
.ce-destination-image img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

/* Texto no empuja el layout */
.ce-destination-content {
  padding: 20px 0;
}

/* MOBILE */
@media (max-width: 900px) {
  .ce-destinations-grid {
    grid-template-columns: 1fr;
  }

  .ce-destinations-inner {
    padding: 0 20px;
  }

  .ce-destination-image img {
    height: 280px;
  }
}

