/* La librería del escritor: piel sobre Suave. Generado desde el prototipo de Astro; las fichas de color y tipografía son las mismas. */

@font-face{font-family:'Alegreya';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/alegreya-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/alegreya-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Alegreya';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/alegreya-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya SC';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/alegreya-sc-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/alegreya-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/alegreya-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/alegreya-sans-latin-700-normal.woff2') format('woff2')}

:root {
  /* Del logotipo */
  --verde: #006533;
  --cinta: #CCCCCC;
  --negro: #000000;
  /* Derivados */
  --verde-hondo: #0F482C;
  --papel: #F1F3F1;
  --gris-texto: #4D524F;

  --fondo: #FFFFFF;
  --superficie: var(--papel);
  --tinta: var(--negro);
  --texto: #232724;
  --texto-suave: var(--gris-texto);
  --linea: #D9DDDA;
  --linea-fuerte: #A9AFAB;
  --marca: var(--verde);
  --sobre-marca: #FFFFFF;
  --enlace: var(--verde);
  --foco: var(--verde);

  --cabecera-fondo: #FFFFFF;
  --cabecera-texto: var(--negro);
  --accion-hover: var(--papel);
  --menu-fondo: var(--cinta);
  --menu-texto: var(--negro);
  --menu-actual: var(--negro);
  --menu-subrayado: var(--verde);
  --menu-subrayado-hover: var(--verde-hondo);
  --menu-peso: 500;
  --menu-tamano: 16.8px;

  --boton-fondo: var(--verde);
  --boton-fondo-hover: var(--verde-hondo);
  --boton-texto: #FFFFFF;

  --pie-fondo: var(--verde-hondo);
  --pie-texto: #E3ECE6;
  --pie-titulo: #FFFFFF;
  --pie-enlace: #FFFFFF;
  --pie-linea: rgb(255 255 255 / .22);
  --pie-foco: #FFFFFF;

  --f-titulos: 'Alegreya', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  --f-lectura: 'Alegreya', 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
  --f-ui: 'Alegreya Sans', 'Gill Sans', 'Segoe UI', system-ui, sans-serif;
  /* Los títulos llegan en mayúsculas desde WooCommerce: se pasan a minúscula y la
     fuente de versalitas los dibuja como versalitas. Funciona igual en WordPress. */
  --f-libro: 'Alegreya SC', 'Alegreya', Georgia, serif;
  --libro-transformar: lowercase;
  --libro-tracking: .035em;
  --libro-peso: 500;
  --libro-tamano: 17.92px;
  --titulos-peso: 700;

  --radio-boton: 2px;
  --radio-campo: 2px;
  --radio-chip: 2px;
  --radio-tarjeta: 0;
  --sombra-cubierta: 0 1px 2px rgb(0 0 0 / .18), 0 10px 22px -10px rgb(15 72 44 / .45);
  --logo-alto: 66px;
  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; }

/* Color principal de Suave (#519d42, guardado en su personalizador) cambiado por el verde del logotipo.
   En botones solo se cambia fondo y borde: el texto lo pone la regla de botones. */
html body:not(#lb) #top,
html body:not(#lb) .new.menu-item a:after,
html body:not(#lb) .faqs-reviews .accordionButton .icon-plus:before,
html body.woocommerce:not(#lb) .widget_layered_nav ul.yith-wcan-label li a:hover,
html body.woocommerce-page:not(#lb) .widget_layered_nav ul.yith-wcan-label li a:hover,
html body.woocommerce-page:not(#lb) .widget_layered_nav ul.yith-wcan-label li.chosen a,
html body:not(#lb) .content-area ul.bullets li:before,
html body:not(#lb) .container .mejs-controls .mejs-time-rail .mejs-time-current,
html body:not(#lb) .wpb_toggle:before,
html body:not(#lb) h4.wpb_toggle:before,
html body:not(#lb) .tipr_content,
html body:not(#lb) .navbar-toggle .icon-bar,
html body:not(#lb) #calendar_wrap caption,
html body:not(#lb) .content-area table.my_account_orders td.order-actions a,
html body:not(#lb) .container .wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header.ui-accordion-header-active,
html body:not(#lb) .page-numbers li span.current,
html body:not(#lb) .page-numbers li a:hover,
html body:not(#lb) .widget_price_filter .ui-slider .ui-slider-range,
html body:not(#lb) .product-category-description,
html body:not(#lb) .cg-cart-count,
html body:not(#lb) .owl-theme .owl-controls .owl-page.active span,
html body:not(#lb) .owl-theme .owl-controls.clickable .owl-page:hover span { background-color: var(--verde) !important; }
html body:not(#lb) .container .cg-product-cta a.button.added,
html body:not(#lb) .container .cg-product-cta a.button.loading,
html body:not(#lb) .mc4wp-form input[type="submit"],
html body:not(#lb) #filters button.is-checked,
html body:not(#lb) .container .cg-product-cta a.button.added,
html body:not(#lb) .container .cg-product-cta a.button.loading,
html body:not(#lb) .woocommerce-page .container input.button,
html body:not(#lb) .woocommerce-page .container button.button,
html body.page:not(#lb) .woocommerce .summary .button,
html body:not(#lb) .woocommerce-page .container p.cart a.button,
html body:not(#lb) .woocommerce-page .container #yith-wcwl-form a.button,
html body:not(#lb) .subfooter #mc_signup_submit,
html body:not(#lb) .cg-quickview-product-pop .single-product-details .button,
html body:not(#lb) .woocommerce-page .container input.button,
html body:not(#lb) .woocommerce-page .container a.checkout-button { background-color: var(--verde) !important; }
html body:not(#lb) .blog-pagination ul li a:hover,
html body:not(#lb) .homepage-feature .cg-strip-content a:hover,
html body:not(#lb) .container .wpb_tour_next_prev_nav a:hover,
html body:not(#lb) .woocommerce .woocommerce_tabs ul.tabs li.active a,
html body:not(#lb) .woocommerce .woocommerce-tabs ul.tabs li.active a { border-color: var(--verde) !important; color: var(--verde) !important; }
html body:not(#lb) .cg-product-cta .button:hover,
html body:not(#lb) #respond input#submit:hover,
html body:not(#lb) .woocommerce-page .container p.return-to-shop a.button:hover,
html body.error404:not(#lb) .content-area a.btn:hover,
html body:not(#lb) #respond input#submit:hover,
html body:not(#lb) .wpcf7 input.wpcf7-submit:hover,
html body:not(#lb) .container .vc_gitem-zone .vc_btn { border-color: var(--verde) !important; }
html body:not(#lb) .page-numbers li span.current,
html body:not(#lb) .page-numbers li a:hover,
html body:not(#lb) .prev-product:hover:before,
html body:not(#lb) .next-product:hover:before,
html body:not(#lb) .page-numbers li span.current,
html body:not(#lb) .page-numbers li span.current:hover,
html body:not(#lb) .page-numbers li a:hover,
html body:not(#lb) .vc_read_more,
html body:not(#lb) .wpb_teaser_grid .categories_filter li a:hover,
html body:not(#lb) .container .wpb_content_element .wpb_tabs_nav li.ui-tabs-active a,
html body:not(#lb) .owl-theme .owl-controls .owl-page.active span,
html body:not(#lb) .owl-theme .owl-controls.clickable .owl-page:hover span { border-color: var(--verde) !important; }
html body:not(#lb) ul.tiny-cart li ul.cart_list li.buttons .button.checkout,
html body:not(#lb) .container .cg-product-cta a.button.added,
html body:not(#lb) .container .cg-product-cta a.button.loading,
html body:not(#lb) #filters button:hover,
html body:not(#lb) .woocommerce-page .container a.checkout-button { border-color: var(--verde) !important; }
html body:not(#lb) a,
html body:not(#lb) .cg-features i,
html body:not(#lb) .cg-features h2,
html body:not(#lb) .widget_layered_nav ul.yith-wcan-list li a:before,
html body:not(#lb) .widget_layered_nav ul.yith-wcan-list li.chosen a:before,
html body:not(#lb) .widget_layered_nav ul.yith-wcan-list li.chosen a,
html body:not(#lb) blockquote:before,
html body:not(#lb) blockquote:after,
html body:not(#lb) article.format-link .entry-content p:before,
html body:not(#lb) .container .ui-state-default a,
html body:not(#lb) .container .ui-state-default a:link,
html body:not(#lb) .container .ui-state-default a:visited,
html body:not(#lb) .logo a,
html body:not(#lb) .woocommerce-breadcrumb a,
html body:not(#lb) #cg-articles h3 a,
html body:not(#lb) .cg-announcements li a:hover,
html body:not(#lb) .cg-wp-menu-wrapper .menu li:hover>a,
html body:not(#lb) .cg-recent-folio-title a,
html body:not(#lb) .content-area h2.cg-recent-folio-title a,
html body:not(#lb) .cg-product-info .yith-wcwl-add-to-wishlist a:hover:before,
html body:not(#lb) .cg-product-wrap .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistexistsbrowse.show a:before,
html body:not(#lb) .widget_rss ul li a,
html body:not(#lb) .lightwrapper .widget_rss ul li a,
html body:not(#lb) .woocommerce-tabs .tabs li a:hover,
html body:not(#lb) .summary .price,
html body:not(#lb) .widget.widget_recent_entries ul li a,
html body:not(#lb) .blog-pagination ul li.active a,
html body:not(#lb) .icon.cg-icon-bag-shopping-2,
html body:not(#lb) .icon.cg-icon-basket-1,
html body:not(#lb) .icon.cg-icon-shopping-1,
html body:not(#lb) #top-menu-wrap li a:hover,
html body:not(#lb) .cg-product-info .amount,
html body:not(#lb) .single-product-details .price ins,
html body:not(#lb) .cg-product-info .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:before,
html body:not(#lb) .cg-product-info .yith-wcwl-add-to-wishlist .yith-wcwl-wishlistaddedbrowse a:hover:before,
html body:not(#lb) .prev-product:hover:before,
html body:not(#lb) .next-product:hover:before,
html body:not(#lb) .content-area article a.more-link:hover,
html body:not(#lb) .widget ul.product-categories ul.children li a:before,
html body:not(#lb) .widget_pages ul ul.children li a:before,
html body:not(#lb) .container .wpb_content_element .wpb_tabs_nav li.ui-tabs-active a,
html body:not(#lb) .container .wpb_tabs .wpb_tabs_nav li a:hover,
html body:not(#lb) .content-area .woocommerce-MyAccount-navigation ul li a:hover,
html body:not(#lb) .content-area .woocommerce-MyAccount-navigation ul li.is-active a,
html body:not(#lb) .container .wpb_tour.wpb_content_element .wpb_tour_tabs_wrapper .wpb_tabs_nav li.ui-state-active a { color: var(--verde) !important; }
html body:not(#lb) .content-area blockquote:hover,
html body:not(#lb) article.format-link .entry-content p:hover,
html body:not(#lb) .blog-pagination ul li a:hover,
html body:not(#lb) .blog-pagination ul li.active a,
html body:not(#lb) .container .ui-state-hover,
html body:not(#lb) .map_inner,
html body:not(#lb) h4.widget-title span,
html body:not(#lb) .content-area article a.more-link:hover,
html body:not(#lb) .wpb_teaser_grid .categories_filter li.active a,
html body:not(#lb) .cg-header-fixed .menu>li .cg-submenu-ddown,
html body:not(#lb) .cg-primary-menu .menu>li .cg-submenu-ddown,
html body:not(#lb) .wpb_teaser_grid .categories_filter li.active a,
html body:not(#lb) .container .wpb_accordion .wpb_accordion_wrapper .wpb_accordion_header.ui-accordion-header-active { border-color: var(--verde) !important; }
html body:not(#lb) .owl-theme .owl-controls .owl-buttons div:hover,
html body:not(#lb) #filters button.is-checked,
html body:not(#lb) #filters button.is-checked:hover,
html body:not(#lb) .container form.cart .button:hover,
html body:not(#lb) .woocommerce-page .container p.cart a.button:hover,
html body:not(#lb) .woocommerce-page .container .cart-collaterals input.checkout-button,
html body:not(#lb) .woocommerce .checkout-button { border-color: var(--verde) !important; }
html body:not(#lb) ul.tabNavigation li a.active,
html body:not(#lb) .wpb_teaser_grid .categories_filter li.active a { background: var(--verde) !important; }
html body:not(#lb) ul.tiny-cart li ul.cart_list li.buttons .button.checkout { background: var(--verde) !important; }
html body:not(#lb) .tipr_point_top:after,
html body:not(#lb) .woocommerce .woocommerce-tabs ul.tabs li.active a:after { border-top-color: var(--verde) !important; }
html body:not(#lb) .tipr_point_bottom:after,
html body:not(#lb) .content-area a:hover { border-bottom-color: var(--verde) !important; }
html body:not(#lb) a,
html body:not(#lb) .logo a,
html body:not(#lb) .navbar ul li.current-menu-item a,
html body:not(#lb) .navbar ul li.current-menu-ancestor a,
html body:not(#lb) #cg-articles h3 a,
html body:not(#lb) .widget-area .widget.widget_rss ul li a,
html body:not(#lb) .widget-area .widget #recentcomments li a,
html body:not(#lb) .current_page_ancestor,
html body:not(#lb) .current-menu-item,
html body:not(#lb) .cg-primary-menu .menu>li.current-menu-item>a,
html body:not(#lb) .cg-primary-menu .menu>li.current-menu-ancestor>a { color: var(--verde) !important; }
html body:not(#lb) a:hover,
html body:not(#lb) a:focus,
html body:not(#lb) #top .dropdown-menu li a:hover,
html body:not(#lb) ul.navbar-nav li .nav-dropdown li a:hover,
html body:not(#lb) .navbar ul li.current-menu-item a:hover,
html body:not(#lb) .navbar ul li.current-menu-ancestor a:hover,
html body:not(#lb) .woocommerce ul.product_list_widget li a:hover,
html body:not(#lb) .content-area a.reset_variations:hover,
html body:not(#lb) .content-area article h2 a:hover,
html body:not(#lb) .content-area footer.entry-meta a:hover,
html body:not(#lb) .content-area footer.entry-meta .comments-link:hover:before,
html body:not(#lb) .content-area a.post-edit-link:hover:before,
html body:not(#lb) .scwebsite:hover:before,
html body:not(#lb) .cg-wp-menu-wrapper .menu li a:hover,
html body:not(#lb) .cg-header-fixed .menu>li .cg-submenu-ddown .container>ul>li a:hover,
html body:not(#lb) .cg-primary-menu .menu>li .cg-submenu-ddown .container>ul>li a:hover,
html body:not(#lb) .cg-submenu-ddown .container>ul>li>a:hover,
html body:not(#lb) .cg-header-fixed .menu>li .cg-submenu-ddown .container>ul>li a:hover,
html body:not(#lb) .cg-primary-menu .menu>li .cg-submenu-ddown .container>ul>li a:hover { color: var(--verde) !important; }

/* ===== Suave (CommerceGurus): cabecera, menú, tienda y pie ===== */
html body:not(#lb), html body:not(#lb) #wrapper, html body:not(#lb) #cg-page-wrap { background: #FFFFFF; }
html body:not(#lb) .cg-shopping-toolbar { background: var(--papel) !important; border-bottom: 1px solid var(--linea) !important; color: var(--texto) !important; font-family: var(--f-ui); }
html body:not(#lb) .cg-shopping-toolbar a { color: var(--texto) !important; }
html body:not(#lb) .cg-menu-below { background: #FFFFFF !important; }

/* La cinta del logotipo en el menú: cuadrado verde y banda gris */
html body:not(#lb) .cg-primary-menu, html body:not(#lb) .cg-primary-menu-below-wrapper { background: var(--cinta) !important; border: 0 !important; }
html body:not(#lb) .cg-main-menu .menu > li > a, html body:not(#lb) .cg-primary-menu .menu > li > a {
  color: var(--negro) !important; font-family: var(--f-ui) !important; font-weight: 500 !important;
  font-size: 16.8px !important; text-transform: none !important; letter-spacing: 0 !important;
}
html body:not(#lb) .cg-main-menu .menu > li > a:hover { box-shadow: inset 0 -3px 0 var(--verde-hondo); }
html body:not(#lb) .cg-main-menu .menu > li.current-menu-item > a, html body:not(#lb) .cg-main-menu .menu > li.current_page_item > a {
  color: var(--negro) !important; box-shadow: inset 0 -3px 0 var(--verde);
}
html body:not(#lb) .cg-header-fixed { background: var(--cinta) !important; }
html body:not(#lb) .tiny-cart .cart_list_product_qty, html body:not(#lb) .cart-wrap .count, html body:not(#lb) .cart-wrap span.cart_quantity, html body:not(#lb) .cart-wrap .number { background: var(--verde) !important; color: #FFFFFF !important; }
html body:not(#lb) .cart-wrap, html body:not(#lb) .cart-wrap a, html body:not(#lb) .cart-wrap .woocommerce-Price-amount { color: var(--negro) !important; }
html body:not(#lb) .cg-header-cart-icon-wrap .icon, html body:not(#lb) .cg-header-cart-icon-wrap .icon::before { color: var(--verde) !important; }

/* Banda de título de página (antes negra): papel y Alegreya */
html body:not(#lb) .header-wrapper, html body:not(#lb) .product-title-wrapper { background: var(--papel) !important; background-image: none !important; border-bottom: 1px solid var(--linea); }
html body:not(#lb) .header-wrapper .overlay, html body:not(#lb) .product-title-wrapper .overlay { display: none !important; }
html body:not(#lb) .header-wrapper h1, html body:not(#lb) .header-wrapper .container, html body:not(#lb) .product-title-wrapper h1, html body:not(#lb) .product-title-wrapper h2, html body:not(#lb) .product-title-wrapper a {
  color: var(--negro) !important; font-family: var(--f-titulos) !important; text-shadow: none !important;
}
html body:not(#lb) .header-wrapper h1 { font-weight: 700 !important; }

html body:not(#lb) .product-title-wrapper { padding-block: 18px !important; min-height: 0 !important; }
html body:not(#lb) .woocommerce-product-details__short-description p { margin: 0 0 4px !important; font-family: var(--f-ui); font-size: 16px; line-height: 1.45; }
html body:not(#lb) .woocommerce-product-details__short-description { margin-bottom: 20px; padding-block: 14px; border-block: 1px solid var(--linea); }

/* Rejilla de la tienda */
html body:not(#lb) .woocommerce-ordering .selectpicker, html body:not(#lb) .woocommerce-ordering select, html body:not(#lb) .woocommerce-ordering .btn { border-radius: 2px !important; font-family: var(--f-ui); }
html body:not(#lb) .woocommerce-pagination .page-numbers a, html body:not(#lb) .woocommerce-pagination .page-numbers span { border-radius: 2px; font-family: var(--f-ui); color: var(--texto); }
html body:not(#lb) .woocommerce-pagination .page-numbers .current { background: var(--verde) !important; border-color: var(--verde) !important; color: #FFFFFF !important; }
html body:not(#lb) .cg-product-info .name {
  display: block; font-family: var(--f-libro) !important; text-transform: lowercase !important; letter-spacing: .035em !important;
  font-weight: 500 !important; font-size: 18.4px !important; line-height: 1.25 !important; color: var(--negro) !important;
}
html body:not(#lb) .cg-product-info .name .lb-autor { font-family: var(--f-ui); text-transform: none; letter-spacing: 0; font-size: 15.2px; color: var(--texto); }
html body:not(#lb) .cg-product-info .price, html body:not(#lb) .cg-product-info .price .amount { color: var(--negro) !important; font-family: var(--f-ui) !important; }
html body:not(#lb) .cg-product-wrap .cg-product-meta-wrap { text-align: left; }
html body:not(#lb) .cg-quick-view, html body:not(#lb) .yith-wcqv-button { background: var(--verde) !important; color: #FFFFFF !important; font-family: var(--f-ui) !important; }

/* Pie */
html body:not(#lb) .footercontainer .lightwrapper { background: var(--papel) !important; }
html body:not(#lb) .footercontainer .footer { background: var(--verde-hondo) !important; color: #E3ECE6 !important; }
html body:not(#lb) .footercontainer .footer a, html body:not(#lb) .footercontainer .footer-copyright, html body:not(#lb) .footercontainer .footer-copyright a { color: #FFFFFF !important; }
html body:not(#lb) .cd-top { background-color: var(--verde) !important; }

/* Reseñas del Magazine */
html body:not(#lb) .entry-content h1, html body:not(#lb) article .entry-title, html body:not(#lb) .blog-title { font-family: var(--f-titulos) !important; }
html body:not(#lb) .entry-meta, html body:not(#lb) .entry-meta a { color: var(--texto-suave) !important; font-family: var(--f-ui); }

/* Pie propio: se oculta el de Suave */
html body.lb-pie-propio:not(#lb) .footercontainer, html body.lb-pie-propio:not(#lb) .below-body-widget-area { 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); }
}

/* ===== [llde_ficha]: ficha de catálogo de biblioteca ===== */
html body:not(#lb) .lb-ficha .ficha-catalogo { position: relative; max-width: 640px; background: #FFFFFF; border: 1px solid var(--cinta); box-shadow: 0 1px 0 var(--cinta), 0 18px 40px -24px rgb(15 72 44 / .5); }
html body:not(#lb) .lb-ficha .ficha-catalogo__cinta { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0 18px 0 0; background: var(--cinta); color: var(--negro); font: italic 400 20px/2.4 var(--f-titulos); }
html body:not(#lb) .lb-ficha .ficha-catalogo__cinta::before { content: ""; align-self: stretch; width: 2.4em; background: var(--verde); }
html body:not(#lb) .lb-ficha .ficha-catalogo__cuerpo { display: grid; grid-template-columns: minmax(120px, 190px) minmax(0, 1fr); gap: clamp(18px, 3vw, 30px); padding: clamp(18px, 3vw, 30px) clamp(18px, 3vw, 30px) 46px; }
html body:not(#lb) .lb-ficha .ficha-catalogo::after { content: ""; position: absolute; left: 50%; bottom: 14px; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--papel); box-shadow: inset 0 1px 2px rgb(0 0 0 / .25); }
html body:not(#lb) .lb-ficha .ficha-catalogo__titulo { margin: 0 0 14px !important; font: 500 25.6px/1.15 var(--f-libro) !important; text-transform: lowercase; letter-spacing: .03em; }
html body:not(#lb) .lb-ficha .ficha-catalogo__titulo a { color: var(--negro) !important; text-decoration: none; }
html body:not(#lb) .lb-ficha .ficha-catalogo__datos { display: grid; grid-template-columns: max-content minmax(0, 1fr); margin: 0 0 20px; font: 400 16px/1.35 var(--f-ui); }
html body:not(#lb) .lb-ficha .ficha-catalogo__datos dt, html body:not(#lb) .lb-ficha .ficha-catalogo__datos dd { margin: 0; padding: 7px 0; border-bottom: 1px dotted var(--linea-fuerte); }
html body:not(#lb) .lb-ficha .ficha-catalogo__datos dt { padding-right: 18px; color: var(--gris-texto); font-weight: 400; }
html body:not(#lb) .lb-ficha .ficha-catalogo__datos dd { color: var(--negro); font-weight: 500; }
html body:not(#lb) .lb-ficha .ficha-catalogo__acciones { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
@media (max-width: 480px) { html body:not(#lb) .lb-ficha .ficha-catalogo__cuerpo { grid-template-columns: minmax(0, 1fr); } .lb-ficha .ficha-catalogo__portada { max-width: 160px; } }
