/* legal.css — visor moderno de documentos legales, banner de cookies y pie de página */
:root{
  --lg-navy:#032137; --lg-blue:#12365e; --lg-blue2:#0a4a78; --lg-gold:#e6a11f; --lg-orange:#ca6d30;
  --lg-bg:#f4f8fc; --lg-card:#fff; --lg-ink:#0f172a; --lg-soft:#475569; --lg-line:rgba(15,23,42,.10);
  --lg-note:#e8f1fb; --lg-note-b:#0a4a78; --lg-warn:#fff4e0; --lg-warn-b:#ca6d30;
}
@media (prefers-color-scheme: dark){
  :root[data-lg-theme="auto"]{--lg-bg:#0b1522;--lg-card:#111f31;--lg-ink:#e8eef7;--lg-soft:#a8b6c9;--lg-line:rgba(255,255,255,.12);--lg-note:#10304f;--lg-warn:#3a2a12;}
}
:root[data-lg-theme="dark"]{--lg-bg:#0b1522;--lg-card:#111f31;--lg-ink:#e8eef7;--lg-soft:#a8b6c9;--lg-line:rgba(255,255,255,.12);--lg-note:#10304f;--lg-warn:#3a2a12;}

body.lg-page{background:var(--lg-bg) !important;color:var(--lg-ink)}
.lg-wrap{max-width:1180px;margin:0 auto;padding:0 16px 80px}

/* Cabecera */
.lg-hero{position:relative;overflow:hidden;border-radius:0 0 32px 32px;margin:0 -16px 28px;padding:44px 28px 70px;color:#fff;
  background:radial-gradient(circle at 92% 0%,rgba(230,161,31,.45),transparent 45%),linear-gradient(135deg,var(--lg-navy),var(--lg-blue) 60%,var(--lg-blue2))}
.lg-hero .lg-ico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);margin-bottom:14px}
.lg-hero h1{font-weight:800;font-size:clamp(1.6rem,3.6vw,2.4rem);letter-spacing:-.02em;margin:0 0 8px}
.lg-hero p{max-width:760px;color:rgba(255,255,255,.85);margin:0}
.lg-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lg-chip{font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28)}
.lg-chip.gold{background:rgba(230,161,31,.2);border-color:rgba(230,161,31,.6);color:#ffd88a}

/* Resumen */
.lg-summary{background:var(--lg-card);border:1px solid var(--lg-line);border-left:5px solid var(--lg-gold);border-radius:18px;padding:20px 22px;margin:-48px 0 26px;position:relative;box-shadow:0 10px 30px rgba(3,33,55,.10)}
.lg-summary h2{font-size:1.05rem;font-weight:800;margin:0 0 10px;display:flex;gap:8px;align-items:center}
.lg-summary ul{margin:0;padding-left:20px;color:var(--lg-soft)}
.lg-summary li{margin:5px 0}

/* Layout */
.lg-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}
@media(max-width:991px){.lg-grid{grid-template-columns:1fr}}
.lg-toc{position:sticky;top:84px;background:var(--lg-card);border:1px solid var(--lg-line);border-radius:18px;padding:14px;max-height:calc(100vh - 110px);overflow:auto}
@media(max-width:991px){.lg-toc{position:static;max-height:none}.lg-toc .lg-toc-list{display:none}.lg-toc.open .lg-toc-list{display:block}}
.lg-toc-head{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:.9rem;padding:4px 6px 10px;cursor:default}
.lg-toc-toggle{display:none;background:none;border:0;color:var(--lg-blue2);font-weight:700}
@media(max-width:991px){.lg-toc-toggle{display:inline-block}.lg-toc-head{cursor:pointer}}
.lg-search{width:100%;border:1px solid var(--lg-line);background:var(--lg-bg);color:var(--lg-ink);border-radius:12px;padding:9px 12px;font-size:.9rem;margin-bottom:8px}
.lg-toc-list{list-style:none;margin:0;padding:0}
.lg-toc-list a{display:flex;gap:8px;padding:7px 8px;border-radius:10px;color:var(--lg-soft);text-decoration:none;font-size:.86rem;line-height:1.25}
.lg-toc-list a b{color:var(--lg-gold);min-width:22px}
.lg-toc-list a:hover{background:var(--lg-note);color:var(--lg-ink)}
.lg-toc-list a.active{background:linear-gradient(90deg,rgba(230,161,31,.18),transparent);color:var(--lg-ink);font-weight:700}
.lg-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--lg-gold),var(--lg-orange));z-index:2000}

/* Secciones */
.lg-doc{background:var(--lg-card);border:1px solid var(--lg-line);border-radius:22px;padding:8px 30px 30px;box-shadow:0 8px 28px rgba(3,33,55,.06)}
@media(max-width:575px){.lg-doc{padding:4px 16px 20px}}
.lg-sec{padding-top:22px;scroll-margin-top:84px;border-bottom:1px dashed var(--lg-line);padding-bottom:18px}
.lg-sec:last-child{border-bottom:0}
.lg-sec h2{display:flex;gap:12px;align-items:center;font-size:1.2rem;font-weight:800;margin:0 0 12px;letter-spacing:-.01em}
.lg-sec h2 .n{flex:0 0 auto;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:.85rem;color:#fff;background:linear-gradient(135deg,var(--lg-blue),var(--lg-blue2))}
.lg-sec h3{font-size:1rem;font-weight:800;margin:18px 0 8px;color:var(--lg-blue2)}
.lg-sec p,.lg-sec li{color:var(--lg-ink);line-height:1.7;font-size:.97rem}
.lg-sec ul,.lg-sec ol{padding-left:22px}
.lg-sec li{margin:6px 0}
.lg-sec li::marker{color:var(--lg-gold);font-weight:700}
.lg-sec a{color:var(--lg-blue2);font-weight:600}
.lg-callout{display:flex;gap:12px;padding:14px 16px;border-radius:14px;margin:14px 0;line-height:1.6}
.lg-callout i{font-size:1.2rem;margin-top:2px}
.lg-note{background:var(--lg-note);border-left:4px solid var(--lg-note-b)}
.lg-note i{color:var(--lg-note-b)}
.lg-warn{background:var(--lg-warn);border-left:4px solid var(--lg-warn-b)}
.lg-warn i{color:var(--lg-warn-b)}
.lg-table-wrap{overflow-x:auto;margin:12px 0;border:1px solid var(--lg-line);border-radius:14px}
.lg-table{width:100%;border-collapse:collapse;font-size:.9rem}
.lg-table th{background:var(--lg-navy);color:#fff;text-align:left;padding:10px 12px;font-weight:700;white-space:nowrap}
.lg-table td{padding:10px 12px;border-top:1px solid var(--lg-line);vertical-align:top;color:var(--lg-ink)}
.lg-table tr:nth-child(even) td{background:rgba(18,54,94,.04)}
@media(max-width:640px){
  .lg-table thead{display:none}.lg-table tr{display:block;border-top:1px solid var(--lg-line);padding:6px 0}
  .lg-table td{display:block;border:0;padding:4px 12px}.lg-table td::before{content:attr(data-label);display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--lg-soft)}
}
.lg-company{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:12px 0}
.lg-company div{background:var(--lg-bg);border:1px solid var(--lg-line);border-radius:12px;padding:10px 12px}
.lg-company dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--lg-soft);font-weight:800}
.lg-company dd{margin:2px 0 0;font-weight:600;word-break:break-word}

/* Hub */
.lg-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.lg-card{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:20px;background:var(--lg-card);border:1px solid var(--lg-line);text-decoration:none;color:var(--lg-ink);box-shadow:0 6px 20px rgba(3,33,55,.05);transition:transform .15s,box-shadow .15s}
.lg-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(3,33,55,.12);color:var(--lg-ink)}
.lg-card .ci{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:22px;color:#fff;background:linear-gradient(135deg,var(--lg-blue),var(--lg-blue2))}
.lg-card h3{font-size:1.05rem;font-weight:800;margin:6px 0 0}
.lg-card p{margin:0;color:var(--lg-soft);font-size:.9rem}
.lg-badge{align-self:flex-start;font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(230,161,31,.2);color:#9a6a0a}

/* Barra de aceptación / toolbar */
.lg-tools{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.lg-btn{border:1px solid var(--lg-line);background:var(--lg-card);color:var(--lg-ink);border-radius:12px;padding:8px 14px;font-weight:700;font-size:.85rem;text-decoration:none;cursor:pointer}
.lg-btn:hover{background:var(--lg-note);color:var(--lg-ink)}
.lg-btn.primary{background:linear-gradient(135deg,var(--lg-gold),var(--lg-orange));color:#1b1200;border:0}

/* Casilla "He leído y acepto" (registro / checkout / aceptar_terminos) */
.lg-accept{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--lg-line);border-radius:14px;background:rgba(230,161,31,.08);margin:12px 0}
.lg-accept input{width:20px;height:20px;margin-top:3px;accent-color:#0a4a78;flex:0 0 auto}
.lg-accept label{font-size:.9rem;line-height:1.5;margin:0;cursor:pointer}
.lg-accept a{font-weight:700}
.lg-accept.error{border-color:#d64545;background:rgba(214,69,69,.08)}

/* Pie legal */
.lg-footer{margin-top:40px;background:linear-gradient(180deg,var(--lg-navy),#021625);color:#cbd8e8;padding:30px 16px 24px;font-size:.88rem}
.lg-footer .in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.lg-footer h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;margin:0 0 10px}
.lg-footer a{color:#cbd8e8;text-decoration:none;display:block;margin:5px 0}
.lg-footer a:hover{color:var(--lg-gold)}
.lg-footer .copy{max-width:1180px;margin:18px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);color:#8fa3bb;font-size:.8rem}

/* Banner de cookies */
.lg-cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:3000;max-width:720px;margin:0 auto;background:var(--lg-card);color:var(--lg-ink);border:1px solid var(--lg-line);border-radius:18px;padding:16px 18px;box-shadow:0 18px 50px rgba(3,33,55,.28);display:none}
.lg-cookie.show{display:block}
.lg-cookie h5{font-weight:800;font-size:1rem;margin:0 0 6px}
.lg-cookie p{font-size:.85rem;color:var(--lg-soft);margin:0 0 12px}
.lg-cookie .row-b{display:flex;gap:8px;flex-wrap:wrap}
.lg-cookie .opts{display:none;margin:0 0 12px;font-size:.85rem}
.lg-cookie .opts label{display:flex;gap:8px;margin:4px 0;align-items:center}
@media print{.lg-toc,.lg-tools,.lg-footer,.lg-cookie,.lg-progress,header,nav{display:none !important}.lg-hero{background:none;color:#000;padding:0}.lg-hero p,.lg-chip{color:#000}.lg-doc{border:0;box-shadow:none}.lg-grid{display:block}}
