/* Integración legal para la web principal */
.footer-grid { grid-template-columns: 2fr repeat(3, minmax(0, 1fr)); }
.site-privacy-note {
  color: #6e6254 !important;
  margin: 15px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}
.site-privacy-note a { color: #b72a1a; font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }

/* Páginas legales */
.legal-page {
  --legal-red: #b72a1a;
  --legal-orange: #ff5a1f;
  --legal-cream: #f2e1c6;
  --legal-sand: #c8b28a;
  --legal-charcoal: #2a2a2a;
  --legal-black: #0d0d0d;
  --legal-line: #ffffff1c;
  margin: 0;
  background: radial-gradient(circle at 88% 0, #6a1712 0, transparent 31rem), var(--legal-black);
  color: var(--legal-cream);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.legal-page * { box-sizing: border-box; }
.legal-page a { color: inherit; }
.legal-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
  padding: 10px clamp(18px, 5vw, 72px);
  border-bottom: 1px solid var(--legal-line);
  background: #0d0d0dee;
  backdrop-filter: blur(14px);
}
.legal-header img { width: 230px; max-height: 66px; object-fit: contain; }
.legal-header>a:last-child {
  padding: 10px 15px;
  border: 1px solid var(--legal-orange);
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .09em;
  font-size: .72rem;
  font-weight: 900;
}
.legal-hero, .legal-content { width: min(940px, calc(100% - 36px)); margin-inline: auto; }
.legal-hero { padding: 82px 0 38px; border-bottom: 1px solid var(--legal-line); }
.legal-kicker { color: var(--legal-orange); text-transform: uppercase; letter-spacing: .2em; font-size: .72rem; font-weight: 900; }
.legal-hero h1 { margin: 10px 0 18px; text-transform: uppercase; letter-spacing: -.045em; font-family: Impact, Arial Black, sans-serif; font-size: clamp(3rem, 9vw, 6.3rem); line-height: .94; }
.legal-hero p { max-width: 760px; color: #c9bcae; font-size: 1.08rem; }
.legal-updated { display: inline-block; margin-top: 16px; color: var(--legal-sand); font-size: .85rem; }
.legal-content { padding: 52px 0 82px; }
.legal-content section { margin-bottom: 44px; }
.legal-content h2 { margin: 0 0 12px; color: #fff; text-transform: uppercase; font-size: clamp(1.35rem, 4vw, 2rem); line-height: 1.15; }
.legal-content h3 { margin: 25px 0 8px; color: var(--legal-orange); font-size: 1.08rem; }
.legal-content p, .legal-content li { color: #c3b6a9; }
.legal-content ul, .legal-content ol { padding-left: 1.35rem; }
.legal-content li { margin: 8px 0; }
.legal-card {
  margin: 24px 0;
  padding: 23px;
  border: 1px solid #ff5a1f66;
  border-left: 4px solid var(--legal-orange);
  background: linear-gradient(145deg, #b72a1a30, #171311);
}
.legal-card strong { color: #fff; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.legal-actions a { padding: 12px 16px; border: 1px solid var(--legal-orange); text-decoration: none; text-transform: uppercase; font-size: .72rem; font-weight: 900; }
.legal-page footer { border-top: 1px solid var(--legal-line); background: #090909; }
.legal-page .legal-footer-grid {
  width: min(1180px, calc(100% - 36px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 42px;
  align-items: center;
  padding: 44px 0;
}
.legal-page footer img { width: 260px; max-height: 95px; object-fit: contain; }
.legal-page footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 24px; }
.legal-page footer nav a { color: #aaa093; text-decoration: none; font-size: .75rem; font-weight: 900; }
.legal-page footer nav a:hover, .legal-page footer nav a:focus-visible { color: var(--legal-orange); }
.legal-page .legal-copyright { border-top: 1px solid var(--legal-line); color: #746b62; padding: 20px; text-align: center; font-size: .75rem; }

@media (max-width: 900px) {
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid .footer-legal { grid-column: 2 / -1; }
}
@media (max-width: 620px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid .footer-legal { grid-column: auto; }
  .legal-header { min-height: 70px; padding-inline: 15px; }
  .legal-header img { width: 165px; }
  .legal-header>a:last-child { font-size: .62rem; padding: 8px 10px; }
  .legal-hero { padding-top: 55px; }
  .legal-page .legal-footer-grid { grid-template-columns: 1fr; text-align: center; }
  .legal-page footer img { margin-inline: auto; }
  .legal-page footer nav { justify-content: center; }
}
