/* SSC 06/10/2026: estilos das páxinas legais. Tokens do deseño definitivo (seguricon-redesign). Mobile-first, BEM. */
:root {
  --lg-dark: #1a1a1a;
  --lg-accent: #1e88c5;
  --lg-accent-dark: #156a9c;
  --lg-bg-alt: #f5f5f5;
  --lg-muted: #5a5a5a;
  --lg-radius: 10px;
  --lg-font: 'Source Sans 3', 'Segoe UI', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

.lg-body { margin: 0; background: #fff; color: var(--lg-dark); font-family: var(--lg-font); font-size: 1rem; line-height: 1.6; }

.lg-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: .75rem 1rem; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.lg-header__logo { display: block; max-width: 150px; height: auto; }
.lg-header__nav { display: flex; gap: 1.25rem; }
.lg-header__link { color: var(--lg-dark); font-weight: 600; text-decoration: none; border-bottom: 2px solid transparent; padding-bottom: 2px; }
.lg-header__link:hover, .lg-header__link:focus-visible { color: var(--lg-accent); border-color: var(--lg-accent); }

.lg-main { padding: 2rem 1rem 3rem; }
.lg-legal { max-width: 760px; margin: 0 auto; }
.lg-legal__title { font-size: 1.75rem; font-weight: 800; line-height: 1.2; margin: 0 0 .25rem; }
.lg-legal__updated { color: var(--lg-muted); font-size: .9rem; margin: 0 0 2rem; }
.lg-legal__heading { font-size: 1.2rem; font-weight: 700; margin: 2rem 0 .5rem; }
.lg-legal__text, .lg-legal__list { margin: 0 0 1rem; }
.lg-legal__list { padding-left: 1.25rem; }
.lg-legal__link { color: var(--lg-accent-dark); }

.lg-legal__table-wrap { overflow-x: auto; margin: 0 0 1rem; }
.lg-legal__table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .95rem; }
.lg-legal__table th, .lg-legal__table td { border: 1px solid #e0e0e0; padding: .5rem .75rem; text-align: left; vertical-align: top; }
.lg-legal__table th { background: var(--lg-bg-alt); }

.lg-footer { background: var(--lg-bg-alt); padding: 1.5rem 1rem; text-align: center; font-size: .9rem; color: var(--lg-muted); }
.lg-footer__text { margin: .25rem 0; overflow-wrap: anywhere; }
.lg-footer__link { color: var(--lg-accent-dark); }

@media (min-width: 768px) {
  .lg-header { padding: 1rem 2.5rem; }
  .lg-main { padding: 3rem 2.5rem 4rem; }
  .lg-legal__title { font-size: 2.25rem; }
}
