/* ============================================================
   MEDIA LEADMON — LEGAL PAGES (Privacy Policy / Aviso de Privacidad)
   Uses the site design system defined in styles.css
   ============================================================ */

/* ---- LANG SWITCH (in nav) ---- */
.nav__lang {
  display:inline-flex; align-items:center; gap:.3rem;
  padding:.4rem .85rem;
  border:1.5px solid var(--clr-border-2); border-radius:var(--radius-full);
  color:var(--clr-off); font-size:12px; font-weight:700; letter-spacing:.08em;
  text-decoration:none; text-transform:uppercase;
  transition:border-color .2s, color .2s, background .2s;
}
.nav__lang:hover {
  border-color:var(--clr-accent); color:var(--clr-accent);
  background:var(--clr-accent-dim);
}
.nav__lang svg { opacity:.7; }

/* ---- HERO ---- */
.legal-hero {
  padding:9.5rem 0 3.5rem;
  background:
    radial-gradient(ellipse 55% 40% at 80% 0%, rgba(253,237,12,.05), transparent 65%),
    var(--clr-bg);
  border-bottom:1px solid var(--clr-border);
}
.legal-hero__title {
  font-family:var(--font-display);
  font-size:clamp(2.4rem, 5.5vw, 4.25rem);
  font-weight:700; line-height:1.04; letter-spacing:-.02em;
  color:var(--clr-white);
  margin:.6rem 0 1.4rem;
}
.legal-hero__title em { font-style:normal; color:var(--clr-accent); }
.legal-hero__meta {
  display:flex; flex-wrap:wrap; gap:.5rem 1.75rem;
  padding-top:1.4rem; border-top:1px solid var(--clr-border);
  max-width:720px;
}
.legal-hero__meta div { display:flex; flex-direction:column; gap:.2rem; }
.legal-hero__meta dt {
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--clr-muted);
}
.legal-hero__meta dd { font-size:var(--fs-sm); color:var(--clr-off); }

/* ---- LAYOUT ---- */
.legal-layout {
  display:grid; grid-template-columns:minmax(0,1fr);
  gap:3rem;
  padding-top:3.5rem; padding-bottom:5rem;
}
@media (min-width: 1024px) {
  .legal-layout { grid-template-columns:250px minmax(0,1fr); gap:4.5rem; }
}
.legal-body { min-width:0; }
.legal-body p, .legal-body li { overflow-wrap:break-word; }
.legal-body a { overflow-wrap:anywhere; }

/* ---- TOC ---- */
.legal-toc { align-self:start; }
.legal-toc__toggle { display:none; }
@media (min-width: 1024px) {
  .legal-toc { position:sticky; top:110px; }
}
.legal-toc h2 {
  font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--clr-accent); margin-bottom:1rem;
}
.legal-toc ol { list-style:none; counter-reset:toc; }
.legal-toc li { counter-increment:toc; }
.legal-toc a {
  display:flex; gap:.6rem; align-items:baseline;
  padding:.4rem 0;
  color:var(--clr-muted-2); font-size:var(--fs-sm); text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .2s;
}
.legal-toc a::before {
  content:counter(toc, decimal-leading-zero);
  font-family:var(--font-display); font-size:11px; font-weight:700;
  color:var(--clr-muted);
  transition:color .2s;
}
.legal-toc a:hover { color:var(--clr-white); }
.legal-toc a:hover::before { color:var(--clr-accent); }
.legal-toc a.active { color:var(--clr-white); }
.legal-toc a.active::before { color:var(--clr-accent); }

/* TOC collapsible (mobile) */
@media (max-width: 1023px) {
  .legal-toc {
    border:1px solid var(--clr-border-2); border-radius:var(--radius-md);
    background:var(--clr-surface);
    padding:0;
  }
  .legal-toc h2 { display:none; }
  .legal-toc__toggle {
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    width:100%; padding:1rem 1.25rem;
    background:none; border:none; cursor:pointer;
    font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
    color:var(--clr-accent);
  }
  .legal-toc__toggle svg { transition:transform .3s var(--ease-out); color:var(--clr-muted-2); }
  .legal-toc.open .legal-toc__toggle svg { transform:rotate(180deg); }
  .legal-toc ol {
    display:none;
    padding:0 1.25rem 1rem;
  }
  .legal-toc.open ol { display:block; }
}

/* ---- SECTIONS ---- */
.legal-section { margin-bottom:3.5rem; scroll-margin-top:110px; }
.legal-section > h2 {
  display:flex; align-items:baseline; gap:.85rem;
  font-family:var(--font-display);
  font-size:clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight:700; color:var(--clr-white); letter-spacing:-.01em;
  padding-bottom:.8rem; margin-bottom:1.4rem;
  border-bottom:1px solid var(--clr-border-2);
}
.legal-section > h2 .num {
  font-size:.72em; color:var(--clr-accent); font-weight:700;
}
.legal-section h3 {
  font-size:var(--fs-base); font-weight:600; color:var(--clr-off);
  margin:1.75rem 0 .6rem;
}
.legal-section p {
  font-size:var(--fs-sm); line-height:1.75; color:var(--clr-muted-2);
  margin-bottom:.9rem;
}
.legal-section p strong { color:var(--clr-off); font-weight:600; }
.legal-section a { color:var(--clr-accent); text-decoration:none; }
.legal-section a:hover { text-decoration:underline; }
.legal-section ul, .legal-section ol { margin:0 0 1rem; padding-left:1.2rem; }
.legal-section li {
  font-size:var(--fs-sm); line-height:1.7; color:var(--clr-muted-2);
  margin-bottom:.4rem;
}
.legal-section li::marker { color:var(--clr-accent); }
.legal-section li strong { color:var(--clr-off); font-weight:600; }

/* ---- ALERT ---- */
.legal-alert {
  display:flex; gap:.9rem; align-items:flex-start;
  background:var(--clr-accent-dim);
  border:1px solid rgba(253,237,12,.25); border-radius:var(--radius-md);
  padding:1.1rem 1.25rem; margin:0 0 1.4rem;
}
.legal-alert svg { flex-shrink:0; margin-top:.15rem; color:var(--clr-accent); }
.legal-alert p { margin:0; color:var(--clr-off); }
.legal-alert strong { color:var(--clr-accent); }

/* ---- TABLES ---- */
.legal-table-wrap {
  overflow-x:auto; margin:1.2rem 0 1.4rem;
  border:1px solid var(--clr-border-2); border-radius:var(--radius-md);
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
.legal-table-wrap::-webkit-scrollbar { height:4px; }
.legal-table-wrap::-webkit-scrollbar-track { background:transparent; }
.legal-table-wrap::-webkit-scrollbar-thumb {
  background:rgba(255,255,255,.22); border-radius:999px;
}
.legal-table-wrap::-webkit-scrollbar-thumb:hover { background:rgba(253,237,12,.4); }
.legal-table { width:100%; border-collapse:collapse; font-size:13px; min-width:640px; }
.legal-table th {
  background:var(--clr-surface);
  padding:.75rem 1rem; text-align:left;
  font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--clr-accent);
  border-bottom:1px solid var(--clr-border-2);
  white-space:nowrap;
}
.legal-table td {
  padding:.7rem 1rem; vertical-align:top;
  color:var(--clr-muted-2); line-height:1.55;
  border-bottom:1px solid var(--clr-border);
}
.legal-table tbody tr:last-child td { border-bottom:none; }
.legal-table tbody tr:hover td { background:rgba(255,255,255,.02); }
.legal-table code {
  display:inline-block;
  background:var(--clr-accent-dim); border:1px solid rgba(253,237,12,.2);
  border-radius:5px; padding:.1rem .5rem;
  font-family:'SF Mono', 'Courier New', monospace; font-size:11.5px;
  color:var(--clr-accent); white-space:nowrap;
}

/* ---- RIGHTS GRID ---- */
.legal-rights {
  display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem;
  margin:1.2rem 0 1.4rem;
}
@media (min-width: 900px) { .legal-rights { grid-template-columns:repeat(3,1fr); } }
@media (max-width: 599px) {
  .legal-right { padding:.95rem .85rem; }
  .legal-right svg { width:17px; height:17px; margin-bottom:.5rem; }
  .legal-right h4 { font-size:12px; }
  .legal-right p { font-size:11.5px; }
}
.legal-right {
  background:var(--clr-surface);
  border:1px solid var(--clr-border-2); border-radius:var(--radius-md);
  padding:1.2rem 1.1rem;
  transition:border-color .25s, transform .25s var(--ease-out);
}
.legal-right:hover { border-color:rgba(253,237,12,.3); transform:translateY(-2px); }
.legal-right svg { color:var(--clr-accent); margin-bottom:.7rem; }
.legal-right h4 {
  font-family:var(--font-display); font-size:var(--fs-sm); font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--clr-white);
  margin-bottom:.3rem;
}
.legal-right p { font-size:12.5px; line-height:1.55; color:var(--clr-muted-2); margin:0; }

/* ---- CONTACT CARD ---- */
.legal-contact {
  background:var(--clr-surface);
  border:1px solid var(--clr-border-2); border-radius:var(--radius-lg);
  padding:1.75rem 1.9rem; margin-top:1.2rem;
}
.legal-contact h3 {
  font-family:var(--font-display); font-size:var(--fs-md); font-weight:700;
  color:var(--clr-white); margin:0 0 1.1rem;
}
.legal-contact ul { list-style:none; padding:0; margin:0; }
.legal-contact li {
  display:flex; align-items:center; gap:.7rem;
  margin-bottom:.65rem; font-size:var(--fs-sm); color:var(--clr-muted-2);
}
.legal-contact li svg { flex-shrink:0; color:var(--clr-accent); }
.legal-contact .note {
  margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--clr-border);
  font-size:12px; color:var(--clr-muted);
}

/* ---- FOOTER LEGAL LINK ---- */
.footer__legal-link { color:inherit; text-decoration:none; transition:color .2s; }
.footer__legal-link:hover { color:var(--clr-accent); }

/* ---- RESPONSIVE ---- */
@media (max-width: 767px) {
  .legal-hero { padding:7.5rem 0 2.5rem; }
  .legal-layout { padding-top:2.5rem; padding-bottom:3.5rem; }
  .legal-section { margin-bottom:2.75rem; }
  .legal-table { min-width:560px; }
}
