/* ===========================================================
   RENACER
   Hoja de estilos para documentos legales
   Política de Privacidad y Términos y Condiciones
=========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:#f7f8fa;

    color:#1f2937;

    line-height:1.75;

}

/* ================= HEADER ================= */

.legal-header{

    background:#ffffff;

    border-bottom:1px solid #e5e7eb;

    padding:55px 20px;

    box-shadow:0 2px 15px rgba(0,0,0,.04);

}

.header-content{

    max-width:1200px;

    margin:auto;

}

.legal-header h1{

    font-size:2.4rem;

    font-weight:700;

    color:#111827;

    margin-bottom:12px;

}

.legal-header p{

    color:#6b7280;

    font-size:15px;

}

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

.legal-wrapper{

    max-width:1300px;

    margin:45px auto;

    display:grid;

    grid-template-columns:280px 1fr;

    gap:40px;

    padding:0 20px;

}

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

.legal-sidebar{
    position:sticky;
    top:30px;
    max-height:calc(100vh - 60px);
    overflow-y:auto;

    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:28px;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
}

.legal-sidebar::-webkit-scrollbar{
    width:6px;
}

.legal-sidebar::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:20px;
}

.legal-sidebar::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}

.legal-sidebar h3{

    font-size:19px;

    margin-bottom:18px;

    color:#111827;

}

.legal-sidebar ul{

    list-style:none;

}

.legal-sidebar li{

    margin-bottom:10px;

}

.legal-sidebar a{

    text-decoration:none;

    color:#4b5563;

    transition:.25s;

    font-size:15px;

    display:block;

    padding:8px 10px;

    border-radius:8px;

}

.legal-sidebar a:hover{

    background:#eff6ff;

    color:#2563eb;

}

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

.legal-content{

    background:#ffffff;

    border-radius:20px;

    border:1px solid #e5e7eb;

    padding:55px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

/* ================= SECCIONES ================= */

section{

    margin-bottom:60px;

}

section:last-child{

    margin-bottom:0;

}

section h2{

    color:#111827;

    font-size:1.8rem;

    margin-bottom:22px;

    border-left:6px solid #2563eb;

    padding-left:15px;

}

section p{

    margin-bottom:18px;

    text-align:justify;

    color:#374151;

}

/* ================= LISTAS ================= */

section ul{

    margin:20px 0;

    padding-left:25px;

}

section li{

    margin-bottom:12px;

    color:#374151;

}

/* ================= CAJAS ================= */

.contact-box{

    background:#f9fafb;

    border-left:5px solid #2563eb;

    padding:22px;

    border-radius:12px;

    margin-top:20px;

}

.contact-box p{

    margin-bottom:10px;

}

/* ================= TABLAS ================= */

table{

    width:100%;

    border-collapse:collapse;

    margin:30px 0;

}

table th{

    background:#2563eb;

    color:white;

    padding:15px;

}

table td{

    border:1px solid #e5e7eb;

    padding:15px;

}

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

a{

    color:#2563eb;

}

a:hover{

    text-decoration:underline;

}

/* ================= FOOTER ================= */

.legal-footer{

    margin-top:70px;

    background:#ffffff;

    border-top:1px solid #e5e7eb;

    text-align:center;

    padding:30px;

    color:#6b7280;

    font-size:14px;

}

/* ================= BOTÓN ================= */

.back-to-top{

    position:fixed;

    bottom:30px;

    right:30px;

    width:55px;

    height:55px;

    background:#2563eb;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    border-radius:50%;

    font-size:24px;

    box-shadow:0 10px 25px rgba(37,99,235,.35);

    transition:.30s;

}

.back-to-top:hover{

    transform:translateY(-4px);

    background:#1d4ed8;

}

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

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-thumb{

    background:#cbd5e1;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#94a3b8;

}

/* ================= SELECCIÓN ================= */

::selection{

    background:#bfdbfe;

}

/* ================= RESPONSIVE ================= */

@media(max-width:980px){

    .legal-wrapper{
        grid-template-columns:1fr;
    }

    .legal-sidebar{
        position:relative;
        top:0;
        max-height:none;
        overflow:visible;
    }

    .legal-content{
        padding:35px;
    }

}

@media(max-width:600px){

    .legal-header{

        padding:40px 20px;

    }

    .legal-header h1{

        font-size:2rem;

    }

    .legal-content{

        padding:25px;

    }

    section h2{

        font-size:1.45rem;

    }

    .back-to-top{

        width:48px;

        height:48px;

        font-size:20px;

        right:18px;

        bottom:18px;

    }

}





.legal-accept-box{
    margin-top:50px;
    padding:30px;
    background:#f9fafb;
    border:1px solid #e5e7eb;
    border-radius:16px;
    text-align:center;
}

.legal-accept-btn{
    border:none;
    background:#2563eb;
    color:#fff;
    padding:14px 26px;
    border-radius:12px;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.legal-accept-btn:hover:not(:disabled){
    background:#1d4ed8;
    transform:translateY(-2px);
}

.legal-accept-btn:disabled{
    background:#9ca3af;
    cursor:not-allowed;
}

#legalScrollMsg{
    margin-top:12px;
    color:#6b7280;
    font-size:14px;
}
