/* ============================================================
 *  THORMEXOFT — Estilos para páginas legales
 *  ============================================================ */
:root{
    --primary:#0056b3; --primary-dark:#003d7a; --primary-light:#e6f0fa;
    --secondary:#00a8e8; --accent:#00d4b8; --dark:#1f2230; --dark-light:#2c3140;
    --light:#f8f9fa; --gray:#6c757d; --gradient-1:linear-gradient(135deg,#0056b3,#00a8e8);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
    font-family:'Roboto',system-ui,sans-serif;color:var(--dark);background:#fff;
    line-height:1.7;-webkit-font-smoothing:antialiased;
}
a{color:var(--primary);text-decoration:none;transition:color .25s}
a:hover{color:var(--secondary)}
h1,h2,h3,h4{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--dark)}

/* NAV */
.legal-nav{
    position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);border-bottom:1px solid #e9ecef;padding:14px 0;
}
.legal-nav .container{max-width:1140px;margin:auto;padding:0 20px;display:flex;
    align-items:center;justify-content:space-between}
    .legal-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;color:var(--dark)}
    .legal-brand .dot{width:10px;height:10px;background:var(--gradient-1);border-radius:50%}
    .legal-back{
        display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;
        padding:8px 16px;border-radius:30px;background:var(--primary-light);color:var(--primary);
    }
    .legal-back:hover{background:var(--gradient-1);color:#fff}

    /* HEADER */
    .legal-header{
        background:linear-gradient(135deg,#1f2230 0%,#0056b3 100%);
        color:#fff;padding:70px 0 60px;text-align:center;position:relative;overflow:hidden;
    }
    .legal-header::after{
        content:'';position:absolute;inset:0;
        background:radial-gradient(circle at 20% 30%,rgba(0,168,232,.35),transparent 55%),
        radial-gradient(circle at 80% 70%,rgba(0,212,184,.25),transparent 55%);
    }
    .legal-header .container{max-width:1140px;margin:auto;padding:0 20px;position:relative;z-index:2}
    .legal-header h1{color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:12px}
    .legal-header p{color:rgba(255,255,255,.85);font-size:.95rem;max-width:640px;margin:0 auto}
    .legal-header .meta{
        display:inline-flex;gap:20px;flex-wrap:wrap;justify-content:center;
        margin-top:20px;font-size:.82rem;color:rgba(255,255,255,.75);
    }
    .legal-header .meta span{display:inline-flex;align-items:center;gap:6px}

    /* LAYOUT */
    .legal-wrap{max-width:1140px;margin:auto;padding:60px 20px 90px;display:grid;
        grid-template-columns:260px 1fr;gap:50px;align-items:start}
        @media(max-width:900px){
            .legal-wrap{grid-template-columns:1fr;gap:30px;padding:40px 20px 70px}
            .legal-toc{position:relative!important;top:auto!important;max-height:none!important}
        }

        /* TOC */
        .legal-toc{
            position:sticky;top:90px;background:var(--light);border-radius:14px;
            padding:22px;border:1px solid #e9ecef;max-height:calc(100vh - 120px);overflow-y:auto;
        }
        .legal-toc h4{font-size:.78rem;text-transform:uppercase;letter-spacing:1.2px;
            color:var(--gray);margin-bottom:14px;font-weight:700}
            .legal-toc a{
                display:block;padding:7px 10px;font-size:.85rem;color:var(--dark);
                border-left:2px solid transparent;border-radius:4px;transition:all .25s;
            }
            .legal-toc a:hover,.legal-toc a.active{
                background:var(--primary-light);color:var(--primary);border-left-color:var(--primary);
            }
            .legal-toc a.sub{padding-left:24px;font-size:.8rem;color:var(--gray)}

            /* CONTENT */
            .legal-content h2{
                font-size:1.35rem;margin:40px 0 16px;padding-bottom:10px;
                border-bottom:1px solid #e9ecef;scroll-margin-top:90px;
            }
            .legal-content h2:first-of-type{margin-top:0}
            .legal-content h3{font-size:1.05rem;margin:26px 0 10px;color:var(--dark-light);
                scroll-margin-top:90px}
                .legal-content h4{font-size:.95rem;margin:20px 0 8px;color:var(--primary)}
                .legal-content p{margin-bottom:14px;color:#3a3e46;font-size:.94rem}
                .legal-content ul,.legal-content ol{margin:0 0 16px 22px;color:#3a3e46;font-size:.94rem}
                .legal-content li{margin-bottom:8px}
                .legal-content strong{color:var(--dark)}
                .legal-content a{font-weight:500}

                /* CAJAS */
                .legal-callout{
                    background:var(--primary-light);border-left:4px solid var(--primary);
                    border-radius:8px;padding:18px 22px;margin:22px 0;font-size:.92rem;
                }
                .legal-callout.warn{background:#fff8e1;border-left-color:#ffc107}
                .legal-callout.danger{background:#fdecea;border-left-color:#dc3545}
                .legal-callout strong{display:block;margin-bottom:6px;color:var(--dark)}

                /* TABLA COOKIES */
                .cookies-table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.85rem;
                    border:1px solid #e9ecef;border-radius:8px;overflow:hidden}
                    .cookies-table th{background:var(--light);text-align:left;padding:12px 14px;
                        font-weight:700;color:var(--dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}
                        .cookies-table td{padding:12px 14px;border-top:1px solid #e9ecef;vertical-align:top;color:#3a3e46}
                        .cookies-table tr:hover td{background:#fafbfc}

                        /* FOOTER */
                        .legal-footer{
                            background:var(--dark);color:#c8cdd8;padding:40px 0 25px;font-size:.85rem;
                        }
                        .legal-footer .container{max-width:1140px;margin:auto;padding:0 20px}
                        .legal-footer-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:22px}
                        .legal-footer-links a{color:#c8cdd8}
                        .legal-footer-links a:hover{color:var(--secondary)}
                        .legal-footer .copy{text-align:center;color:#8b93a5;font-size:.8rem;
                            border-top:1px solid var(--dark-light);padding-top:20px}

                            /* BOTÓN VOLVER ARRIBA */
                            .legal-top{
                                position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:50%;
                                background:var(--gradient-1);color:#fff;display:flex;align-items:center;
                                justify-content:center;font-size:1.1rem;box-shadow:0 8px 24px rgba(0,86,179,.4);
                                border:none;cursor:pointer;opacity:0;visibility:hidden;transition:all .3s;
                            }
                            .legal-top.show{opacity:1;visibility:visible}
                            .legal-top:hover{transform:translateY(-4px) scale(1.06)}

                            /* PRINT */
                            @media print{
                                .legal-nav,.legal-toc,.legal-footer,.legal-top{display:none!important}
                                .legal-wrap{grid-template-columns:1fr;padding:0}
                                .legal-header{background:#fff!important;color:#000!important;padding:20px 0}
                                .legal-header h1,.legal-header p,.legal-header .meta{color:#000!important}
                            }
