/* =================================================================
   BOOK LANDING · SCOPED RESET
   ──────────────────────────────────────────────────────────────────
   Un reset moderno normaliza los defaults del navegador para que
   partamos de una base predecible. TODO está scoped bajo .book-landing
   para que NO afecte al sitio host cuando se embed dentro de WP.
   ================================================================= */

.book-landing *,
.book-landing *::before,
.book-landing *::after {
  box-sizing: border-box;
}

.book-landing {
  margin: 0;
  padding: 0;
}

/* Heredar tipografía del componente, no del host */
.book-landing {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Body del componente (cuando corra standalone en index.html) */
.book-landing body,
body.book-landing {
  min-height: 100vh;
  line-height: var(--bl-leading-normal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Reset margins en bloques */
.book-landing h1,
.book-landing h2,
.book-landing h3,
.book-landing h4,
.book-landing h5,
.book-landing h6,
.book-landing p,
.book-landing figure,
.book-landing blockquote,
.book-landing dl,
.book-landing dd {
  margin: 0;
}

/* Listas: sin viñeta ni padding por defecto (el componente decide) */
.book-landing ul,
.book-landing ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Media responsive por defecto */
.book-landing img,
.book-landing picture,
.book-landing video,
.book-landing canvas,
.book-landing svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* SVG: no reservar espacio extra */
.book-landing svg {
  overflow: visible;
}

/* Links: heredan color, sin subrayado por defecto */
.book-landing a {
  color: inherit;
  text-decoration: none;
}

/* Forms: heredan tipografía y color; sin styles nativos */
.book-landing button,
.book-landing input,
.book-landing textarea,
.book-landing select {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
}

.book-landing button {
  cursor: pointer;
}

.book-landing input,
.book-landing textarea {
  display: block;
  width: 100%;
}

/* Tablas colapsadas */
.book-landing table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Atributo hidden */
.book-landing [hidden] {
  display: none !important;
}

/* Accesibilidad: respetar prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .book-landing *,
  .book-landing *::before,
  .book-landing *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}