/*====================================================

        PRECISIÓN VISUAL
        DOCUMENTACIÓN DEL PROYECTO

        Autor: Felipe Lugo

====================================================*/


/*==============================
        FUENTES
===============================*/

@font-face{

    font-family:'Montserrat';

    src:url('Montserrat-ExtraBold.ttf');

}

@font-face{

    font-family:'Roboto';

    src:url('Roboto_Condensed-Regular.ttf');

}


/*==============================
        VARIABLES
===============================*/

:root{

    --negro:#0F0F10;
    --negro2:#171717;
    --negro3:#202020;

    --bronce:#A87432;
    --bronceClaro:#C9954A;

    --carmesi:#891C2A;

    --gris:#C7C7C7;
    --gris2:#8D8D8D;

    --blanco:#F5F5F5;

    --radio:18px;

    --sombra:0 20px 50px rgba(0,0,0,.45);

}


/*==============================
        RESET
===============================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--negro);

    color:var(--blanco);

    font-family:'Roboto';

    overflow-x:hidden;

}


/*==============================
        SCROLL
===============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#111;

}

::-webkit-scrollbar-thumb{

    background:var(--bronce);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--bronceClaro);

}


/*==============================
        LINKS
===============================*/

a{

    color:inherit;

    text-decoration:none;

}


/*==============================
        IMÁGENES
===============================*/

img{

    display:block;

    width:100%;

}

video{

    display:block;

    width:100%;

}

iframe{

    width:100%;

    border:none;

}


/*==============================
        CONTENEDOR
===============================*/

.container{

    max-width:1850px;

    margin:auto;

    display:grid;

    grid-template-columns:

        270px

        1fr

        250px;

    gap:70px;

    padding:60px;

}


/*==============================
        SIDEBAR IZQUIERDO
===============================*/

.sidebar-left{

    position:sticky;

    top:40px;

    height:calc(100vh - 80px);

}

.sidebar-content{

    display:flex;

    flex-direction:column;

}

.small-title{

    color:var(--bronce);

    font-size:.8rem;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:18px;

}

.sidebar-content h2{

    font-family:'Montserrat';

    font-size:2.7rem;

    line-height:1.05;

    margin-bottom:45px;

}


/*==============================
        MENÚ
===============================*/

.sidebar-content ul{

    list-style:none;

}

.sidebar-content li{

    margin-bottom:14px;

}

.sidebar-content a{

    display:flex;

    align-items:center;

    gap:18px;

    padding:15px 18px;

    border-radius:12px;

    color:var(--gris);

    transition:.35s;

}

.sidebar-content a span{

    color:var(--bronce);

    width:28px;

    font-weight:bold;

}

.sidebar-content a:hover{

    background:var(--negro2);

    color:white;

    transform:translateX(8px);

}

.sidebar-content a.active{

    background:var(--bronce);

    color:#111;

}

.sidebar-content a.active span{

    color:#111;

}


/*==============================
        CONTENIDO
===============================*/

main{

    width:100%;

}

.hero{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.section-number{

    color:rgba(168,116,50,.20);

    font-size:6rem;

    font-family:'Montserrat';

    line-height:1;

}

.section-category{

    color:var(--bronce);

    text-transform:uppercase;

    letter-spacing:4px;

    margin:20px 0;

    display:block;

}

.hero h1{

    font-size:5rem;

    font-family:'Montserrat';

    margin-bottom:30px;

}

.hero p{

    max-width:850px;

    color:var(--gris);

    line-height:2;

    font-size:1.1rem;

}

.hero-image{

    margin-top:70px;

    border-radius:var(--radio);

    overflow:hidden;

    box-shadow:var(--sombra);

}

.hero-image img{

    transition:.6s;

}

.hero-image:hover img{

    transform:scale(1.02);

}

/*====================================================

            SECCIONES

====================================================*/

.content-section{

    padding:120px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.content-section:last-child{

    border-bottom:none;

}

.content-section h2{

    font-family:'Montserrat';

    font-size:3rem;

    margin:20px 0 30px;

    color:var(--blanco);

}

.content-section p{

    max-width:900px;

    font-size:1.05rem;

    color:var(--gris);

    line-height:2;

    margin-bottom:45px;

}


/*====================================================

            PDF

====================================================*/

.pdf-container{

    width:100%;

    background:var(--negro2);

    border-radius:var(--radio);

    overflow:hidden;

    border:1px solid rgba(168,116,50,.18);

    box-shadow:var(--sombra);

    transition:.4s;

}

.pdf-container:hover{

    transform:translateY(-8px);

    border-color:var(--bronce);

}

.pdf-container iframe{

    width:100%;

    height:900px;

    display:block;

    background:white;

}


/*====================================================

            VIDEO

====================================================*/

.video-container{

    margin-top:30px;

    background:var(--negro2);

    border-radius:var(--radio);

    overflow:hidden;

    border:1px solid rgba(168,116,50,.18);

    box-shadow:var(--sombra);

}

.video-container video{

    width:100%;

    display:block;

}


/*====================================================

            AUDIO

====================================================*/

.audio-player{

    margin-top:35px;

    padding:35px;

    background:var(--negro2);

    border-radius:var(--radio);

    border:1px solid rgba(168,116,50,.18);

    box-shadow:var(--sombra);

}

.audio-player audio{

    width:100%;

}


/*====================================================

            IMÁGENES

====================================================*/

.image-container{

    margin-top:40px;

    border-radius:var(--radio);

    overflow:hidden;

    border:1px solid rgba(168,116,50,.18);

    box-shadow:var(--sombra);

    transition:.45s;

}

.image-container:hover{

    transform:translateY(-8px);

    border-color:var(--bronce);

}

.image-container img{

    width:100%;

    transition:.6s;

}

.image-container:hover img{

    transform:scale(1.03);

}


/*====================================================

            MOCKUP

====================================================*/

.mockup img{

    background:var(--negro2);

    padding:15px;

}


/*====================================================

            CAJAS DE INFORMACIÓN

====================================================*/

.info-box{

    background:var(--negro2);

    border-left:5px solid var(--bronce);

    padding:30px;

    border-radius:0 var(--radio) var(--radio) 0;

    margin:40px 0;

}

.info-box h3{

    font-family:'Montserrat';

    margin-bottom:15px;

    color:var(--bronce);

}

.info-box p{

    margin:0;

}


/*====================================================

            EFECTOS

====================================================*/

.pdf-container,
.image-container,
.video-container,
.audio-player{

    transition:.45s;

}

.pdf-container:hover,
.image-container:hover,
.video-container:hover,
.audio-player:hover{

    box-shadow:

        0 25px 60px rgba(0,0,0,.55);

}


/*====================================================

            ANIMACIÓN SUAVE

====================================================*/

.content-section{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*====================================================

                CONCLUSIÓN

====================================================*/

.conclusion-box{

    margin-top:45px;

    padding:45px;

    background:linear-gradient(135deg,#171717,#111111);

    border:1px solid rgba(168,116,50,.20);

    border-radius:var(--radio);

    box-shadow:var(--sombra);

}

.conclusion-box h3{

    font-family:'Montserrat';

    color:var(--bronce);

    margin-bottom:25px;

    font-size:1.6rem;

}

.conclusion-box ul{

    list-style:none;

}

.conclusion-box li{

    padding:18px 0;

    color:var(--gris);

    border-bottom:1px solid rgba(255,255,255,.05);

    position:relative;

    padding-left:30px;

}

.conclusion-box li:last-child{

    border-bottom:none;

}

.conclusion-box li::before{

    content:"";

    position:absolute;

    left:0;
    top:27px;

    width:10px;
    height:10px;

    border-radius:50%;

    background:var(--bronce);

}



/*====================================================

            HERRAMIENTAS

====================================================*/

.tools-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

    gap:30px;

    margin-top:60px;

}

.tool-card{

    background:var(--negro2);

    padding:40px 30px;

    border-radius:var(--radio);

    text-align:center;

    border:1px solid rgba(168,116,50,.15);

    transition:.35s;

}

.tool-card:hover{

    transform:translateY(-10px);

    border-color:var(--bronce);

    box-shadow:0 20px 50px rgba(0,0,0,.45);

}

.tool-card i{

    font-size:3.2rem;

    color:var(--bronce);

    margin-bottom:25px;

}

.tool-card h3{

    font-family:'Montserrat';

    margin-bottom:15px;

}

.tool-card p{

    margin:0;

    color:var(--gris2);

    line-height:1.8;

}



/*====================================================

            SIDEBAR DERECHA

====================================================*/

.sidebar-right{

    position:sticky;

    top:40px;

    height:calc(100vh - 80px);

}

.timeline{

    list-style:none;

    margin-top:35px;

    border-left:2px solid rgba(168,116,50,.25);

    padding-left:28px;

}

.timeline li{

    position:relative;

    margin-bottom:30px;

    color:var(--gris);

    line-height:1.8;

}

.timeline li::before{

    content:"";

    position:absolute;

    left:-36px;
    top:8px;

    width:12px;
    height:12px;

    border-radius:50%;

    background:var(--bronce);

}



/*====================================================

                FOOTER

====================================================*/

footer{

    margin-top:140px;

    border-top:1px solid rgba(255,255,255,.08);

    padding:90px 40px;

    background:#0b0b0b;

}

.footer-content{

    max-width:1200px;

    margin:auto;

    text-align:center;

}

.footer-content h2{

    font-family:'Montserrat';

    font-size:3rem;

    margin-bottom:15px;

}

.footer-content span{

    color:var(--bronce);

    letter-spacing:6px;

    text-transform:uppercase;

    font-size:.9rem;

}

.footer-content p{

    margin:30px auto;

    max-width:700px;

    color:var(--gris);

    line-height:2;

}

.footer-line{

    width:90px;

    height:2px;

    background:var(--bronce);

    margin:35px auto;

}

.footer-content small{

    color:#7f7f7f;

}



/*====================================================

            HOVER GENERAL

====================================================*/

img{

    transition:.5s;

}

img:hover{

    transform:scale(1.02);

}

a{

    transition:.3s;

}

::selection{

    background:var(--bronce);

    color:#fff;

}



/*====================================================

            RESPONSIVE

====================================================*/

@media(max-width:1400px){

.container{

    grid-template-columns:220px 1fr;

}

.sidebar-right{

    display:none;

}

}



@media(max-width:1100px){

.container{

    grid-template-columns:1fr;

    padding:35px;

}

.sidebar-left{

    position:relative;

    height:auto;

    margin-bottom:60px;

}

.sidebar-content{

    align-items:center;

    text-align:center;

}

.sidebar-content ul{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

}

.sidebar-content li{

    margin:0;

}

.hero{

    min-height:auto;

    padding-top:30px;

}

.hero h1{

    font-size:3.8rem;

}

.section-number{

    font-size:4rem;

}

.content-section h2{

    font-size:2.5rem;

}

.pdf-container iframe{

    height:700px;

}

}



@media(max-width:768px){

.container{

    padding:20px;

}

.hero h1{

    font-size:2.6rem;

}

.content-section{

    padding:80px 0;

}

.content-section h2{

    font-size:2rem;

}

.content-section p{

    font-size:1rem;

}

.pdf-container iframe{

    height:500px;

}

.video-container video{

    min-height:220px;

}

.audio-player{

    padding:20px;

}

.tools-grid{

    grid-template-columns:1fr;

}

.footer-content h2{

    font-size:2.2rem;

}

}