/* Libro de poesía: piel sobre Divi. Generado desde el prototipo de Astro; las fichas de color y tipografía son las mismas. */

@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jost-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jost-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jost-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/spectral-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:italic;font-weight:300;font-display:swap;src:url('../fonts/spectral-latin-300-italic.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/spectral-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/spectral-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/spectral-latin-600-normal.woff2') format('woff2')}

:root {
  /* Del logotipo (medidos en el archivo; el naranja y el amarillo son los tonos dominantes) */
  --carbon: #292726;
  --naranja: #F07F19;
  --amarillo: #FFED00;
  /* Derivados */
  --naranja-texto: #A84D08;
  --gris: #5F5A57;
  --niebla: #F6F5F3;

  --fondo: #FFFFFF;
  --superficie: var(--niebla);
  --tinta: var(--carbon);
  --texto: var(--carbon);
  --texto-suave: var(--gris);
  --linea: #E6E3E0;
  --linea-fuerte: #B3ADA9;
  --marca: var(--carbon);
  --sobre-marca: #FFFFFF;
  --enlace: var(--naranja-texto);
  --foco: var(--carbon);

  --cabecera-fondo: #FFFFFF;
  --cabecera-texto: var(--carbon);
  --accion-hover: var(--niebla);
  --contador-fondo: var(--naranja);
  --contador-texto: var(--carbon);
  --menu-fondo: #FFFFFF;
  --menu-borde: 1px solid var(--linea);
  --menu-texto: var(--carbon);
  --menu-actual: var(--carbon);
  --menu-subrayado: var(--naranja);
  --menu-subrayado-hover: var(--amarillo);
  --menu-peso: 500;

  --boton-fondo: var(--naranja);
  --boton-fondo-hover: var(--amarillo);
  --boton-texto: var(--carbon);
  --boton-ok-fondo: var(--amarillo);

  --pie-fondo: var(--carbon);
  --pie-texto: #DAD6D3;
  --pie-titulo: #FFFFFF;
  --pie-enlace: #FFFFFF;
  --pie-linea: rgb(255 255 255 / .18);
  --pie-foco: var(--amarillo);

  --f-titulos: 'Jost', 'Futura', 'Century Gothic', 'Segoe UI', sans-serif;
  --f-ui: 'Jost', 'Futura', 'Century Gothic', 'Segoe UI', sans-serif;
  --f-lectura: 'Spectral', 'Iowan Old Style', Georgia, serif;
  --f-libro: 'Jost', 'Futura', 'Century Gothic', sans-serif;
  --libro-peso: 500;
  --libro-tamano: 15.2px;
  --libro-tracking: .05em;
  --titulos-peso: 500;

  --radio-boton: 6px;
  --radio-campo: 6px;
  --radio-chip: 999px;
  --radio-tarjeta: 10px;
  --sombra-cubierta: 0 1px 2px rgb(41 39 38 / .2), 0 14px 26px -14px rgb(41 39 38 / .5);
  --logo-alto: 76px;
  color-scheme: light;
}

/* ===== Común a las tres pieles (WordPress + WooCommerce). Usa las fichas de la marca. ===== */
html body:not(#lb) {
  font-family: var(--f-ui);
  color: var(--texto);
  -webkit-font-smoothing: antialiased;
}
html body:not(#lb) h1, html body:not(#lb) h2, html body:not(#lb) h3, html body:not(#lb) h4 { font-family: var(--f-titulos); text-wrap: balance; }
/* Color de titulares y enlaces con especificidad baja: no pisa secciones oscuras del constructor. */
html h1, html h2, html h3, html h4 { color: var(--tinta); }
html a { color: var(--enlace); }
html body:not(#lb) :focus-visible { outline: 3px solid var(--foco); outline-offset: 3px; }
html body:not(#lb) input[type="text"], html body:not(#lb) input[type="email"], html body:not(#lb) input[type="search"], html body:not(#lb) input[type="tel"], html body:not(#lb) input[type="password"],
html body:not(#lb) input[type="number"], html body:not(#lb) textarea, html body:not(#lb) select {
  border: 1px solid var(--linea-fuerte); border-radius: var(--radio-campo, 4px); color: var(--texto); font-family: var(--f-ui);
}

/* Botones de WooCommerce y de los formularios */
html body:not(#lb) .button, html body:not(#lb) button.button, html body:not(#lb) a.button, html body:not(#lb) input.button, html body:not(#lb) .woocommerce input[type="submit"], html body:not(#lb) #respond input[type="submit"],
html body:not(#lb) .woocommerce a.button, html body:not(#lb) .woocommerce button.button, html body:not(#lb) .woocommerce input.button,
html body:not(#lb) .woocommerce #respond input#submit, html body:not(#lb) .woocommerce a.button.alt, html body:not(#lb) .woocommerce button.button.alt,
html body:not(#lb) .single_add_to_cart_button, html body:not(#lb) .added_to_cart, html body:not(#lb) .checkout-button, html body:not(#lb) #place_order, html body:not(#lb) .wc-block-components-button {
  background: var(--boton-fondo) !important; color: var(--boton-texto) !important;
  border: 0 !important; border-radius: var(--radio-boton) !important; box-shadow: none !important; text-shadow: none !important;
  font-family: var(--f-ui) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important;
  min-height: 44px; padding: 10px 22px !important; line-height: 1.3 !important;
  transition: background-color .15s ease;
}
html body:not(#lb) .button:hover, html body:not(#lb) button.button:hover, html body:not(#lb) a.button:hover, html body:not(#lb) .woocommerce input[type="submit"]:hover,
html body:not(#lb) .woocommerce a.button:hover, html body:not(#lb) .woocommerce button.button:hover, html body:not(#lb) .woocommerce a.button.alt:hover,
html body:not(#lb) .woocommerce button.button.alt:hover, html body:not(#lb) .single_add_to_cart_button:hover, html body:not(#lb) .checkout-button:hover, html body:not(#lb) #place_order:hover {
  background: var(--boton-fondo-hover) !important; color: var(--boton-texto) !important;
}
html body:not(#lb) .button::after, html body:not(#lb) .button::before { text-shadow: none; }

/* Precios */
html body:not(#lb) .price, html body:not(#lb) .woocommerce .price, html body:not(#lb) .woocommerce-Price-amount {
  color: var(--tinta) !important; font-family: var(--f-ui); font-weight: 700; font-variant-numeric: tabular-nums lining-nums;
}
html body:not(#lb) .woocommerce-price-suffix { color: var(--texto-suave); font-weight: 400; font-size: .78em; }

/* Títulos de libro: se respetan las mayúsculas que vienen de WooCommerce */
html body:not(#lb) .woocommerce-loop-product__title, html body:not(#lb) .product_title, html body:not(#lb) .lb-titulo, html body:not(#lb) .product_list_widget .product-title {
  font-family: var(--f-libro) !important; font-weight: var(--libro-peso, 600) !important;
  text-transform: var(--libro-transformar, none) !important; letter-spacing: var(--libro-tracking, 0) !important;
  color: var(--tinta) !important;
}
/* Título y autor separados por piel.js ("TÍTULO. AUTOR") */
html body:not(#lb) .lb-titulo, html body:not(#lb) .lb-autor { display: block; }
html body:not(#lb) .lb-autor {
  margin-top: .25em; font-family: var(--f-ui); font-weight: 400; text-transform: none; letter-spacing: 0;
  font-size: max(15.2px, .55em); color: var(--texto);
}
html body:not(#lb) .product_title .lb-autor { font-family: var(--f-titulos); font-size: 20.8px; margin-top: .4em; }

/* Ficha de producto */
html body.single-product:not(#lb) .product_title { font-size: clamp(25.6px, 2.8vw, 36.8px) !important; line-height: 1.15 !important; word-break: normal !important; overflow-wrap: normal !important; -webkit-hyphens: manual !important; hyphens: manual !important; }
html body.single-product:not(#lb) .summary .price { font-size: 28.8px !important; }
html body:not(#lb) .woocommerce-breadcrumb, html body:not(#lb) .woocommerce-breadcrumb a { font-family: var(--f-ui); color: var(--texto-suave) !important; }
html body:not(#lb) .woocommerce-message, html body:not(#lb) .woocommerce-info { border-top-color: var(--marca) !important; }
html body:not(#lb) .woocommerce-message::before, html body:not(#lb) .woocommerce-info::before { color: var(--marca) !important; }
html body:not(#lb) .woocommerce span.onsale { background: var(--marca) !important; color: var(--sobre-marca) !important; }
html body:not(#lb) .quantity .qty { border: 1px solid var(--linea-fuerte); border-radius: var(--radio-campo, 4px); min-height: 44px; }

/* Cubiertas con sombra de libro */
html body:not(#lb) ul.products li.product img, html body:not(#lb) .woocommerce-product-gallery img { box-shadow: var(--sombra-cubierta); border-radius: var(--radio-cubierta, 2px); }

/* Reseñas (solo en entradas): la prosa justificada; los poemas (párrafos con saltos de verso) a la izquierda */
html body.single-post:not(#lb) .entry-content p, html body.single-post:not(#lb) .td-post-content p {
  font-family: var(--f-lectura); font-size: 18.4px; line-height: 1.75;
  text-align: justify; -webkit-hyphens: auto; hyphens: auto;
}
html body.single-post:not(#lb) .entry-content p.lb-poema, html body.single-post:not(#lb) .td-post-content p.lb-poema, html body.single-post:not(#lb) .entry-content p:has(br), html body.single-post:not(#lb) .td-post-content p:has(br), html body:not(#lb) .wp-block-verse, html body:not(#lb) .poema {
  text-align: left !important; -webkit-hyphens: manual; hyphens: manual;
}

/* Bloques de las portadas (shortcodes) */
html body:not(#lb) .lb-seccion { font-family: var(--f-ui); color: var(--texto); }
html body:not(#lb) .lb-seccion *, html body:not(#lb) .lb-seccion *::before, html body:not(#lb) .lb-seccion *::after { box-sizing: border-box; }
html body:not(#lb) .lb-seccion img { max-width: 100%; height: auto; display: block; }
html body:not(#lb) .lb-boton {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px;
  border-radius: var(--radio-boton); background: var(--boton-fondo); color: var(--boton-texto) !important;
  font: 700 15.2px/1.2 var(--f-ui); text-decoration: none !important;
}
html body:not(#lb) .lb-boton:hover { background: var(--boton-fondo-hover); }
html body:not(#lb) .lb-enlace { font: 700 15.68px var(--f-ui); color: var(--enlace) !important; text-decoration: underline !important; }
html body:not(#lb) .lb-cubierta { aspect-ratio: 520 / 739; object-fit: cover; width: 100%; box-shadow: var(--sombra-cubierta); border-radius: var(--radio-cubierta, 2px); }

/* Texto solo para lectores de pantalla y agentes. */
html body:not(#lb) .lb-oculto{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Enlaces dentro de párrafos: subrayados, no solo por color. */
html .et_pb_text p a, html .entry-content p a, html .td-post-content p a{text-decoration:underline}

/* Botones de los constructores y del tema padre con los colores de la marca (WPBakery, Newsmag, Divi, buscadores). */
html body:not(#lb) .vc_btn3.vc_btn3-style-flat, html body:not(#lb) .vc_btn3.vc_btn3-style-modern, html body:not(#lb) .vc_btn3.vc_btn3-style-classic,
html body:not(#lb) .td-read-more a, html body:not(#lb) .wpb_button, html body:not(#lb) .td-head-form-search-wrap .btn,
html body:not(#lb) .woocommerce-product-search button, html body:not(#lb) .woocommerce-product-search input[type="submit"],
html body:not(#lb) #searchform input[type="submit"], html body:not(#lb) .et_pb_more_button, html body:not(#lb) .more-link {
  background: var(--boton-fondo) !important; color: var(--boton-texto, #fff) !important;
  border: 0 !important; border-radius: var(--radio-boton) !important; background-image: none !important; text-shadow: none !important; font-family: var(--f-ui) !important; font-weight: 700;
}
html body:not(#lb) .vc_btn3.vc_btn3-style-flat:hover, html body:not(#lb) .td-read-more a:hover, html body:not(#lb) .wpb_button:hover,
html body:not(#lb) .woocommerce-product-search button:hover, html body:not(#lb) .woocommerce-product-search input[type="submit"]:hover,
html body:not(#lb) .et_pb_more_button:hover, html body:not(#lb) .more-link:hover { background: var(--boton-fondo-hover) !important; }

/* Logotipos con versión retina de Newsmag: sin deformar. */
html body:not(#lb) img.td-retina-data { object-fit: contain; }

/* Movimiento al hacer scroll, solo con CSS (animation-timeline): lo mueve el compositor, sin JavaScript
   ni cambios de maquetación, así que no afecta al rendimiento. Solo opacidad y desplazamiento.
   Fuera las cabeceras de portada (ficha, balda, verso) para no retrasar la carga principal.
   Navegadores sin soporte o con «reducir movimiento»: todo se ve quieto, como hasta ahora. */
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    html body:not(#lb) .lb-rejilla-libros .lb-libro, html body:not(#lb) .lb-rejilla-resenas .lb-resena, html body:not(#lb) .lb-sellos .lb-sello,
    html body:not(#lb) ul.products li.product {
      animation: lb-aparece linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 45%;
    }
    @keyframes lb-aparece {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: none; }
    }
    /* Barra de progreso de lectura en las reseñas. */
    html body.single-post:not(#lb)::after {
      content: "" !important; display: block !important; position: fixed !important; inset: 0 0 auto 0; height: 3px; z-index: 100000; pointer-events: none; visibility: visible !important;
      background: var(--marca); transform-origin: 0 50%;
      animation: lb-progreso linear both; animation-timeline: scroll(root);
    }
    @keyframes lb-progreso { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  }
}

/* ===== Divi (Elegant Themes): cabecera, menú, tienda y pie ===== */
html body:not(#lb) #main-header { background-color: #FFFFFF !important; box-shadow: 0 1px 0 var(--linea) !important; }
html body:not(#lb) #top-menu li a, html body:not(#lb) #top-menu-nav > ul > li > a, html body:not(#lb) #et-top-navigation .et-cart-info, html body:not(#lb) .et_mobile_menu li a {
  color: var(--carbon) !important; font-family: var(--f-ui) !important; font-weight: 500 !important; font-size: 16px !important;
}
html body:not(#lb) #top-menu li a:hover { opacity: 1 !important; box-shadow: inset 0 -3px 0 var(--amarillo); }
html body:not(#lb) #top-menu li.current-menu-item > a, html body:not(#lb) #top-menu li.current_page_item > a { color: var(--carbon) !important; box-shadow: inset 0 -3px 0 var(--naranja); }
html body:not(#lb) #top-menu li a { padding-bottom: 28px; }
html body:not(#lb) .et_mobile_menu { border-top-color: var(--naranja) !important; }
html body:not(#lb) .mobile_menu_bar::before, html body:not(#lb) #et_search_icon::before, html body:not(#lb) .et-cart-info span::before { color: var(--carbon) !important; }
html body:not(#lb) #top-header { background-color: var(--carbon) !important; }

/* Botones del constructor de Divi */
html body:not(#lb) .et_pb_button, html body:not(#lb) .et_pb_more_button, html body:not(#lb) .et_pb_promo_button {
  background-color: var(--naranja) !important; color: var(--carbon) !important; border: 0 !important; border-radius: 6px !important;
  font-family: var(--f-ui) !important; font-weight: 600 !important;
}
html body:not(#lb) .et_pb_button:hover { background-color: #D9650C !important; padding: .3em 1em !important; }
html body:not(#lb) .et_pb_button::after { color: var(--carbon) !important; }

html body.single-product:not(#lb) .product_title { font-size: clamp(22.4px, 2.2vw, 30.4px) !important; }

/* Tienda */
html body.woocommerce:not(#lb) ul.products li.product .woocommerce-loop-product__title, html body:not(#lb) .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 15.2px !important; line-height: 1.3 !important; letter-spacing: .05em !important; padding-top: .6em !important;
}
html body:not(#lb) ul.products li.product .woocommerce-loop-product__title .lb-autor { letter-spacing: 0; text-transform: none; font-weight: 400; font-size: 15.68px; }
html body:not(#lb) .woocommerce ul.products li.product .price, html body.woocommerce:not(#lb) ul.products li.product .price { color: var(--carbon) !important; }
html body:not(#lb) .woocommerce .star-rating span::before, html body:not(#lb) .woocommerce-page .star-rating span::before { color: var(--naranja) !important; }
html body:not(#lb) .et_overlay::before { color: var(--naranja) !important; }
html body:not(#lb) .et_overlay { border-color: var(--linea) !important; }

/* Entradas (noticias y reseñas) */
html body:not(#lb) .et_pb_post h2.entry-title a, html body:not(#lb) .et_pb_post .entry-title a, html body:not(#lb) h1.entry-title {
  font-family: var(--f-titulos) !important; color: var(--carbon) !important; font-weight: 500 !important;
}
html body:not(#lb) .et_pb_post .post-meta, html body:not(#lb) .et_pb_post .post-meta a, html body:not(#lb) .et_pb_post .more-link { font-family: var(--f-ui) !important; color: var(--naranja-texto) !important; }
html body:not(#lb) .et_pb_post .post-content p, html body:not(#lb) .et_pb_post .post-content { font-family: var(--f-lectura) !important; color: var(--carbon) !important; }
html body:not(#lb) .et_pb_post .more-link { color: var(--naranja-texto) !important; font-weight: 600; }
html body:not(#lb) #sidebar .widgettitle { font-family: var(--f-titulos) !important; color: var(--carbon) !important; font-weight: 500; }

/* Pie */
html body:not(#lb) #main-footer { background-color: var(--carbon) !important; }
html body:not(#lb) #main-footer, html body:not(#lb) #footer-widgets .footer-widget, html body:not(#lb) #footer-widgets .footer-widget li, html body:not(#lb) #footer-widgets .footer-widget p { color: #DAD6D3 !important; font-family: var(--f-ui) !important; }
html body:not(#lb) #footer-widgets .footer-widget a, html body:not(#lb) #footer-widgets .footer-widget li a { color: #FFFFFF !important; }
html body:not(#lb) #footer-widgets .footer-widget a:hover { color: var(--amarillo) !important; }
html body:not(#lb) #footer-widgets .footer-widget .title, html body:not(#lb) #footer-widgets .footer-widget h4 { color: #FFFFFF !important; font-family: var(--f-ui) !important; font-weight: 600; }
html body:not(#lb) #footer-widgets .footer-widget li::before { border-color: var(--naranja) !important; }
html body:not(#lb) #footer-bottom { background-color: rgb(0 0 0 / .25) !important; }
html body:not(#lb) #footer-info, html body:not(#lb) #footer-info a { color: #DAD6D3 !important; font-family: var(--f-ui) !important; }

/* Pie propio: se oculta el de Divi */
html body.lb-pie-propio:not(#lb) #main-footer { display: none !important; }

/* ===== Bloques de portada, pie y ficha: el diseño del prototipo dentro de WordPress ===== */
html body:not(#lb) .lb-sin-corte { white-space: nowrap; }
html body:not(#lb) .lb-seccion { margin-block: clamp(40px, 6vw, 72px); }
html body:not(#lb) .lb-seccion__cabecera { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: clamp(24px, 3vw, 36px); }
html body:not(#lb) .lb-seccion__titulo { margin: 0 !important; color: var(--tinta) !important; font: var(--titulos-peso, 700) clamp(26.4px, 3vw, 36px)/1.15 var(--f-titulos) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body:not(#lb) .lb-seccion__enlace { font: 700 15.68px var(--f-ui); color: var(--enlace) !important; text-decoration: underline !important; }

html body:not(#lb) .lb-rejilla-libros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px clamp(20px, 2.6vw, 32px); }
html body:not(#lb) .lb-libro { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
html body:not(#lb) .lb-libro__portada { display: block; }
html body:not(#lb) .lb-libro__texto { display: flex; flex-direction: column; gap: 3px; flex: 1; }
html body:not(#lb) .lb-libro__titulo { margin: 0 !important; padding: 0 !important; font: var(--libro-peso, 600) var(--libro-tamano, 16.8px)/1.25 var(--f-libro) !important; text-transform: var(--libro-transformar, none) !important; letter-spacing: var(--libro-tracking, 0) !important; overflow-wrap: break-word; }
html body:not(#lb) .lb-libro__titulo a { color: var(--tinta) !important; text-decoration: none !important; }
html body:not(#lb) .lb-libro__titulo a:hover { text-decoration: underline !important; }
html body:not(#lb) .lb-libro__autor, html body:not(#lb) .lb-libro__sello { margin: 0 !important; font: 400 15.2px/1.35 var(--f-ui) !important; color: var(--texto); }
html body:not(#lb) .lb-libro__sello { font-size: 13.44px !important; color: var(--texto-suave); }
html body:not(#lb) .lb-libro__precio { margin: 8px 0 0 !important; font: 700 16.96px var(--f-ui) !important; color: var(--tinta); }
html body:not(#lb) .lb-libro .lb-boton { width: 100%; min-height: 44px; }
html body:not(#lb) .lb-libro .added_to_cart { display: block; margin-top: 6px; text-align: center; }

html body:not(#lb) .lb-rejilla-resenas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px clamp(24px, 3vw, 40px); }
html body:not(#lb) .lb-resena { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 18px; align-items: start; }
html body:not(#lb) .lb-resena__texto { min-width: 0; }
html body:not(#lb) .lb-resena__fecha { margin: 0 0 4px !important; font: 600 13.44px var(--f-ui) !important; color: var(--texto-suave); }
html body:not(#lb) .lb-resena__titulo { margin: 0 0 8px !important; font: var(--titulos-peso, 700) 18.88px/1.25 var(--f-titulos) !important; text-transform: none !important; }
html body:not(#lb) .lb-resena__titulo a { color: var(--tinta) !important; text-decoration: none !important; }
html body:not(#lb) .lb-resena__titulo a:hover { text-decoration: underline !important; }
html body:not(#lb) .lb-resena__entradilla { margin: 0 !important; font: 400 16px/1.55 var(--f-lectura) !important; color: var(--texto); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; text-align: left !important; }
html body:not(#lb) .lb-resena__firma { margin: 10px 0 0 !important; font: 600 13.76px var(--f-ui) !important; color: var(--texto-suave); }

html body:not(#lb) .lb-sellos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body:not(#lb) .lb-sello { margin: 0 !important; padding: 14px 0 0 !important; border-top: 3px solid var(--marca); display: flex; flex-direction: column; gap: 6px; list-style: none !important; }
html body:not(#lb) .lb-sello::before { content: none !important; }
html body:not(#lb) .lb-sello__nombre { font: var(--titulos-peso, 700) 17.92px/1.25 var(--f-titulos); color: var(--tinta) !important; text-decoration: none !important; }
html body:not(#lb) .lb-sello__nombre:hover { text-decoration: underline !important; }
html body:not(#lb) .lb-sello__web { margin: 0 !important; font: 400 14.4px/1.4 var(--f-ui) !important; color: var(--texto-suave); }
html body:not(#lb) .lb-sello__libros { font: 700 14.4px var(--f-ui); color: var(--enlace) !important; margin-top: auto; text-decoration: underline !important; }

/* Ficha de libro */
html body:not(#lb) .lb-datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px 24px; margin: 10px 0 18px !important; padding: 18px 0 !important; border-block: 1px solid var(--linea); }
html body:not(#lb) .lb-datos div { margin: 0; }
html body:not(#lb) .lb-datos dt { font: 600 13.12px var(--f-ui) !important; color: var(--texto-suave); }
html body:not(#lb) .lb-datos dd { margin: 2px 0 0 !important; font: 600 16px var(--f-ui) !important; color: var(--tinta); }
html body:not(#lb) .lb-ficha-resena { clear: both; margin: 22px 0 0; padding: 22px 24px; background: var(--superficie); border-radius: var(--radio-tarjeta); }
html body:not(#lb) .lb-ficha-resena h2 { margin: 0 0 8px !important; font: var(--titulos-peso, 700) 20px/1.3 var(--f-titulos) !important; color: var(--tinta) !important; text-transform: none !important; }
html body:not(#lb) .lb-ficha-resena p { margin: 0 0 10px !important; font: 400 16.8px/1.65 var(--f-lectura) !important; color: var(--texto); }

/* Pie propio (sustituye al del tema padre) */
html body:not(#lb) .lb-pie { clear: both; background: var(--pie-fondo); color: var(--pie-texto); padding: 56px 0 28px; font: 400 15.2px/1.6 var(--f-ui); }
html body:not(#lb) .lb-pie p, html body:not(#lb) .lb-pie li, html body:not(#lb) .lb-pie address, html body:not(#lb) .lb-pie span, html body:not(#lb) .lb-pie a { font-family: var(--f-ui) !important; font-size: 15.2px !important; line-height: 1.6 !important; }
html body:not(#lb) .lb-pie .lb-pie__legal, html body:not(#lb) .lb-pie .lb-pie__legal span, html body:not(#lb) .lb-pie .lb-pie__legal a { font-size: 13.6px !important; }
html body:not(#lb) .lb-pie__rejilla, html body:not(#lb) .lb-pie__legal { max-width: 1200px; margin-inline: auto !important; padding-inline: max(clamp(16px, 4vw, 32px), env(safe-area-inset-left, 0px)); box-sizing: border-box; }
html body:not(#lb) .lb-pie__rejilla { display: grid; grid-template-columns: 1.4fr .8fr 1fr 1.3fr 1.1fr; gap: 32px; }
html body:not(#lb) .lb-pie h2 { margin: 0 0 12px !important; font: 700 15.2px var(--f-ui) !important; color: var(--pie-titulo) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body:not(#lb) .lb-pie ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body:not(#lb) .lb-pie li { margin: 0 0 8px !important; padding: 0 !important; list-style: none !important; color: var(--pie-texto); }
html body:not(#lb) .lb-pie li::before { content: none !important; }
html body:not(#lb) .lb-pie p { margin: 0 !important; color: var(--pie-texto); }
html body:not(#lb) .lb-pie a { color: var(--pie-enlace) !important; text-decoration: underline !important; }
html body:not(#lb) .lb-pie address { font-style: normal; color: var(--pie-texto); }
html body:not(#lb) .lb-pie__linea { display: block; }
html body:not(#lb) .lb-pie__correo { overflow-wrap: anywhere; }
html body:not(#lb) .lb-pie .lb-pie__nombre { margin-bottom: 10px !important; font: var(--titulos-peso, 700) 23.2px/1.2 var(--f-titulos) !important; color: var(--pie-titulo) !important; }
html body:not(#lb) .lb-pie .lb-pie__legal { margin: 44px auto 0 !important; font-size: 13.6px; display: flex; flex-wrap: wrap; gap: 6px 20px; }
html body:not(#lb) .lb-pie__legal::before { flex-basis: 100%; }
html body:not(#lb) .lb-pie__legal::before { content: ""; display: block; height: 1px; margin-bottom: 18px; background: var(--pie-linea); }

@media (max-width: 1080px) {
  html body:not(#lb) .lb-sellos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body:not(#lb) .lb-pie__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body:not(#lb) .lb-pie__bloque--marca { grid-column: 1 / -1; max-width: 60ch; }
}
@media (max-width: 900px) {
  html body:not(#lb) .lb-rejilla-libros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html body:not(#lb) .lb-rejilla-resenas { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  html body:not(#lb) .lb-rejilla-libros { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
  html body:not(#lb) .lb-sellos, html body:not(#lb) .lb-pie__rejilla { grid-template-columns: minmax(0, 1fr); }
}

/* ===== [ldp_verso]: el verso de la semana ===== */
html body:not(#lb) .lb-verso__rejilla { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(200px, .8fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
html body:not(#lb) .lb-verso .portada__rotulo { margin: 0 0 14px; font: 600 15.2px var(--f-ui); color: var(--naranja-texto); }
html body:not(#lb) .lb-verso .verso { margin: 0; padding: 0; border: 0; quotes: none; font: italic 300 clamp(38.4px, 5.6vw, 72px)/1.12 var(--f-lectura); color: var(--carbon); text-align: left; }
html body:not(#lb) .lb-verso .verso::before, html body:not(#lb) .lb-verso .verso::after { content: none; }
html body:not(#lb) .lb-verso .verso__linea { display: block; }
html body:not(#lb) .lb-verso .portada__trazo { display: block; width: min(100%, 520px); height: auto; margin: 4px 0 22px; overflow: visible; }
html body:not(#lb) .lb-verso .trazo-naranja { fill: var(--naranja); }
html body:not(#lb) .lb-verso .trazo-amarillo { fill: var(--amarillo); }
html body:not(#lb) .lb-verso .portada__cita { margin: 0; max-width: 52ch; font: 400 15.68px/1.5 var(--f-ui); color: var(--gris); }
html body:not(#lb) .lb-verso .portada__libro { display: flex; flex-direction: column; gap: 6px; max-width: 290px; justify-self: end; }
html body:not(#lb) .lb-verso .portada__cubierta { display: block; margin-bottom: 12px; }
html body:not(#lb) .lb-verso .portada__libro-titulo { margin: 0; font: 500 16px/1.3 var(--f-libro); letter-spacing: .05em; }
html body:not(#lb) .lb-verso .portada__libro-titulo a { color: var(--carbon) !important; text-decoration: none; }
html body:not(#lb) .lb-verso .portada__libro-autor { margin: 0 0 10px; color: var(--gris); }
html body:not(#lb) .lb-verso .portada__acciones { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
@media (max-width: 900px) {
  html body:not(#lb) .lb-verso__rejilla { grid-template-columns: minmax(0, 1fr); }
  html body:not(#lb) .lb-verso .portada__libro { justify-self: start; display: grid; grid-template-columns: 110px minmax(0, 1fr); column-gap: 18px; max-width: 520px; }
  html body:not(#lb) .lb-verso .portada__cubierta { grid-row: 1 / span 3; margin: 0; }
  html body:not(#lb) .lb-verso .portada__acciones { grid-column: 2; }
}

/* Portada sin constructor: el título de la página lo sustituye el h1 del verso de la semana. */
html body.home:not(#lb) .main_title { display: none; }
html body.home:not(#lb) #snippet-box { display: none; }
/* Textos de la portada: ancho de lectura, prosa justificada y el logotipo flotado sin descuadrar. */
html body:not(#lb) .lb-textos-portada { max-width: 760px; margin: 72px auto 48px; padding: 0 16px; }
html body:not(#lb) .lb-textos-portada h2 { clear: both; margin: 36px 0 12px; }
html body:not(#lb) .lb-textos-portada p { text-align: justify; hyphens: auto; line-height: 1.7; margin: 0 0 14px; }
html body:not(#lb) .lb-textos-portada img.lb-logo-texto { float: left; width: 120px; height: 120px; margin: 4px 22px 10px 0; border-radius: 50%; border: 1px solid var(--linea); }
html body:not(#lb) .lb-textos-portada::after { content: ""; display: block; clear: both; }
@media (max-width: 600px) { html body:not(#lb) .lb-textos-portada img.lb-logo-texto { width: 72px; height: 72px; margin: 4px 14px 6px 0; } }
