/* Implant Dental · privacidad.html. Se carga después de site.css. */

/* Datos pendientes de confirmar: ocultos para el visitante, visibles con ?dev=1 (html.dev-media) */
mark.pending { display: none; }
.dev-media mark.pending {
  display: inline;
  padding: 1px 6px;
  background: #fff3bf;
  color: #5c4400;
  border: 1px dashed #b88a00;
  border-radius: var(--r-sm);
  font-weight: 600;
}

.legal { display: grid; gap: var(--s-7); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 1000px) { .legal { grid-template-columns: 300px minmax(0, 1fr); gap: var(--s-8); } }

.toc {
  padding: var(--s-5);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
}
@media (min-width: 1000px) { .toc { position: sticky; top: calc(var(--header-h) + 16px); } }
.toc__title { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; margin-bottom: var(--s-3); }
.toc ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; counter-reset: toc; }
.toc li { counter-increment: toc; }
.toc a {
  display: flex; gap: var(--s-2); min-height: 44px; align-items: center;
  padding: 6px var(--s-3); border-radius: var(--r-sm);
  font-size: 0.9rem; color: var(--ink-2); text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}
.toc a::before { content: counter(toc) "."; font-weight: 600; color: var(--accent-ink); min-width: 1.6em; }
.toc a:hover { background: var(--accent-soft); color: var(--ink); }
.toc a:active { background: var(--accent-line); }
.toc a:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }

.legal__body { max-width: 72ch; }
.legal__body section { scroll-margin-top: calc(var(--header-h) + 24px); padding-top: var(--s-6); border-top: 1px solid var(--line); }
.legal__body section:first-child { padding-top: 0; border-top: 0; }
.legal__body section + section { margin-top: var(--s-6); }
.legal__body h2 { font-family: var(--font-display); font-size: var(--fs-h3); font-weight: 600; letter-spacing: -0.03em; margin-bottom: var(--s-3); }
.legal__body p, .legal__body li { color: var(--ink-2); }
.legal__body p + p, .legal__body p + ul, .legal__body ul + p { margin-top: var(--s-3); }
.legal__body ul { list-style: disc; padding-left: 1.25em; display: grid; gap: var(--s-2); }
.legal__body a { color: var(--accent-ink); text-underline-offset: 3px; }
.legal__body a:hover { text-decoration-thickness: 2px; }
.legal__updated { margin-top: var(--s-5); font-size: 0.88rem; color: var(--ink-3); }

.legal__table-wrap { margin-top: var(--s-4); overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--white); }
.legal__table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 480px; }
.legal__table th, .legal__table td { padding: var(--s-3) var(--s-4); text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.legal__table th { font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); background: var(--bg-2); }
.legal__table tr:last-child td { border-bottom: 0; }

/* Hero compacto: sin ~250px de aire antes del contenido (INC-014) */
.page-hero--text { padding-bottom: clamp(20px, 3vw, 40px); }
.page-hero--text + .section { padding-top: clamp(32px, 4vw, 56px); }
