@font-face {
font-family: 'Nunito Regular';
font-style: normal;
font-weight: 400;
src: url('../lib/Nunito-Regular.ttf');
}
@font-face {
font-family: 'k2d';
font-style: normal;
font-weight: 400;
src: url('../lib/K2D-Medium.ttf');
}
@font-face {
font-family: 'Nunito Bold';
font-style: normal;
font-weight: 400;
src: url('../lib/Nunito-Bold.ttf');
}
@font-face {
font-family: 'Nunito ExtraBold';
font-style: normal;
font-weight: 400;
src: url('../lib/Nunito-ExtraBold.ttf');
}
@font-face {
font-family: 'Nunito-Black';
font-style: normal;
font-weight: 400;
src: url('../lib/Nunito-Black.ttf');
}
@font-face {
font-family: 'Montserrat';
src: url('../lib/Montserrat-Variable.ttf');
}
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
            margin: 0;
    padding: 0;
  }
body {
margin:0px;
padding: 0px;
width:100%;
font-family: 'Nunito Regular';
/*background: radial-gradient(at 100% 100%, #fff 35%, #baf4fe 65%);*/
background: linear-gradient(to right, #aecbe9, #edecf2);
h1{
    text-transform: uppercase; margin-bottom: 25px; font-size:3em; color:#2C0735; font-family: 'Nunito-Black', Arial, Helvetica, sans-serif;
}
h2{ color:#e5098e; font-family: 'Montserrat',Arial, Helvetica, sans-serif; font-size: 2em; margin-bottom: 25px;}
p{
    margin-bottom:20px; font-size: 22px;
}
}
.cabecera-contenedor{
    height:214px
}
.banner-sup-contenedor{
    background: #edfbff;
}
.banner-sup{
    width: 1250px; margin-left:auto; margin-right:auto; height: 90px;
}
.logo{
    float: left; padding: 1px; background: #edfbff; border-radius: 0px 0px 10px 10px;
}
.logo img{
    width:180px; margin-top:-15px
}
.boton-sup{
    float: right; font-family: 'Nunito Regular'; padding: 6px 16px 4px 16px ; border: #d43a97 1px solid; color:#d43a97; border-radius: 5px; margin-top: 26px; margin-left: 40px;
}
.boton-sup img{
    width:24px; vertical-align: middle;
}
.boton-sup:hover {
    background-color: rgba(0, 0, 0, 0.1); /* Oscurecer el fondo al pasar el ratón */
}
.boton-viajeros{
    float: right; font-family: 'Nunito Regular'; padding: 6px 16px 4px 16px ; border: #333 1px solid; color:#333; border-radius: 5px; margin-top: 26px; margin-left: 40px; font-size: 0.8em;
}
.boton-viajeros img{
    width:24px; vertical-align: middle;
}
.boton-viajeros:hover {
    background-color: rgba(0, 0, 0, 0.1); /* Oscurecer el fondo al pasar el ratón */
}
.telefono-sup{
    float: right; font-family: 'Nunito ExtraBold'; font-size: 24px; margin-top: 26px; position: relative;
}
.telefono-sup img{
    width:24px; vertical-align: middle; margin-bottom: 5px;
}
.contenedor-menu{
    width: 1250px; margin-left:auto; margin-right:auto
}
.contenedor-secundario-menu{
    margin-left:260px; margin-top:22px; position: absolute;
}
.menu-opcion{
    width:140px; text-align: center; float: left;
    background-color: none;
    -webkit-transition: all 3s;
    transition: all 3s;
    border-radius: 10px;
    margin-left:1px
}
.menu-opcion .opcion-icono{
    margin-left: auto; margin-right: auto;
}
.menu-opcion .opcion-icono img{
    width:40px; margin-top: 5.21px;
    transition: 2s;
    background: none;
}
.menu-opcion .opcion-titulo{
    font-size: 0.75em; text-transform: uppercase; font-family: 'Nunito Bold'; margin-top:10px
}
.menu-opcion .opcion-subrayado{
    background: #CCC; border-radius:10px; margin-top: 10px; height:3px; width: 90%; margin-left:auto; margin-right:auto
}
.menu-opcion a{
    text-decoration: none;
    color:#000
}
.menu-opcion:hover{
    background-color: #FFF;
    -webkit-transition: all 500ms;
    transition: all 500ms;
}
.menu-submenu{
    background: #FFF;
    position: relative;
    float: left;
    top: 5px;
    border-radius: 0px 25px 25px 25px;
    height: 100px;
    padding: 20px;
    width: 325px;
    display: none;
    z-index: 100;
}
.menu-opcion:hover .menu-submenu{
    display: inline-table;
}
.titulo-submenu{
    font-size: 1em;
    font-weight: bold;
    padding: 10px;
    border-bottom: #ccc 1px solid;
    width: fit-content;
    margin: auto;
    color:#5536a4;
}
.opcion-submenu{
    font-size: 1.25em;
}
.opcion-submenu a{
    padding: 10px;
    display: block;
}
.opcion-submenu a:hover{
    background: #5536a4;
    color: #FFF;
    border-radius: 5px;
}
.contenedor-portada{
    background-image:url('https://viajaalamagia.com/img/castillo.webp');height: 80vh; background-repeat: no-repeat; background-position: right; background-size: contain; min-height: max-content;
}
.contenedor-principal{
    /*min-height: 80%;*/ width: 1250px; margin-left:auto; margin-right:auto; margin-top: 75px; margin-bottom: 75px; text-align: justify;
}
.contenedor-secundario-portada{
    width: 1250px; margin-left:auto; margin-right:auto; padding-top: 150px;
}
.contenedor-portada .titulo{
    font-size: 3.5em; text-transform: uppercase; font-family: 'Montserrat'; font-weight: 700;
}
.contenedor-portada .subtitulo{
    font-family: 'Nunito Bold'; margin-bottom: 20px
}
.contenedor-portada .descripcion{
    font-size: 2em; width: 50%;
}
/*.contenedor-portada .boton-ahora{
    font-family: 'Nunito Regular'; font-size: 1.5em; padding: 10px 16px 9px 16px; color:#fff; border-radius: 5px; margin-top: 20px; background-image: linear-gradient(to right, #4a82c7 , #d43a97); width: 217px; text-align: center;
}
*/
.boton-avion {
    position: relative;
    display: inline-block;
    padding: 10px 16px 9px 16px;
    font-size: 1.5em;
    font-family: 'Nunito Regular';
    margin-top: 20px;
    background-image: linear-gradient(to right, #4a82c7 , #d43a97);
    color: #fff; /* Color del texto */
    width: 217px;
    text-align: center;
    border-radius: 5px;
    cursor: pointer;
    overflow: hidden;
    border:none;
    z-index: 1; /* Para mantener el texto del botón encima */
    transition: transform 0.3s ease; /* Duración de la animación */
    text-decoration: auto;
  }
  
  .boton-avion:hover{
      transform: scale(1.05); /* Aumentar tamaño */
      filter: brightness(1.4);
  }
  
  .icono-avion {
    position: absolute;
    top: 50%;
    left: -100px; /* Ubicación inicial del avión fuera del botón */
    transform: translateY(-50%);
    height: 20px; /* Tamaño de la imagen */
    z-index: 0; /* Hace que el avión quede por detrás del texto */
    transition: transform 0.5s ease; /* Duración de la animación */
  }
  
  .boton-avion:hover .icono-avion {
    transform: translate(300px, -50%); /* Ajusta el valor según el ancho del botón */
  }
.cabecera-contenedor-movil{
    display: none;
}
.contenedor-portada-temporal{
    background-image:url('https://viajaalamagia.com/img/castillo.png');height: 100%; background-repeat: no-repeat; background-position: right bottom; background-size: contain; font-size: 2em;
}
.cpt2{
    width:500px; text-align:center; margin-left:8%; margin-right:auto; padding-top:15%
}
.paquetes{
   margin-bottom: 50px;
  display: flex;
  flex-wrap: nowrap;
  text-align: left;
}
.paquete{
    background: #fff; border-radius: 100px 100px 10px 10px; margin-left: 1%; margin-right: 1%; min-height: 200px; 
    width: 25%; position: relative;
}
.paquete .foto{
    background: #CCC; margin: 3px; border-radius: 100px 100px 100px 10px; min-height: 270px; background-size: cover;
}
.paquete .etiqueta-trend {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    display: flex;
    align-items: center;
}
.paquete .titulo{
    padding: 7px; text-transform: uppercase; font-weight: bold; font-size: 1.35em;
}
.paquete .desde{
    padding-left: 7px; color:#ccc; font-size: 0.75em;
}
.paquete .boton{
    border: #d43a97 1px solid; position: absolute; right: 11; bottom: 11; border-radius: 5px; width: fit-content; overflow: hidden;
}
.paquete .boton a{
    color:#d43a97; padding: 20px; text-decoration: none; overflow: hidden;
}
.paquete .boton a:hover{
    background:#d43a97; color: #FFF;
}
.paquete .precio{
    padding:0px 0px 7px 7px; color:#d43a97; font-size: 2em; font-weight: bold;
}
.paquete .decimal{
    font-size: 16px;
    vertical-align: super;
    color: #d43a97;
}
.paquete .etiqueta{
    background-color: #baf4fe; color: #2C0735; padding: 5px; border-radius: 5px; width: fit-content; margin: 0px 7px 7px 7px; font-size: 0.75em;
}
.paquete:first-child {
    margin-left: 0px;
}
.paquete:last-child {
    margin-right: 0px;
}
@media (max-width:767px){
    .banner-sup, .banner-sup-contenedor{
        width: 100%;
        height: fit-content;
    }
    .logo{
        width: 49%;
        text-align: center;
    }
    .contenedor-menu{
        width: 100%;
        display: none;
    }
    .banner-sup{
        width: 100%;
    }
    .contenedor-secundario-portada{
        width: 100%;
        padding: 50px 25px;
        margin:0px
    }
    .contenedor-secundario-portada .titulo{
        font-size: 3em;
    }
    .contenedor-secundario-portada .descripcion{
        font-size: 1em;
    }
    .contenedor-secundario-portada .descripcion span{
        background: #baf4fe;
    }
    .contenedor-portada{
        background-position: right bottom;
        background-position-x: 20px;
        height: 90%;
    }
    .boton-avion{
        border:#fff 1px solid
    }
    .boton-sup{
        float: none;
    }
    .boton-viajeros{
        float: none;
    }
    .telefono-sup{
        float: none;
    }
    .cabecera-contenedor-movil{
        display:block;
        background-color:#edfbff;
        text-align: center;
        padding:5px
    }
    .logo-movil{
        height: 44px;
    }
    .cabecera-boton-menu{
        float: left;
    }
    .cabecera-boton-menu a{
        padding: 6px;
        display: block;
    }
    .cabecera-boton-menu img{
        width:28px
    }
    .cabecera-boton-telefono{
        float: right;
        margin-top: 2px;
    }
    .cabecera-boton-telefono a{
        padding: 7px;
        display: block;
    }
    .cabecera-boton-telefono img{
        width:26px
    }
    .cabecera-contenedor{
        display: none;
    }
.contenedor-portada-temporal{ font-size: 1em; }
.cpt2{
    width:90%; text-align:center; margin-left:auto; margin-right:auto; padding-top:100px
}

}

/* FAQ */
#faq{
    background-color: #2C0735;
    padding: 50px 0px;
    overflow: hidden;
}
#faq h2{
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 25px;
}
#container-faq {
    width: 1250px;
    max-width: 90%;
    margin: 0 auto;
}

#container-faq ul {
    list-style: none;
}

#container-faq .quest {
    background-color: #fff;
    color: #000;
    display: inline-block;
    float: left;
    padding: 1%;
    cursor: pointer;
    line-height: 28px;
    border-bottom:1px solid #fff;
    border:1px solid #fff;
    border-radius: 10px;
    margin: 5px 0px;
}

#container-faq .answ {
    display: inline-block;
    float:left;
    width: 100%;
    max-height: 0px;
    -webkit-transition: max-height 400ms ease-in-out;
    -moz-transition: max-height 400ms ease-in-out;
    transition: max-height 400ms ease-in-out;
    overflow: hidden;
    border-radius: 10px;
    color: #FFF;
}

#container-faq .answ p {
    margin: 25px 0px;
}

#container-faq .quest h3 {
    display: inline-block;
    line-height: 32px;
    float: left;
}

#container-faq .icon {
    display: inline-block;
    float: left;
    height: 20px;
    width: 20px;
    padding-top: 14px;
    margin-right: 10px;
}

#container-faq .bar {
    position: absolute;
    height: 3px;
    width: 20px;
    background-color: #e5098e;
    display: block;
    -webkit-transition: all 200ms ease-in-out;
    -moz-transition: all 200ms ease-in-out;
    transition: all 200ms ease-in-out;
    
}

#container-faq .bar:first-child {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

#container-faq .active .bar:first-child{
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
}

#container-faq .active {
    max-height: 500px;
}

/* FIN DE FAQ*/
.lista {
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    margin-bottom: 40px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.lista ul {
    padding-left: 20px;
}

.lista ul li {
    margin-bottom: 10px;
}
.lista h3{
    margin-bottom: 25px;
}
.incluidopaquete{
    background-image: url('img/carroza-disney.jpg'); background-repeat: no-repeat; background-position: right; background-size: contain;
    width: 90%; margin-left: auto; margin-right: auto;
    text-shadow:1px 2px 5px #FFF
}
.incluidopaquete-universal{
    background-image: url('img/universal-paquetes.jpg'); background-repeat: no-repeat; background-position: right; background-size: contain;
    width: 90%; margin-left: auto; margin-right: auto; text-shadow:1px 2px 5px #FFF
}
.incluidopaquete-harry{
    background-image: url('img/london-eye.jpg'); background-repeat: no-repeat; background-position: right; background-size: contain;
    width: 90%; margin-left: auto; margin-right: auto;text-shadow:1px 2px 5px #FFF
}
.incluidopaquete-otros{
    background-image: url('img/otros-destinos.jpg'); background-repeat: no-repeat; background-position: right; background-size: contain;
    width: 90%; margin-left: auto; margin-right: auto;text-shadow:1px 2px 5px #FFF
}
.contenedor-secundario-menu:after{
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 35px 110px 0;
    border-color: transparent #edfbff transparent transparent;
    left: -294px;
    top: -22px;
    position: absolute;
}
.experiencias-container {
    background-image: url('img/fondo-estrellas.png');
    padding: 40px 20px;
    overflow: hidden;
}
.experiencias-container-harry {
    background-image: url('img/fondo-harry.png');
    padding: 40px 20px;
    overflow: hidden;
}

.experiencias {
    text-align: center;width: 1250px;max-width: 90%;margin: 0 auto;
}

.experiencias h2 {
    margin-bottom: 30px;
    text-transform: uppercase;
}

.experiencia-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.experiencia {
    background-color: white;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    flex: 1;
    text-align: center;
}

.experiencia img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s; /* Transiciones para suavizar el efecto */
}
.experiencia img:hover{
    transform: scale(1.05); /* Aumentar tamaño */
    filter: brightness(1.4);
}

.experiencia h3 {
    color: #2C0735;
    font-size: 22px;
    margin-bottom: 10px;
}

.experiencia p {
    color: #2C0735;
    font-size: 16px;
    line-height: 1.5;
}

.reseñas {
    text-align: center;
    width: 1250px;
    max-width: 90%;
    margin: 0 auto;
}

.google-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0;
}

.estrellas {
    color: gold; /* Color de las estrellas */
    font-size: 20px;
}

.logo-google {
    width: 20px;
    height: 20px;
    margin-left: 5px;
}

.reseñas-contenedor{
    background-color: #e5098e;
    padding: 50px 0px;
    overflow: hidden;
}

.reseñas-container {
    display: flex;
    justify-content: space-around;
    margin: 20px 0;
}

.reseña {
    background-color: white; /* Fondo blanco para las reseñas */
    color: #000; /* Texto en negro */
    border-radius: 10px;
    padding: 15px;
    width: 30%; /* Ancho de las reseñas */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); /* Sombra */
    position: relative; /* Para el "leer más" */
    overflow: hidden; /* Evitar desbordamientos */
}

.reseñas .perfil {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.reseñas h2{ color: #FFF; 
    text-transform: uppercase;}

.reseñas .foto-perfil {
    width: 40px;
    height: 40px;
    border-radius: 50%; /* Forma circular */
    margin-right: 10px;
}

.reseñas .nombre {
    font-weight: bold;
}

.reseñas .boton-leer-mas {
    background-color: #d43a97; /* Color del botón */
    color: white;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none; /* Sin subrayado */
    font-size: 12px; /* Tamaño de fuente más pequeño */
    position: absolute; /* Posicionar en la parte inferior */
    bottom: 10px;
    right: 10px;
}

.reseñas .boton-leer-todas {
    background-color: #fff; /* Color del botón */
    color: #000;
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-decoration: none; /* Sin subrayado */
    font-size: 12px; /* Tamaño de fuente más pequeño */
    position: relative; /* Posicionar en la parte inferior */
    margin-top: 25px;
}

.boton-leer-mas:hover {
    background-color: #2C0735; /* Color al pasar el ratón */
}
.total-reseñas{
    font-size: 0.75em; color: #FFF; margin-left: 10px;
}
.slider-container {
    text-align: center;
    width: 1250px;
    max-width: 90%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    background-color: #fff;
    display: flex;
    align-items: center;
}
.slider-contenedor{
    margin-top: 50px;
    text-align: center;
}

.slider-track {
    display: flex;
    transition: transform 0.4s ease;
}

.slide {
    flex: 0 0 300px;
    margin: 10px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    text-align: center;
}

.slide img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-bottom: 3px solid #d43a97;
}

.slide h3 {
    font-size: 1.2em;
    color: #2C0735;
    margin: 10px 0;
}

.slide .stars {
    color: gold;
    margin-bottom: 10px;
}

.slide p {
    font-size: 0.9em;
    color: #333;
    padding: 0 10px 15px;
}
.hoteles-estrella{
    width: 17px!important;
    height: 17px!important;
    border: none!important;
}

/* Estilos de las flechas de navegación */
.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2rem;
    color: #d43a97;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    outline: none;
    z-index: 10;
}

.arrow-left {
    left: 10px;
}

.arrow-right {
    right: 10px;
}
.menu_tablet_button{
    display: none;
}

/* TABLET */
@media (min-width: 768px) and (max-width: 1249px) {
    .contenedor-principal{
        width:95%;
        margin-top:50px
        }
        .contenedor-secundario-portada{
            width: 90%
        };
    .banner-sup{
        width: 95%;
    }
    .incluidopaquete, .incluidopaquete-universal, .incluidopaquete-harry, .incluidopaquete-otros{
        background-image:none;
    }
    .contenedor-secundario-menu{
        display: none;
    }
    .contenedor-menu{
        width: 100%
    }
     /* Botón de menú */
 .menu_tablet_button {
    background-color: #d43a97;
    border: none;
    border-radius: 10px;
    width: 125px;
    height: 45px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    float: right;
    margin: 25px 25px 0px 0px;
    font-size: 24px;
}

.menu_tablet_button img {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}
}

/* MOVIL */
@media (max-width:767px){
.contenedor-principal{
    width:95%;
    margin-top:50px
    }
    
    .contenedor-principal h1{
    font-size:2.5em
    }
    
    .paquetes{
    display:block;
    }
    
    .paquete{
    margin: 0px 0px 10px 0px;
    min-height:0px;
    width: 100%;
    border-radius: 10px;
    }
    
    .paquete .foto{
    margin:0px;
    background-position: center!important;
    min-height: 170px;
    border-radius: 10px;
    }
    
    .incluidopaquete,.incluidopaquete-universal,.incluidopaquete-harry,.incluidopaquete-otros{
    background-image:none;
    }
    
    .experiencias{
    width:100%;
    max-width:100%
    }
    
    .experiencia-grid{
    display:block
    }
    
    .experiencia{
    margin-bottom:10px;
    padding:7px
    }
    
    .visita-paris {
    margin:10px;
    text-align:center
    }
    
    .visita-paris p{
    width:100%;
    text-align:left
    }
    
    .reseñas-container{
    display:block;
    }
    .reseña{
    width:100%;
    }
    
    .reseña2,.reseña3{
    display:none;
    }
    
#container-faq .quest h3{
margin-left:30px;
    margin-top:-20px
}
    
    .mc-field-group{
    display:block!important;
    }
    
    .mc-field-group .description{
    max-width:100%
    }
}

/* MENU MOVIL */

 /* Botón de menú */
 .menu_movil_button {
    background-color: #d43a97;
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu_movil_button img {
    width: 24px;
    height: 24px;
}

/* Contenedor principal del menú */
.menu_movil_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    overflow-y: auto;
}

.menu_movil_container {
    background-color: #baf4fe;
    border-radius: 10px;
    padding: 20px;
    margin: 10px auto;
    width: calc(100% - 40px);
    max-width: 400px;
}

/* Opciones del menú */
.menu_movil_option a {
    display: block;
    text-decoration: none;
    color: #2C0735;
    background: white;
    padding: 12px;
    border-radius: 10px;
    width: 100%;
    margin-bottom: 5px;
    position: relative;
}

.menu_movil_icon {
    width: 35px;
    height: 35px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.menu_movil_icon img {
    width: 100%;
    height: auto;
}

.menu_movil_title {
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
    font-weight: bold;
    color: #2C0735;
}

/* Submenús */
.menu_movil_submenu {
    display: none;
    background: #2C0735;
    padding: 10px;
    border-radius: 10px;
    margin: 5px auto;
    width: 100%;
}

.menu_movil_option.active .menu_movil_submenu {
    display: block;
}

.menu_movil_submenu_title {
    font-size: 14px;
    font-weight: bold;
    color: white;
    margin-top: 5px;
    border-bottom:#baf4fe 1px solid;
}

.menu_movil_submenu_option a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    margin-top: 5px;
    background: #2C0735;
}

.menu_movil_submenu_option a:hover {
    background: #fff;
    color: #2C0735;
}

.menu_close_button {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    z-index:100
}
.oculto{
    display: none;
}
footer {
    background-color: #333;
    color: #fff;
    padding: 50px 5%;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
}

.footer-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

footer .social-icons {
    display: flex;
    gap: 10px;
    margin: auto;
}

footer .social-icons img {
    width:20px;
    filter: invert(100);
    height: auto;
}

footer .logo-pie img {
    width: 120px; /* Ajusta el tamaño del logo según sea necesario */
    margin: 20px auto;
}

footer .logo-pie {
    margin: auto;
}

.footer-note {
    font-size: 0.75em;
    color:#CCC;
}

.footer-links {
    display: flex;
    flex-direction: column;
    margin-left: 20px; /* Espaciado entre columnas */
}

.footer-links h4 {
    margin-bottom: 10px;
    font-size: 16px;
    text-transform: uppercase;
    font-family: 'Montserrat',Arial;
}

.footer-links ul {
    list-style: none;
    padding: 0;
}

.footer-links li {
    margin-bottom: 5px;
}

.footer-links a {
    color: #fff;
    text-decoration: none;
}

.footer-links a:hover {
    text-decoration: underline;
}
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column; /* Cambia a columna en pantallas pequeñas */
        align-items: center; /* Centra el contenido */
    }

    .footer-left {
        align-items: center; /* Centra la columna izquierda */
        margin-bottom: 20px; /* Espaciado inferior */
    }

    .footer-links {
        margin-left: 0; /* Elimina el margen izquierdo */
        margin-top: 15px; /* Espaciado entre secciones */
        text-align: center; /* Centra el texto */
    }

    .footer-links h4 {
        font-size: 14px; /* Tamaño de fuente más pequeño en móvil */
        border-bottom:#CCC 1px solid
    }

    .footer-note {
        font-size: 12px; /* Tamaño de fuente más pequeño para la nota */
    }
    .contenedor-principal h1, .contenedor-principal h2{ text-align: left;}
}
@media (max-width: 480px) {
    footer .logo.pie img {
        width: 80px; /* Tamaño más pequeño para el logo en pantallas pequeñas */
    }
}
@media (min-width: 1249px) {
    h1{ margin-left: 12px;}
}
/* =========================================
   ESTILOS DE LA CABECERA MODERNA "VIAJA:MAGIA"
   ========================================= */

/* Importar tipografía moderna (Poppins) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

.magical-header {
    font-family: 'Poppins', sans-serif;
    color: #333;
    background: linear-gradient(135deg, rgba(200, 230, 250, 1) 0%, rgba(255, 255, 255, 1) 40%);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border-radius: 0 0 20px 20px;
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* --- Barra Superior (Contacto y Área Privada) --- */
.magical-header .top-bar {
    background-color: #0b254a;
    color: white;
    padding: 6px 30px;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 0 0 10px 10px;
}

.magical-header .top-bar a {
    color: white;
    text-decoration: none;
    transition: color 0.3s;
}

.magical-header .top-bar a:hover {
    color: #db44a3;
}

.magical-header .contact-info {
    display: flex;
    align-items: center;
    gap: 10px;
}

.magical-header .top-cta-group {
    display: flex;
    gap: 12px;
}

.magical-header .btn-cta {
    padding: 4px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.5px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.magical-header .btn-travelers {
    background-color: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.magical-header .btn-travelers:hover {
    background-color: white;
    color: #0b254a;
}

.magical-header .btn-start {
    background-color: #db44a3;
    color: white;
}

.magical-header .btn-start:hover {
    background-color: #c93b91;
    color: #ffffff;
    box-shadow: 0 0 10px rgba(219, 68, 163, 0.4);
}

.magical-header .top-bar a.btn-start:hover {
    color: #ffffff;
}

/* --- Área de Navegación (Logo + Menú en la misma línea) --- */
.magical-header .nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 10px 30px;
    display: flex;
    justify-content: space-between; /* Logo izquierda, Menú derecha */
    align-items: center;
}

/* --- Ajuste estricto del Logo Horizontal --- */
.magical-header .logo-side {
    flex: 0 0 auto;
}

.magical-header .header-logo-horizontal {
    height: 55px; /* Altura ideal para logo horizontal */
    width: auto;
    display: block;
    object-fit: contain;
}

/* --- Menú de Navegación Lateral --- */
.magical-header .menu-side ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 20px;
}

.magical-header .mobile-menu-toggle,
.magical-header .mobile-menu-panel {
    display: none;
}

.magical-header .menu-side ul li {
    position: relative;
}

.magical-header .menu-side ul li > a {
    text-decoration: none;
    color: #0b254a;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 5px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.3s;
}

.magical-header .menu-side ul li > a:hover {
    color: #db44a3;
}

/* --- Flecha submenú --- */
.magical-header .arrow-down {
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 2px;
    transform: rotate(45deg);
    transition: transform 0.3s;
}

.magical-header .has-submenu:hover > a .arrow-down {
    transform: rotate(225deg);
}

/* --- Submenú (Dropdown) --- */
.magical-header .submenu {
    position: absolute;
    top: 100%;
    right: 0; /* Alineado a la derecha del elemento padre */
    background-color: white;
    min-width: 220px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    padding: 10px;
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

.magical-header .has-submenu:hover .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.magical-header .submenu ul {
    flex-direction: column;
    gap: 5px;
}

.magical-header .submenu ul li a {
    font-size: 13px;
    text-transform: none;
    padding: 8px 12px;
    border-radius: 8px;
    color: #555;
    width: 100%;
}

.magical-header .submenu ul li a:hover {
    background-color: #f1f7ff;
    color: #db44a3;
    padding-left: 15px;
}

/* --- Soporte Responsivo --- */
@media (max-width: 1100px) {
    .magical-header .nav-container {
        flex-direction: column; /* Se apila en pantallas medianas si el menú es muy largo */
        gap: 10px;
    }
}

@media (max-width: 768px) {
    .magical-header .menu-side {
        display: none; /* Ocultar menú en móvil (requeriría hamburguesa) */
    }
    .magical-header .top-bar {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .magical-header .nav-container {
        flex-direction: row;
        gap: 16px;
        padding: 12px 18px;
    }

    .magical-header .mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border: 1px solid rgba(11, 37, 74, 0.12);
        background: #fff;
        color: #0b254a;
        border-radius: 999px;
        padding: 10px 14px;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        box-shadow: 0 8px 20px rgba(11, 37, 74, 0.08);
    }

    .magical-header .mobile-menu-toggle-icon {
        position: relative;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transition: background-color 0.2s ease;
    }

    .magical-header .mobile-menu-toggle-icon::before,
    .magical-header .mobile-menu-toggle-icon::after {
        content: "";
        position: absolute;
        left: 0;
        width: 18px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transition: transform 0.2s ease;
    }

    .magical-header .mobile-menu-toggle-icon::before {
        top: -6px;
    }

    .magical-header .mobile-menu-toggle-icon::after {
        top: 6px;
    }

    .magical-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon {
        background: transparent;
    }

    .magical-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon::before {
        transform: translateY(6px) rotate(45deg);
    }

    .magical-header .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon::after {
        transform: translateY(-6px) rotate(-45deg);
    }

    .magical-header .mobile-menu-panel {
        display: block;
        margin: 0 18px 18px;
        padding: 14px;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(11, 37, 74, 0.08);
        border-radius: 18px;
        box-shadow: 0 18px 40px rgba(11, 37, 74, 0.12);
    }

    .magical-header .mobile-menu-panel[hidden] {
        display: none;
    }

    .magical-header .mobile-menu-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .magical-header .mobile-menu-item {
        margin: 0;
    }

    .magical-header .mobile-submenu-toggle,
    .magical-header .mobile-menu-link {
        width: 100%;
        border: 0;
        background: transparent;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 10px;
        color: #0b254a;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-align: left;
    }

    .magical-header .mobile-menu-link-main {
        display: inline-flex;
        align-items: center;
        gap: 10px;
    }

    .magical-header .mobile-menu-icon {
        width: 20px;
        height: 20px;
        object-fit: contain;
    }

    .magical-header .mobile-submenu-toggle .arrow-down {
        transform: rotate(45deg);
    }

    .magical-header .mobile-submenu-toggle[aria-expanded="true"] .arrow-down {
        transform: rotate(225deg);
    }

    .magical-header .mobile-submenu {
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 0 10px 10px;
    }

    .magical-header .mobile-submenu[hidden] {
        display: none;
    }

    .magical-header .mobile-submenu a {
        color: #4b5563;
        text-decoration: none;
        padding: 8px 0;
        font-size: 14px;
    }

    .magical-header .mobile-submenu a:hover {
        color: #db44a3;
    }
}

@media (max-width: 768px) {
    .magical-header {
        position: static;
        top: auto;
    }
}

.separador {
    display: flex;
    align-items: center;
    text-align: center;
}

.separador::before,
.separador::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #ccc;
}

.separador span {
    padding: 0 15px;
}
/* =========================================
   FOCO VISIBLE GLOBAL - Accesibilidad
   ========================================= */

/* Foco visible para todos los elementos interactivos */
:focus-visible {
    outline: 3px solid #db44a3 !important;
    outline-offset: 2px !important;
}

/* Específico para los inputs del formulario de presupuesto */
.input-magico:focus,
.input-magico:focus-visible {
    border-color: #db44a3 !important;
    outline: 3px solid rgba(219, 68, 163, 0.4) !important;
    outline-offset: 0 !important;
    background: #fffcfd !important;
    box-shadow: 0 0 0 4px rgba(219, 68, 163, 0.15) !important;
}
