/**
 * El Berrueco Digital 8.4 · sistema de lectura y documentación.
 * Respeta --eb-container (1180/1280/1400/1600 px) configurado en el tema.
 * --eb-document-width comparte el ancho de cabecera y pie; los párrafos tienen límite legible.
 * No altera portada, entradas, visor cartográfico ni cabeceras.
 */
:root {
  --eb-document-width: var(--eb-container, 1280px);
  --eb-document-gutter: 28px;
  --eb-page-h1-size: clamp(2.25rem, 4vw, 3.95rem);
  --eb-page-h2-size: clamp(1.7rem, 2.7vw, 2.35rem);
  --eb-page-h3-size: clamp(1.25rem, 1.7vw, 1.62rem);
  --eb-page-section-gap: clamp(28px, 3.25vw, 48px);
}

/* Páginas estándar: ya no quedan aprisionadas por .prose (900px).
   El ancho exterior sigue la misma opción que el header/footer. */
.page-section > .wrap.prose.eb-standard-page {
  width: min(var(--eb-container, 1280px), calc(100% - (2 * var(--eb-document-gutter))));
  max-width: none;
  min-width: 0;
}
.page-section .eb-standard-page > article { min-width: 0; }
.page-section .eb-standard-page > article > :is(p,ul,ol,blockquote,table,figure) {
  max-width: var(--eb-document-width);
}
.page-section .eb-standard-page > article.eb-standard-content > h1 {
  font-size: var(--eb-page-h1-size);
  line-height: 1.11;
  max-width: 24ch;
  margin-block: .28em .48em;
  overflow-wrap: anywhere;
}
.page-section .eb-standard-page > article.eb-standard-content > h2 {
  font-size: var(--eb-page-h2-size);
  line-height: 1.2;
  margin-block: var(--eb-page-section-gap) .65em;
  max-width: 35ch;
  overflow-wrap: anywhere;
}
.page-section .eb-standard-page > article.eb-standard-content > h3 {
  font-size: var(--eb-page-h3-size);
  line-height: 1.27;
  margin-block: 1.7em .55em;
  max-width: 50ch;
}
.page-section .eb-standard-page > article.eb-standard-content > :is(p,ul,ol) { line-height: 1.75; }

/* Contenido normal de ancho completo: los párrafos directos se alinean,
   sin limitar constructores, shortcodes, mapas o bloques wide/full. */
.full-width-entry.eb-standard-full-page > .page-heading {
  width: min(var(--eb-container,1280px), calc(100% - (2 * var(--eb-document-gutter))));
}
.full-width-entry.eb-standard-full-page > .full-width-content > :is(p,h2,h3,h4,ul,ol,blockquote,table,figure) {
  width: min(var(--eb-document-width), calc(100% - (2 * var(--eb-document-gutter))));
  margin-inline: auto;
}
.full-width-entry.eb-standard-full-page > .full-width-content > :is(h2,h3) {
  max-width: none;
}
.full-width-entry.eb-standard-full-page > .full-width-content > h2 {
  font-size: var(--eb-page-h2-size);
  margin-block: var(--eb-page-section-gap) .65em;
  line-height: 1.2;
}
.full-width-entry.eb-standard-full-page > .full-width-content > h3 {
  font-size: var(--eb-page-h3-size);
  line-height: 1.27;
  margin-block: 1.7em .55em;
}
.full-width-entry.eb-standard-full-page > .page-heading h1 {
  font-size: var(--eb-page-h1-size);
  max-width: 24ch;
  line-height: 1.11;
}

/* Documentación legal: título y cuerpo comparten SIEMPRE el mismo eje.
   Mayor especificidad que privacy.css para neutralizar su límite 920px. */
.full-width-entry.eb-legal-page > .page-heading,
.full-width-entry.eb-legal-page > .full-width-content > :is(.ebd-legal,.ebd-legal-addendum,.ebd-legal-extra,p),
.eb-standard-page > article.eb-legal-page {
  width: min(var(--eb-document-width), calc(100% - (2 * var(--eb-document-gutter))));
  max-width: none;
  margin-inline: auto;
  min-width: 0;
}
.full-width-entry.eb-legal-page > .page-heading { margin-bottom: clamp(16px,2.5vw,30px); }
.full-width-entry.eb-legal-page > .page-heading h1,
.eb-standard-page > article.eb-legal-page > h1 {
  font-size: var(--eb-page-h1-size);
  line-height: 1.11;
  max-width: none;
  letter-spacing: -.035em;
  margin: .26em 0 .34em;
}
.full-width-entry.eb-legal-page > .full-width-content > .ebd-legal,
.eb-standard-page article.eb-legal-page .ebd-legal {
  max-width: none;
  margin-inline: auto;
  font-size: 1rem;
  line-height: 1.75;
}
.eb-legal-page .ebd-legal :is(h2),
.eb-legal-page .ebd-legal-addendum h2 {
  font-family: var(--eb-heading-font, Georgia,serif);
  font-size: var(--eb-page-h2-size);
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: var(--eb-page-section-gap) 0 .65em;
  max-width: none;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.eb-legal-page .ebd-legal :is(h3),
.eb-legal-page .ebd-legal-addendum h3 {
  font-family: var(--eb-heading-font, Georgia,serif);
  font-size: var(--eb-page-h3-size);
  line-height: 1.27;
  letter-spacing: -.015em;
  margin: 1.65em 0 .55em;
  max-width: none;
}
.eb-legal-page .ebd-legal :is(p,li,dt,dd),
.eb-legal-page .ebd-legal-addendum :is(p,li) {
  line-height: 1.7;
  overflow-wrap: break-word;
}
.eb-legal-page .ebd-legal :is(p,ul,ol,dl),
.eb-legal-page .ebd-legal-addendum :is(p,ul,ol) { max-width: 97ch; }
.eb-legal-page .ebd-legal :is(p,ul,ol,dl) + :is(p,ul,ol,dl) { margin-top: 1rem; }
.eb-legal-page .ebd-legal-meta { margin-block: 0 1rem; }
.eb-legal-page .ebd-identity { padding: clamp(16px,2.4vw,26px); }
.eb-legal-page .ebd-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.eb-legal-page .ebd-legal table { max-width: 100%; width: 100%; table-layout: auto; }
.eb-legal-page .ebd-legal table :is(th,td) { padding: clamp(9px,1.4vw,14px); }
.full-width-entry.eb-legal-page .ebd-legal-addendum { margin-top: 28px; padding-top: 0; }
.full-width-entry.eb-legal-page .ebd-legal-addendum > h2:first-child { margin-top: 24px; }

@media(max-width: 720px) {
  :root { --eb-document-gutter: 16px; --eb-page-section-gap: 29px; }
  .page-section .eb-standard-page > article.eb-standard-content > h1,
  .full-width-entry.eb-legal-page > .page-heading h1 { max-width: 100%; }
  .eb-legal-page .ebd-legal :is(h2),
  .eb-legal-page .ebd-legal-addendum h2 { font-size: clamp(1.55rem,6.1vw,2rem); }
  .eb-legal-page .ebd-legal :is(h3),
  .eb-legal-page .ebd-legal-addendum h3 { font-size: clamp(1.22rem,4.6vw,1.5rem); }
  .eb-legal-page .ebd-table-scroll table { min-width: 610px; }
  .eb-legal-page .ebd-table-scroll { scrollbar-width: thin; }
}
@media(prefers-reduced-motion: reduce) {
  .eb-legal-page *, .eb-standard-page * { scroll-behavior: auto; }
}
