/* Las fuentes (Sora / DM Sans) y la paleta vienen de /brand/css/tickify-brand.css + tickify-app.css */
html, body {
    height: 100%;
}

h1, h2, h3, h4, h5 {
    font-weight: 600;
}

label {
    font-weight: 500;
}

p, input, button {
    font-weight: 400;
}

/*Clase para centrar*/
.center-box {
    display: flex;
    align-items: center;
    justify-content: center;
}

/*Tema oscuro de bootstrap-select (los colores del botón están en tickify-app.css)*/

[data-bs-theme="dark"] .bootstrap-select .dropdown-menu {
    background-color: var(--tk-surface);
    color: var(--tk-text);
}

[data-bs-theme="dark"] .bootstrap-select .dropdown-item {
    color: var(--tk-text);
}

    [data-bs-theme="dark"] .bootstrap-select .dropdown-item:hover {
        background-color: var(--tk-surface-hover);
    }

    [data-bs-theme="dark"] .bootstrap-select .dropdown-item.active {
        background-color: var(--tk-selected);
        color: var(--tk-night);
    }

[data-bs-theme="dark"] .bootstrap-select .dropdown-toggle {
    padding: 0.9rem 1.1rem;
}

[data-bs-theme="dark"] .bootstrap-select .no-results {
    background-color: var(--tk-surface);
    color: var(--tk-muted);
    border-color: var(--tk-border);
    padding: 0.9rem 1.1rem;
}


/*Estilos TOAST*/

.toast-lg {
    min-width: 420px;
    max-width: 520px;
}

    .toast-lg .toast-body {
        font-size: 1.1rem;
        padding: 1.5rem;
    }

    .toast-lg button {
        font-size: 0.95rem;
        padding: 0.4rem 1rem;
    }


/*Contenedor para que no pegue en la esquinas*/

.max-container{
    max-width: 1000px;
    margin: 150px;
}

/* Tarjeta del registro: superficie plana de la marca (sin brillos ni degradados) */
.custom-container {
    background: var(--tk-surface);
    border-radius: 18px;
    border: 1px solid var(--tk-border);
    position: relative;
}


.custom-divider {
    display: flex;
    align-items: center;
    color: var(--tk-text);
    font-weight: 500;
}

    .custom-divider::before,
    .custom-divider::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--tk-border);
    }

    .custom-divider h3 {
        padding: 25px;
    }

/*Titulo (Sora = fuente de títulos y botones de la marca)*/
.title-logo {
    font-family: var(--tk-font-display);
    font-weight: 600;
    letter-spacing: 2px;
}


/*Divisor titulo*/
.title-divider {
    height: 1px;
    width: 100%;
    margin: 20px 0 30px 0;
    background: var(--tk-border);
}


/*overflow*/

.overflow {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15,14,19,0.85);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/*Contenedor de superficie*/
.transparent-container {
    background: var(--tk-surface);
}

    .transparent-container .card-title {
        font-size: 1.75rem;
    }

    .transparent-container .form-label {
        font-size: 1.2rem;
    }

/*Borde de tarjeta (login) y footer*/
.custom-border {
    border: 1px solid var(--tk-border);
}

/*Sidebar retráctil*/
.sidebar-nav {
    width: 260px;
    transition: width .2s ease;
    overflow: hidden;
}

    .sidebar-nav .nav-link {
        display: flex;
        align-items: center;
        white-space: nowrap;
    }

    .sidebar-nav .sidebar-icon {
        width: 1.25em;
        text-align: center;
        margin-right: .5rem;
        flex-shrink: 0;
    }

    .sidebar-nav .sidebar-label {
        white-space: nowrap;
    }

    .sidebar-nav #btnSidebarToggle i {
        transition: transform .2s ease;
    }

    /* Logo del sidebar: imagotipo expandido; isotipo cuando está colapsado (< 96 px de ancho) */
    .sidebar-nav .tk-logo-mark {
        display: none;
        height: 28px; /* cabe en los 44 px útiles del menú colapsado (76 px - padding) */
    }

html.sidebar-collapsed .sidebar-nav .tk-logo-full {
    display: none;
}

html.sidebar-collapsed .sidebar-nav .tk-logo-mark {
    display: inline-block;
}

html.sidebar-collapsed .sidebar-nav {
    width: 76px;
}

    html.sidebar-collapsed .sidebar-nav .sidebar-label {
        display: none;
    }

    html.sidebar-collapsed .sidebar-nav .sidebar-icon {
        margin-right: 0;
    }

    html.sidebar-collapsed .sidebar-nav .nav-link {
        justify-content: center;
    }

    html.sidebar-collapsed .sidebar-nav .sidebar-brand-row {
        flex-direction: column;
        justify-content: center;
        gap: .5rem;
    }

    html.sidebar-collapsed .sidebar-nav .sidebar-user-row {
        justify-content: center;
    }

    html.sidebar-collapsed .sidebar-nav #btnSidebarToggle i {
        transform: rotate(180deg);
    }

/*Remover z-index el mapa Leaflet*/
.leaflet-top, .leaflet-bottom {
    position: absolute;
    z-index: 900!important;
    pointer-events: none;
}

.leaflet-control-geocoder-form input{
    color:#000000!important;
}