/* ==========================================================================
   AURONIXIA — Subpáginas (legales y servicios)
   Reutiliza tokens y componentes de main.css.
   ========================================================================== */

.page-main {
  padding: 140px 0 110px;
  border-bottom: 1px solid var(--line);
}
.page-container { max-width: 980px; }

.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 13px;
  color: var(--text-75);
  margin-bottom: 36px;
}
.breadcrumb li + li::before {
  content: '/';
  margin-right: 6px;
  color: var(--text-40);
}
.breadcrumb a { color: var(--c-cream); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-strong); }

.page-title {
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 64px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--c-cream);
  margin-bottom: 18px;
}
.page-updated { font-size: 13px; color: var(--text-75); margin-bottom: 40px; }

.page-lead {
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.6;
  color: var(--text-75);
  max-width: 820px;
  margin-bottom: 36px;
}

/* Texto largo */
.prose { color: var(--text-75); font-size: 16px; line-height: 1.75; }
.prose h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  color: var(--c-cream);
  letter-spacing: -0.01em;
  margin: 48px 0 14px;
}
.prose h3 {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 500;
  color: var(--c-cream);
  margin: 26px 0 8px;
}
.prose p { margin-bottom: 14px; }
.prose ul, .prose ol { margin: 0 0 18px 22px; }
.prose li { margin-bottom: 8px; }
.prose li::marker { color: var(--accent-light); }
.prose a { color: var(--c-cream); text-decoration: underline; text-underline-offset: 3px; }
.prose strong { color: var(--c-cream); font-weight: 600; }

/* Pasos de metodología */
.steps { list-style: none; margin: 0 0 18px !important; counter-reset: step; display: grid; gap: 14px; }
.steps li {
  counter-increment: step;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px 20px 18px 64px;
  position: relative;
  margin: 0;
}
.steps li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 20px;
  top: 18px;
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--accent-light);
}

/* Tabla de plazos */
.table-wrap { overflow-x: auto; margin-bottom: 10px; }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose th { font-family: var(--font-display); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-light); font-weight: 600; }
.prose td:first-child { color: var(--c-cream); }
.table-note { font-size: 13px; color: var(--text-75); }

/* Chips de stack */
.stack-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px !important; }
.stack-chips li {
  margin: 0;
  padding: 8px 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-pill);
  font-size: 14px;
  color: var(--c-cream);
}

/* FAQ de subpágina (details nativo, accesible por teclado) */
.page-faq details {
  border-bottom: 1px solid var(--line);
  padding: 4px 0;
}
.page-faq details:first-of-type { border-top: 1px solid var(--line); }
.page-faq summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 40px 18px 0;
  position: relative;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
  color: var(--c-cream);
}
.page-faq summary::-webkit-details-marker { display: none; }
.page-faq summary::after {
  content: '+';
  position: absolute;
  right: 6px;
  top: 16px;
  color: var(--accent-light);
  font-size: 22px;
  transition: transform 0.3s var(--ease-editorial);
}
.page-faq details[open] summary::after { transform: rotate(45deg); }
.page-faq details p { padding-bottom: 18px; }

/* CTA final */
.page-cta {
  margin-top: 64px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 40px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.page-cta h2 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.6vw, 32px);
  font-weight: 400;
  color: var(--c-cream);
  margin: 0;
  max-width: 520px;
}
.page-cta p { color: var(--text-75); margin-top: 8px; font-size: 14px; }

@media (max-width: 768px) {
  .page-main { padding: 110px 0 80px; }
  .page-cta { padding: 28px 22px; }
}

/* Imagen de cabecera con parallax (páginas de servicio) */
.page-hero-media { margin: 48px 0 56px; }
.page-hero-media .parallax-frame { aspect-ratio: 16 / 8; border: 1px solid var(--line); }
.page-hero-media .parallax-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(20, 14, 11, 0.55) 0%, transparent 50%);
}

/* CTA final con fondo difuminado */
.page-cta.has-bg-media { background: transparent; }
.page-cta .section-bg-media { border-radius: inherit; }
.page-cta .section-bg-media::after { background: rgba(30, 22, 18, 0.72); }

@media (max-width: 768px) {
  .page-hero-media { margin: 32px 0 40px; }
  .page-hero-media .parallax-frame { aspect-ratio: 4 / 3; }
}
