@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Mulish:wght@300;400;600&display=swap');

:root {
  /* Set Roboto for body/content */
  --bs-body-font-family: "Roboto", sans-serif;
  
  /* Set Montserrat for headings (h1-h6) */
  --bs-font-serif: "Montserrat", sans-serif; 
  /* Bootstrap's heading styles often use --bs-font-sans-serif or inherit, 
     but setting heading-specific rules is clearer for custom fonts. */
--fondo-header:#002e5d;
}

/* Explicitly set all headings to Montserrat */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: "Montserrat", sans-serif;
}
h1, h2, h3, h4 {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.2;
    margin-bottom: 1rem;
}
h3 {
    font-size: 26px;          /* Tamaño sugerido para H4 */
    font-weight: 400;           /* Un poco menos pesado que el H1 */
    letter-spacing: -0.02em;    /* Un toque de elegancia moderna */
}
p {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;            /* Tamaño estándar de lectura */
    font-weight: 400;           /* Peso regular */
    line-height: 1.6;           /* Espacio entre líneas para evitar fatiga visual */
    margin-bottom: 1.5rem;
}


.fondo_header{
    background-color: var(--fondo-header) !important;
    
}

.nav-link{
    color: white;
}

.navbar-nav .nav-link.active{
    color: white;
    font-weight: 600;
}

.logo-header{
    width: 110px;
    height: auto;
}
 #header > div > a > img{
    width: 125px;
    height: auto;
}

.nav-link:focus, .nav-link:hover{
    color: #dff5f5 !important;
}


/* Custom class for the video element */
#cabeza video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 50vh;
    width: auto;
    height: auto;
    z-index: 1; /* Place video behind the overlay and content */
    transform: translate(-50%, -50%); /* Centering the video */
}

/* Optional: Overlay for better text contrast */
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.5); /* Semi-transparent black */
    z-index: 2; /* Between video and content */
}

/* The content container must be on top */
#cabeza > .container-fluid {
    z-index: 3; 
}


@media screen and (min-width: 820px) {
    .pe-10 {
        padding-right:6rem !important
    }

    .ps-10 {
        padding-left: 6rem !important
    }
}

@media screen and (max-width: 819px) {
    .pe-10 {
        padding-right:2rem !important
    }

    .ps-10 {
        padding-left: 2rem !important
    }
}

@media (max-width: 767px) {
    .pe-10 {
        padding-right:0 !important
    }

    .ps-10 {
        padding-left: 0 !important
    }
}

/* Forzar que el puntero muestre que es un link */
.menu-item-has-children > a {
    pointer-events: auto !important;
}

/* Asegurar que el submenú se vea al pasar el mouse */
.menu-item-has-children:hover > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}