/* ==========================================================================
   MAGISTRA · POLÍTICA DE PROTECCIÓN DE DATOS · CSS (se suma a magistra-home.css)
   ========================================================================== */

.magistra-home .magistra-lhero {
  position: relative; overflow: hidden; isolation: isolate; color: #fff;
  background: var(--magistra-navy) url("../assets/magistra-fondo-ondas.webp") 70% 100% / cover no-repeat;
  padding: calc(var(--magistra-header-h) + var(--magistra-adminbar) + clamp(40px, 7vw, 88px)) 0 clamp(56px, 8vw, 104px);
}
.magistra-home .magistra-lhero__copy { display: grid; gap: 18px; justify-items: start; max-width: 48rem; }
.magistra-home .magistra-lhero__title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; line-height: 1.06; letter-spacing: -.025em; text-wrap: balance; }
.magistra-home .magistra-lhero__title span { color: var(--magistra-cyan); }
.magistra-home .magistra-lhero .magistra-lead { color: rgba(255,255,255,.9); max-width: 34em; }
.magistra-home .magistra-lhero__copy > * { opacity: 0; transform: translateY(18px); animation: magistra-rise .8s var(--magistra-ease) forwards; }
.magistra-home .magistra-lhero__copy > *:nth-child(2) { animation-delay: .1s; }
.magistra-home .magistra-lhero__copy > *:nth-child(3) { animation-delay: .2s; }

/* --- Cuerpo ---------------------------------------------------------------- */
.magistra-home .magistra-legal__body { padding-block: clamp(36px, 6vw, 80px) clamp(72px, 10vw, 120px); }
.magistra-home .magistra-legal__wrap { display: grid; gap: 28px; align-items: start; }

/* Índice: tarjeta plegable en móvil, columna fija en escritorio */
.magistra-home .magistra-legal__toc {
  border: 1px solid var(--magistra-mist); border-radius: 18px; background: var(--magistra-cloud); color: var(--magistra-navy);
}
.magistra-home .magistra-legal__toc summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none;
  padding: 16px 20px; min-height: 52px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--magistra-blue);
}
.magistra-home .magistra-legal__toc summary::-webkit-details-marker { display: none; }
.magistra-home .magistra-legal__toc summary i {
  width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px); transition: transform .25s var(--magistra-ease);
}
.magistra-home .magistra-legal__toc[open] summary i { transform: rotate(225deg) translateY(-2px); }
.magistra-home .magistra-legal__toc nav { padding: 0 12px 14px; }
.magistra-home .magistra-legal__toc ol { display: grid; gap: 2px; }
.magistra-home .magistra-legal__toc a {
  display: grid; grid-template-columns: 2rem 1fr; gap: 6px; align-items: baseline; padding: 9px 10px; border-radius: 10px;
  font-size: .9rem; line-height: 1.35; color: var(--magistra-ink); transition: background .2s, color .2s;
}
.magistra-home .magistra-legal__toc a span { font-weight: 700; color: var(--magistra-blue); font-variant-numeric: tabular-nums; }
.magistra-home .magistra-legal__toc a:hover { background: #fff; color: var(--magistra-navy); }
.magistra-home .magistra-legal__toc a[aria-current="true"] { background: #fff; color: var(--magistra-navy); font-weight: 700; box-shadow: inset 3px 0 0 var(--magistra-cyan); }

/* Documento */
.magistra-home .magistra-legal__doc { color: var(--magistra-ink); max-width: 46rem; min-width: 0; }
.magistra-home .magistra-legal__doc section { padding-block: clamp(28px, 4vw, 40px); border-top: 1px solid var(--magistra-mist); display: grid; gap: 16px; align-content: start; }
.magistra-home .magistra-legal__doc section:first-of-type { border-top: 0; padding-top: 0; }
.magistra-home .magistra-legal__doc h2 {
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center;
  font-size: clamp(1.2rem, 2.3vw, 1.55rem); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--magistra-navy); text-wrap: balance;
}
.magistra-home .magistra-legal__doc h2 span {
  display: grid; place-items: center; min-width: 2.4rem; height: 2.4rem; padding-inline: .5rem; border-radius: 999px;
  background: var(--magistra-navy); color: #fff; font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.magistra-home .magistra-legal__doc p { font-size: 1rem; line-height: 1.75; }
.magistra-home .magistra-legal__doc strong { color: var(--magistra-navy); font-weight: 700; }
.magistra-home .magistra-legal__doc a { color: var(--magistra-blue); text-decoration: underline; text-underline-offset: 3px; }

.magistra-home .magistra-legal__doc ul, .magistra-home .magistra-legal__doc ol { display: grid; gap: 12px; }
.magistra-home .magistra-legal__doc section > ul > li, .magistra-home .magistra-legal__doc section > ol > li { position: relative; padding-left: 28px; line-height: 1.7; }
.magistra-home .magistra-legal__doc section > ul > li::before {
  content: ""; position: absolute; left: 4px; top: .7em; width: 8px; height: 8px; border-radius: 50%; background: var(--magistra-cyan);
}
.magistra-home .magistra-legal__doc section > ol { counter-reset: pol; }
.magistra-home .magistra-legal__doc section > ol > li { counter-increment: pol; }
.magistra-home .magistra-legal__doc section > ol > li::before {
  content: counter(pol); position: absolute; left: 0; top: .15em; display: grid; place-items: center; width: 1.3rem; height: 1.3rem; border-radius: 50%;
  background: var(--magistra-cyan); color: var(--magistra-navy); font-size: .72rem; font-weight: 700;
}

/* Derechos como etiquetas */
.magistra-home .magistra-legal__doc ul.magistra-legal__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.magistra-home .magistra-legal__doc ul.magistra-legal__chips > li {
  padding: .55em 1.1em; border-radius: 999px; background: var(--magistra-cloud); border: 1px solid var(--magistra-mist);
  font-size: .9rem; font-weight: 700; color: var(--magistra-navy); line-height: 1.3;
}
.magistra-home .magistra-legal__doc ul.magistra-legal__chips > li::before { content: none; }

/* Canal de atención */
.magistra-home .magistra-legal__callout {
  display: grid; gap: 4px; padding: 18px 22px; border-radius: 16px; background: var(--magistra-cloud); border-left: 4px solid var(--magistra-cyan);
}
.magistra-home .magistra-legal__callout span { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--magistra-blue); }
.magistra-home .magistra-legal__doc .magistra-legal__callout a { font-size: 1.2rem; font-weight: 700; color: var(--magistra-navy); text-decoration: none; word-break: break-word; }
.magistra-home .magistra-legal__doc .magistra-legal__callout a:hover { color: var(--magistra-blue); text-decoration: underline; }

/* Cierre */
.magistra-home .magistra-legal__foot {
  display: grid; gap: 22px; margin-top: clamp(20px, 3vw, 32px); padding: clamp(24px, 4vw, 36px); border-radius: 24px;
  background: var(--magistra-navy); color: #fff;
}
.magistra-home .magistra-legal__foot strong { display: block; font-size: 1.2rem; color: #fff; }
.magistra-home .magistra-legal__foot p { margin-top: 6px; color: rgba(255,255,255,.85); font-size: .98rem; }
.magistra-home .magistra-legal__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.magistra-home .magistra-legal__doc .magistra-legal__actions a { text-decoration: none; }
.magistra-home .magistra-legal__doc .magistra-legal__actions .magistra-btn--primary { color: var(--magistra-navy); }
.magistra-home .magistra-legal__doc .magistra-legal__actions .magistra-btn--ghost { color: #fff; }

@media (min-width: 1024px) {
  .magistra-home .magistra-legal__wrap { grid-template-columns: 300px minmax(0, 1fr); gap: clamp(48px, 6vw, 88px); }
  .magistra-home .magistra-legal__toc { position: sticky; top: calc(var(--magistra-header-h) + var(--magistra-adminbar) + 24px); max-height: calc(100vh - var(--magistra-header-h) - var(--magistra-adminbar) - 48px); overflow: auto; }
  .magistra-home .magistra-legal__toc summary { pointer-events: none; cursor: default; }
  .magistra-home .magistra-legal__toc summary i { display: none; }
}

.magistra-home .magistra-legal__doc section[id] { scroll-margin-top: calc(var(--magistra-header-h) + var(--magistra-adminbar) + 20px); }

@media (prefers-reduced-motion: reduce) {
  .magistra-home .magistra-lhero__copy > * { animation: none; opacity: 1; transform: none; }
  .magistra-home .magistra-legal__toc summary i { transition: none; }
}

/* Impresión: solo el documento */
@media print {
  .magistra-home .magistra-header, .magistra-home .magistra-footer, .magistra-home .magistra-legal__toc, .magistra-home .magistra-legal__foot { display: none !important; }
  .magistra-home .magistra-lhero { background: none; color: #000; padding: 0 0 16px; }
  .magistra-home .magistra-lhero .magistra-lead, .magistra-home .magistra-lhero__title span { color: #000; }
  .magistra-home .magistra-legal__doc section { break-inside: avoid; }
}

/* Subtítulos y detalles de la sección de procedimiento (ARCO+) */
.magistra-home .magistra-legal__doc h3 { font-size: 1.05rem; font-weight: 700; line-height: 1.3; color: var(--magistra-navy); margin-top: 10px; scroll-margin-top: calc(var(--magistra-header-h, 72px) + 24px); }
.magistra-home .magistra-legal__callout small { font-size: .85rem; color: #6b7686; }
.magistra-home .magistra-legal__doc p > a.magistra-btn { text-decoration: none; color: var(--magistra-navy); }
.magistra-home .magistra-legal__doc p > a.magistra-btn--ghost { color: var(--magistra-navy); border-color: var(--magistra-navy); }
