/* ============================================================
   Contigo Tours · Componente [ct_viajes]
   Todo scoped bajo .ct-viajes con variables y prefijo propios
   para no colisionar con Elementor ni con el tema.
   ============================================================ */
.ct-viajes{
  --ct-teal:#1070b7; --ct-deep:#0c5589; --ct-soft:#e3f2fc;
  --ct-ink:#141212; --ct-paper:#fbf8f2; --ct-line:#d9d2c4; --ct-muted:#6b7276;
  font-family:'Roboto',system-ui,sans-serif;
  color:var(--ct-ink);
  max-width:1280px;
  margin:0 auto;
  padding:0 32px;
}
.ct-viajes *{box-sizing:border-box}

.ct-viajes .ct-grid{display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}
.ct-viajes[data-cols="2"] .ct-grid{grid-template-columns:repeat(2,1fr)}
.ct-viajes[data-cols="4"] .ct-grid{grid-template-columns:repeat(4,1fr)}

.ct-viajes .ct-card{display:flex;flex-direction:column;background:var(--ct-paper);
  border:1px solid var(--ct-line);border-radius:18px;overflow:hidden;transition:.3s;
  color:inherit;text-decoration:none}
.ct-viajes .ct-card:hover{transform:translateY(-6px);
  box-shadow:0 28px 50px -28px rgba(16,112,183,.4);border-color:transparent}

.ct-viajes .ct-ph{position:relative;aspect-ratio:1/1;overflow:hidden}
.ct-viajes .ct-ph img{width:100%;height:100%;object-fit:cover;transition:.6s;display:block;max-width:none}
.ct-viajes .ct-card:hover .ct-ph img{transform:scale(1.06)}
.ct-viajes .ct-tag{position:absolute;top:14px;left:14px;background:rgba(251,248,242,.92);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--ct-ink);
  font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:6px 13px;border-radius:30px}

.ct-viajes .ct-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.ct-viajes .ct-loc{font-size:.78rem;color:var(--ct-teal);font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px}
.ct-viajes .ct-title{font-family:'Roboto',sans-serif;font-weight:500;font-size:1.18rem;
  line-height:1.2;margin:0 0 auto;letter-spacing:-.01em;color:var(--ct-ink)}

.ct-viajes .ct-meta{display:flex;align-items:center;justify-content:space-between;
  margin-top:20px;padding-top:18px;border-top:1px solid var(--ct-line)}
/* Woo envuelve el precio en .woocommerce-Price-amount; forzamos el look de marca */
.ct-viajes .ct-price,
.ct-viajes .ct-price .woocommerce-Price-amount{font-family:'Roboto',sans-serif;
  font-size:1.35rem;color:var(--ct-teal);font-weight:500}
.ct-viajes .ct-price del{color:var(--ct-muted);font-size:.9rem;font-weight:400;margin-right:6px}
.ct-viajes .ct-price ins{text-decoration:none}

.ct-viajes .ct-go{width:44px;height:44px;flex:0 0 auto;border-radius:50%;
  background:var(--ct-soft);color:var(--ct-teal);display:grid;place-items:center;transition:.25s}
.ct-viajes .ct-card:hover .ct-go{background:var(--ct-teal);color:#fff;transform:rotate(-30deg)}

.ct-viajes .ct-empty{color:var(--ct-muted);padding:30px 0}

@media(max-width:900px){
  .ct-viajes .ct-grid,
  .ct-viajes[data-cols="4"] .ct-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .ct-viajes .ct-grid,
  .ct-viajes[data-cols="2"] .ct-grid,
  .ct-viajes[data-cols="4"] .ct-grid{grid-template-columns:1fr}
}

@media(max-width:560px){ .ct-viajes{padding:0 20px} }

/* Pestañas de filtro por mes de salida */
.ct-viajes .ct-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}
.ct-viajes .ct-tab{padding:9px 22px;border-radius:50px;border:1px solid var(--ct-line);background:transparent;color:var(--ct-ink);font-family:'Roboto',system-ui,sans-serif;font-size:.92rem;line-height:1;cursor:pointer;transition:.2s}
.ct-viajes .ct-tab:hover{border-color:var(--ct-teal);color:var(--ct-teal)}
.ct-viajes .ct-tab.on{background:var(--ct-teal);border-color:var(--ct-teal);color:#fff}
.ct-viajes .ct-hide{display:none}
