﻿/* Tipografía Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;700&display=swap');
 
/* NAVBAR */
a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-word;
}

a {
    color: #0366d6; /* Contraste con fondo blanco */
}

/* BOTONES */
.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* NAV PILLS */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* HTML Y BODY */
html {
    font-size: 14px;
    position: relative;
    min-height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin: 0;
    padding: 0;
    margin-bottom: 60px; /* Para dejar espacio al footer */
}

/* FOOTER */
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px;
}

/* UTILIDADES */
.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}
.form-fullscreen {
    margin-left: 250px; /* ancho de la barra lateral */
    height: 100vh;
    padding: 30px;
    background-color: #fdfdfd;
    overflow-y: auto;
}
/* BOTÓN DE POLÍTICAS */
button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* LAYOUT */
.left-content {
    height: 100vh;
    width: 250px;
    padding-top: 10px;
    background: linear-gradient(#f1ac5a, #EAF2F8, #EAF2F8, #EAF2F8, #fff, #fff);
    box-shadow: -5px 0px 14px -8px rgba(0, 0, 0, 0.25) inset;
}

.toolbar {
    padding: 0 1500px 0 80px;
}

.renderBody {
    padding: 15px 15px 0 15px;
}

.navItem {
    color: black;
    font-weight: bold;
    display: block; /* Ocupa todo el ancho disponible */
    padding: 10px 20px; /* Espacio para ampliar el área */
}

/* Hover para menú lateral izquierdo */
.left-content .navItem:hover {
    background-color: #f99827; /* color de fondo al pasar mouse */
    color: white; /* color del texto al pasar mouse */
    cursor: pointer; /* cursor tipo mano */
    transition: background-color 0.3s ease;
}

/* PÁGINA NOT FOUND */
#notfound {
    position: relative;
    height: 100vh;
}

    #notfound .notfound {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

.notfound {
    max-width: 520px;
    width: 100%;
    text-align: center;
    line-height: 1.4;
}

    .notfound .notfound-404 {
        height: 190px;
    }

        .notfound .notfound-404 h1 {
            font-family: 'Montserrat', sans-serif;
            font-size: 146px;
            font-weight: 700;
            margin: 0;
            color: #232323;
        }

            .notfound .notfound-404 h1 > span {
                display: inline-block;
                width: 120px;
                height: 120px;
                background-image: url('../img/emoji.png');
                background-size: cover;
                transform: scale(1.4);
                z-index: -1;
            }

    .notfound h2 {
        font-family: 'Montserrat', sans-serif;
        font-size: 22px;
        font-weight: 700;
        margin: 0;
        text-transform: uppercase;
        color: #232323;
    }

    .notfound p {
        font-family: 'Montserrat', sans-serif;
        color: #787878;
        font-weight: 300;
    }

    .notfound a {
        font-family: 'Montserrat', sans-serif;
        display: inline-block;
        padding: 12px 30px;
        font-weight: 700;
        background-color: #f99827;
        color: #fff;
        border-radius: 40px;
        text-decoration: none;
        transition: 0.2s all;
    }

        .notfound a:hover {
            opacity: 0.8;
        }

/* RESPONSIVE */
@media only screen and (max-width: 767px) {
    .notfound .notfound-404 {
        height: 115px;
    }

        .notfound .notfound-404 h1 {
            font-size: 86px;
        }

            .notfound .notfound-404 h1 > span {
                width: 86px;
                height: 86px;
            }
}

/* BOX-SIZING GLOBAL */
* {
    box-sizing: border-box;
}
