/** Estilos cargando **/


/* HTML: <div class="loader"></div> */

.loader {
    --c1: #000000;
    --c2: #6dcbdb;
    width: 40px;
    height: 80px;
    border-top: 4px solid var(--c1);
    border-bottom: 4px solid var(--c1);
    background: linear-gradient(90deg, var(--c1) 2px, var(--c2) 0 5px, var(--c1) 0) 50%/7px 8px no-repeat;
    display: grid;
    overflow: hidden;
    animation: l5-0 2s infinite linear;
    /* Nuevas propiedades para centrar */
    position: fixed;
    /* Posiciona el spinner respecto a la ventana del navegador */
    top: 50%;
    /* Mueve el spinner al 50% de la altura de la página */
    left: 50%;
    /* Mueve el spinner al 50% del ancho de la página */
    z-index: 9999;
    /* Asegura que el spinner esté encima de otros elementos */
}

.loader::before,
.loader::after {
    content: "";
    grid-area: 1/1;
    width: 75%;
    height: calc(50% - 4px);
    margin: 0 auto;
    border: 2px solid var(--c1);
    border-top: 0;
    box-sizing: content-box;
    border-radius: 0 0 40% 40%;
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    background: linear-gradient(var(--d, 0deg), var(--c2) 50%, #0000 0) bottom /100% 205%, linear-gradient(var(--c2) 0 0) center/0 100%;
    background-repeat: no-repeat;
    animation: inherit;
    animation-name: l5-1;
}

.loader::after {
    transform-origin: 50% calc(100% + 2px);
    transform: scaleY(-1);
    --s: 3px;
    --d: 180deg;
}

@keyframes l5-0 {
    80% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(0.5turn)
    }
}

@keyframes l5-1 {
    10%,
    70% {
        background-size: 100% 205%, var(--s, 0) 100%
    }
    70%,
    100% {
        background-position: top, center
    }
}

.content-wrapper {
    background: rgba(249, 250, 251, 0.5) !important;
}

.nav-item-custom {
    display: flex;
    /* Convierte el contenedor en un contenedor flex */
    align-items: center;
    /* Alinea verticalmente al centro */
    justify-content: center;
    /* Opcional: centra horizontalmente si es necesario */
    height: 100%;
    /* Asegúrate de que el contenedor tenga una altura definida */
}

.nav-link-custom {
    font-size: 14px;
    color: black;
    font-family: sans-serif;
    font-weight: bold;
    /* Cambiar 'font-width' por 'font-weight' */
    text-decoration: none;
    /* Opcional: elimina subrayado */
}

.nav-title {
    font-size: 1.5rem !important;
    text-decoration: underline !important;
}


/** Estilos sidebar **/

#app-sidebar>div {
    height: 100%;
    /* Asegúrate de que la barra lateral ocupe el 100% de la altura */
    background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
    --tw-gradient-from: #11306d;
    /* Color inicial */
    --tw-gradient-to: rgb(17 48 109 / 0);
    /* Color final con transparencia */
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #6dcbdb;
    /* Color adicional al final */
}

.sidebar {
    display: flex;
    flex-direction: column;
    height: 100%;
    /* Asegúrate de que la barra lateral ocupe el 100% de la altura */
}

.sidebar a {
    color: white !important;
}

.sidebar .logout-link {
    margin-top: auto;
    /* Empuja el enlace hacia el fondo */
    margin-bottom: 20px;
    color: white !important;
    /* Personaliza el color */
    text-align: center;
    /* Centra el texto */
    text-decoration: none;
    font-size: 16px;
    font-family: sans-serif;
    padding: 10px 0px !important;
}

.sidebar .logout-link:hover {
    background-color: #f4f4f5;
    /* Fondo al pasar el mouse */
    color: #18181b !important;
    /* Texto al pasar el mouse */
    border-radius: 8px;
    /* Bordes redondeados */
    transition: all 0.3s ease;
    /* Animación suave */
    padding: 10px 0px !important;
    /* Espaciado interno opcional */
}

.cont-logo {
    text-align: center;
    width: 100%;
}

.cont-logo img {
    max-width: 90%;
    margin-top: 20px;
    margin-bottom: 20px;
}

.navbar-list {
    width: 100%;
    color: #FFFFFF !important;
    border: 0px;
}

.navbar-list:hover {
    width: 100%;
    /* Asegura que el ancho se mantenga al 100% */
    color: #18181b !important;
    /* Forzar el color del texto a blanco */
    border: none;
    /* Elimina el borde (equivalente a 0px) */
    background-color: #6dcbdb;
    /* Fondo transparente */
    transition: all 0.3s ease;
    /* Agrega una animación suave para los cambios */
}

.nav-sidebar>.nav-item.menu-open>.nav-link,
[class*=sidebar-light-] .nav-sidebar>.nav-item:hover>.nav-link {
    background-color: #11306d !important;
    color: #FFFFFF !important;
    width: 100% !important;
}

.nav-treeview {
    >.nav-item {
        >.nav-link {
            color: white !important;
            cursor: pointer !important;
            >.nav-icon {
                color: white !important;
            }
        }
        >.nav-link.active {
            &,
            &:hover {
                background-color: #11306d !important;
                /* Fondo al pasar el mouse */
                color: #FFFFFF !important;
                /* Texto al pasar el mouse */
                border-radius: 8px !important;
                /* Bordes redondeados */
                transition: all 0.3s ease !important;
                /* Animación suave */
            }
        }
        >.nav-link:hover {
            background-color: #11306d !important;
            /* Fondo al pasar el mouse */
            color: #FFFFFF !important;
            /* Texto al pasar el mouse */
            transition: all 0.3s ease !important;
            /* Animación suave */
            >.nav-icon {
                color: #FFFFFF !important;
            }
        }
    }
}

.title-nav {
    font-size: 18px;
    font-weight: bold;
    text-decoration: underline;
}

.item-counter {
    padding-left: 10px !important;
    font-size: 14px !important;
}


/* Estilos para las tablas **/


/* Contenedor de la tabla */

.datagrid {
    margin: 30px 0;
    font-family: Arial, sans-serif;
    background-color: #f9f9f9;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}


/* Tabla general */

.table-responsive table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}


/* Encabezados */

.table-responsive thead th {
    background-color: #11306d;
    color: white;
    padding: 6px 12px;
    font-size: 14px;
    font-family: sans-serif !important;
    #text-transform: uppercase;
}


/* Filas */

.table-responsive tbody tr {
    transition: background-color 0.3s ease;
    background-color: white;
}

.table-responsive tbody tr:nth-child(even) {
    background-color: #f4f4f5;
}

.table-responsive tbody tr:nth-child(odd) {
    background-color: #fff;
}

.table-responsive tbody tr:hover {
    background-color: #dce4f0;
}


/* Celdas */

.table-responsive td,
.table-responsive th {
    padding: 10px 12px;
    /**border-bottom: 1px solid #ddd;**/
    font-size: 12px;
    white-space: nowrap;
}


/* Contenedor general del pie de la tabla */

.datagrid table tfoot td div {
    text-align: left;
    margin: 10px;
}


/* Celda del pie de la tabla */


/* Celda del pie de la tabla */

.datagrid table tfoot td {
    padding: 0;
    font-size: 12px;
    /* Tamaño de texto pequeño */
    white-space: nowrap;
    /* Evita que los elementos se ajusten en varias líneas */
}


/* Lista de la paginación */

.datagrid table tfoot td ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
    /* Alineación hacia la derecha */
    display: inline-block;
    /* Centra el contenido si se requiere */
    overflow-x: auto;
    /* Habilita el desplazamiento horizontal */
}


/* Elementos individuales de la lista */

.datagrid table tfoot li {
    display: inline;
}


/* Enlaces de la paginación */

.datagrid table tfoot li a {
    text-decoration: none;
    display: inline-block;
    padding: 4px 8px;
    /* Reduce el tamaño del botón */
    margin: 1px;
    /* Menos espacio entre botones */
    color: white !important;
    /* Texto gris oscuro */
    border: 1px solid #11306d;
    /* Borde gris claro */
    border-radius: 3px;
    /* Bordes ligeramente redondeados */
    background-color: #11306d;
    /* Fondo gris claro */
    font-weight: bold;
    /* Mantiene el texto destacado */
    font-size: 12px;
    /* Tamaño de fuente reducido */
    transition: all 0.3s ease;
    /* Animación suave para interacción */
    cursor: pointer !important;
}


/* Enlace activo */

.datagrid table tfoot li a.active {
    background-color: white;
    /* Fondo gris medio */
    color: #11306d !important;
    /* Texto gris oscuro */
    border-color: #11306d;
    /* Borde gris */
    pointer-events: none;
    /* Desactiva la interacción */
}


/* Hover en enlaces */

.datagrid table tfoot li a:hover {
    color: #11306d !important;
    /* Texto blanco */
    background-color: white;
    /* Gris oscuro para hover */
    border-color: #11306d;
    /* Borde del mismo gris oscuro */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* Sombra sutil */
}


/* Botones */

.btn-action-new {
    #background-color: #e9ecef !important;
    #border: 1px solid #e9ecef !important;
    font-weight: 500;
    color: #343a40 !important;
    font-size: 12px !important;
    padding: 2px 6px !important;
    width: 100%;
}

.btn-action-new:hover {
    background-color: #6dcbdb !important;
    border: 1px solid #6dcbdb !important;
    color: black !important;
    padding: 2px 6px !important;
    border-radius: 0px !important;
    text-decoration: underline !important;
}


/** Estilos pill de stage y status **/

.pill {
    font-size: 12px;
    font-weight: 500;
    border-radius: 9999px;
    padding: 2px 12px;
    display: inline-block;
    border: 1px solid transparent;
    /* Default border */
}


/* Draft: Gris neutro */

.pill-draft {
    background-color: #E0E0E0;
    color: #757575;
}


/* Prebooking: Azul claro */

.pill-prebooking {
    background-color: #BBDEFB;
    color: #1565C0;
}


/* Payment: Naranja */

.pill-payment {
    background-color: #FFE0B2;
    color: #F57C00;
}


/* Booking: Verde claro */

.pill-booking {
    background-color: #C8E6C9;
    color: #388E3C;
}


/* Completed: Verde intenso */

.pill-completed {
    background-color: #E8F5E9;
    color: #1B5E20;
}


/* Failed: Rojo */

.pill-failed {
    background-color: #FFEBEE;
    color: #D32F2F;
}


/* Cancelled: Gris oscuro */

.pill-cancelled {
    background-color: #ECEFF1;
    color: #37474F;
}


/* Contracting: Amarillo */

.pill-contracting {
    background-color: #FFF59D;
    /* Amarillo más suave */
    color: #795548;
    /* Marrón oscuro para mayor contraste */
}


/* Estado INIT: Neutro inicial */

.pill-init {
    background-color: #E3F2FD;
    /* Azul muy claro */
    color: #1E88E5;
    /* Azul mediano */
}


/* Estado EDIT: Amarillo claro */

.pill-edit {
    background-color: #FFF59D;
    /* Amarillo suave */
    color: #795548;
    /* Marrón oscuro para un mejor contraste */
}


/* Estado PENDING: Naranja */

.pill-pending {
    background-color: #FFE0B2;
    /* Naranja claro */
    color: #FB8C00;
    /* Naranja oscuro */
}


/* Estado INPROCESING: Verde intermedio */

.pill-inprocessing {
    background-color: #C8E6C9;
    /* Verde claro */
    color: #388E3C;
    /* Verde intenso */
}


/* Estado IN_PROCESS: Verde más oscuro */

.pill-in_process {
    background-color: #A5D6A7;
    /* Verde suave */
    color: #1B5E20;
    /* Verde oscuro */
}


/* Estado FAILED: Rojo */

.pill-failed {
    background-color: #FFEBEE;
    /* Rojo claro */
    color: #D32F2F;
    /* Rojo intenso */
}


/* Estado PENDING_GET_ALL_CONTRACTS: Azul oscuro */

.pill-pending_get_all_contracts {
    background-color: #E3F2FD;
    /* Azul claro */
    color: #0D47A1;
    /* Azul muy oscuro */
}


/* Estado PENDING_NO_GET_PACKAGES: Rojo anaranjado */

.pill-pending_no_get_packages {
    background-color: #FFCCBC;
    /* Anaranjado claro */
    color: #E64A19;
    /* Anaranjado oscuro */
}


/* Estado BOOKING_FAILED_BOT: Rojo fuerte */

.pill-booking_failed_bot {
    background-color: #FFCDD2;
    /* Rojo claro */
    color: #B71C1C;
    /* Rojo oscuro */
}


/* Estado DONE: Verde brillante */

.pill-done {
    background-color: #C8E6C9;
    /* Verde claro */
    color: #2E7D32;
    /* Verde brillante */
}


/* Estado NONE: Gris claro */

.pill-none {
    background-color: #ECEFF1;
    /* Gris claro */
    color: #546E7A;
    /* Gris oscuro */
}


/* Estado PREBOOKING_CONFIRMED: Azul claro */

.pill-prebooking_confirmed {
    background-color: #BBDEFB;
    /* Azul claro */
    color: #1976D2;
    /* Azul medio */
}


/* Estado BOOKING_CONFIRMED: Azul intenso */

.pill-booking_confirmed {
    background-color: #B3E5FC;
    /* Azul muy claro */
    color: #0288D1;
    /* Azul profundo */
}

.pill_channel{
    background-color: #11306D;
    /* Azul muy claro */
    color: #FFFFFF;
}


/* Pill para mostrar la versión en negro */

.pill-version {
    font-size: 12px;
    font-weight: 500;
    border-radius: 9999px;
    padding: 2px 12px;
    background-color: #212121;
    /* Negro oscuro */
    color: #FFFFFF;
    /* Texto blanco para contraste */
    display: inline-block;
    text-transform: uppercase;
    /* Todo en mayúsculas para destacar */
    border: 1px solid #424242;
    /* Borde gris oscuro para definición */
}


/** Estilos para el formulario de filtros de los listados */

.btn-custom-secondary {
    background-color: #6dcbdb !important;
    border-color: #6dcbdb;
    color: black !important;
}

.btn-custom-secondary:hover {
    background-color: #f4f4f5 !important;
    border-color: #f4f4f5;
    color: #18181b !important;
}

.btn-custom-secondary.copy {
    font-size: 0.75rem !important;
    width: 25px !important;
    height: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.titulo {
    text-align: center;
    font-size: 30px;
    margin-top: 20px;
    margin-bottom: 20px;
    color: red;
}


/** Estilos oceanflight **/

body {
    font-family: sans-serif !important;
    color: #3a3434 !important;
}

.row {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    margin-right: -7.5px !important;
    margin-left: -7.5px !important;
}

.card {
    border: 0px solid rgba(0, 0, 0, .125) !important;
}

.navbar-sup {
    background-color: white !important;
    max-height: 45px;
    border-bottom: none !important;
}

.nav-link-sub {
    color: black !important;
    font-weight: 700;
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.badge-count-item i {
    color: #11306D !important;
}

.font-footer {
    font-size: 12px;
    a {
        color: #4a4a4a !important;
    }
}

.badge {
    display: inline-block;
    padding: 0.25em 0.6em;
    font-size: 80% !important;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.375rem;
    background-color: #2ECC71;
    /* color de fondo */
    color: white;
    /* color del texto */
}


/** icons **/

.icon-custom {
    font-size: 16px !important;
}


/** estilos listados **/

.title-dashboard {
    font-weight: bold;
    font-size: 16px;
    font-family: 'Roboto', sans-serif !important;
    color: #4a4a4a !important;
}

.active {
    background-color: #fff !important;
    color: #4a4a4a !important;
}

.btn-action {
    background-color: #11306D !important;
    border: 1px solid #11306D !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    padding: 2px 12px !important;
    width: 100%;
}

.btn-action:hover {
    background-color: white !important;
    border: 1px solid #11306D !important;
    color: #11306D !important;
    font-weight: bold;
    font-size: 10px !important;
    padding: 2px 12px !important;
}


/** estados de los diferentes elementos del listado **/


/** Estilos etiquetas de stages**/

.version-tag {
    background-color: black !important;
    color: white !important;
}


/** estilos de los filtros**/

.modal-content {
    min-height: 200px;
}

.custom-modal-body {
    min-height: 40vh;
    /* 50% de la altura de la ventana del navegador */
}

.btn-action-filter {
    background-color: #11306D !important;
    border: 1px solid #11306D !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-action-filter:hover {
    background-color: white !important;
    border: 1px solid #11306D !important;
    color: #11306D !important;
    font-weight: bold;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-filter-delete {
    font-size: 14px !important;
}

.cont-filters {
    font-size: 14px !important;
}

.lbl-filter {
    font-size: inherit;
}

.select-filter {
    font-size: inherit;
}

#clearFilters {
    font-size: inherit;
}

#searchButton {
    font-size: inherit;
}

.clear_filters {
    font-size: 14px !important;
}

.input-smaller {
    height: 32px !important;
}


/** estilos de los links en los listados de drafts **/

.link-draft {
    color: #4a4a4a !important;
}

.link-draft:hover {
    color: black !important;
}


/** Interfaz Login**/

.body-login {
    background-image: url("{% static 'images/aeropuerto.webp' %}");
    /* Ruta a tu imagen de fondo */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.logo-login {
    font-family: 'Arial', sans-serif;
    /* Esta es una fuente común, pero puedes elegir cualquier otra */
    font-size: 24px;
    /* Ajusta el tamaño de la fuente a tu preferencia */
    color: black;
    /* Establece el color del texto a negro */
    font-weight: bold;
    /* Hace que el texto sea más grueso */
    text-transform: uppercase;
    /* Opcional: transforma el texto a mayúsculas para un efecto de logo */
    letter-spacing: 2px;
    /* Opcional: aumenta el espaciado entre letras */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    /* Sombreado gris */
}

.btn-login {
    background-color: #11306D !important;
    color: #ffffff !important;
}

.btn-login:hover {
    background-color: #ffffff !important;
    color: #11306D !important;
    border: 1px solid #11306D !important;
    font-weight: bold !important;
}


/** detail package**/

.title-detail {
    font-size: 60px !important;
}

#toastsContainerTopRight {
    margin-top: 50px !important;
}

.cont-detail {
    overflow: hidden;
    padding: 20px;
}

.cont-detail-title h1 {
    font-size: 32px;
    color: #3a3434;
    font-weight: bold;
}


/** Estilos botones del modal edit**/

.btn-action-edit-cancel {
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-action-edit-cancel:hover {
    background-color: white !important;
    border: 1px solid black !important;
    color: black !important;
    font-weight: bold;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-action-edit-book {
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-action-edit-book:hover {
    background-color: white !important;
    border: 1px solid black !important;
    color: black !important;
    font-weight: bold;
    font-size: 14px !important;
    padding: 4px 12px !important;
}


/** estilos de los botones de acción del detalle **/

.cont-btn-details {
    text-align: end;
}

.modal-body-detail {
    max-height: calc(100vh - 210px);
    /* 100vh es el 100% de la altura de la ventana de visualización */
    overflow-y: auto;
    /* Habilita el desplazamiento vertical si el contenido es más alto que max-height */
}


/* Estilo general para la barra de desplazamiento */

.modal-body::-webkit-scrollbar {
    width: 8px;
    /* ancho de la barra de desplazamiento vertical */
    height: 8px;
    /* altura de la barra de desplazamiento horizontal */
}


/* Handle (la parte que se desplaza de la barra) */

.modal-body::-webkit-scrollbar-thumb {
    background-color: darkgrey;
    /* color del handle */
    border-radius: 0;
    /* redondeo de las esquinas del handle */
    border: 2px solid transparent;
    /* opcional: borde transparente para un efecto de "padding" dentro de la barra */
    background-clip: content-box;
    /* asegura que el 'padding' (espacio) no sea coloreado */
}


/* Track (la pista por donde se desplaza el handle) */

.modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    /* color de fondo de la pista */
    border-radius: 0;
    /* redondeo de las esquinas de la pista */
    box-shadow: inset 0 0 5px grey;
    /* sombra interior para dar profundidad */
}


/* Handle en hover */

.modal-body::-webkit-scrollbar-thumb:hover {
    background-color: #a0a0a0;
    /* color del handle al pasar el mouse */
}

.label-info-draft {
    font-size: 12px;
    font-weight: bold;
    border-radius: 2px;
    text-align: center;
    padding: 2px 6px;
    color: #E6B800;
}


/** estados de los diferentes elementos del listado **/

.label-status-detail {
    font-size: 10px;
    font-weight: bold;
    border-radius: 2px;
    text-align: center;
    padding: 2px 6px;
    color: black;
}

.cont-detail-actions {
    text-align: end;
}

.link-back a {
    color: #3a3434 !important;
    font-weight: bold;
    font-size: 16px;
}

.link-back a:hover {
    color: black !important;
    font-weight: bold;
    font-size: 12px;
}

.field-detail {
    font-size: 15px;
    font-weight: 500;
    color: #3a3434;
    margin-top: 10px;
    text-transform: uppercase;
    font-family: sans-serif;
}

.field-value {
    font-weight: 600;
    /*background-color: #f9f9f9;*/
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    margin-top: 5px;
    color: #3a3434;
    font-family: sans-serif;
}

.field-value.highlight {
    background-color: #ffeb3b;
}

.btn-tool {
    color: black !important;
}

.cont-section-detail {
    width: 90% !important;
}

.row-detail {
    padding: 0px 16px !important;
    font-size: 16px !important;
    display: flex !important;
    min-height: 30px !important;
    /* La altura mínima que desees */
}

.item-detail-list {
    background-color: #11306D !important;
    border: 0px;
}

.card {
    border-bottom: 1px solid !important;
    border-radius: 0px !important;
    box-shadow: none !important;
}

.card-header {
    border-bottom: 0px !important;
    padding: 10px !important;
    background-color: transparent !important;
}

.card-header-segment {
    background-color: #6dcbdb !important;
    color: #000000;
    !important;
    font-size: 16px !important;
}

.btn-detail-desplegar {
    padding: 0px !important;
    color: #3a3434 !important;
    font-size: 1.5rem !important;
}


/** Estilos de los vuelos **/


/* Estilos base para los tabs */

.nav-link-flights {
    color: #555 !important;
    /* Color del texto de los tabs */
    background-color: #f8f9fa !important;
    /* Color de fondo de los tabs */
    border: 1px solid #dee2e6 !important;
    /* Borde de los tabs */
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out !important;
    /* Transición suave */
}


/* Cambia el color de fondo y del texto para el tab activo */

.nav-link-flights.active,
.nav-link-flights:hover {
    color: white !important;
    /* Color del texto del tab activo */
    background-color: #4a4a4a !important;
    /* Color de fondo del tab activo */
    border-color: #4a4a4a !important;
    /* Color del borde del tab activo */
}


/* Estilos para los iconos de FontAwesome dentro de los tabs */

.nav-link-flights i {
    margin-right: 5px !important;
    /* Espacio a la derecha del icono */
}


/* Ajustes para cuando el tab está activo */

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #000000 !important;
    font-size: 16px !important;
    background-color: #6dcbdb !important;
    border-color: #6dcbdb #6dcbdb #fff !important;
}

.card-segments {
    box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !important;
    border-bottom: 0px !important;
}

.card-segments h3 {
    font-size: 16px !important;
}

.card-segments>.card-header {
    border-bottom: 1px #4a4a4a2b solid !important;
    h3 {
        font-size: 16px !important;
    }
}

.card-header-lef {
    text-align: left !important;
}

.card-header-right {
    text-align: end !important;
    img {
        width: 150px;
    }
}

.img-airline {
    width: 100px;
    margin-bottom: 10px;
}

.total-flight-amount {
    font-size: 10px !important;
}

.card-header-luggages {
    background: #40798C !important;
    color: #FFFFFF;
}

.card-header-included {
    background: #D4AF37 !important;
    color: black;
}


/** Estilos detalle de hotel **/

.card-reservation-service {
    box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !important;
    border-bottom: 0px !important;
}

.card-reservation-header {
    background: #dcd0c0 !important;
}

.card-room {
    box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !important;
    border-bottom: 0px !important;
}

.card-room h3 {
    font-size: 12px !important;
    padding: 2px 8px !important;
    margin-bottom: 0px !important;
}

.card-room>.card-header {
    padding: 8px !important;
    h3 {
        font-size: 14px !important;
        font-weight: bold;
    }
}

.card-reservation-service h3 {
    font-size: 12px !important;
    padding: 2px 8px !important;
    margin-bottom: 0px !important;
}

.card-reservation-service>.card-header {
    padding: 8px !important;
    h3 {
        font-size: 14px !important;
        font-weight: bold;
    }
}

.card-header-service {
    background: #D5C7B9 !important;
    color: black;
    text-transform: capitalize;
    font-weight: bold;
}


/** pasdsengers **/

.card-passengers {
    box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2) !important;
    border-bottom: 0px !important;
}

.card-passengers h3 {
    font-size: 14px !important;
}

.card-passengers>.card-header {
    padding: 8px !important;
    h3 {
        font-size: 14px !important;
    }
}

.card-header-passengers {
    background: linear-gradient(to bottom, #e6ebf0 0%, #ffffff 100%);
    color: black;
}

.row-passenger-list {
    font-size: 16px;
    font-weight: bold;
    color: #3a3434;
    border-bottom: 2px solid #d3d2d2;
    margin: 16px 0px;
}

.lead-lef {
    text-align: end !important;
}

.main-contact {
    font-size: 8px;
    color: #FFFFFF;
    background-color: #21618C !important;
    padding: 1px 4px;
    border-radius: 2px;
    font-weight: bold;
}

.link-contract {
    color: #4a4a4a !important;
}

.link-contract:hover {
    color: black !important;
}


/* Personalizar el color de fondo y el texto de los tooltips */

.tooltip-inner {
    background-color: #5FCE90 !important;
    /* Cambia el color de fondo */
    color: #fff !important;
    /* Cambia el color del texto */
    font-size: 16px !important;
    /* Aumenta el tamaño del texto */
    border-radius: 6px !important;
    /* Bordes más redondeados */
}


/* Personalizar la flecha del tooltip */

.tooltip.bs-tooltip-top .arrow::before {
    border-top-color: #5FCE90 !important;
    /* Debe coincidir con el color de fondo del tooltip */
}

.tooltip.bs-tooltip-bottom .arrow::before {
    border-bottom-color: #5FCE90 !important;
    /* Debe coincidir con el color de fondo del tooltip */
}

.tooltip.bs-tooltip-left .arrow::before {
    border-left-color: #5FCE90 !important;
    /* Debe coincidir con el color de fondo del tooltip */
}

.tooltip.bs-tooltip-right .arrow::before {
    border-right-color: #5FCE90 !important;
    /* Debe coincidir con el color de fondo del tooltip */
}

#pdfViewer {
    padding: 20px;
}

.status-badge_bot {
    color: black;
    /* Texto blanco */
    padding: 0px 6px;
    /* Espaciado interno */
    border-radius: 7px;
    /* Bordes redondeados */
    display: inline-block;
    /* Mostrar como etiqueta */
    font-size: 12px;
    color: black;
}

.status-success {
    background-color: #2ECC71;
    /* Fondo verde */
}

.status-price_change {
    background-color: #FFC300;
    /* Fondo amarillo */
}

.status-error {
    background-color: #FF5733;
    /* Fondo rojo */
}

.status-test {
    background-color: #008CBA;
}

.status-prod {
    background-color: #2e6da4;
}

.error-container {
    color: red;
    background-color: #f8d7da;
    border: 1px solid red;
    border-radius: 8px;
    width: 100%;
    padding: 10px;
    margin-top: 20px;
}

.warning-locator-container {
    color: black;
    background-color: #fae9af;
    border: 1px solid #ffcd00;
    border-radius: 8px;
    width: 100%;
    padding: 10px;
    margin-top: 20px;
}

.btn-delete-room {
    background-color: #c20404 !important;
    border: 1px solid #c20404 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-room:hover {
    background-color: #FFFFFF !important;
    border: 1px solid #c20404 !important;
    color: #c20404 !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-service {
    background-color: #c20404 !important;
    border: 1px solid #c20404 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-service:hover {
    background-color: #FFFFFF !important;
    border: 1px solid #c20404 !important;
    color: #c20404 !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-segment-outbound {
    background-color: #c20404 !important;
    border: 1px solid #c20404 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-segment-outbound:hover {
    background-color: #FFFFFF !important;
    border: 1px solid #c20404 !important;
    color: #c20404 !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-segment-inbound {
    background-color: #c20404 !important;
    border: 1px solid #c20404 !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}

.btn-delete-segment-inbound:hover {
    background-color: #FFFFFF !important;
    border: 1px solid #c20404 !important;
    color: #c20404 !important;
    font-size: 14px !important;
    padding: 4px 12px !important;
}


/** Estilos modal loading flight **/

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}

.hidden {
    display: none;
}

.popup-content {
    background: white;
    padding: 32px 20px;
    border-radius: 8px;
    text-align: center;
    position: relative;
    min-width: 200px;
    height: 150px;
    font-weight: bold;
}

.plane-animation {
    font-size: 2em;
    position: relative;
    animation: fly 2s ease-in-out infinite;
}


/* styles.css */

@keyframes dots {
    0% {
        content: "";
    }
    33% {
        content: ".";
    }
    66% {
        content: "..";
    }
    100% {
        content: "...";
    }
}


/* Asegúrate de que el modal se centre verticalmente */

.plane-animation {
    font-size: 2em;
    position: relative;
    animation: fly 2s ease-in-out infinite;
}

@keyframes fly {
    0% {
        transform: translateX(-20px);
    }
    50% {
        transform: translateX(20px) translateY(-10px);
    }
    100% {
        transform: translateX(-20px);
    }
}

@keyframes dots {
    0% {
        content: "";
    }
    33% {
        content: ".";
    }
    66% {
        content: "..";
    }
    100% {
        content: "...";
    }
}

.popup-content p::after {
    content: "";
    animation: dots 1s steps(3, end) infinite;
}

.flight_data_update {
    font-size: 16px;
    color: #3a3434;
    border-bottom: 1px solid #6a6a6a;
    font-weight: bold;
}

.field-value-green {
    color: green;
}

.field-value-red {
    color: red;
}


/* static/css/custom.css */

.link-disabled {
    pointer-events: none;
    opacity: 0.5;
}


/** Estilos modal cancel package **/

#CancelPackageDialog::backdrop {
    background: rgba(0, 0, 0, .55);
    backdrop-filter: blur(1px);
}


/* Fallback por si las clases tw-* no se aplican */

#CancelPackageDialog .pax-select-block {
    margin-bottom: 2.25rem;
    /* ~ tw-mb-9/10 */
}

#cancelReason {
    height: 100px;
}


/* Más aire debajo del bloque */

#CancelPackageDialog .pax-select-block {
    margin-bottom: 2.25rem;
}


/* Centra y limita el ancho útil del contenido */

#CancelPackageDialog .content-wrap {
    max-width: 440px;
    /* ajusta a gusto: 420–520px */
    width: 100%;
    margin: 0 auto;
    /* centra horizontalmente */
}


/* Espaciados */

#CancelPackageDialog .pax-select-block {
    margin: 0 0 2rem 0;
}

#CancelPackageDialog .actions {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 1.75rem;
}


/* Select bonito, ancho completo del wrapper */

#CancelPackageDialog .select-wrapper {
    position: relative;
    width: 100%;
    margin-top: .5rem;
}

#CancelPackageDialog #cancelReason {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    background-image: none !important;
    width: 100%;
    height: 42px;
    padding: 10px 40px 10px 14px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    color: #374151;
    font-size: 14px;
    line-height: 1.25;
    box-shadow: 0 1px 1.5px rgba(0, 0, 0, .04);
    transition: border-color .15s ease, box-shadow .15s ease;
}

#CancelPackageDialog #cancelReason:hover {
    border-color: #9ca3af;
}

#CancelPackageDialog #cancelReason:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(176, 176, 177, 0.2);
}

#CancelPackageDialog #cancelReason::-ms-expand {
    display: none;
}


/* Chevron del select */

#CancelPackageDialog .select-wrapper::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    pointer-events: none;
    background: no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="%236b7280" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M5.23 7.21a.75.75 0 011.06.02L10 10.94l3.71-3.71a.75.75 0 111.06 1.06l-4.24 4.24a.75.75 0 01-1.06 0L5.21 8.29a.75.75 0 01.02-1.08z" clip-rule="evenodd"/></svg>');
}