.hero-section {
    min-height: 100vh;
    background: linear-gradient(rgba(0, 40, 70, 0.233),
            rgba(0, 40, 70, 0.221)),
        url("../img/Inicio/Home.jpg") center/cover no-repeat;
}

.search-box {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
}

.search-box .form-control,
.search-box .form-select {
    border-radius: 30px;
}

.search-box button {
    height: 100%;
}



/* Sombra general para todas las cards */
.card {
    border: none;
    border-radius: 18px;
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.941);
}

/* Cards de destinos */
.destination-card {
    background-color: #ffffff;
    border: none;
    border-radius: 18px;

    /* 👇 SOMBRA ELEGANTE */
    box-shadow: 0 15px 30px rgb(0, 0, 0);

    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto hover (opcional pero recomendado) */
.destination-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
}

/* CARDS */
.destination-card {
    border: none;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.489);
    overflow: hidden;
    position: relative;
}

.destination-card img {
    width: 100%;
    height: 400px;
    /* Ajusta este valor si quieres */
    object-fit: cover;
    /* Recorta sin deformar */
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
}

/* Imagen forzada */
.card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* recorte sin deformar */
    display: block;
}

.destination-card .card-body {
    position: relative;
    padding: 1rem;
}

/* Botón + */
.destination-card {
    border: none;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    position: relative;
}

.destination-card img {
    height: 180px;
    object-fit: cover;
}

.destination-card .card-body {
    position: relative;
    padding: 1rem;
}

/* Botón + */
.btn-plus {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    padding: 0;
}


/* SECCIÓN 3 */

.airport-section {
    background-color: #063348;
}

/* Imagen */
.airport-img {
    width: 100%;
    height: 380px;
    overflow: hidden;
    border-radius: 10px;
}

.airport-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Título destacado */
.airport-title {
    font-weight: 800;
    font-size: 2.3rem;
    line-height: 1.2;
    border-left: 6px solid #ffffff;
    padding-left: 15px;
}

.airport-text {
    font-size: 1.05rem;
    opacity: 0.95;
}

/* ESTADO INICIAL (oculto) */
.fade-left,
.fade-right {
    opacity: 0;
    transform: translateY(30px);
    transition: all 5s ease;
}

/* Direcciones */
.fade-left {
    transform: translateX(-60px);
}

.fade-right {
    transform: translateX(60px);
}

/* CUANDO APARECEN */
.show {
    opacity: 1;
    transform: translateX(0);
}


/* CARD CONTENEDORA */
.concert-card {
    background-color: #063348;
}

/* Imagen */
.concert-img {
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 20px;
}

.concert-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 10px;
}

/* Título */
.concert-title {
    font-weight: 800;
    font-size: 2.2rem;
    color: #063348;
    border-left: 6px solid #063348;
    padding-left: 15px;
}

.concert-text {
    font-size: 1.05rem;
    color: #555;
}

.concert-card {
    background-color: #e0e8f4;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.concert-card:hover {
    box-shadow: 0 30px 60px rgba(20, 17, 17, 0.445);
    transform: translateY(-6px);
}


/* BUSES */
/* Carrusel imágenes */
.airport-carousel .airport-img {
  width: 100%;
  height: 400px;          /* altura fija para todas */
  object-fit: contain;    /* mantiene proporción sin recortar */
  background-color: #063348; /* relleno si sobra espacio */
  border-radius: 8px;
}

/* Sección general */
.airport-section {
  background: linear-gradient(135deg, #063348, #063348); /* Azul Serenity */
  color: #fff;
}

/* Títulos */
.airport-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 2rem;
}

/* Texto */
.airport-text {
  font-family: 'Raleway', sans-serif;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Botón */
.airport-section .btn {
  font-family: 'Quicksand', sans-serif;
  font-weight: 500;
  transition: all 0.3s ease;
}

.airport-section .btn:hover {
  background-color: #4A90E2;
  color: #fff;
}

.airport-carousel .airport-img {
  width: 100%;
  height: 400px;          /* altura fija para todas */
  object-fit: contain;    /* mantiene proporción sin recortar */
  background-color: #063348; /* relleno si sobra espacio */
  border-radius: 8px;
}





/* REGISTRO */

/* SECCIÓN */
.rnt-section {
    background: linear-gradient(135deg, #f8f9fc, #eef1f7);
}

/* CARD */
.rnt-card {
    border-radius: 24px;
    box-shadow: 0 20px 45px rgba(146, 144, 144, 0.08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.rnt-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 55px rgba(156, 152, 152, 0.12);
}

/* BADGE */
.rnt-badge {
    background: linear-gradient(135deg, #5f2c82, #49a09d);
    color: #fff;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
}

/* TÍTULO */
.rnt-title {
    font-weight: 800;
    color: #1f2937;
    line-height: 1.2;
}

/* TEXTO */
.rnt-text {
    color: #4b5563;
    font-size: 1rem;
}

/* LISTA */
.rnt-list li {
    margin-bottom: 10px;
    font-weight: 500;
    color: #374151;
}

/* IMAGEN */
.rnt-img-wrapper {
    background: #ffffff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: inset 0 0 0 1px rgba(141, 141, 141, 0.04);
}

.rnt-img-wrapper img {
    max-height: 280px;
    object-fit: contain;
}
@media (max-width: 768px) {
    .rnt-title {
        text-align: center;
    }

    .rnt-text,
    .rnt-list {
        text-align: center;
    }

    .rnt-list li {
        justify-content: center;
    }
}


/* VIAJE ESCOLAR */

/* Sección */
.paquetes-section {
    background: #f5f7fb;
}

/* Card */
.paquete-card {
    position: relative;
    height: 420px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.25);
}

/* Imagen */
.paquete-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Capa oscura encima */
.paquete-overlay {
    position: absolute;
    inset: 0;
    background: rgba(133, 133, 133, 0.224); /* opacidad */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
}

/* Texto */
.paquete-overlay h3 {
    font-size: 2rem;
    font-weight: 800;
}

/* Hover suave */
.paquete-card:hover .paquete-img {
    transform: scale(1.05);
    transition: .6s;
}
