@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
body {
    
    color: #090909 !important;
}

h4 {
    font-family: Arial, sans-serif !important;
    font-weight: 400 !important;
}

.popover-body {
    display: none;
}

.btn-primary:hover {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
}



.custom-list {
    list-style-type: none;
    padding-left: 20px;
}

.custom-list li:before {
    content: "➔";
    margin-right: 5px;
    color: #0071a7;
}

.row.mitad {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
}



.btn-booking:hover {
    background-color: #005f87;
}

@keyframes bounce {
    50%, 100% {
        transform: translateY(0);
    }
    0% {
        transform: translateY(-5px);
    }
}

.button-container {
    text-align: left;
 
}

.interactive-button {
    display: inline-block;
    width: calc(23.333% - 20px);
    margin: 30px;
    box-sizing: border-box;
    vertical-align: top;
    height: auto;
    border: solid 1px;
    border-color: rgb(85 88 88 / 28%);
    color: rgb(14 13 13 / 30%);
    text-align: left;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.3s;
    padding: 15px;
}



.interactive-button .name {
    font-size: 12px;
    line-height: 1.5;
    flex: 1;
}

.interactive-button:hover {
    background-color: #e9edee00;
    transform: scale(1.05);
}

.interactive-button.selected {
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgb(0 113 167 / 44%);
    z-index: 10;
    transform: scale(1.1);
}

.interactive-button .selected-icon {
    display:none !important;

}

.texto-cruiseonly {
    font-size: .8rem;
    line-height: 1.5;
    flex: 1;
    left: 15px;
}

.hidden-submit {
    display: none;
}

@media (max-width: 768px) {
    .interactive-button {
        flex: 0 1 calc(50% - 20px);
    }
}

@media (max-width: 768px) {
.interactive-button span {
    font-size: 1rem;
    line-height: 1.5;
    flex: 1;
    }
}



@media (max-width:640px){
    .button-container{
        display: flex;
        flex-direction: column;  /* En dispositivos grandes, los botones estarán uno debajo del otro */
        align-items: center;     /* Centra los botones */

    }
}

@media (max-width: 480px) {
    .interactive-button {
        flex: 0 1 calc(100% - 20px);
        margin-bottom: 20px;
        padding: 2px;
        width: 40%;
        height: 140px;
        margin: 5px;
    }
}


@media (max-width: 480px) {
    .texto-cruiseonly {
        font-size: 1rem;
        line-height: 1.5;
        flex: 1;
        left: 15px;
    }
}

@media (max-width: 480px) {
    .interactive-button .read-more-btn {
        font-size: 1rem !important;
        line-height: 1.5;
        flex: 1;
        margin-top: -10px !important;
    }
}



@media (max-width: 480px) {
    .interactive-button .read-more-btn1 {
        font-size: .6rem !important;
        line-height: 1.5;
        flex: 1;
    }
}

@media (min-width: 480px){
    .title{
        font-size: 1.8rem !important;
        padding-top: 10px;
    }
}

@media (max-width: 480px) {
.read-more-btn .read-more-btn1 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    margin-top: -15px;
    
    }
}


ul li {
    margin-bottom: .1px;
}


#overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.7);
    z-index: 9999;
}


#overlay .spinner-border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6rem;
    height: 6rem;
    border-width: 0.3em;
    border-radius: 50%;
    background-color: #17a2b8;
    animation: pulse 1.5s infinite;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

@keyframes pulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
    50% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0.5;
    }
}

.card-category {
    cursor: pointer;
    transition: transform 0.3s;
}

.card-category:hover {
    transform: scale(1.05);
}

.card-category .card-header {
    background-color: #0071a7;
    color: white;
    font-weight: bold;
}

.elemento-cabina img {
    width: 70%;
    border-radius: 10px;
    margin-bottom: 0px;
}

.elemento-cabina {
    margin-bottom: 0px;
}

.btn-booking {
    border-radius: 20px;
    padding: 5px 15px;
    margin-top: 10px;
    background-color: #0071a7;
    color: white;
    font-weight: bold;
}

.btn-booking:hover {
    background-color: #005f87;
}

.modal {
    display: none;
    position: fixed;
    z-index: 2000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}

.card {
    flex: 1 0 auto;
    width: 250px;
    margin: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    overflow: hidden;
    height: auto;
}

.card img {
    width: 100%;
    height: 150px;
}

.card-body {
    padding: 2px;
    padding-right: 2px;
    padding-top:0px;
    margin-top: 0;
}

.card-header {
    background-color: rgba(255, 255, 255, 0.8);
    color: white;
    font-weight: bold;
    padding: 5px;
    text-align: center;
}

@media (min-width: 768px) and (max-width: 990px) {
    .col-md-3 {
        flex: 0 0 calc(50.333% - 20px) !important;
        max-width: calc(50.333% - 20px) !important;
    }
}

@media (min-width: 991px) and (max-width: 1023px) {
    .col-md-3 {
        flex: 0 0 calc(30% - 10px) !important;
        max-width: calc(30% - 10px) !important;
    }
}

@media (min-width: 1024px) {
    .col-md-3 {
        flex: 0 0 calc(10% - 10px) !important;
        max-width: calc(100% - 20px) !important;
    }
}

@media (max-width: 1200px) {
    .card {
        flex: 1 1 calc(10% - 25px);
        max-width: calc(100% - 25px);
    }
}

@media (max-width:480px){
    .price-package{
        padding-top: 1px;
        color: rgb(14 13 13 / 30%) !important;
        font-size: 1.3rem !important;
        position:float;
        margin-left: 15px !important;
        padding-bottom: 0px !important;
    }
}
 
@media (max-width:480px){
    .fa-classic, .fa-regular, .fa-solid, .far, .fas {
        font-family: "Font Awesome 6 Free";
        font-size: 1rem !important;
    }
}

@media (max-width:480px){
    .custom-icon1{
        font-family: "Font Awesome 6 Free";
        font-size: 2.5rem !important;
    }
}

.row.mitad {
    display: flex;
    flex-wrap: wrap;
}


.price-package{
    padding-top: 1px;
    color: rgb(14 13 13 / 30%) !important;
    font-size: 2.0rem;
    position:float;
    margin-left: 8px !important;
    padding-bottom: 0px !important;
}

.text1{
    padding-top: 0px !important;
    font-size: .6rem !important;
    margin-left: 12px !important;
}


.text2{
    padding-top: 0px !important;
    font-size: .6rem !important;
    margin-left: 5px !important;
}


.read-more-btn{
    padding-top: 20px;
    padding-bottom: 0px !important;
    
}







.form-control:focus {
    color: #090909;
    background-color: #fff;
    
    box-shadow: 0 0 0 .25rem rgba(255, 255, 255, 0) !important; 
}













.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-left: -1px;

    border-radius: 10px;
    }
    
    
    .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-radius: 40px;
    }
    
    .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), .input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3) {
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-radius: 40px;
    }
    
    #decrement-adultos{
    position:absolute !important;
    border:none !important;
    top: 1%;
    right: 5px;
    font-size: 24px !important;
    }
    
    #increment-adultos{
    position:absolute !important;
    border:none !important;
    top: 7%;
    right: 25px;
    font-size: 24px !important;
    }
    
    .form-control{
        padding: .675rem .95rem !important;
    }
    
    
    
    
    .dropdown-button{
    position:absolute !important;
    border:none !important;
    top: 1%;
    right: 5px;
    font-size: 24px !important;
    }
    
    
    
    
    #decrement-ninos{
    position:absolute !important;
    border:none !important;
    top: 1%;
    right: 5px;
    font-size: 24px !important;
    }
    
    #increment-ninos{
    position:absolute !important;
    border:none !important;
    top: 7%;
    right: 25px;
    font-size: 24px !important;
    }


    .btn-outline-secondary:hover {
        color: #e98411c9;
        background-color: #ffffff00; 
        border-color: #fcfcfc00 !important;
    }


    .btn-check:focus+.btn-outline-secondary, .btn-outline-secondary:focus {
         box-shadow: 0 0 0 .25rem rgba(255, 255, 255, 0) !important; 
    }
    .btn-check:focus+.btn, .btn:focus {
        outline: 0;
        box-shadow: 0 0 0 .25rem rgba(255, 255, 255, 0) !important;
    }


    
    







    /* Estilo para la vista de escritorio */
@media (min-width: 768px) {
    .mitad .form .row {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .mitad .form .row .col-md-5 {
        display: flex;
        flex-direction: column;
    }

    .mitad .form .row .col-md-2 {
        margin-left: auto; /* Empuja el botón a la derecha */
        position: relative;
    }

    /* Botón en el margen derecho del contenedor */
    #apply-button {
        width: 120px; /* Ajusta el tamaño si es necesario */
        margin-left: 15px; /* Espacio entre el botón y los inputs */
        margin-top: 0; /* Elimina el espacio superior */
    }
}

/* Estilo para la vista móvil */
@media (max-width: 767px) {
    .mitad .form .row {
        display: block; /* Apilar los elementos en columna */
    }

    .mitad .form .row .col-md-2 {
        margin-top: 20px; /* Espacio entre los inputs y el botón */
        width: 100%; /* Hace que el botón ocupe el ancho completo */
        text-align: center; /* Centra el botón debajo de los inputs */
    }

    /* Ajusta el tamaño del botón para móvil */
    #apply-button {
        width: 100%; /* Hace que el botón ocupe todo el ancho en móvil */
        margin-top: 15px; /* Espacio superior en móvil */
    }
}


.container-options{
    
    margin-top: 1px; 
    
    width: 100%;
}


/* Opcional: agrega una transición suave para abrir/cerrar */
#form-container {
    transition: max-height 0.3s ease-in-out;
    overflow: hidden;
    padding: 10 10px;
}

#child-ages {
    margin-top: 20px;
}

/* Puedes agregar un estilo para el botón de despliegue */
#toggle-form {
    color: #007bff;
    border: none;
    cursor: pointer;
    background-color: #f8f8f800;
}

#toggle-form:hover {
    color: #2a4a6d;
}



/* Estilo del botón de toggle */
.toggle-button {
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: all 0.3s ease-in-out;
}

.toggle-button span {
    margin-right: 8px;
    transition: transform 0.3s ease-in-out;
}

/* Estilo para cuando el icono esté rotado */
.toggle-button.open span {
    transform: rotate(90deg); /* Gira el triángulo */
}

#form-container {
    transition: all 0.3s ease-in-out;
}




.tour-360 {
    position: absolute; 
    top: 0; 
    right: 0; 
    margin: 0; 
}

.d-flex {
    position: relative; 
}





@media (max-width: 480px) {
    .tour-360 {
        font-size: .8rem;
    }
}


@media (max-width: 480px) {
    .tour-360 svg {
        width: 28px;
        height: 28px;
    }
}








.sold-out-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background-color: #ffe6e6;
    border: 2px solid #ff4c4c;
    border-radius: 10px;
    color: #ff4c4c;
    text-align: center;
    font-family: Arial, sans-serif;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    width: 100%;
    max-width: 700px;
    margin: auto;
}

.sold-out-message {
    padding-top: 1px;
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.sold-out-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 2px solid #ff4c4c;
    border-radius: 12px;
    padding: 20px;
    background-color: #ffe6e6;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.sold-out-icon-inner {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sold-out-icon i {
    font-size: 4rem;
    color: #ff4c4c;
    margin-right: 12px;
}

.sold-out-icon span {
    font-size: 2.5rem;
    color: #ff4c4c;
    font-weight: bold;
}



.close-button {
    position: absolute;
    bottom: 20px;  /* Pegado al borde inferior */
    right: 20px;   /* Pegado al borde derecho */
    padding: 10px 20px;
    background-color: #ff4c4c;
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.close-button:hover {
    background-color: #e04343;
}





.icon-eye {
    position: absolute;  /* Asegúrate de que el icono esté posicionado sobre la imagen */
    font-size: 1.5rem;  /* Tamaño adecuado para el icono */
    color: #ffffffcc;  /* Color blanco para el ícono */
    background-color: rgba(0, 0, 0, 0.5);  /* Fondo gris semitransparente */
    padding: 10px;  /* Relleno alrededor del icono */
    border-radius: 50%;  /* Hace que el fondo sea redondo */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);  /* Sombra para darle profundidad */
    transition: transform 0.3s ease;  /* Animación para dar efecto al pasar el mouse */
    opacity:1;
    top: 20%;
    left: 40%;
}






.icon-eye:hover {
    color: rgb(145, 189, 255); 
    opacity: 1;
}

.icon-eye:hover {
    text-shadow: 0px 0px 10px rgb(145, 189, 255); 
}




@media (max-width: 480px) {
    .icon-eye {
        position: absolute;  /* Asegúrate de que el icono esté posicionado sobre la imagen */
        font-size: 1.5rem !important;  /* Tamaño adecuado para el icono */
        color: #ffffffcc;  /* Color blanco para el ícono */
        background-color: rgba(0, 0, 0, 0.5);  /* Fondo gris semitransparente */
        padding: 10px;  /* Relleno alrededor del icono */
        border-radius: 50%;  /* Hace que el fondo sea redondo */
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);  /* Sombra para darle profundidad */
        transition: transform 0.3s ease;  /* Animación para dar efecto al pasar el mouse */
        opacity:1;
        top: 20%;
        left: 45%;
    }
    
    /* Mostrar el ícono cuando el usuario pasa el mouse sobre la imagen */
    }



   /* Cards paquetes - Versión responsive y más pequeña */



.text-shadow-light {
    color: #ffffff;
    text-shadow: 2px 2px 4px rgba(43, 44, 39, 0.603);
    padding-top: 25px;
}

/* Imagen más pequeña y adaptable */



.form-card{
    width: 100% !important;
}


.mitad-chose {
    width: 65%;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0.966);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    margin-top: 10px !important;
    margin: 0 auto;
}


@media (max-width: 480px) {
    .mitad-chose {
        width: 100%;
        padding: 10px;
        box-sizing: border-box;
        border-radius: 10px;
        background-color: rgba(255, 255, 255, 0.966);
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        margin-top: 10px !important;
        margin: 0 auto;
    }
}

.select:hover {
    transform: scale(1.01);
    transition: all 0.3s ease;
    border-radius: 10px;
    color: rgb(0, 140, 255) !important;
}


.bg-primary1{
    background-color: #ffffff00 !important;
}




.wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    flex-wrap: wrap; /* por si el texto es largo en móvil */
  }
  
  .wrapper strong {
    flex-grow: 1;
  }
  
  .wrapper .price-text {
    margin-left: auto;
    font-weight: bold;
    color: #198754;
  }