/*------------------------------------
  Club Conectar — estilos del rediseño
  (header, footer, página de viaje individual)
  Este archivo es aparte de conectar.css a propósito, para no
  tocar el bundle del theme y poder revisar/revertir más fácil.
------------------------------------*/

/* --- Header (header.php) --- */
	/* Ancho del header: más que .container, menos que .container-fluid,
	   escala con el viewport en vez de un padding fijo (que en mobile
	   dejaba muy poco espacio y corría el logo). Sin tope de ancho, para
	   que coincida con el panel flotante de viaje-grupal.php. */
	.u-header-inner {
		max-width: none;
		padding-left: 6vw;
		padding-right: 6vw;
		margin-left: auto;
		margin-right: auto;
	}

/* --- Footer (footer.php) --- */
		/* Mismo criterio de ancho que el header. */
		.u-footer-inner {
			max-width: none;
			padding-left: 6vw;
			padding-right: 6vw;
			padding-top: 30px;
			padding-bottom: 30px;
			margin-left: auto;
			margin-right: auto;
		}

/* --- Página de viaje individual (viaje-grupal.php) --- */
        /* Ensancha el .container de Bootstrap para que el resto de las
           secciones (servicios, itinerario, tarifas, etc.) ocupe el mismo
           ancho que el hero y el nav de arriba, en vez del máximo angosto
           que trae Bootstrap por defecto. */
        /* Hero del viaje: foto + panel flotante */
        .hero-viaje {
            position: relative;
            padding-top: 300px; /* foto visible arriba antes de que empiece el panel */
        }
        .hero-viaje-foto {
            position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
        }
        .hero-viaje-panel-wrap {
            position: relative;
            padding: 0 6vw 24px;
        }
        .hero-viaje-panel {
            background: rgba(15, 24, 48, 0.82);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            border-radius: 16px;
            padding: 20px 24px;
            color: #FFFFFF;
            font-family: 'Montserrat', sans-serif;
        }
        .hero-viaje-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
        .hero-viaje-panel h1 { font-size: clamp(1.3rem, 2.6vw, 1.8rem); font-weight: 700; margin: 0 0 8px; max-width: 640px; color: #FFFFFF; }
        .hero-viaje-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
        .hero-viaje-flag {
            display: inline-block;
            background: #DBBC77;
            color: #192951;
            font-size: 11.5px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.3px;
            padding: 4px 10px;
            border-radius: 20px;
        }
        .hero-viaje-categoria {
            display: inline-block;
            background: rgba(255,255,255,0.15);
            border: 1px solid rgba(255,255,255,0.3);
            color: #FFFFFF;
            font-size: 11.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.3px;
            padding: 4px 10px;
            border-radius: 20px;
        }
        .hero-viaje-facts { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13.5px; color: #D7DCEC; }
        .hero-viaje-facts b { display: block; color: #FFFFFF; font-size: 14.5px; font-weight: 700; }
        .hero-viaje-precio {
            background: rgba(255,255,255,0.1);
            border: 1px solid rgba(255,255,255,0.2);
            border-radius: 12px;
            padding: 14px 20px;
            text-align: right;
            min-width: 220px;
        }
        .hero-viaje-precio .desde { font-size: 12px; color: #C7CEE6; }
        .hero-viaje-precio .monto { font-size: 22px; font-weight: 800; color: #FFFFFF; }
        .hero-viaje-precio .btn-consultar {
            display: block;
            margin-top: 10px;
            text-align: center;
        }

        /* Nav sticky con anchors */
        .subnav-viaje {
            position: sticky;
            top: 0;
            z-index: 50;
            background: #FFFFFF;
            border-bottom: 1px solid #E7E5DD;
            box-shadow: 0 2px 10px rgba(25,41,81,0.06);
        }
        .subnav-viaje::after {
            /* degradé a la derecha, indica que hay más ítems si no entran todos */
            content: "";
            position: absolute;
            top: 0; right: 0; bottom: 0;
            width: 28px;
            background: linear-gradient(to right, rgba(255,255,255,0), #FFFFFF);
            pointer-events: none;
        }
        .subnav-viaje-inner {
            display: flex;
            gap: 4px;
            padding: 0 6vw;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }
        .subnav-viaje a {
            white-space: nowrap;
            text-decoration: none;
            font-family: 'Montserrat', sans-serif;
            font-size: 13.5px;
            font-weight: 600;
            color: #6A6E7D;
            padding: 14px;
            border-bottom: 3px solid transparent;
        }
        .subnav-viaje a:hover { color: #192951; border-bottom-color: #BF0040; }

        /* Barra fija de precio/CTA solo para mobile */
        .cta-viaje-mobile {
            display: none;
            position: fixed;
            bottom: 0; left: 0; right: 0;
            background: #FFFFFF;
            border-top: 1px solid #E7E5DD;
            padding: 10px 16px;
            box-shadow: 0 -4px 16px rgba(25,41,81,0.14);
            z-index: 60;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            font-family: 'Montserrat', sans-serif;
        }
        .cta-viaje-mobile .desde { font-size: 10.5px; color: #6A6E7D; display: block; }
        .cta-viaje-mobile .monto { font-weight: 800; color: #BF0040; font-size: 16px; }
        .cta-viaje-mobile a {
            /* tamaño/color vienen de .btn-viaje-compacto */
        }

        /* Acordeón de servicios (incluye / hoteles / vuelos / no incluye) */
        .acordeon-viaje {
            border: 1px solid #E7E5DD;
            border-radius: 12px;
            overflow: hidden;
        }
        .acordeon-viaje-item + .acordeon-viaje-item { border-top: 1px solid #E7E5DD; }
        .acordeon-viaje-header {
            width: 100%;
            background: none;
            border: none;
            text-align: left;
            padding: 18px 20px;
            font-family: 'Montserrat', sans-serif;
            font-size: 15.5px;
            font-weight: 700;
            color: #192951;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
        }
        .acordeon-viaje-header span i { color: #BF0040; margin-right: 8px; }
        .acordeon-viaje-icono { color: #6A6E7D; transition: transform 0.2s ease; font-size: 14px; }
        .acordeon-viaje-item.abierto .acordeon-viaje-icono { transform: rotate(180deg); }
        .acordeon-viaje-body {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.25s ease;
            padding: 0 20px;
        }
        .acordeon-viaje-item.abierto .acordeon-viaje-body {
            max-height: 2000px;
            padding-bottom: 20px;
        }

        /* Itinerario: preview + ver completo */
        .itinerario-oculto { display: none; }
        .btn-ver-itinerario {
            display: block;
            width: 100%;
            background: #FBFAF6;
            border: 1px solid #E7E5DD;
            border-radius: 8px;
            padding: 14px;
            margin-top: 10px;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 13.5px;
            color: #192951;
            cursor: pointer;
        }
        .btn-ver-itinerario:hover { background: #F2EFE4; }

        /* Itinerario: día con badge cuadrado + línea vertical */
        .dia-itinerario {
            display: flex;
            gap: 18px;
            position: relative;
            padding-bottom: 28px;
        }
        .dia-itinerario:last-child { padding-bottom: 0; }
        .dia-itinerario::before {
            /* línea vertical que conecta los badges, misma en mobile y desktop */
            content: "";
            position: absolute;
            left: 27px;
            top: 56px;
            bottom: 0;
            width: 2px;
            background: #E7E5DD;
        }
        .dia-itinerario:last-child::before { display: none; }
        .dia-itinerario-badge {
            flex: none;
            width: 56px;
            height: 56px;
            border-radius: 8px;
            background: #192951;
            color: #FFFFFF;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            font-family: 'Montserrat', sans-serif;
            position: relative;
            z-index: 1;
        }
        .dia-itinerario-badge span { font-size: 9.5px; font-weight: 600; opacity: 0.75; text-transform: uppercase; }
        .dia-itinerario-badge b { font-size: 18px; font-weight: 800; }
        .dia-itinerario-info { padding-top: 6px; }
        .dia-itinerario-fecha { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; color: #BF0040; text-transform: uppercase; margin-bottom: 4px; }
        .dia-itinerario-destino { font-family: 'Montserrat', sans-serif; font-size: 15px; font-weight: 700; color: #192951; margin: 0 0 6px; }
        .dia-itinerario-detalle { font-size: 13.5px; line-height: 1.6; color: #6A6E7D; margin: 0; }

        /* Tarifas: card con el mismo lenguaje visual del acordeón/hero */
        .tarifas-viaje {
            border: 1px solid #E7E5DD;
            border-radius: 12px;
            overflow: hidden;
        }
        .tarifas-viaje-header {
            font-family: 'Montserrat', sans-serif;
            font-size: 15.5px;
            font-weight: 700;
            color: #192951;
            padding: 18px 20px;
            border-bottom: 1px solid #E7E5DD;
        }
        .tarifas-viaje-header i { color: #BF0040; margin-right: 8px; }
        .tarifas-viaje-hotel {
            font-family: 'Montserrat', sans-serif;
            font-size: 13.5px;
            font-weight: 700;
            color: #6A6E7D;
            text-transform: uppercase;
            letter-spacing: 0.3px;
            padding: 16px 20px 4px;
        }
        .tarifas-viaje-linea {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            padding: 14px 20px;
            border-top: 1px solid #F1EFE7;
            flex-wrap: wrap;
        }
        .tarifas-viaje-tipo {
            font-family: 'Montserrat', sans-serif;
            font-size: 14px;
            font-weight: 600;
            color: #192951;
        }
        .tarifas-viaje-monto {
            font-family: 'Montserrat', sans-serif;
            font-size: 17px;
            font-weight: 800;
            color: #BF0040;
            text-align: right;
        }
        /* Cuando hay precio en USD, ese es el que se prioriza visualmente;
           el precio local queda como dato secundario. */
        .tarifas-viaje-usd { font-size: 17px; font-weight: 800; color: #BF0040; margin-right: 6px; }
        .tarifas-viaje-local { font-size: 13px; font-weight: 700; color: #6A6E7D; }
        .tarifas-viaje-o { font-size: 12px; font-weight: 600; color: #6A6E7D; margin: 0 4px; }
        .tarifas-viaje-nota { display: block; font-size: 11px; font-weight: 600; color: #6A6E7D; margin-top: 2px; }
        .tarifas-viaje-condiciones {
            font-size: 12.5px;
            line-height: 1.6;
            color: #6A6E7D;
            padding: 16px 20px;
            border-top: 1px solid #E7E5DD;
            background: #FBFAF6;
        }

        /* Importante: card con acento dorado, consistente con el resto */
        .importante-viaje {
            border: 1px solid #E7E5DD;
            border-left: 4px solid #DBBC77;
            border-radius: 12px;
            overflow: hidden;
        }
        .importante-viaje-header {
            font-family: 'Montserrat', sans-serif;
            font-size: 15.5px;
            font-weight: 700;
            color: #192951;
            padding: 18px 20px 8px;
        }
        .importante-viaje-header i { color: #DBBC77; margin-right: 8px; }
        .importante-viaje-body {
            font-size: 13.5px;
            line-height: 1.7;
            color: #6A6E7D;
            padding: 0 20px 20px;
        }

        /* Contacto */
        .contacto-viaje-heading {
            text-align: center;
            max-width: 560px;
            margin: 0 auto 40px;
        }
        .contacto-viaje-heading h2 {
            font-family: 'Montserrat', sans-serif;
            font-size: 26px;
            font-weight: 700;
            color: #192951;
            margin: 0 0 10px;
        }
        .contacto-viaje-heading p {
            font-size: 14.5px;
            color: #6A6E7D;
            margin: 0;
        }
        .btn-enviar-viaje {
            background: #BF0040;
            color: #FFFFFF;
            border: none;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            border-radius: 8px;
            cursor: pointer;
        }
        .btn-enviar-viaje:hover { background: #990033; }
        .btn-enviar-viaje:disabled { opacity: 0.6; cursor: not-allowed; }

        /* Contacto: tabs Email / WhatsApp */
        .contacto-viaje-tabs {
            display: flex;
            justify-content: center;
            gap: 10px;
            margin-bottom: 32px;
            flex-wrap: wrap;
        }
        .contacto-viaje-tab {
            background: #FBFAF6;
            border: 1.5px solid #E7E5DD;
            border-radius: 30px;
            padding: 10px 22px;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 13.5px;
            color: #6A6E7D;
            cursor: pointer;
        }
        .contacto-viaje-tab i { margin-right: 6px; }
        .contacto-viaje-tab.activo {
            background: #192951;
            border-color: #192951;
            color: #FFFFFF;
        }
        .contacto-viaje-panel { max-width: 900px; margin: 0 auto; }
        .contacto-viaje-whatsapp {
            text-align: center;
            max-width: 420px;
            margin: 0 auto;
            padding: 30px 10px 50px;
        }
        .contacto-viaje-whatsapp > i {
            font-size: 46px;
            color: #25D366;
            margin-bottom: 14px;
            display: block;
        }
        .contacto-viaje-whatsapp p {
            font-size: 14.5px;
            color: #6A6E7D;
            margin: 0 0 22px;
        }
        .btn-whatsapp-viaje {
            display: inline-block;
            background: #25D366;
            color: #FFFFFF;
            text-decoration: none;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            font-size: 14px;
            padding: 14px 28px;
            border-radius: 8px;
        }
        .btn-whatsapp-viaje:hover { background: #1FAE55; color: #FFFFFF; }

        /* Carrusel de viajes similares */
        .similares-viaje-scroll {
            display: flex;
            gap: 14px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            padding-bottom: 8px;
            -webkit-overflow-scrolling: touch;
        }
        .similar-viaje-card {
            flex: none;
            width: 270px;
            scroll-snap-align: start;
            background: #FFFFFF;
            border: 1px solid #E7E5DD;
            border-radius: 12px;
            overflow: hidden;
            text-decoration: none;
            color: #21242E;
            display: block;
        }
        .similar-viaje-card:hover { text-decoration: none; color: #21242E; }
        .similar-viaje-foto {
            height: 130px;
            background-size: cover;
            background-position: center;
            position: relative;
            display: flex;
            align-items: flex-start;
            padding: 10px;
        }
        .similar-viaje-tag {
            font-size: 10.5px;
            font-weight: 800;
            padding: 4px 9px;
            border-radius: 20px;
            background: rgba(255,255,255,0.92);
            color: #192951;
        }
        .similar-viaje-body { padding: 14px 16px 16px; }
        .similar-viaje-meta {
            display: flex;
            justify-content: space-between;
            font-size: 11px;
            font-weight: 600;
            color: #6A6E7D;
            text-transform: uppercase;
            margin-bottom: 8px;
        }
        .similar-viaje-meta i { color: #BF0040; margin-right: 3px; }
        .similar-viaje-body h4 {
            margin: 0 0 6px;
            font-family: 'Montserrat', sans-serif;
            font-size: 14px;
            font-weight: 700;
            color: #192951;
            line-height: 1.3;
        }
        .similar-viaje-destinos {
            font-size: 12px;
            color: #6A6E7D;
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #F1EFE7;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .similar-viaje-destinos i { color: #DBBC77; margin-right: 3px; }
        .similar-viaje-precio-linea { display: flex; flex-direction: column; }
        .similar-viaje-desde { font-size: 10px; font-weight: 600; color: #6A6E7D; }
        .similar-viaje-precio {
            font-family: 'Montserrat', sans-serif;
            font-size: 16px;
            font-weight: 800;
            color: #BF0040;
        }

        @media (max-width: 767px) {
            .hero-viaje { padding-top: 140px; }
            .hero-viaje-panel { padding: 16px 18px; }
            .hero-viaje-top { flex-direction: column; align-items: stretch; }
            .hero-viaje-precio { display: none; } /* en mobile el precio vive en la barra fija de abajo */
            .cta-viaje-mobile { display: flex; }
            body { padding-bottom: 64px; }
            .subnav-viaje-inner { gap: 2px; padding: 0 4vw; }
            .subnav-viaje a { padding: 12px 8px; font-size: 13px; }
            .subnav-consultar { display: none; } /* ya está en la barra flotante de abajo */
        }

/*------------------------------------
  Página de listado de viajes (viajes-grupales.php)
------------------------------------*/

.buscador-hero {
    background: linear-gradient(135deg, #192951, #2B3E70);
    padding: 130px 6vw 130px;
    text-align: center;
}
.buscador-hero h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: clamp(1.4rem, 3vw, 2rem);
    color: #FFFFFF;
    margin: 0 0 10px;
}
.buscador-hero h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.6;
    color: #D7DCEC;
    margin: 0 auto;
    max-width: 900px;
}

/* Buscador flotante: inputs y botón */
#travel-search-form .form-control {
    font-family: 'Montserrat', sans-serif;
    border-radius: 8px !important;
}
#travel-search-form .form-control:focus {
    border-color: #192951 !important;
}
.btn-buscar-viaje {
    background: #BF0040 !important;
    border-color: #BF0040 !important;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700 !important;
}
.btn-buscar-viaje:hover {
    background: #990033 !important;
    border-color: #990033 !important;
}

/* Tarjetas de resultado */
.resultado-viaje-card {
    display: block;
    border: 1px solid #E7E5DD;
    border-radius: 12px;
    overflow: hidden;
    background: #FFFFFF;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.resultado-viaje-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(25, 41, 81, 0.12);
    text-decoration: none;
}
.resultado-viaje-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #192951;
}
.resultado-viaje-desde {
    font-style: normal;
    font-size: 10px;
    font-weight: 600;
    color: #6A6E7D;
}
.resultado-viaje-precio {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: #BF0040;
}
.resultado-viaje-precio-wrap {
    text-align: left !important;
}

/* Paginación */
.paginacion-viaje-btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    background: #FFFFFF;
    border: 1.5px solid #E7E5DD;
    border-radius: 8px;
    color: #6A6E7D;
    padding: 9px 14px;
    margin-right: 8px;
    cursor: pointer;
}
.paginacion-viaje-btn:hover {
    border-color: #192951;
    color: #192951;
}
.paginacion-viaje-btn.active {
    background: #192951;
    border-color: #192951;
    color: #FFFFFF;
}
.paginacion-viaje-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

@media (max-width: 767px) {
    .buscador-hero { padding-top: 100px; }
}

/*------------------------------------
  Home (index.php)
------------------------------------*/

/* Hero */
.home-hero-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}
.home-hero-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}
.btn-magenta-home {
    background: #BF0040 !important;
    border-color: #BF0040 !important;
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
}
.btn-magenta-home:hover {
    background: #990033 !important;
    border-color: #990033 !important;
}
.btn-magenta-home-outline {
    background: transparent !important;
    border: 1.5px solid #BF0040 !important;
    color: #BF0040 !important;
    font-family: 'Montserrat', sans-serif;
}
.btn-magenta-home-outline:hover {
    background: #BF0040 !important;
    color: #FFFFFF !important;
}
.btn-magenta-home-sm {
    background: #BF0040 !important;
    border-color: #BF0040 !important;
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif;
}
.btn-magenta-home-sm:hover {
    background: #990033 !important;
    border-color: #990033 !important;
}

/* Jerarquía de tamaños de botón — 3 niveles, consistentes entre sí
   dentro de cada nivel (antes cada botón tenía su propio padding/tamaño
   de letra "a mano", con inconsistencias entre pares del mismo nivel). */
.btn-home-lg {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 30px;
    padding: 13px 25px;
    font-size: 13px;
}
.btn-home-md-outline {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    border-radius: 30px;
    padding: 15px 35px;
    font-size: 13px;
}
.btn-home-sm {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    border-radius: 30px;
    padding: 10px;
    font-size: 13px;
}

/* Títulos de sección (Destacados / Novedades / Destinos / Testimonios) —
   selector por combinación de clases ya existentes, sin tocar el HTML. */
h2.text-uppercase.g-font-weight-500.g-color-primary {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700 !important;
    color: #192951 !important;
}
.h5.text-center.g-font-weight-400 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #6A6E7D !important;
}
.home-section-titulo-final {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700 !important;
    color: #192951 !important;
}

/* Tarjetas de viaje del carrusel (Destacados / Novedades) */
.home-viaje-card {
    border: 1px solid #E7E5DD;
    border-radius: 12px;
    overflow: hidden;
}
.home-viaje-card img {
    border-radius: 0;
}
.home-viaje-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #192951;
}
.home-viaje-destinos { color: #6A6E7D; }
.home-viaje-meta {
    font-size: 11px;
    font-weight: 600;
    color: #6A6E7D;
}
.home-viaje-meta i { color: #BF0040; margin-right: 3px; }
.home-viaje-precio-linea {
    display: flex;
    flex-direction: column;
}
.home-viaje-desde {
    font-size: 10px;
    font-weight: 600;
    color: #6A6E7D;
    text-transform: uppercase;
}
.home-viaje-precio {
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    font-size: 17px;
    color: #BF0040;
}
.home-viaje-ver-mas {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: #192951;
    text-transform: uppercase;
}
.home-viaje-ver-mas i { margin-left: 3px; }
.home-viaje-card:hover .home-viaje-ver-mas { color: #BF0040; }

/* Newsletter */
.home-newsletter-titulo, .home-newsletter-subtitulo {
    font-family: 'Montserrat', sans-serif;
}

/* === Altura uniforme para los items del carousel (Slick) ===
   (viene de conectar2.css, adaptado a .home-viaje-card) */
.js-carousel .slick-track { display: flex !important; }
.js-carousel .slick-slide { height: auto !important; display: flex !important; }
.js-carousel .slick-slide > div { width: 100%; }
.js-carousel .js-slide { height: auto; display: flex; }
.js-carousel .js-slide .home-viaje-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.js-carousel .js-slide .home-viaje-card .g-pa-25 {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
.js-carousel .js-slide .home-viaje-card .g-mb-20 { flex: 1 1 auto; }
.js-carousel .js-slide .home-viaje-card footer { margin-top: auto; }

/* Tabs Destacados / Novedades (home) */
.home-tabs-wrap {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}
.home-tab-btn {
    background: #FFFFFF;
    border: 1.5px solid #E7E5DD;
    border-radius: 30px;
    padding: 9px 22px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #6A6E7D;
    cursor: pointer;
}
.home-tab-btn.activo {
    background: #192951;
    border-color: #192951;
    color: #FFFFFF;
}

/* Jerarquía de botones de acción en viaje-grupal.php — 2 niveles,
   consistentes dentro de cada nivel (antes .btn-consultar del hero y
   .cta-viaje-mobile tenían padding levemente distinto sin motivo). */
.btn-viaje-compacto {
    background: #BF0040;
    color: #FFFFFF;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13.5px;
    padding: 10px 20px;
    border-radius: 8px;
    display: inline-block;
}
.btn-viaje-compacto:hover { background: #990033; color: #FFFFFF; }

.btn-viaje-standalone {
    font-size: 13.5px;
    padding: 14px 32px;
}

/* Legibilidad del nombre sobre la foto en "Elegí tu estilo de viaje" —
   no depender del overlay del theme, que queda muy débil en fotos claras. */
.home-categoria-foto {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 10px;
}
.home-categoria-foto::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(25,41,81,0.75) 0%, rgba(25,41,81,0.15) 45%, rgba(25,41,81,0) 70%);
    z-index: 1;
    pointer-events: none;
}
.home-categoria-label {
    background: rgba(25,41,81,0.85) !important;
    padding: 6px 14px;
    border-radius: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

/* Página de contacto (contacto.php) */
.contacto-info-icono {
    color: #BF0040 !important;
}

/*------------------------------------
  Circuitos (circuitos.php)
------------------------------------*/
.circuitos-heading-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: #192951;
    text-align: center;
    margin: 0 0 14px;
}
.circuitos-heading-subtitulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.7;
    color: #6A6E7D;
}
.circuitos-feature-icono {
    color: #BF0040;
    font-size: 28px;
}
.circuitos-feature-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    color: #192951;
    margin: 8px 0 6px;
}
.circuito-card {
    display: block;
    border: 1px solid #E7E5DD;
    border-radius: 12px;
    overflow: hidden;
    background: #FFFFFF;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.circuito-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(25, 41, 81, 0.12);
}
.circuito-card-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #192951;
}

/*------------------------------------
  Doble a Compartir (doble-a-compartir.php)
------------------------------------*/
.filtro-compartir {
    background: #FFFFFF;
    border: 1.5px solid #E7E5DD;
    border-radius: 30px;
    padding: 9px 22px;
    margin: 0 5px 10px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #6A6E7D;
    cursor: pointer;
}
.filtro-compartir.activo {
    background: #192951;
    border-color: #192951;
    color: #FFFFFF;
}
.grid-compartir {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.grid-compartir-item {
    position: relative;
    transition: opacity 0.25s ease;
    opacity: 1;
}
.grid-compartir-item article {
    border-radius: 10px;
    overflow: hidden;
}
.card-compartir-titulo {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 17px;
    color: #FFFFFF;
    text-transform: uppercase;
    margin: 0;
}
@media (max-width: 991px) {
    .grid-compartir { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575px) {
    .grid-compartir { grid-template-columns: 1fr; }
}