/*
 * Velzon: #page-topbar suele ir a z-index 1002 y .vertical-overlay a 1003.
 * Si el overlay está visible (p. ej. body.vertical-sidebar-enable), queda ENCIMA del
 * toolbar: los clics no llegan al modo oscuro ni al hamburger, pero el Theme Customizer
 * (offcanvas Bootstrap ~1045) sigue respondiendo.
 */
#page-topbar {
    z-index: 1005;
}

/* Modales de diagramas (evaluación): por encima de .vertical-overlay (1003) y topbar (1005) */
.modal-eval-diagram-preview,
.modal-eval-diagram-canvas {
    z-index: 10060 !important;
}

body:has(.modal-eval-diagram-preview.show) .modal-backdrop,
body:has(.modal-eval-diagram-canvas.show) .modal-backdrop {
    z-index: 10059 !important;
}

.layout-wrapper.landing {
    position: relative;
    z-index: 1;
    min-width: 0;
    width: 100%;
    overflow-x: clip;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    /* Velzon pone --vz-secondary-bg (claro en tema light); en overscroll móvil se veía una franja blanca */
    background-color: #030303;
}

.layout-wrapper.landing > footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* Sin barra horizontal en móvil: 100vw, AOS y sombras del fondo */
body.page-landing,
html:has(.layout-wrapper.landing),
body:has(.layout-wrapper.landing) {
    overflow-x: hidden;
    max-width: 100%;
}

/*
 * Móvil (scroll rápido / overscroll): si html-body siguen en blanco por defecto,
 * se ve una franja clara un instante. Mismo tono que .background (#030303 en background.css).
 */
html:has(body.page-landing) {
    background-color: #030303;
    min-height: 100%;
    /* Evita “rebote” vertical que en algunos navegadores móviles deja ver el color por defecto */

}

/* DataTables Responsive: quita el indicador rojo del toggle (detalle) */
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
table.dataTable.dtr-inline.collapsed > tbody > tr.parent.parent > th.dtr-control:before {
    background-color: transparent !important;
    border-color: var(--vz-secondary-bg) !important;
}

/*
 * Evaluaciones (#tabla-evaluaciones): Responsive en modo columna (control en “Vehículo”)
 * para que el desplegable no compita con el checkbox. Iconos Remix en :before.
 */
#tabla-evaluaciones.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
#tabla-evaluaciones.dataTable.dtr-column > tbody > tr.parent > td.dtr-control:before {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-family: "remixicon" !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-size: 1.125rem;
    line-height: 1;
    width: auto !important;
    height: auto !important;
    margin-right: 0.4em !important;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#tabla-evaluaciones.dataTable.dtr-column > tbody > tr > td.dtr-control:before {
    content: "\ea4e" !important; /* ri-arrow-down-s-line */
}

#tabla-evaluaciones.dataTable.dtr-column > tbody > tr.parent > td.dtr-control:before {
    content: "\ea78" !important; /* ri-arrow-up-s-line */
}

#tabla-evaluaciones.dataTable.dtr-column > tbody > tr > td.dtr-control {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
}

body.page-landing {
    background-color: #030303;
    min-height: 100vh;
    min-height: 100dvh;
    /* Desktop: navbar ancha; móvil se redefine abajo (barra + safe area) */
    --landing-scroll-offset: 7rem;
}

@media (max-width: 991.98px) {
    html:has(body.page-landing),
    body.page-landing {
        --landing-scroll-offset: calc(4.5rem + env(safe-area-inset-top, 0px));
    }

    html:has(body.page-landing) {
        /* Refuerzo si el navegador aplica scroll a #section sin el offset del script */
        scroll-padding-top: var(--landing-scroll-offset);
    }
}

/* Overlay del menú (Velzon usa 100vw; en iOS suele desbordar unos px) */
.layout-wrapper.landing .vertical-overlay {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    /* AOS translate puede ensanchar el layout en pantallas estrechas */
    .layout-wrapper.landing [data-aos] {
        max-width: 100%;
    }

    .layout-wrapper.landing .container {
        padding-left: max(0.75rem, env(safe-area-inset-left));
        padding-right: max(0.75rem, env(safe-area-inset-right));
    }

    .navbar-landing .navbar-cta .btn-link.text-nowrap {
        white-space: normal;
        text-align: center;
        line-height: 1.35;
    }
}

.primary-text {
    color: #fefd02 !important;
    text-shadow: 0 0 32px rgba(230, 3, 2, 0.55);
}

.navbar-landing {
    --landing-menu-item-gap: 0.625rem;
    --landing-menu-block-gap: 1rem;
    --landing-menu-link-py: 0.5rem;
    --landing-menu-link-px: 0.75rem;
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Alineación vertical uniforme (logo, enlaces, botones, redes) */
.navbar-landing > .container-fluid {
    min-height: 3.75rem;
}

.navbar-landing .navbar-brand {
    line-height: 1;
}

/* Menú landing: flex uniforme (móvil columna, desktop una fila — navbar-expand-lg = 992px) */
.navbar-landing .navbar-landing-collapse.show,
.navbar-landing .navbar-landing-collapse.collapsing {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
}

.navbar-landing .navbar-landing-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--landing-menu-block-gap);
    width: 100%;
    padding: 0.75rem 0 1rem;
}

.navbar-landing .navbar-landing-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--landing-menu-item-gap);
    width: 100%;
    margin: 0;
    padding: 0;
}

.navbar-landing .navbar-landing-links .nav-item {
    width: 100%;
    text-align: center;
}

.navbar-landing .navbar-landing-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--landing-menu-block-gap);
    width: 100%;
}

.navbar-landing .navbar-landing-ctas {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--landing-menu-item-gap);
    width: 100%;
    max-width: 20rem;
}

.navbar-landing .navbar-landing-ctas .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    width: 100%;
    font-size: 0.8125rem;
    line-height: 1.35;
    padding: var(--landing-menu-link-py) var(--landing-menu-link-px);
}

.navbar-landing .navbar-landing-cta-link {
    text-decoration: none;
    border: none;
}

.navbar-landing .navbar-landing-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--landing-menu-item-gap);
}

@media (min-width: 992px) {
    .navbar-landing {
        --landing-menu-item-gap: 0.5rem;
        --landing-menu-block-gap: 0.5rem;
    }

    .navbar-landing .navbar-landing-collapse,
    .navbar-landing .navbar-landing-collapse.show,
    .navbar-landing .navbar-landing-collapse.collapsing {
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        flex-grow: 1;
        width: auto;
    }

    /* Una fila: enlaces + CTAs + redes con el mismo gap (display:contents en actions) */
    .navbar-landing .navbar-landing-inner {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: var(--landing-menu-item-gap);
        width: auto;
        padding: 0;
    }

    .navbar-landing .navbar-landing-actions {
        display: contents;
    }

    .navbar-landing .navbar-landing-links {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: flex-end;
        gap: var(--landing-menu-item-gap);
        width: auto;
    }

    .navbar-landing .navbar-landing-links .nav-item {
        width: auto;
        text-align: left;
    }

    .navbar-landing .navbar-landing-ctas {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--landing-menu-item-gap);
        width: auto;
        max-width: none;
    }

    .navbar-landing .navbar-landing-ctas .btn {
        width: auto;
        white-space: nowrap;
    }

    .navbar-landing .navbar-landing-social {
        display: flex;
        flex-shrink: 0;
    }
}

/*
 * Reserva de ancla si no hay JS (refuerzo). El scroll fino lo hace public/js/landing-anchor-offset.js
 * usando la altura real del #navbar.
 */
body.page-landing section[id] {
    scroll-margin-top: var(--landing-scroll-offset);
}

.hero-diagnostic {
    min-height: 100dvh;
    position: relative;
    z-index: 1;
}

/* Formularios públicos (solicitud, consulta, cita): contenido centrado y footer al pie */
section.hero-diagnostic.landing-form-page {
    min-height: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-diagnostic .display-5 {
    letter-spacing: -0.02em;
    text-shadow: 0 4px 28px rgba(0, 0, 0, 0.85);
}

.hero-diagnostic .lead {
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.75);
    color: rgba(255, 255, 255, 0.88) !important;
}

.section {
    background-color: transparent !important;
    position: relative;
    z-index: 1;
}

section.hero-diagnostic {
    padding: 0 !important;
}

/* Secciones sobre fondo oscuro: títulos y texto legibles */
.section-landing h2,
.section-landing h3,
.section-landing h4,
.section-landing h5,
.section-landing h6 {
    color: #fff;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.65);
}

.section-landing .lead,
.section-landing .text-muted {
    color: rgba(255, 255, 255, 0.72) !important;
}

.section-landing .text-dark {
    color: #fff !important;
}

.evaluation-search{
    background: rgb(43 43 43 / 32%)!important;
}
.custom-border-top{
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}
/* Tarjetas glass */
.glass-card {
    width: 100%;
    height: auto;
    min-height: 100%;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(14px) saturate(1.15);
    -webkit-backdrop-filter: blur(14px) saturate(1.15);
    border-radius: 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -1px 0 rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}


.glass-card:hover {
    border-color: rgba(254, 253, 2, 0.25);
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 0 1px rgba(230, 3, 2, 0.15);
}

.glass-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);
    pointer-events: none;
    z-index: 1;
}

.glass-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35), transparent, rgba(255, 255, 255, 0.08));
    pointer-events: none;
    z-index: 1;
}

.glass-card .card-body {
    position: relative;
    z-index: 2;
}

.glass-card h5,
.glass-card h6 {
    color: #fff;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

.glass-card .text-muted {
    color: rgba(255, 255, 255, 0.72) !important;
}

/* Proceso: mismas tarjetas glass compactas */
.glass-panel {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 1rem;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
}

.glass-panel h6 {
    color: #fff;
}

.glass-panel .text-muted {
    color: rgba(255, 255, 255, 0.68) !important;
}

.diag-carousel img {
    object-fit: cover;
    max-height: 420px;
}

/* Iconos unificados (home) — marca rojo / amarillo */
.home-icon {
    width: 3.25rem;
    height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.875rem;
    background: linear-gradient(155deg, rgba(230, 3, 2, 0.4), rgba(20, 20, 20, 0.55));
    border: 1px solid rgba(254, 253, 2, 0.22);
    color: #fefd02;
    line-height: 1;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.4);
}



.home-icon i {
    font-size: 1.35rem;
}

.home-icon--sm {
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.65rem;
}

.home-icon--sm i {
    font-size: 1.05rem;
}

.glass-card .home-icon {
    margin-bottom: 1rem;
}

.glass-panel .home-icon {
    margin-bottom: 0.85rem;
}

.navbar-brand-img {
    height: 38px;
    width: auto;
    object-fit: contain;
}
.custom-btn-1{
    background-color: white!important;
    color: rgb(0, 0, 0)!important;

}

.custom-btn-1:hover{
    background-color: #000000!important;
    color: rgb(255, 255, 255)!important;
}
@media (max-width: 575.98px) {
    .navbar-brand-img {
        height: 32px;
    }
    .navbar-landing > .container-fluid {
        min-height: 1rem!important;
    }
    
}

.logo-hero {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
}

.navbar-landing .navbar-cta .btn-link {
    text-decoration: none;
}

.navbar-landing .navbar-cta .btn-link:hover {
    color: #fefd02 !important;
}

.navbar-landing .navbar-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    border-radius: 0.375rem;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.navbar-landing .navbar-social-link:hover {
    color: #fefd02 !important;
    background-color: rgba(255, 255, 255, 0.06);
}

.navbar-landing .navbar-social-link i {
    font-size: 1.2rem;
    line-height: 1;
}

/* Solo homepage: botones primarios marca roja. El CRM (/admin) usa el primario del tema (app/custom). */
.layout-wrapper.landing .btn-primary {
    background-color: #f80000 !important;
    border-color: #f80000 !important;
    color: #ffffff !important;
}
.layout-wrapper.landing .btn-primary:hover {
    background-color: #000000 !important;
    border-color: #000000 !important;
    color: #ffffff !important;
}

.navbar-landing .navbar-landing-ctas .btn-outline-light {
    --vz-btn-color: #ffffff;
    --vz-btn-border-color: #ffffff;
    --vz-btn-hover-color: #ffffff;
    --vz-btn-hover-bg: rgba(255, 255, 255, 0.12);
    --vz-btn-hover-border-color: #ffffff;
    --vz-btn-active-color: #ffffff;
    --vz-btn-active-bg: rgba(255, 255, 255, 0.18);
    --vz-btn-active-border-color: #ffffff;
    --vz-btn-disabled-color: rgba(255, 255, 255, 0.7);
    --vz-btn-disabled-border-color: rgba(255, 255, 255, 0.5);
    --bs-btn-color: #ffffff;
    --bs-btn-border-color: #ffffff;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.12);
    --bs-btn-hover-border-color: #ffffff;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: rgba(255, 255, 255, 0.18);
    --bs-btn-active-border-color: #ffffff;
    color: #ffffff !important;
    border-color: #ffffff !important;
    opacity: 1 !important;
}

.navbar-landing .navbar-landing-ctas .btn-outline-light:hover,
.navbar-landing .navbar-landing-ctas .btn-outline-light:focus,
.navbar-landing .navbar-landing-ctas .btn-outline-light:active,
.navbar-landing .navbar-landing-ctas .btn-outline-light:focus-visible {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    border-color: #ffffff !important;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    /* Velzon pone fondo claro al navbar en móvil; mantener barra oscura */
    .navbar-landing,
    .navbar-landing.is-sticky {
        background: rgba(0, 0, 0, 0.65) !important;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .navbar-landing .navbar-landing-collapse .navbar-landing-ctas .btn-outline-light,
    .navbar-landing .navbar-landing-collapse.show .navbar-landing-ctas .btn-outline-light,
    .navbar-landing .navbar-landing-collapse.collapsing .navbar-landing-ctas .btn-outline-light {
        --vz-btn-color: #ffffff;
        --vz-btn-border-color: #ffffff;
        color: #ffffff !important;
        border-color: #ffffff !important;
        opacity: 1 !important;
    }
}

.navbar-landing .navbar-nav .nav-item .nav-link {
    color: #ffffff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.25;
    padding: var(--landing-menu-link-py) var(--landing-menu-link-px) !important;
    font-size: 0.9375rem;
}

@media (min-width: 992px) {
    .navbar-landing .navbar-nav .nav-item .nav-link {
        justify-content: flex-start;
    }
}

.navbar-landing .navbar-nav .nav-item .nav-link.active {
    color: #fefd02 !important;
    font-weight: 600;
}


.navbar-landing .navbar-nav .nav-item .nav-link:hover {
    color: #fefd02 !important;
}

/* Formulario agenda mantenimiento: grilla estable (sin solapamiento Choices.js) */
.mantenimiento-agenda-form .row > [class*="col-"] {
    position: relative;
    min-width: 0;
}

.mantenimiento-agenda-form .agenda-form-field {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
}

.mantenimiento-agenda-form .agenda-form-field .form-label {
    margin-bottom: 0.35rem;
}

.mantenimiento-agenda-form .agenda-form-field .form-select,
.mantenimiento-agenda-form .agenda-form-field .form-control,
.mantenimiento-agenda-form .agenda-form-field select.form-select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: calc(1.5em + 0.75rem + 2px);
    position: relative;
    float: none;
}

.mantenimiento-agenda-form .agenda-form-field .choices {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
}

.mantenimiento-agenda-form .agenda-form-field .choices__inner {
    width: 100%;
    min-height: calc(1.5em + 0.75rem + 2px);
}

.mantenimiento-agenda-form .agenda-form-field .form-text {
    display: block;
    margin-top: 0.25rem;
}

/* Evitar conflicto con #status del preloader del tema (40×40px, position:absolute) */
.mantenimiento-agenda-form #maintenance_status {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: calc(1.5em + 0.75rem + 2px);
    margin: 0 !important;
    left: auto !important;
    top: auto !important;
}

/* Panel admin: espaciado uniforme entre ítems y submenús (sidebar) */
.navbar-menu #navbar-nav > .nav-item {
    margin-bottom: 0.125rem;
}

.navbar-menu .menu-dropdown .nav-sm {
    gap: 0.125rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.navbar-menu .menu-dropdown .nav-sm .nav-item .nav-link {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

/* Bloque contacto glass */
.glass-contact {
    background: rgba(12, 12, 12, 0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
}

.glass-contact .border-end {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.glass-contact a:hover {
    color: #fefd02 !important;
}

.glass-contact a,
.glass-contact .text-white {
    overflow-wrap: anywhere;
}

/* Mapa embebido — contacto */
.contact-map-wrap {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.35);
    min-height: 280px;
}

.contact-map-iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
}

@media (min-width: 992px) {
    .contact-map-wrap {
        min-height: 100%;
    }

    .contact-map-iframe {
        min-height: 420px;
    }
}

/* Contadores sobre fondo oscuro */
.section-stats h2 {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6);
}

.section-stats .text-muted {
    color: rgba(255, 255, 255, 0.65) !important;
}

/* Galería: marco sutil */
.gallery-frame {
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

.section-testimonials {
    background: rgba(230, 3, 2, 0.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.section-testimonials-title {
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

.text-warning {
    color: #b97601 !important;
}
.form-switch-danger .form-check-input:checked {
    background-color: #e60302!important;
    border-color: #f06548;
}
.table .form-check .form-check-input {
    margin-left: 0;
    margin-top: 0;
    float: none;
    border: solid 1px #3b3b3b!important;
    vertical-align: middle;
}
.btn-outline-secondary {
    --vz-btn-color: #bdbdbd!important;
    --vz-btn-border-color: #919191!important;
}

.btn-outline-secondary:hover {
    --vz-btn-color: #ececec!important;
    --vz-btn-border-color: #dbdbdb!important;
}

.btn-check:checked+.btn-outline-secondary {
    color: #ececec!important;
    background-color: transparent!important;
    border-color: #dbdbdb!important;
}

.btn-outline-secondary:hover{
    color: #ececec!important;
    background-color: transparent!important;
    border-color: #dbdbdb!important;
}

.fc-toolbar-chunk .fc-button-group .fc-button {
    color: #8d8d8d!important;
  
}
/* AOS: respetar “reducir movimiento” del sistema */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        pointer-events: auto;
    }
}

/* Badge estándar BOTY: estado pendiente (CRM y tablas) */
.badge-status-pending {
    background-color: rgb(131, 131, 131) !important;
    color: #fff !important;
    font-size: 12px;
}

/*
 * FullCalendar — Agenda CRM (tema oscuro): texto del toolbar en blanco y flechas legibles.
 * Eventos importados: azul suave (sin rojo / danger).
 */
.dashboard-agenda-fc .fc {
    --fc-page-bg-color: transparent;
    --fc-neutral-bg-color: rgba(255, 255, 255, 0.06);
    --fc-border-color: rgba(255, 255, 255, 0.12);
    /* Contraste en tarjeta clara: inactivo = texto oscuro (el tema Velzon usa .fc-button-group .fc-button con color $secondary y gana en especificidad) */
    --fc-button-text-color: #1e293b;
    --fc-button-bg-color: rgba(15, 23, 42, 0.06);
    --fc-button-border-color: rgba(15, 23, 42, 0.14);
    --fc-button-hover-bg-color: rgba(15, 23, 42, 0.1);
    --fc-button-hover-border-color: rgba(15, 23, 42, 0.22);
    --fc-button-active-bg-color: rgba(15, 23, 42, 0.88);
    /* Sin tinte rojo/coral en el día “hoy” (Velzon usa primary en la celda y en el número) */
    --fc-today-bg-color: transparent;
    --fc-now-indicator-color: rgba(255, 255, 255, 0.35);
    --fc-more-link-bg-color: rgba(255, 255, 255, 0.12);
    --fc-more-link-text-color: #fff;
}

.dashboard-agenda-fc .fc .fc-toolbar-title {
    color: #1e293b !important;
}

/*
 * Toolbar: el SCSS del tema (.fc-toolbar-chunk .fc-button-group .fc-button) fuerza color gris sobre fondo tenue.
 * Mayor especificidad: inactivo = texto/iconos oscuros; activo (“check”) = fondo tema + blanco.
 */
.dashboard-agenda-fc .fc .fc-toolbar .fc-button,
.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button {
    opacity: 1 !important;
    text-shadow: none !important;
}

.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button-group .fc-button.fc-button-primary:not(:disabled):not(.fc-button-active) {
    background-color: rgba(15, 23, 42, 0.06) !important;
    border: 1px solid rgba(15, 23, 42, 0.14) !important;
    color: #1e293b !important;
    box-shadow: none !important;
}

.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button-group .fc-button.fc-button-primary:not(:disabled):not(.fc-button-active):hover {
    background-color: rgba(15, 23, 42, 0.1) !important;
    border-color: rgba(15, 23, 42, 0.22) !important;
    color: #0f172a !important;
}

.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button-group .fc-button.fc-button-primary:not(:disabled):not(.fc-button-active) .fc-icon {
    color: #1e293b !important;
    opacity: 1 !important;
}

.dashboard-agenda-fc .fc .fc-toolbar .fc-button-primary:not(:disabled):not(.fc-button-active) {
    background-color: rgba(15, 23, 42, 0.06) !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
    color: #1e293b !important;
}

.dashboard-agenda-fc .fc .fc-toolbar .fc-button-primary.fc-button-active {
    background-color: var(--vz-secondary, #405189) !important;
    border-color: var(--vz-secondary, #405189) !important;
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button-group .fc-button.fc-button-primary.fc-button-active {
    background-color: var(--vz-secondary, #405189) !important;
    border-color: var(--vz-secondary, #405189) !important;
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-toolbar-chunk .fc-button-group .fc-button.fc-button-primary.fc-button-active .fc-icon {
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-button {
    font-weight: 500;
}

.dashboard-agenda-fc .fc .fc-button-primary:not(:disabled).fc-button-active,
.dashboard-agenda-fc .fc .fc-button-primary:not(:disabled):active {
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-toolbar .fc-button-primary.fc-button-active .fc-icon,
.dashboard-agenda-fc .fc .fc-toolbar .fc-prev-button.fc-button-active .fc-icon,
.dashboard-agenda-fc .fc .fc-toolbar .fc-next-button.fc-button-active .fc-icon {
    color: #fff !important;
}

.dashboard-agenda-fc .fc th,
.dashboard-agenda-fc .fc .fc-col-header-cell-cushion {
    color: #fff !important;
}

/*
 * Velzon fuerza el número del día como círculo 24px; en “hoy” lo rellena con $primary (rojo).
 * Quitamos círculo y fondos: solo texto blanco; los eventos mantienen su propio bg.
 */
.dashboard-agenda-fc .fc .fc-daygrid-day-number,
.dashboard-agenda-fc .fc a.fc-daygrid-day-number {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 4px !important;
    margin: 2px !important;
    font-weight: 500 !important;
    font-size: 0.8125rem !important;
    box-shadow: none !important;
}

.dashboard-agenda-fc .fc .fc-daygrid-day.fc-day-today {
    background-color: transparent !important;
}

/* Fila superior de la celda (número del día); Velzon/FC suelen teñirla con primary (rojo) en “hoy” */
.dashboard-agenda-fc .fc .fc-daygrid-day-top {
    background: transparent !important;
    background-color: transparent !important;
}

.dashboard-agenda-fc .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-top {
    background: transparent !important;
    background-color: transparent !important;
}

.dashboard-agenda-fc .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number,
.dashboard-agenda-fc .fc .fc-daygrid-day.fc-day-today a.fc-daygrid-day-number {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-timegrid-col.fc-day-today {
    background: transparent !important;
}

.dashboard-agenda-fc .fc .fc-scrollgrid-sync-inner {
    color: rgba(255, 255, 255, 0.92);
}

.dashboard-agenda-fc .fc .fc-timegrid-slot-label,
.dashboard-agenda-fc .fc .fc-timegrid-axis-cushion {
    color: rgba(255, 255, 255, 0.9) !important;
}

.dashboard-agenda-fc .fc .fc-list-day-text,
.dashboard-agenda-fc .fc .fc-list-event-title,
.dashboard-agenda-fc .fc .fc-list-event-time {
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-list-event-dot {
    border-color: rgba(255, 255, 255, 0.7);
}

/* Pendiente: gris definido (visible también sobre fondos grisáceos / neutros del calendario) */
.dashboard-agenda-fc .fc-event.agenda-event-pending,
.dashboard-agenda-fc .fc-v-event.agenda-event-pending {
    background: rgba(71, 85, 105, 0.52) !important;
    border-color: rgba(51, 65, 85, 0.98) !important;
    border-style: solid !important;
}

.dashboard-agenda-fc .fc-event.agenda-event-pending .fc-event-main,
.dashboard-agenda-fc .fc-event.agenda-event-pending .fc-event-title,
.dashboard-agenda-fc .fc-event.agenda-event-pending .fc-event-time {
    color: #f1f5f9 !important;
}

/* Importadas / histórico: azul suave (no usar danger/rojo) */
.dashboard-agenda-fc .fc-event.agenda-event-legacy,
.dashboard-agenda-fc .fc-v-event.agenda-event-legacy {
    background: rgba(41, 156, 219, 0.28) !important;
    border-color: rgba(41, 156, 219, 0.75) !important;
}

.dashboard-agenda-fc .fc-event.agenda-event-legacy .fc-event-main,
.dashboard-agenda-fc .fc-event.agenda-event-legacy .fc-event-title,
.dashboard-agenda-fc .fc-event.agenda-event-legacy .fc-event-time {
    color: #e8f4fc !important;
}

/* Ocultar cualquier sobrante de “+N más” / popover (por si el tema inyecta el enlace) */
.dashboard-agenda-fc .fc .fc-daygrid-more-link,
.dashboard-agenda-fc .fc .fc-timegrid-more-link {
    display: none !important;
}

.dashboard-agenda-fc .fc .fc-popover {
    background: #161616 !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

.dashboard-agenda-fc .fc .fc-popover-header {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #fff !important;
}

.dashboard-agenda-fc .fc .fc-popover-close {
    color: #fff !important;
    opacity: 0.9;
}

/* Vista lista: sin fondo teñido; día lateral sin aspecto de “badge” rojo */
.dashboard-agenda-fc .fc .fc-list-day-cushion,
.dashboard-agenda-fc .fc .fc-list-day {
    background: transparent !important;
}

.dashboard-agenda-fc .fc .fc-list-table {
    background: transparent !important;
}

.dashboard-agenda-fc .fc a.fc-list-day-side-text {
    background: transparent !important;
    color: rgba(255, 255, 255, 0.88) !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    line-height: inherit !important;
}


@media (max-width: 500px) {
    .logo-hero {
        height: auto !important;
        max-height: 220px;
        width: 100%;
        max-width: min(100%, 240px);
        object-fit: contain;
    }
    .col-lg-12{
        padding-left: 0!important;
        padding-right: 0!important;
    }
   

    .navbar-header {
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        align-items: center;
        margin: 0 auto;
        height: 48px;
        padding: 0 1.5rem 0 .75rem;
    }
}

@media(max-width: 1150px){
    table.dataTable>tbody>tr.child ul.dtr-details{
        width: 100%!important;
    }
    table.dataTable>tbody>tr.child ul.dtr-details>li{
        display: flex;
        justify-content: space-between;
    }
}