﻿:root {
    --brand-primary: #0e1a2a;
    --brand-secondary: #0f3c5d;
    --brand-accent: #00b4d8;
    --text-on-dark: #ffffff;
    --muted: #6c757d;
    --nav-height: 72px;
}

html, body {
    height: 100%;
}

body {
    font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol";
    color: #222;
    background-color: #000;
    scroll-behavior: smooth;
}

/* Hero video full background */
.hero {
    position: relative;
    min-height: 100vh;
    display: grid;
    align-items: center;
    color: var(--text-on-dark);
    overflow: hidden;
}

    .hero video#bg-video {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -2;
    }

    .hero::before {
        content: "";
        position: fixed;
        inset: 0;
        /*background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.45) 30%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.55) 100%);*/
        z-index: -1;
    }

.navbar {
    backdrop-filter: saturate(140%) blur(6px);
    background: #000;
}

    .navbar .navbar-brand img {
        height: 70px;
    }

    /* Dropdown oscuro con texto claro (sobrescribe el gris claro anterior) */
    .navbar .dropdown-menu {
        background-color: #121519; /* fondo oscuro */
        color: #e9ecef; /* texto claro */
        border: 1px solid #1f2430;
        box-shadow: 0 8px 24px rgba(0,0,0,.25);
    }

        .navbar .dropdown-menu .dropdown-item {
            color: #e9ecef;
        }

            .navbar .dropdown-menu .dropdown-item:hover,
            .navbar .dropdown-menu .dropdown-item:focus {
                background-color: #e9ecef; /* mantener el mismo color de hover ya usado */
                color: #0e1a2a; /* texto oscuro sobre hover claro */
            }

h1, h2, h3, h4 {
    font-family: "Raleway", sans-serif;
}

.display-title {
    font-weight: 700;
    letter-spacing: .2px;
}

.lead-lg {
    font-size: 1.15rem;
    font-weight: 400;
    color: #e8f0f8;
}

/* Section helpers */
section {
    padding: 64px 0;
}

.section-dark {
    background: radial-gradient(80% 80% at 50% 0%, #0c1829 0%, #0a1422 60%, #070f1c 100%);
    color: var(--text-on-dark);
}

.section-light {
    background: #ffffff;
}

.section-muted {
    background: #f8fafc;
}

/* Cards */
.card-plain {
    background: #ffffff;
    border: 1px solid #e9ecef;
    border-radius: 14px;
    box-shadow: 0 1px 6px rgba(16,24,40,.06);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .card-plain:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(16,24,40,.12);
    }

.icon-64 {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

/* Footer */
/*footer {
    background: #0a1422;
    color: #c5d1e0;
}

    footer a {
        color: #a6e1ff;
        text-decoration: none;
    }

        footer a:hover {
            text-decoration: underline;
        }*/
/* Footer oscuro igual a AsesaV */
footer {
    background: #000;
    color: #e6e6e6;
    padding-top: 3rem;
    padding-bottom: 3rem;
    border-top: 1px solid rgba(255,255,255,.1);
}

    footer a {
        color: #9ec5fe;
        text-decoration: none;
    }

        footer a:hover {
            color: #cfe2ff;
            text-decoration: underline;
        }

    footer hr {
        border-color: rgba(255,255,255,.2) !important;
    }


/* Utilities */
.btn-accent {
    --bs-btn-color: #03101d;
    --bs-btn-bg: #00d1ff;
    --bs-btn-border-color: #00c4f0;
    --bs-btn-hover-bg: #4de0ff;
    --bs-btn-hover-border-color: #34d9ff;
    --bs-btn-focus-shadow-rgb: 0,209,255;
}


@media (min-width: 992px) {
    .navbar .dropdown-menu {
        margin-top: 0;
    }
}

/* Video full-screen detrás del hero */
#bg-video {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    z-index: -3;
    background: #000;
}

/* LIMITAR overlay al hero: absoluto en el header, no fijo */
.hero {
    position: relative;
    min-height: calc(100vh - 72px);
    display: flex;
    align-items: center;
    padding-top: 72px;
    z-index: 0;
}

    .hero .hero-cover {
        position: absolute; /* antes: fixed (causaba el gris fuera del hero) */
        inset: 0;
        z-index: -2;
        background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.45) 100%);
    }

/* Texto sobre el video */
.display-title, .lead-lg {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* Asegurar fondo blanco en las secciones claras */
.section-light {
    background: #fff;
}

.section-muted {
    background: #f8fafc;
}

.navbar .navbar-brand img {
    height: 70px;
}


textura adicional al pasar el cursor + más sombra
.buttonLink:hover {
    transform: translateY(-3px);
    border-color: #dde3ea;
    box-shadow: 0 8px 20px rgba(16, 24, 40, .10), 0 32px 56px rgba(16, 24, 40, .14);
    resalta
}

encabezados y párrafos dentro del card más nítidos
.buttonLink .card-body h3 {
    color: #0b132b;
    letter-spacing: .2px;
}

.buttonLink .card-body p {
    color: #344054;
}

.buttonLink.text-center {
    background: radial-gradient(120px 120px at 15% 25%, rgba(0, 180, 216, .06) 0%, rgba(0, 180, 216, 0) 60%), radial-gradient(140px 140px at 85% 10%, rgba(13, 25, 39, .05) 0%, rgba(13, 25, 39, 0) 70%), #ffffff;
    border-color: #e6eaef;
}

.buttonLink.text-center:hover {
    border-color: #d8dee6;
}