/**
 * @file
 * Legal pages (Aviso Legal, Privacidad, Cookies) — styling for body field content.
 */

/* Page wrapper — same padding as vel-container */
.vel-legal {
  max-width: var(--vel-max-width);
  margin: 0 auto;
  padding: var(--vel-space-3xl) 16px;
}

/* Title with blue underline — matches section headers across the site */
.vel-legal__title {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-4xl);
  font-weight: 800;
  color: var(--vel-primary);
  line-height: 1.1;
  margin: 0 0 var(--vel-space-2xl);
  position: relative;
  padding-bottom: var(--vel-space-lg);
}

.vel-legal__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 75px;
  height: 5px;
  background: var(--vel-accent);
}

/* Body text */
.vel-legal__body {
  font-family: var(--vel-font-body);
  font-size: var(--vel-text-base);
  font-weight: 400;
  color: var(--vel-text-dark);
  line-height: 1.8;
}

/* Hide first h2 if it duplicates the page title */
.vel-legal__body h2:first-of-type {
  display: none;
}

.vel-legal__body h2 {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-2xl);
  font-weight: 700;
  color: var(--vel-primary);
  margin: var(--vel-space-2xl) 0 var(--vel-space-md);
}

.vel-legal__body h3 {
  font-family: var(--vel-font-heading);
  font-size: var(--vel-text-xl);
  font-weight: 700;
  color: var(--vel-primary);
  margin: var(--vel-space-xl) 0 var(--vel-space-sm);
}

.vel-legal__body p {
  margin: 0 0 var(--vel-space-md);
}

.vel-legal__body ul,
.vel-legal__body ol {
  margin: 0 0 var(--vel-space-md);
  padding-left: var(--vel-space-xl);
}

.vel-legal__body li {
  margin-bottom: var(--vel-space-xs);
}

.vel-legal__body a {
  color: var(--vel-secondary);
  text-decoration: underline;
}

.vel-legal__body a:hover {
  color: var(--vel-accent);
}

/* Desktop */
@media (min-width: 992px) {
  .vel-legal {
    padding: var(--vel-space-3xl) var(--vel-content-padding);
  }

  .vel-legal__title {
    font-size: var(--vel-text-5xl);
    padding-bottom: var(--vel-space-xl);
  }

  .vel-legal__title::after {
    height: 10px;
  }

  .vel-legal__body {
    font-size: var(--vel-text-lg);
  }
}
