/* Zaguán — reset base compartido editor/front. Mínimo, no opinado. */
*, *::before, *::after { box-sizing: border-box; }
img, picture, svg, video { max-width: 100%; height: auto; display: block; }
:where(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
:where(p) { text-wrap: pretty; }

/* Sin separación entre secciones.
   Del blockGap de theme.json, core deriva reglas de layout que meten un hueco
   entre hermanos, y no es una sola:
     :where(.wp-site-blocks) > * + *   separa cabecera, main y pie
     :where(.is-layout-flow) > * + *   separa los hijos de CADA contenedor de
                                       flujo, incluido el main de una landing
   En estos temas las secciones traen su propio padding vertical y van pegadas
   unas a otras, así que ese margen es siempre un defecto.

   Hacen falta los dos niveles. Anular solo el raíz parece resolverlo y no
   resuelve nada visible: las secciones de una landing se insertan como
   <div class="wp-block-template-part"> dentro del main, un nivel por debajo.

   Se cuelga de `body` para ganar en especificidad sin !important: las reglas de
   core usan :where(), de especificidad 0. Y cubre los dos contextos —
   .wp-site-blocks en el front, .is-root-container en el lienzo del editor. */
body .wp-site-blocks > *,
body .is-root-container > * { margin-block-start: 0; }

/* Las template parts son estructura, no contenido: nunca llevan margen propio.
   El espacio vertical lo pone el padding de cada sección. */
body .wp-block-template-part { margin-block-start: 0; margin-block-end: 0; }
