/* ===== PÁGINAS LEGALES ===== */
.lp-legal-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #2d1b3d 50%, #1a1a2e 100%);
  padding: 2.5rem 0 2rem;
}
.lp-legal-hero__bc-link { color: rgba(255,255,255,.65); text-decoration: none; }
.lp-legal-hero__bc-link:hover { color: #fff; }
.breadcrumb-item.active { color: rgba(255,255,255,.85); }
.breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }
.lp-legal-hero__title { color: #fff; font-size: clamp(1.6rem, 4vw, 2.2rem); }
.lp-legal-hero__subtitle { color: rgba(255,255,255,.7); margin-top: .5rem; font-size: .95rem; }

.lp-legal-body { padding: 2.5rem 0 1rem; background: #f8f9fa; }

.lp-legal-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

.lp-legal-card__section {
  padding: 1.75rem 2rem;
  border-bottom: 1px solid #f0f0f0;
}
.lp-legal-card__section:last-of-type { border-bottom: none; }

.lp-legal-card__heading {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 1rem;
}
.lp-legal-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  background: #eb5659;
  color: #fff;
  border-radius: 50%;
  font-size: .8rem;
  font-weight: 700;
  flex-shrink: 0;
}

.lp-legal-card__data-grid {
  display: grid;
  gap: .5rem;
  margin-top: .75rem;
}
.lp-legal-card__data-row {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: .5rem;
  padding: .5rem .75rem;
  border-radius: 6px;
  background: #fafafa;
}
.lp-legal-card__data-label { color: #6c757d; font-size: .875rem; }
.lp-legal-card__data-value { font-size: .9rem; }
.lp-legal-card__data-value a { color: #eb5659; text-decoration: none; }
.lp-legal-card__data-value a:hover { text-decoration: underline; }

.lp-legal-card__list { padding-left: 1.25rem; }
.lp-legal-card__list li { margin-bottom: .4rem; font-size: .9375rem; line-height: 1.6; }

.lp-legal-card__footer {
  background: #f8f9fa;
  padding: 1rem 2rem;
  font-size: .8125rem;
  color: #6c757d;
  border-top: 1px solid #f0f0f0;
}
.lp-legal-card__footer a { color: #eb5659; text-decoration: none; }

@media (max-width: 575.98px) {
  .lp-legal-card__section { padding: 1.25rem 1rem; }
  .lp-legal-card__data-row { grid-template-columns: 1fr; gap: .125rem; }
  .lp-legal-card__footer { padding: .75rem 1rem; }
}


/* ===== PÁGINAS LEGALES (compartido con aviso-legal.jsp) ===== */
.lp-legal-hero {
  background: linear-gradient(135deg, #1a1a2e 0%, #2d1b3d 50%, #1a1a2e 100%);
  padding: 2.5rem 0 2rem;
}
.lp-legal-hero__bc-link { color: rgba(255,255,255,.65); text-decoration: none; }
.lp-legal-hero__bc-link:hover { color: #fff; }
.breadcrumb-item.active { color: rgba(255,255,255,.85); }
.breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }
.lp-legal-hero__title { color: #fff; font-size: clamp(1.6rem, 4vw, 2.2rem); }
.lp-legal-hero__subtitle { color: rgba(255,255,255,.7); margin-top: .5rem; font-size: .95rem; }

.lp-legal-body { padding: 2.5rem 0 1rem; background: #f8f9fa; }

.lp-legal-intro {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  background: #fff8e1;
  border-left: 4px solid #ffc107;
  border-radius: 0 8px 8px 0;
  padding: .875rem 1rem;
  font-size: .9rem;
  color: #4a3800;
}
.lp-legal-intro__icon { font-size: 1.25rem; color: #ffc107; flex-shrink: 0; margin-top: .1rem; }

.lp-legal-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0,0,0,.07);
  overflow: hidden;
}
.lp-legal-card__table-wrap { overflow-x: auto; }
.lp-legal-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.lp-legal-table thead th {
  background: #1a1a2e;
  color: #fff;
  padding: .75rem 1rem;
  font-weight: 600;
  text-align: left;
}
.lp-legal-table__col-link { width: 5rem; text-align: center !important; }
.lp-legal-table tbody tr { border-bottom: 1px solid #f0f0f0; }
.lp-legal-table tbody tr:last-child { border-bottom: none; }
.lp-legal-table tbody tr:hover { background: #fafafa; }
.lp-legal-table td { padding: .75rem 1rem; vertical-align: top; line-height: 1.5; }
.lp-legal-table td:first-child { width: 10rem; font-size: .8125rem; }
.lp-legal-table__link {
  display: inline-block;
  font-size: .8rem;
  font-weight: 600;
  color: #eb5659;
  text-decoration: none;
  border: 1px solid #eb5659;
  border-radius: 4px;
  padding: .2rem .5rem;
  white-space: nowrap;
}
.lp-legal-table__link:hover { background: #eb5659; color: #fff; }

.lp-legal-card__section {
  padding: 1.75rem 2rem;
  border-bottom: 1px solid #f0f0f0;
  scroll-margin-top: 80px;
}
.lp-legal-card__section:last-of-type { border-bottom: none; }

.lp-legal-card__heading {
  display: flex;
  align-items: center;
  gap: .625rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 1rem;
}
.lp-legal-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  background: #eb5659;
  color: #fff;
  border-radius: 50%;
  font-size: .8rem;
  font-weight: 700;
  flex-shrink: 0;
}

.lp-legal-card__data-grid { display: grid; gap: .5rem; margin-top: .75rem; }
.lp-legal-card__data-row {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: .5rem;
  padding: .5rem .75rem;
  border-radius: 6px;
  background: #fafafa;
}
.lp-legal-card__data-label { color: #6c757d; font-size: .875rem; }
.lp-legal-card__data-value { font-size: .9rem; }
.lp-legal-card__data-value a,
.lp-legal-card__data-grid a { color: #eb5659; text-decoration: none; }
.lp-legal-card__data-value a:hover { text-decoration: underline; }

.lp-legal-card__list { padding-left: 1.25rem; }
.lp-legal-card__list li { margin-bottom: .4rem; font-size: .9375rem; line-height: 1.6; }

/* Purposes */
.lp-legal-purpose { display: flex; flex-direction: column; gap: 1rem; margin-top: .75rem; }
.lp-legal-purpose__item {
  display: flex;
  gap: .875rem;
  padding: .875rem 1rem;
  background: #fafafa;
  border-radius: 8px;
  border-left: 3px solid #eb5659;
}
.lp-legal-purpose__icon {
  font-size: 1.25rem;
  color: #eb5659;
  flex-shrink: 0;
  margin-top: .125rem;
}

/* Rights grid */
.lp-legal-rights {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .75rem;
  margin-top: .75rem;
}
.lp-legal-rights__item {
  display: flex;
  gap: .625rem;
  padding: .75rem;
  background: #fafafa;
  border-radius: 8px;
  font-size: .875rem;
  line-height: 1.4;
}
.lp-legal-rights__icon { font-size: 1.1rem; color: #eb5659; flex-shrink: 0; margin-top: .1rem; }

.lp-legal-card__notice {
  margin-top: 1rem;
  padding: .75rem 1rem;
  background: #f0f4ff;
  border-radius: 6px;
  font-size: .875rem;
  color: #2d3a6b;
}

.lp-legal-card__contact-box {
  padding: 1rem 1.25rem;
  background: #fef2f2;
  border-radius: 8px;
  border-left: 3px solid #eb5659;
  font-size: .9rem;
  line-height: 1.6;
}
.lp-legal-card__contact-box a { color: #eb5659; }

.lp-legal-aepd-link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  color: #eb5659;
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none;
}
.lp-legal-aepd-link:hover { text-decoration: underline; }

.lp-legal-card__footer {
  background: #f8f9fa;
  padding: 1rem 2rem;
  font-size: .8125rem;
  color: #6c757d;
  border-top: 1px solid #f0f0f0;
}
.lp-legal-card__footer a { color: #eb5659; text-decoration: none; }

@media (max-width: 575.98px) {
  .lp-legal-card__section { padding: 1.25rem 1rem; }
  .lp-legal-card__data-row { grid-template-columns: 1fr; gap: .125rem; }
  .lp-legal-rights { grid-template-columns: 1fr 1fr; }
  .lp-legal-card__footer { padding: .75rem 1rem; }
  .lp-legal-table td:first-child { width: 7rem; }
}
