/**
 * BLANCO & NEGRO · Editorial colour and type
 * Load after the plugin's structural styles. Only the two explicit BN body
 * markers opt in. No remote fonts, image replacement, checkout-field resets,
 * payment-provider selectors, or changes to Woo's interaction/visibility rules.
 */
body.bnp-editorial-page,
body.bnp-commerce-page {
    --bnp-paper: #f7f2e8;
    --bnp-ink: #203a33;
    --bnp-forest: #173f35;
    --bnp-forest-deep: #102e28;
    --bnp-coral: #aa402b;
    --bnp-coral-dark: #883020;
    --bnp-gold: #e2b34e;
    --bnp-price: #ad4825;
    --bnp-stock: #206449;
    --bnp-muted: #5d675d;
    --bnp-line: #d6d4c6;
    --bnp-white: #fffdf8;
    --bnp-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    --bnp-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
    background: var(--bnp-paper);
    color: var(--bnp-ink);
    font-family: var(--bnp-sans);
    font-size: 17px;
    line-height: 1.65;
}
body.bnp-editorial-page .bnp-shell,
body.bnp-commerce-page .bnp-shell {
    --bnp-paper: #f7f2e8;
    --bnp-ink: #203a33;
    background: var(--bnp-paper);
    color: var(--bnp-ink);
    font-family: var(--bnp-sans);
}
body.bnp-editorial-page .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) {
    padding: clamp(20px, 4.5vw, 64px);
    padding-top: clamp(24px, 3vw, 44px);
}
/* A printed-edition accent, without altering the original logo artwork. */
body.bnp-editorial-page .bnp-commerce-access,
body.bnp-commerce-page .bnp-commerce-header {
    border-top: 6px solid var(--bnp-forest);
    border-image: linear-gradient(90deg, #173f35 0 60%, #aa402b 60% 85%, #e2b34e 85%) 1;
}
body.bnp-editorial-page .bnp-commerce-access {
    padding: 10px clamp(20px, 4.5vw, 64px);
    background: #eeeadf;
    border-bottom: 1px solid var(--bnp-line);
}
body.bnp-editorial-page .bnp-shell .bnp-logo {
    width: min(280px, 100%);
    max-width: 100%;
    margin: 0 0 24px;
}
body.bnp-editorial-page .bnp-shell > :is(.bnp-logo, .bnp-commerce-home) + p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    margin: 0 0 28px;
    font-size: 15px;
    color: var(--bnp-muted);
}
body.bnp-editorial-page .bnp-shell > :is(.bnp-logo, .bnp-commerce-home) + p a,
body.bnp-commerce-page .bnp-commerce-nav a,
body.bnp-editorial-page .bnp-commerce-nav a,
body.bnp-editorial-page .bnp-commerce-access a,
body.bnp-commerce-page .bnp-commerce-access a {
    color: var(--bnp-forest);
    font-family: var(--bnp-sans);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    padding: 11px 2px;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}
body.bnp-editorial-page .bnp-shell > :is(.bnp-logo, .bnp-commerce-home) + p a:hover,
body.bnp-commerce-page .bnp-commerce-nav a:hover,
body.bnp-editorial-page .bnp-commerce-nav a:hover,
body.bnp-editorial-page .bnp-commerce-access a:hover,
body.bnp-commerce-page .bnp-commerce-access a:hover { color: var(--bnp-coral); }
body.bnp-commerce-page .bnp-commerce-header {
    background: var(--bnp-paper);
    padding: 26px clamp(20px, 4.5vw, 64px);
    border-bottom: 1px solid var(--bnp-line);
    gap: 16px 32px;
}
body.bnp-commerce-page .bnp-commerce-logo { width: 225px; max-width: 100%; }
body.bnp-commerce-page .bnp-commerce-access { gap: 10px 20px; }
body.bnp-commerce-page .bnp-commerce-access a:first-child {
    padding: 11px 18px;
    color: var(--bnp-white);
    background: var(--bnp-forest);
    border: 1px solid var(--bnp-forest);
    border-radius: 6px;
    text-decoration: none;
}
body.bnp-commerce-page .bnp-commerce-access a:first-child:hover { background: var(--bnp-forest-deep); }
/* Editorial rhythm: clear section openings, long-form text kept readable. */
body.bnp-editorial-page .bnp-section {
    padding: clamp(40px, 5vw, 72px) 0;
    border-bottom-color: var(--bnp-line);
    scroll-margin-top: 28px;
}
body.bnp-editorial-page .bnp-section > h2,
body.bnp-commerce-page main h1,
body.bnp-commerce-page main h2,
body.bnp-editorial-page .bnp-commerce-footer h2,
body.bnp-commerce-page .bnp-commerce-footer h2 {
    color: var(--bnp-forest);
    font-family: var(--bnp-serif);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.13;
    overflow-wrap: break-word;
    text-wrap: balance;
}
body.bnp-editorial-page .bnp-section > h2 {
    max-width: 850px;
    margin: 0 0 20px;
    font-size: clamp(34px, 4.4vw, 58px);
}
body.bnp-editorial-page .bnp-section > h2::before {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin-bottom: 20px;
    background: var(--bnp-coral);
}
body.bnp-editorial-page .bnp-section > p {
    max-width: 760px;
    margin-top: 14px;
    margin-bottom: 22px;
    line-height: 1.75;
}
body.bnp-editorial-page .bnp-section > h2 + p { color: var(--bnp-muted); font-size: 18px; }
body.bnp-commerce-page main h1 { font-size: clamp(32px, 4.2vw, 56px); }
body.bnp-commerce-page main h2 { font-size: clamp(26px, 3vw, 36px); }
body.bnp-commerce-page main {
    --wp--style--root--padding-left: clamp(20px, 4.5vw, 64px);
    --wp--style--root--padding-right: clamp(20px, 4.5vw, 64px);
    --wp--style--global--content-size: 1120px;
    --wp--style--global--wide-size: 1280px;
    margin-top: clamp(28px, 4vw, 52px);
    margin-bottom: clamp(40px, 5vw, 72px);
    color: var(--bnp-ink);
}
body.bnp-commerce-page main :where(.wp-block-column, .wp-block-post-content) { min-width: 0; }
/* Preserve the complete existing hero composition and every book-cover pixel. */
body.bnp-editorial-page .bnp-carousel {
    margin: 32px 0 12px;
    border: 1px solid var(--bnp-forest);
    border-radius: 10px;
    box-shadow: 0 12px 28px #173f3514;
}
body.bnp-editorial-page .bnp-slide { border-radius: 9px; }
body.bnp-editorial-page .bnp-hero-copy h2 {
    font-family: var(--bnp-serif);
    font-weight: 400;
    font-size: clamp(34px, 4.5vw, 62px);
    line-height: 1.04;
    letter-spacing: -.035em;
    color: #fffdf8;
    text-wrap: balance;
}
body.bnp-editorial-page .bnp-hero-copy .bnp-eyebrow {
    color: #f4d48f;
    font: 650 11px/1.7 var(--bnp-sans);
    letter-spacing: .16em;
}
body.bnp-editorial-page .bnp-hero-copy p { font-family: var(--bnp-sans); }
/* Overlay controls match the reference: dark square chevrons, no bottom bar.
   Each 36px visible square sits inside a 44px keyboard/touch target. */
body.bnp-editorial-page .bnp-carousel .bnp-controls {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    margin: 0;
    padding: 0;
    min-height: 0;
    border: 0;
    background: transparent;
    pointer-events: none;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls button {
    position: absolute;
    box-sizing: border-box;
    pointer-events: auto;
    color: #fff;
    font-family: var(--bnp-sans);
    cursor: pointer;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls :is([data-prev], [data-next]) {
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0 0 3px;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-prev] { left: 0; }
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-next] { right: 0; }
body.bnp-editorial-page .bnp-carousel .bnp-controls :is([data-prev], [data-next])::before {
    content: "";
    position: absolute;
    inset: 4px;
    z-index: -1;
    border-radius: 3px;
    background: #121b18;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls :is([data-prev], [data-next]):hover::before { background: #aa402b; }
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-play] {
    right: 8px;
    bottom: 8px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-size: 16px;
    line-height: 1;
}
/* A quiet 30px icon surface inside the full 44px touch/keyboard target.
   The visible glyph is supplied by JS; the button keeps its spoken label. */
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-play]::before {
    content: "";
    position: absolute;
    inset: 7px;
    z-index: -1;
    border: 1px solid #a4b4a9;
    border-radius: 3px;
    background: #121b18;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-play] > span[aria-hidden="true"] {
    display: block;
    font: 700 16px/1 var(--bnp-sans);
    pointer-events: none;
}
body.bnp-editorial-page .bnp-carousel .bnp-controls [data-play]:hover::before { background: #173f35; }
/* Native product search, rendered once immediately below the home banner. */
body.bnp-editorial-page .bnp-home-search {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 50px;
    margin: 24px 0 8px;
    padding: 0;
    border: 1px solid #818b80;
    border-radius: 5px;
    background: var(--bnp-white);
}
body.bnp-editorial-page .bnp-home-search input[type="search"] {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 12px 18px;
    border: 0;
    border-radius: 4px 0 0 4px;
    background: transparent;
    color: var(--bnp-ink);
    font: 16px/1.5 var(--bnp-sans);
}
body.bnp-editorial-page .bnp-home-search input[type="search"]::placeholder { color: var(--bnp-muted); opacity: 1; }
body.bnp-editorial-page .bnp-home-search button {
    box-sizing: border-box;
    position: relative;
    flex: 0 0 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    min-height: 48px;
    margin: 0;
    padding: 10px;
    border: 0;
    border-radius: 0 4px 4px 0;
    background: transparent;
    color: var(--bnp-forest);
    cursor: pointer;
}
body.bnp-editorial-page .bnp-home-search button::before {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 0;
    width: 1px;
    background: #b8bfb4;
}
body.bnp-editorial-page .bnp-home-search button:hover { background: #e8eee4; }
body.bnp-editorial-page .bnp-home-search button svg { display: block; width: 22px; height: 22px; }
/* Explicit action selectors. Woo notices, quantity controls and gateway UIs
   retain their own CSS. Disabled, loading and validation states stay native. */
body.bnp-editorial-page .bnp-button,
body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search button,
body.bnp-editorial-page .bnp-quote-form button,
body.bnp-editorial-page .bnp-products .woocommerce a.button,
body.bnp-editorial-page .bnp-bestsellers .woocommerce a.button,
body.bnp-commerce-page .woocommerce a.button,
body.bnp-commerce-page .woocommerce button.button,
body.bnp-commerce-page .woocommerce input.button,
body.bnp-commerce-page .single_add_to_cart_button,
body.bnp-commerce-page .wp-block-woocommerce-product-button .wp-element-button,
body.bnp-commerce-page .wc-block-cart__submit-button,
body.bnp-commerce-page .wc-block-components-checkout-place-order-button {
    box-sizing: border-box;
    min-height: 46px;
    padding: 13px 20px;
    border: 1px solid var(--bnp-forest);
    border-radius: 6px;
    background: var(--bnp-forest);
    color: var(--bnp-white);
    font-family: var(--bnp-sans);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: .01em;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: break-word;
    box-shadow: none;
}
body.bnp-editorial-page .bnp-button { color: var(--bnp-white) !important; }
body.bnp-editorial-page .bnp-hero-copy .bnp-button,
body.bnp-editorial-page .bnp-quote-form button,
body.bnp-commerce-page .single_add_to_cart_button,
body.bnp-commerce-page .wc-block-cart__submit-button,
body.bnp-commerce-page .wc-block-components-checkout-place-order-button {
    background: var(--bnp-coral);
    border-color: var(--bnp-coral);
    color: var(--bnp-white) !important;
}
body.bnp-editorial-page .bnp-products .woocommerce a.button:hover,
body.bnp-editorial-page .bnp-bestsellers .woocommerce a.button:hover,
body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search button:hover,
body.bnp-commerce-page .woocommerce a.button:hover,
body.bnp-commerce-page .woocommerce button.button:hover,
body.bnp-commerce-page .woocommerce input.button:hover,
body.bnp-commerce-page .wp-block-woocommerce-product-button .wp-element-button:hover {
    background: var(--bnp-forest-deep);
    border-color: var(--bnp-forest-deep);
    color: var(--bnp-white);
}
body.bnp-editorial-page .bnp-hero-copy .bnp-button:hover,
body.bnp-editorial-page .bnp-quote-form button:hover,
body.bnp-commerce-page .single_add_to_cart_button:hover,
body.bnp-commerce-page .wc-block-cart__submit-button:hover,
body.bnp-commerce-page .wc-block-components-checkout-place-order-button:hover {
    background: var(--bnp-coral-dark);
    border-color: var(--bnp-coral-dark);
}
/* Dual-colour focus ring remains visible on cream, coral and dark green. */
body.bnp-editorial-page :where(a, button, input, select, textarea, [tabindex]):focus-visible,
body.bnp-commerce-page :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--bnp-forest);
    outline-offset: 4px;
    box-shadow: 0 0 0 4px var(--bnp-white);
}
body.bnp-editorial-page .bnp-carousel :where(a, button):focus-visible,
body.bnp-editorial-page #contacto a:focus-visible,
body.bnp-editorial-page .bnp-commerce-footer a:focus-visible,
body.bnp-commerce-page .bnp-commerce-footer a:focus-visible {
    outline-color: var(--bnp-gold);
    box-shadow: 0 0 0 4px var(--bnp-forest-deep);
}
/* Catalog sidebar and cards: neutral cover mats, colour on the surrounding UI. */
body.bnp-editorial-page .bnp-catalogue { grid-template-columns: 190px minmax(0, 1fr); gap: 36px; margin-top: 30px; }
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) {
    align-self: start;
    padding: 20px 16px;
    border: 1px solid var(--bnp-line);
    border-top: 4px solid var(--bnp-gold);
    border-radius: 8px;
    background: #eeeee3;
    font-size: 14px;
}
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) h3 {
    margin: 28px 0 12px;
    color: var(--bnp-forest);
    font: 650 14px/1.4 var(--bnp-sans);
    letter-spacing: .025em;
}
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) li { margin: 0; border-bottom: 1px solid var(--bnp-line); }
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) li:last-child { border-bottom: 0; }
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) li a { display: block; padding: 11px 0; overflow-wrap: anywhere; }
body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) li a:hover { color: var(--bnp-coral); }
body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search .search-field,
body.bnp-editorial-page .bnp-quote-form input {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 11px 12px;
    border: 1px solid #777d6f;
    border-radius: 4px;
    background: var(--bnp-white);
    color: var(--bnp-ink);
    font: 16px/1.4 var(--bnp-sans);
}
body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search button { width: 100%; margin-top: 10px; }
body.bnp-editorial-page .woocommerce .woocommerce-ordering { max-width: 100%; }
body.bnp-editorial-page .woocommerce .woocommerce-ordering select { box-sizing: border-box; max-width: 100%; min-height: 42px; }
body.bnp-editorial-page .woocommerce .woocommerce-result-count { color: var(--bnp-muted); font-size: 14px; }
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product,
body.bnp-commerce-page .wc-block-product-template > .wc-block-product.bnp-book-product {
    box-sizing: border-box;
    min-width: 0;
    padding: 16px;
    background: var(--bnp-white);
    border: 1px solid var(--bnp-line);
    border-radius: 12px;
    box-shadow: 0 3px 0 #173f3509;
}
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product:hover,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product:hover,
body.bnp-commerce-page .wc-block-product-template > .wc-block-product.bnp-book-product:hover { border-color: #94a294; }
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product a img,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product a img,
body.bnp-commerce-page .wc-block-product.bnp-book-product .bnp-book-cover img {
    padding: 12px;
    margin-bottom: 0;
    background: #f2f2ec;
    border-radius: 12px;
    /* Dimensions and object-fit: contain are owned by book-covers.css. */
}
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-post-title {
    padding: 15px 0 8px;
    margin-top: 0;
    color: var(--bnp-forest);
    font-family: var(--bnp-sans);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.02em;
    text-align: center;
    overflow-wrap: break-word;
    text-wrap: pretty;
}
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-post-title a { color: inherit; text-decoration: none; }
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product .price,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product .price,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wc-block-components-product-price {
    color: var(--bnp-price);
    font-family: var(--bnp-sans);
    font-size: 18px;
    font-weight: 750;
    text-align: center;
}
body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product > .button,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product > .button,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-woocommerce-product-button,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-woocommerce-product-button .wp-element-button {
    width: 100%;
    align-self: stretch;
}
body.bnp-editorial-page .woocommerce nav.woocommerce-pagination ul,
body.bnp-commerce-page .woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; flex-wrap: wrap; gap: 6px; }
body.bnp-editorial-page .woocommerce nav.woocommerce-pagination ul li,
body.bnp-commerce-page .woocommerce nav.woocommerce-pagination ul li { border: 0; }
body.bnp-editorial-page .woocommerce nav.woocommerce-pagination ul li :is(a, span),
body.bnp-commerce-page .woocommerce nav.woocommerce-pagination ul li :is(a, span) { min-width: 42px; padding: 13px; border: 1px solid var(--bnp-line); border-radius: 4px; color: var(--bnp-forest); }
body.bnp-editorial-page .woocommerce nav.woocommerce-pagination ul li .current,
body.bnp-commerce-page .woocommerce nav.woocommerce-pagination ul li .current { background: var(--bnp-forest); border-color: var(--bnp-forest); color: var(--bnp-white); }
/* Card metadata is sourced from the catalog; no author, novelty or stock
   text is generated by CSS. Keep long names/titles readable without clipping. */
body.bnp-editorial-page .bnp-book-product .bnp-book-author,
body.bnp-commerce-page .bnp-book-product .bnp-book-author {
    display: block;
    margin: 14px 0 5px;
    color: var(--bnp-muted);
    font: 600 12px/1.5 var(--bnp-sans);
    letter-spacing: .075em;
    text-transform: uppercase;
    text-align: center;
    overflow-wrap: break-word;
}
body.bnp-editorial-page .bnp-book-product .bnp-book-author + .woocommerce-loop-product__title,
body.bnp-commerce-page .bnp-book-product .bnp-book-author + .woocommerce-loop-product__title,
body.bnp-commerce-page .bnp-book-product .bnp-book-author + .wp-block-post-title { padding-top: 4px; }
body.bnp-editorial-page .bnp-book-product .bnp-book-availability,
body.bnp-commerce-page .bnp-book-product .bnp-book-availability {
    display: block;
    margin: 6px 0 10px;
    color: var(--bnp-muted);
    font: 600 13px/1.5 var(--bnp-sans);
    text-align: center;
}
body.bnp-editorial-page .bnp-book-product .bnp-book-availability.is-in-stock,
body.bnp-commerce-page .bnp-book-product .bnp-book-availability.is-in-stock { color: var(--bnp-stock); }
body.bnp-editorial-page .bnp-book-product .bnp-book-availability.is-out-of-stock,
body.bnp-commerce-page .bnp-book-product .bnp-book-availability.is-out-of-stock { color: var(--bnp-coral); }
/* Wholesale labels are emitted only by the approved pricing/eligibility API.
   CSS only positions the existing label; it never infers roles or prices. */
body.bnp-editorial-page .bnp-wholesale-cover,
body.bnp-commerce-page .bnp-wholesale-cover { position: relative; }
body.bnp-editorial-page span.bnp-wholesale-cover,
body.bnp-commerce-page span.bnp-wholesale-cover { display: block; }
body.bnp-editorial-page .bnp-wholesale-cover > .bnp-wholesale-badge,
body.bnp-commerce-page .bnp-wholesale-cover > .bnp-wholesale-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    z-index: 2;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    min-height: 36px;
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 2px;
    background: #b82b34;
    color: #fff;
    font: 750 20px/1.2 var(--bnp-sans);
    letter-spacing: -.02em;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    pointer-events: none;
}
/* A gallery viewport can clip anything outside the slide. Keep its label
   inside the corner; catalog labels extend only into their own card padding. */
body.bnp-commerce-page .woocommerce-product-gallery .bnp-wholesale-cover > .bnp-wholesale-badge { top: 8px; right: 8px; }
/* Optional manually curated sidebar. It appears only when PHP supplies
   an approved public selection. The ordinary two-zone catalog is unchanged. */
body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-with-bestsellers {
    grid-template-columns: 170px minmax(0, 1fr) 220px;
    grid-template-areas: "filters products bestsellers";
    gap: 28px;
}
body.bnp-editorial-page .bnp-catalogue-with-bestsellers > aside:not(.bnp-bestsellers) { grid-area: filters; }
body.bnp-editorial-page .bnp-catalogue-with-bestsellers > .bnp-products { grid-area: products; }
body.bnp-editorial-page .bnp-catalogue-with-bestsellers > .bnp-bestsellers {
    grid-area: bestsellers;
    box-sizing: border-box;
    min-width: 0;
    align-self: start;
    padding: 18px 0 0;
    border-top: 4px solid var(--bnp-gold);
    color: var(--bnp-ink);
}
body.bnp-editorial-page .bnp-bestsellers > :is(h2, h3) {
    margin: 0 0 22px;
    color: var(--bnp-forest);
    font: 400 26px/1.2 var(--bnp-serif);
    letter-spacing: -.025em;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 0;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product { padding: 12px; }
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product > .woocommerce-LoopProduct-link {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto auto;
    align-items: start;
    gap: 4px 12px;
    min-height: 100px;
    margin-bottom: 12px;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce-LoopProduct-link > :is(img, .bnp-wholesale-cover) {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 64px;
    height: 100px;
    margin: 0;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product a img {
    width: 64px !important;
    height: 100px !important;
    max-width: 100%;
    padding: 4px;
    margin: 0;
    border-radius: 4px;
    object-fit: contain !important;
    object-position: center;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .price {
    grid-column: 2;
    grid-row: 3;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
}
body.bnp-editorial-page .bnp-bestsellers .bnp-book-author { display: none; }
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .bnp-book-availability {
    grid-column: 2;
    grid-row: 2;
    display: block;
    margin: 3px 0;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product > .button {
    min-height: 44px;
    padding: 12px 8px;
    font-size: 12px;
}
body.bnp-editorial-page .bnp-bestsellers .bnp-wholesale-cover > .bnp-wholesale-badge {
    top: -3px;
    right: -3px;
    width: 44px;
    min-height: 24px;
    padding: 3px 4px;
    font-size: 14px;
}
/* Visibly distinct editorial and printing sections. No invented text. */
body.bnp-editorial-page .bnp-shell #blog,
body.bnp-editorial-page .bnp-shell #imprenta {
    box-sizing: border-box;
    margin-top: 40px;
    padding: clamp(24px, 4vw, 48px);
    border: 1px solid var(--bnp-line);
    border-radius: 10px;
}
body.bnp-editorial-page .bnp-shell #blog { background: #e8eee4; }
body.bnp-editorial-page .bnp-shell #imprenta { background: #f2e0d4; border-color: #ddc5b8; }
body.bnp-editorial-page .bnp-shell #imprenta > h2::before { background: var(--bnp-coral); }
body.bnp-editorial-page .wp-block-latest-posts { padding: 0; }
body.bnp-editorial-page .wp-block-latest-posts > li {
    box-sizing: border-box;
    padding: 22px;
    background: var(--bnp-white);
    border: 1px solid var(--bnp-line);
    border-radius: 6px;
    overflow-wrap: break-word;
}
body.bnp-editorial-page .wp-block-latest-posts .wp-block-latest-posts__post-title {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--bnp-forest);
    font: 400 26px/1.2 var(--bnp-serif);
    text-decoration: none;
}
body.bnp-editorial-page .wp-block-latest-posts .wp-block-latest-posts__post-title:hover { text-decoration: underline; }
body.bnp-editorial-page .wp-block-latest-posts time { color: var(--bnp-muted); font: 13px/1.5 var(--bnp-sans); }
body.bnp-editorial-page .bnp-quote { margin-top: 30px; padding: clamp(18px, 3vw, 28px); border: 1px solid #ddc5b8; border-radius: 6px; background: var(--bnp-white); }
body.bnp-editorial-page .bnp-quote h3 { color: var(--bnp-forest); font: 400 28px/1.2 var(--bnp-serif); }
body.bnp-editorial-page .bnp-quote-form { grid-template-columns: minmax(0, 320px); gap: 14px; }
body.bnp-editorial-page .bnp-quote-form label { font-size: 14px; font-weight: 650; }
body.bnp-editorial-page .bnp-quote-result { border-left: 4px solid var(--bnp-gold); padding-left: 20px; }
/* Woo content: retain native cart/checkout grids, floating labels, gateway
   fields, validation colours, visibility, input sizing and quantity controls. */
body.bnp-commerce-page .woocommerce-breadcrumb { color: var(--bnp-muted); font: 13px/1.6 var(--bnp-sans); }
body.bnp-commerce-page :is(.woocommerce-breadcrumb, .taxonomy-product_cat, .woocommerce-MyAccount-content) a { color: var(--bnp-forest); text-underline-offset: 4px; }
body.bnp-commerce-page .wp-block-woocommerce-product-price > .wc-block-components-product-price { color: var(--bnp-coral); font-weight: 650; }
body.bnp-commerce-page .wp-block-woocommerce-product-details { padding-top: 30px; border-top: 1px solid var(--bnp-line); }
body.bnp-commerce-page .wp-block-woocommerce-product-collection { margin-top: 48px; }
body.bnp-commerce-page .woocommerce-MyAccount-navigation ul { padding: 0; margin: 0 0 24px; list-style: none; border: 1px solid var(--bnp-line); border-radius: 6px; background: var(--bnp-white); }
body.bnp-commerce-page .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--bnp-line); }
body.bnp-commerce-page .woocommerce-MyAccount-navigation a { display: block; padding: 13px 18px; color: var(--bnp-forest); text-underline-offset: 4px; }
body.bnp-commerce-page .woocommerce-MyAccount-navigation li.is-active a { background: var(--bnp-forest); color: var(--bnp-white); font-weight: 650; }
body.bnp-commerce-page .woocommerce form:is(.login, .register) { padding: clamp(20px, 4vw, 36px); border-color: var(--bnp-line); border-radius: 8px; background: var(--bnp-white); }
body.bnp-commerce-page .wc-block-cart .wc-block-cart__totals-title,
body.bnp-commerce-page .wc-block-checkout__order-notes .wc-block-components-title,
body.bnp-commerce-page .wc-block-checkout__order-summary-title { color: var(--bnp-forest); font-family: var(--bnp-serif); font-size: 24px; font-weight: 400; letter-spacing: -.02em; }
body.bnp-commerce-page .wc-block-cart .wc-block-components-totals-wrapper,
body.bnp-commerce-page .wc-block-checkout .wc-block-components-order-summary { border-color: var(--bnp-line); }
/* Contact/footer: strong ending, original social glyphs remain currentColor. */
body.bnp-editorial-page .bnp-shell #contacto,
body.bnp-editorial-page .bnp-commerce-footer,
body.bnp-commerce-page .bnp-commerce-footer {
    box-sizing: border-box;
    margin-top: 48px;
    padding: clamp(28px, 5vw, 60px);
    background: var(--bnp-forest-deep);
    color: var(--bnp-white);
    border: 0;
    border-top: 5px solid var(--bnp-gold);
    border-radius: 10px;
    font-size: 15px;
}
body.bnp-editorial-page .bnp-commerce-footer,
body.bnp-commerce-page .bnp-commerce-footer { border-radius: 0; }
body.bnp-editorial-page .bnp-shell #contacto h2,
body.bnp-editorial-page .bnp-commerce-footer h2,
body.bnp-commerce-page .bnp-commerce-footer h2 { color: var(--bnp-white); font-family: var(--bnp-serif); font-size: clamp(34px, 4vw, 48px); font-weight: 400; margin-top: 0; }
body.bnp-editorial-page .bnp-shell #contacto h2::before { background: var(--bnp-gold); }
body.bnp-editorial-page .bnp-shell #contacto p,
body.bnp-editorial-page .bnp-commerce-footer p,
body.bnp-commerce-page .bnp-commerce-footer p { max-width: none; color: var(--bnp-white); line-height: 1.9; font-size: 15px; overflow-wrap: anywhere; }
body.bnp-editorial-page .bnp-shell #contacto a,
body.bnp-editorial-page .bnp-commerce-footer a,
body.bnp-commerce-page .bnp-commerce-footer a { display: inline-block; color: var(--bnp-white); padding-block: 5px; text-underline-offset: 5px; }
body.bnp-editorial-page .bnp-shell #contacto a:hover,
body.bnp-editorial-page .bnp-commerce-footer a:hover,
body.bnp-commerce-page .bnp-commerce-footer a:hover { color: var(--bnp-gold); }
body.bnp-editorial-page .bnp-shell #contacto p:last-child,
body.bnp-editorial-page .bnp-commerce-footer p:last-child,
body.bnp-commerce-page .bnp-commerce-footer p:last-child { margin-top: 28px; padding-top: 20px; border-top: 1px solid #49655b; color: #cdd9ce; font-size: 12px; }
/* Shared navigation/footer injected beside a separate BN section page. */
body.bnp-editorial-page .bnp-landing-main > .bnp-commerce-nav {
    box-sizing: border-box;
    max-width: 1440px;
    margin: 0 auto;
    padding: 14px clamp(20px, 4.5vw, 64px);
    justify-content: flex-start;
    background: var(--bnp-paper);
    border-bottom: 1px solid var(--bnp-line);
}
body.bnp-editorial-page .bnp-commerce-home,
body.bnp-commerce-page .bnp-commerce-home { display: inline-block; max-width: 100%; }
body.bnp-editorial-page .bnp-commerce-home:has(> .bnp-logo) { width: min(280px, 100%); }
body.bnp-editorial-page .bnp-commerce-footer #contacto,
body.bnp-commerce-page .bnp-commerce-footer #contacto { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
/* Layout changes are limited to our catalog and all-book Woo collections. */
body.bnp-commerce-page .wc-block-product-template:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) {
    display: grid;
    grid-template-columns: repeat(var(--bnp-skin-columns, 3), minmax(0, 1fr));
    gap: 28px 24px;
}
body.bnp-commerce-page .wc-block-product-template.columns-1 { --bnp-skin-columns: 1; }
body.bnp-commerce-page .wc-block-product-template.columns-2 { --bnp-skin-columns: 2; }
body.bnp-commerce-page .wc-block-product-template.columns-4 { --bnp-skin-columns: 4; }
body.bnp-commerce-page .wc-block-product-template.columns-5 { --bnp-skin-columns: 5; }
body.bnp-commerce-page .wc-block-product-template.columns-6 { --bnp-skin-columns: 6; }
body.bnp-commerce-page .wc-block-product-template:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) > .wc-block-product.bnp-book-product {
    width: auto;
    max-width: none;
}

@media (min-width: 761px) and (max-width: 1200px) {
    body.bnp-commerce-page .wc-block-product-template.columns-4:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))),
    body.bnp-commerce-page .wc-block-product-template.columns-5:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))),
    body.bnp-commerce-page .wc-block-product-template.columns-6:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1201px) and (max-width: 1400px) {
    body.bnp-commerce-page .wc-block-product-template.columns-6:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    body.bnp-editorial-page .bnp-catalogue { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) ul { display: flex; flex-wrap: wrap; gap: 0 22px; margin-bottom: 0; }
    body.bnp-editorial-page .bnp-catalogue > aside:not(.bnp-bestsellers) li { border: 0; }
    body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search { display: flex; flex-wrap: wrap; gap: 10px; }
    body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search .search-field { flex: 1 1 170px; width: auto; min-width: 0; }
    body.bnp-editorial-page .bnp-catalogue .woocommerce-product-search button { width: auto; margin: 0; }
}
@media (max-width: 760px) {
    body.bnp-editorial-page, body.bnp-commerce-page { font-size: 16px; }
    body.bnp-editorial-page .bnp-section > h2 + p { font-size: 17px; }
    body.bnp-commerce-page .bnp-commerce-header { padding: 20px; gap: 14px; }
    body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-nav,
    body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access { flex-basis: 100%; }
    body.bnp-commerce-page .bnp-commerce-header { justify-content: center; }
    body.bnp-editorial-page .bnp-shell > :is(.bnp-logo, .bnp-commerce-home) + p { gap: 6px 10px; }
    body.bnp-editorial-page .bnp-hero-copy h2 { font-size: clamp(34px, 7vw, 46px); }
    body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product,
    body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product,
    body.bnp-commerce-page .wc-block-product-template > .wc-block-product.bnp-book-product { padding: 12px; }
    body.bnp-commerce-page .wc-block-product-template:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.bnp-commerce-page .wc-block-product-template.columns-1:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) { grid-template-columns: minmax(0, 1fr); }
    body.bnp-editorial-page .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
    body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
    body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-post-title { font-size: 20px; }
}
@media (max-width: 480px) {
    body.bnp-editorial-page .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) { padding-inline: 16px; }
    body.bnp-editorial-page .bnp-commerce-access { padding-inline: 16px; }
    body.bnp-commerce-page main { --wp--style--root--padding-left: 16px; --wp--style--root--padding-right: 16px; }
    body.bnp-editorial-page .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))),
    body.bnp-commerce-page .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))),
    body.bnp-commerce-page .wc-block-product-template:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    body.bnp-editorial-page .bnp-shell #blog,
    body.bnp-editorial-page .bnp-shell #imprenta { padding: 22px 18px; }
    body.bnp-editorial-page .bnp-shell:not(.bnp-commerce-footer) #contacto { padding: 26px 20px; }
    body.bnp-editorial-page .bnp-quote { padding: 18px 14px; }
    body.bnp-editorial-page .bnp-hero-copy .bnp-button { max-width: 100%; padding-inline: 16px; }
}
@media (max-width: 1279px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-with-bestsellers {
        grid-template-columns: minmax(0, 1fr) 220px;
        grid-template-areas: "filters filters" "products bestsellers";
    }
}
@media (max-width: 960px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-with-bestsellers {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "filters" "products" "bestsellers";
    }
}
/* Wide BN storefront only. A full-width grid avoids the 100vw/scrollbar
   overflow trap; its banner spans the viewport and its content keeps gutters.
   Checkout, account, standalone Blog and Imprenta retain their own widths. */
body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) {
    --bnp-site-gutter: clamp(16px, 2vw, 40px);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: [full-start] minmax(var(--bnp-site-gutter), 1fr) [content-start] minmax(0, 1760px) [content-end] minmax(var(--bnp-site-gutter), 1fr) [full-end];
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: clamp(24px, 3vw, 44px) 0 0;
}
body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) > * { grid-column: content-start / content-end; min-width: 0; }
body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) > :is(.bnp-section, .bnp-home-search, .bnp-carousel) {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}
body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) > .bnp-carousel {
    grid-column: full-start / full-end;
    margin-block: 0 12px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
body.bnp-editorial-page.bnp-editorial-inicio .bnp-carousel .bnp-slide { border-radius: 0; }
body.bnp-editorial-page.bnp-editorial-inicio .bnp-commerce-access {
    width: 100%;
    max-width: none;
    padding-inline: max(clamp(16px, 2vw, 40px), calc(50% - 880px));
}
body.bnp-editorial-page.bnp-editorial-catalogo .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) {
    width: 100%;
    max-width: 1840px;
    padding-inline: clamp(16px, 2vw, 40px);
}
body.bnp-editorial-page.bnp-editorial-catalogo .bnp-landing-main > .bnp-shell > #catalogo { width: 100%; max-width: none; margin-inline: 0; }
/* The original 16:9 art remains available on smaller screens. Even custom
   images use contain: no text or embedded cover is sacrificed to a crop. */
body.bnp-editorial-page.bnp-editorial-inicio .bnp-carousel .bnp-hero-image {
    object-fit: contain;
    object-position: center bottom;
}
body.bnp-editorial-page .bnp-hero-picture { position: absolute; inset: 0; z-index: -2; display: block; }
body.bnp-editorial-page .bnp-wide-books { display: none; }
@media (max-width: 1199px) {
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide { min-height: clamp(590px, 65vw, 700px); }
}
@media (min-width: 1200px) {
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide {
        min-height: 400px;
        aspect-ratio: 3.5 / 1;
        background: #10231e;
    }
    /* Only the inspected bundled backdrop is cropped to the wide frame.
       The printing still life is bottom-anchored so every book edge stays in. */
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide-bundled .bnp-hero-image { object-fit: cover; object-position: center bottom; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-hero-copy {
        box-sizing: border-box;
        width: 39%;
        max-width: 660px;
        margin-left: clamp(64px, 5vw, 96px);
        padding: clamp(36px, 3.3vw, 64px) 0;
    }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide-printing .bnp-hero-copy { width: 31%; max-width: 600px; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-hero-copy h2 {
        font-size: clamp(36px, 3.2vw, 60px);
        line-height: 1.08;
    }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-hero-copy p { max-width: 560px; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-slide-books {
        position: absolute;
        inset: auto 4% 40px 46%;
        z-index: -1;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: clamp(8px, .8vw, 16px);
        height: clamp(110px, 12vw, 240px);
        pointer-events: none;
    }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-slide-books img {
        display: block;
        width: auto;
        height: 100%;
        max-width: none;
        min-width: 0;
        object-fit: contain;
        object-position: center bottom;
        filter: drop-shadow(4px 8px 6px #0008);
    }
}
@media (forced-colors: active) {
    body.bnp-editorial-page :where(a, button, input, select, textarea, [tabindex]):focus-visible,
    body.bnp-commerce-page :where(a, button, input, select, textarea, [tabindex]):focus-visible { outline-color: Highlight; }
}

/* v0.1.7 · Compact shared chrome and a denser, readable bookstore.
   Runtime markup supplies actual links, stock, authors and prices. */
body.bnp-editorial-page .bnp-commerce-header,
body.bnp-commerce-page .bnp-commerce-header {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 216px minmax(0, 1fr) auto;
    grid-template-areas: "logo search search" "menu menu access";
    align-items: center;
    gap: 10px 24px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 16px max(clamp(16px, 2vw, 40px), calc(50% - 880px)) 12px;
    border-top: 4px solid var(--bnp-forest);
    border-image: linear-gradient(90deg, #173f35 0 60%, #aa402b 60% 85%, #e2b34e 85%) 1;
    border-bottom: 1px solid var(--bnp-line);
    background: var(--bnp-paper);
}
body.bnp-editorial-page .bnp-commerce-header > .bnp-commerce-home,
body.bnp-commerce-page .bnp-commerce-header > .bnp-commerce-home {
    grid-area: logo;
    display: block;
    width: 216px;
    max-width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-logo,
body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-logo {
    display: block;
    width: 100%;
    height: auto;
    max-width: 216px;
    margin: 0;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-header-search,
body.bnp-commerce-page .bnp-commerce-header .bnp-header-search {
    grid-area: search;
    justify-self: end;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    max-width: 620px;
    min-height: 46px;
    margin: 0;
    padding: 0;
    border: 1px solid #818b80;
    border-radius: 5px;
    background: var(--bnp-white);
}
body.bnp-editorial-page .bnp-header-search input[type="search"],
body.bnp-commerce-page .bnp-header-search input[type="search"] {
    box-sizing: border-box;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 10px 16px;
    border: 0;
    border-radius: 4px 0 0 4px;
    background: transparent;
    color: var(--bnp-ink);
    font: 16px/1.5 var(--bnp-sans);
}
body.bnp-editorial-page .bnp-header-search input[type="search"]::placeholder,
body.bnp-commerce-page .bnp-header-search input[type="search"]::placeholder { color: var(--bnp-muted); opacity: 1; }
body.bnp-editorial-page .bnp-header-search button,
body.bnp-commerce-page .bnp-header-search button {
    box-sizing: border-box;
    position: relative;
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    min-height: 44px;
    margin: 0;
    padding: 10px;
    border: 0;
    border-radius: 0 4px 4px 0;
    background: transparent;
    color: var(--bnp-forest);
    cursor: pointer;
}
body.bnp-editorial-page .bnp-header-search button::before,
body.bnp-commerce-page .bnp-header-search button::before { content: ""; position: absolute; inset: 10px auto 10px 0; width: 1px; background: #b8bfb4; }
body.bnp-editorial-page .bnp-header-search button:hover,
body.bnp-commerce-page .bnp-header-search button:hover { background: #e8eee4; }
body.bnp-editorial-page .bnp-header-search button svg,
body.bnp-commerce-page .bnp-header-search button svg { display: block; width: 22px; height: 22px; }
body.bnp-editorial-page .bnp-commerce-header .bnp-menu,
body.bnp-commerce-page .bnp-commerce-header .bnp-menu {
    grid-area: menu;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    min-width: 0;
    margin: 0;
    padding: 0;
    gap: 8px;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-menu > a,
body.bnp-commerce-page .bnp-commerce-header .bnp-menu > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 22px;
    border: 1px solid #b9c4b7;
    border-radius: 5px;
    background: #e8eee4;
    color: var(--bnp-forest);
    font: 700 14px/1.4 var(--bnp-sans);
    text-align: center;
    text-decoration: none;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-menu > a:hover,
body.bnp-commerce-page .bnp-commerce-header .bnp-menu > a:hover,
body.bnp-editorial-page .bnp-commerce-header .bnp-menu > a[aria-current="page"],
body.bnp-commerce-page .bnp-commerce-header .bnp-menu > a[aria-current="page"] { background: var(--bnp-forest); border-color: var(--bnp-forest); color: var(--bnp-white); }
body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access,
body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access {
    grid-area: access;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    gap: 8px;
    border: 0;
    background: transparent;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access > a,
body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access > a {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--bnp-forest);
    border-radius: 5px;
    background: transparent;
    color: var(--bnp-forest);
    font: 700 14px/1.4 var(--bnp-sans);
    text-decoration: none;
}
body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access > a:hover,
body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access > a:hover { background: var(--bnp-forest); color: var(--bnp-white); }
body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) { padding-top: 0; }

/* Explicit catalogue grids; never force columns in a bestseller rail,
   related-product collection, mixed product list, or carousel. */
body.bnp-editorial-page .bnp-products .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))) {
    grid-template-columns: repeat(var(--bnp-catalog-columns, 1), minmax(0, 1fr));
    gap: 28px 16px;
}
body.bnp-commerce-page.bnp-commerce-catalogue .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))),
body.bnp-commerce-page.bnp-commerce-catalogue .wc-block-product-template:not(.is-product-collection-layout-carousel):not(.is-product-collection-layout-list):has(> .bnp-book-product):not(:has(> .wc-block-product:not(.bnp-book-product))) {
    grid-template-columns: repeat(var(--bnp-catalog-columns, 1), minmax(0, 1fr));
    gap: 28px 16px;
}
body.bnp-editorial-page .bnp-products .woocommerce ul.products li.product.bnp-book-product > .woocommerce-LoopProduct-link,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product > .woocommerce-LoopProduct-link {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    margin-bottom: 16px;
}
body.bnp-editorial-page .bnp-products .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wp-block-post-title {
    box-sizing: content-box;
    flex: 1 0 auto;
    min-height: 3.9em;
    margin: 0;
    padding: 8px 0 12px;
    color: #111111;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
}
body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title { color: #111111; }
body.bnp-editorial-page .bnp-products .bnp-book-author,
body.bnp-commerce-page .bnp-book-product .bnp-book-author { min-height: 3em; margin: 12px 0 4px; }
body.bnp-editorial-page .bnp-products .bnp-book-availability,
body.bnp-commerce-page .bnp-book-product .bnp-book-availability { min-height: 1.5em; margin: 6px 0 10px; }
body.bnp-editorial-page .bnp-products .woocommerce ul.products li.product.bnp-book-product .price,
body.bnp-commerce-page .woocommerce ul.products li.product.bnp-book-product .price,
body.bnp-commerce-page .wc-block-product.bnp-book-product .wc-block-components-product-price { min-height: 1.5em; margin: 0; line-height: 1.5; }
/* Only native Add-to-cart actions receive the red-to-orange treatment.
   Both ends and sampled interior colours pass AA with the white label. */
body.bnp-editorial-page .bnp-products .woocommerce a.button.add_to_cart_button,
body.bnp-editorial-page .bnp-bestsellers .woocommerce a.button.add_to_cart_button,
body.bnp-commerce-page .woocommerce a.add_to_cart_button,
body.bnp-commerce-page .single_add_to_cart_button,
body.bnp-commerce-page .woocommerce .single_add_to_cart_button.button,
body.bnp-commerce-page .wp-block-woocommerce-product-button .add_to_cart_button {
    background: linear-gradient(110deg, #ad2635, #ae4b0b);
    border-color: #a43a22;
    color: #fffdf8 !important;
    font-weight: 750;
}
body.bnp-editorial-page .bnp-products .woocommerce a.button.add_to_cart_button:hover,
body.bnp-editorial-page .bnp-bestsellers .woocommerce a.button.add_to_cart_button:hover,
body.bnp-commerce-page .woocommerce a.add_to_cart_button:hover,
body.bnp-commerce-page .single_add_to_cart_button:hover,
body.bnp-commerce-page .woocommerce .single_add_to_cart_button.button:hover,
body.bnp-commerce-page .wp-block-woocommerce-product-button .add_to_cart_button:hover { background: linear-gradient(110deg, #8f1e2c, #8e3a06); border-color: #8f1e2c; color: #fffdf8 !important; }

/* A real four-column footer, with only the links supplied by the renderer. */
body.bnp-editorial-page .bnp-site-footer,
body.bnp-editorial-page .bnp-shell .bnp-site-footer#contacto,
body.bnp-commerce-page .bnp-site-footer {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 48px 0 0;
    padding: 40px max(clamp(16px, 2vw, 40px), calc(50% - 880px)) 28px;
    border-top: 5px solid var(--bnp-gold);
    border-radius: 0;
    background: var(--bnp-forest-deep);
    color: var(--bnp-white);
}
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 36px; max-width: none; margin: 0; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid > section,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid > section { min-width: 0; padding: 0; border: 0; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid :is(h2, h3),
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid :is(h2, h3) { margin: 0 0 16px; color: var(--bnp-white); font: 700 17px/1.4 var(--bnp-sans); letter-spacing: 0; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid :is(p, p:last-child),
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid :is(p, p:last-child) { margin: 0 0 10px; padding: 0; border: 0; color: #e0e8de; font: 15px/1.7 var(--bnp-sans); overflow-wrap: anywhere; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid ul,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid ul { margin: 0; padding: 0; list-style: none; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid li,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid li { margin: 0 0 5px; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid a,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid a { display: inline-flex; align-items: center; gap: 10px; min-height: 36px; max-width: 100%; padding: 4px 0; color: var(--bnp-white); font: 15px/1.6 var(--bnp-sans); overflow-wrap: anywhere; text-underline-offset: 4px; }
body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid a:hover,
body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid a:hover { color: var(--bnp-gold); }
body.bnp-editorial-page .bnp-site-footer .bnp-footer-social a,
body.bnp-commerce-page .bnp-site-footer .bnp-footer-social a { min-height: 44px; }
body.bnp-editorial-page .bnp-site-footer .bnp-footer-social svg,
body.bnp-commerce-page .bnp-site-footer .bnp-footer-social svg { flex: 0 0 22px; width: 22px; height: 22px; fill: currentColor; }

/* Native Blog archive cards: image, title, excerpt, and an actual read link. */
body.bnp-editorial-page .bnp-blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 28px 0; padding: 0; }
body.bnp-editorial-page .bnp-blog-card { box-sizing: border-box; display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid var(--bnp-line); border-radius: 10px; background: var(--bnp-white); }
body.bnp-editorial-page .bnp-blog-card > a:has(> .bnp-blog-image) { display: block; margin: -22px -22px 22px; background: #e8eee4; border-radius: 9px 9px 0 0; }
body.bnp-editorial-page .bnp-blog-card img.bnp-blog-image { display: block; width: 100%; height: auto; margin: 0; aspect-ratio: 16 / 10; object-fit: contain; border-radius: 9px 9px 0 0; }
body.bnp-editorial-page .bnp-blog-card img.bnp-blog-placeholder { box-sizing: border-box; padding: 24px; }
body.bnp-editorial-page .bnp-blog-card .bnp-blog-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: contain; border-radius: 9px 9px 0 0; }
body.bnp-editorial-page .bnp-blog-card :is(h2, h3) { margin: 0 0 14px; color: #111111; font: 600 28px/1.2 var(--bnp-serif); letter-spacing: -.02em; }
body.bnp-editorial-page .bnp-blog-card :is(h2, h3) a { color: inherit; text-decoration: none; }
body.bnp-editorial-page .bnp-blog-card :is(h2, h3) a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.bnp-editorial-page .bnp-blog-card :is(time, .bnp-blog-date) { margin-bottom: 12px; color: var(--bnp-muted); font: 13px/1.5 var(--bnp-sans); }
body.bnp-editorial-page .bnp-blog-card .bnp-blog-excerpt { flex: 1 1 auto; margin: 0 0 18px; color: var(--bnp-ink); font: 16px/1.75 var(--bnp-sans); }
body.bnp-editorial-page .bnp-blog-card .bnp-blog-excerpt p { margin: 0 0 12px; }
body.bnp-editorial-page .bnp-blog-card .bnp-blog-readmore { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; padding: 8px 0; color: var(--bnp-coral); font: 750 14px/1.5 var(--bnp-sans); text-underline-offset: 5px; }

/* Dedicated printing service. The photograph retains its complete frame;
   copy uses an opaque panel so readability does not depend on image pixels. */
body.bnp-editorial-page .bnp-print-service { color: var(--bnp-ink); }
body.bnp-editorial-page .bnp-print-hero { display: grid; grid-template-columns: minmax(0, 1fr); isolation: isolate; margin: 20px 0 36px; border: 1px solid #66796a; border-radius: 10px; background: var(--bnp-forest-deep); }
body.bnp-editorial-page .bnp-print-hero > :is(img, picture, figure) { grid-area: 1 / 1; display: block; align-self: center; width: 100%; max-width: 100%; height: auto; margin: 0; border-radius: 9px; }
body.bnp-editorial-page .bnp-print-hero > :is(picture, figure) img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: 9px; }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy { grid-area: 1 / 1; z-index: 1; align-self: center; box-sizing: border-box; width: 43%; margin: 24px 0 24px 24px; padding: 20px; border-left: 4px solid var(--bnp-gold); border-radius: 4px; background: var(--bnp-forest-deep); color: var(--bnp-white); }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy :is(h1, h2) { margin: 0 0 18px; color: var(--bnp-white); font: 600 clamp(32px, 2.6vw, 42px)/1.1 var(--bnp-serif); letter-spacing: -.025em; }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy p { margin: 0 0 18px; color: var(--bnp-white); font: 16px/1.65 var(--bnp-sans); }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy .bnp-eyebrow { color: #f4d48f; font: 750 12px/1.5 var(--bnp-sans); letter-spacing: .08em; }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy .bnp-button { border-color: var(--bnp-gold); background: var(--bnp-gold); color: #102e28 !important; font-weight: 750; }
body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy .bnp-button:hover { background: #f4d48f; border-color: #f4d48f; }
body.bnp-editorial-page .bnp-print-details { box-sizing: border-box; max-width: 920px; margin: 36px auto; padding: clamp(24px, 4vw, 52px); border: 1px solid var(--bnp-line); border-radius: 8px; background: var(--bnp-white); }
body.bnp-editorial-page .bnp-print-details > :is(section, article, div) { min-width: 0; padding: 28px; border: 1px solid var(--bnp-line); border-top: 4px solid var(--bnp-gold); border-radius: 6px; background: var(--bnp-white); }
body.bnp-editorial-page .bnp-print-details h2 { margin: 42px 0 20px; padding-top: 30px; border-top: 1px solid var(--bnp-line); color: #111111; font: 600 clamp(28px, 3vw, 36px)/1.2 var(--bnp-serif); }
body.bnp-editorial-page .bnp-print-details h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
body.bnp-editorial-page .bnp-print-details h3 { margin: 28px 0 14px; color: #111111; font: 700 22px/1.3 var(--bnp-sans); }
body.bnp-editorial-page .bnp-print-details :is(ul, ol) { padding-left: 1.4em; }
body.bnp-editorial-page .bnp-print-details li { padding-left: .25em; margin: 10px 0; }
body.bnp-editorial-page.bnp-editorial-imprenta .bnp-shell #imprenta { margin-top: 0; padding: 0; border: 0; background: transparent; }
body.bnp-editorial-page .bnp-print-details :is(p, li) { color: var(--bnp-ink); font: 16px/1.75 var(--bnp-sans); }
body.bnp-editorial-page .bnp-print-service .bnp-quote { border-top: 5px solid var(--bnp-forest); }

@media (min-width: 600px) {
    body.bnp-editorial-page, body.bnp-commerce-page.bnp-commerce-catalogue { --bnp-catalog-columns: 2; }
}
@media (min-width: 1100px) {
    body.bnp-editorial-page, body.bnp-commerce-page.bnp-commerce-catalogue { --bnp-catalog-columns: 3; }
}
@media (min-width: 1280px) {
    body.bnp-editorial-page, body.bnp-commerce-page.bnp-commerce-catalogue { --bnp-catalog-columns: 4; }
    body.bnp-editorial-page .bnp-catalogue > aside {
        position: sticky;
        top: 16px;
        align-self: start;
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-gutter: stable;
        scroll-padding-block: 12px;
    }
    body.bnp-editorial-page.admin-bar .bnp-catalogue > aside { top: 48px; max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); }
}
@media (min-width: 1440px) {
    body.bnp-editorial-page, body.bnp-commerce-page.bnp-commerce-catalogue { --bnp-catalog-columns: 5; }
}
@media (min-width: 961px) and (max-width: 1799px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-with-bestsellers { grid-template-columns: minmax(0, 1fr) 180px; gap: 20px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product { padding: 10px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product > .woocommerce-LoopProduct-link { grid-template-columns: 52px minmax(0, 1fr); gap: 4px 8px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce-LoopProduct-link > :is(img, .bnp-wholesale-cover) { width: 52px; height: 84px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product a img { width: 52px !important; height: 84px !important; padding: 2px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title { font-size: 13px; }
    body.bnp-editorial-page .bnp-bestsellers .woocommerce ul.products li.product.bnp-book-product .bnp-book-availability { font-size: 12px; }
}
@media (min-width: 1280px) and (max-width: 1799px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-with-bestsellers { grid-template-columns: 170px minmax(0, 1fr) 180px; }
}
@media (min-width: 1800px) {
    body.bnp-editorial-page .bnp-products .woocommerce ul.products:has(> li.bnp-book-product):not(:has(> li.product:not(.bnp-book-product))) { column-gap: 24px; }
    body.bnp-editorial-page .bnp-products .woocommerce ul.products li.product.bnp-book-product .woocommerce-loop-product__title { font-size: 20px; }
}
@media (max-width: 1799px) {
    body.bnp-editorial-page .bnp-products .woocommerce ul.products li.product.bnp-book-product { padding: 12px; }
}
@media (min-width: 1200px) {
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-hero-copy { width: 29%; max-width: 660px; margin-left: clamp(48px, 4vw, 80px); padding: 28px 0; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-hero-copy h2 { font-size: clamp(34px, 2.8vw, 54px); font-weight: 500; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide-printing .bnp-hero-copy { width: 29%; max-width: 600px; }
    body.bnp-editorial-page.bnp-editorial-inicio .bnp-slide-wide .bnp-slide-books { inset: auto 3% clamp(30px, 4vw, 64px) 35%; height: 18vw; gap: clamp(4px, .4vw, 10px); }
}
@media (max-width: 1099px) {
    body.bnp-editorial-page .bnp-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.bnp-editorial-page .bnp-print-hero { display: flex; flex-direction: column; }
    body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy { order: -1; width: auto; margin: 24px; padding: 20px; }
    body.bnp-editorial-page .bnp-print-hero > :is(img, picture, figure),
    body.bnp-editorial-page .bnp-print-hero > :is(picture, figure) img { border-radius: 0 0 9px 9px; }
    body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid,
    body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    body.bnp-editorial-page .bnp-commerce-header,
    body.bnp-commerce-page .bnp-commerce-header { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "logo access" "search search" "menu menu"; gap: 10px 12px; padding: 14px 16px; }
    body.bnp-editorial-page .bnp-commerce-header > .bnp-commerce-home,
    body.bnp-commerce-page .bnp-commerce-header > .bnp-commerce-home { width: 160px; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-header-search,
    body.bnp-commerce-page .bnp-commerce-header .bnp-header-search { justify-self: stretch; max-width: none; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access,
    body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access { gap: 4px; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access > a,
    body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access > a { padding: 8px; font-size: 12px; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-menu,
    body.bnp-commerce-page .bnp-commerce-header .bnp-menu { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; gap: 6px; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-menu > a,
    body.bnp-commerce-page .bnp-commerce-header .bnp-menu > a { min-width: 0; padding: 9px 4px; font-size: 12px; }
    body.bnp-editorial-page .bnp-print-details { padding: 24px; }
}
@media (max-width: 599px) {
    body.bnp-editorial-page .bnp-blog-grid { grid-template-columns: minmax(0, 1fr); }
    body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy { margin: 18px; padding: 18px; }
    body.bnp-editorial-page .bnp-print-details > :is(section, article, div) { padding: 22px; }
    body.bnp-editorial-page .bnp-site-footer#contacto .bnp-footer-grid,
    body.bnp-commerce-page .bnp-site-footer#contacto .bnp-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
}
@media (max-width: 380px) {
    body.bnp-editorial-page .bnp-commerce-header > .bnp-commerce-home,
    body.bnp-commerce-page .bnp-commerce-header > .bnp-commerce-home { width: 128px; }
    body.bnp-editorial-page .bnp-commerce-header .bnp-commerce-access > a,
    body.bnp-commerce-page .bnp-commerce-header .bnp-commerce-access > a { padding-inline: 6px; }
}

body.bnp-editorial-page .bnp-site-footer .bnp-footer-social img,
body.bnp-commerce-page .bnp-site-footer .bnp-footer-social img { flex: 0 0 22px; width: 22px; height: 22px; filter: brightness(0) invert(1); }
@media (min-width: 1100px) and (max-width: 1199px) {
    body.bnp-editorial-page .bnp-print-hero { display: flex; flex-direction: column; }
    body.bnp-editorial-page .bnp-print-hero .bnp-print-hero-copy { order: -1; width: auto; margin: 24px; padding: 20px; }
    body.bnp-editorial-page .bnp-print-hero > :is(img, picture, figure),
    body.bnp-editorial-page .bnp-print-hero > :is(picture, figure) img { border-radius: 0 0 9px 9px; }
}

body.bnp-editorial-page.bnp-editorial-inicio .bnp-landing-main > .bnp-shell:not(.bnp-commerce-footer) > .bnp-site-footer { grid-column: full-start / full-end; }
/* Native article reading measure; commerce forms retain their existing width. */
body.bnp-commerce-page.single-post main { --wp--style--global--content-size: 760px; --wp--style--global--wide-size: 1120px; }
body.bnp-commerce-page.single-post main h1.wp-block-post-title { color: #111111; font-size: clamp(36px, 4vw, 56px); font-weight: 500; line-height: 1.15; }
body.bnp-commerce-page.single-post .wp-block-post-content { color: var(--bnp-ink); font-size: 18px; line-height: 1.8; }

/* v0.1.8 · The renderer omits categories. Give their former track back to
   the catalogue, with only the optional curated rail alongside it.
   Legacy layouts without this explicit marker retain their own structure. */
body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-no-categories {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "products";
    gap: 28px;
    min-width: 0;
    margin-top: 24px;
}
body.bnp-editorial-page .bnp-catalogue-no-categories > .bnp-products {
    grid-area: products;
    min-width: 0;
    max-width: 100%;
}
body.bnp-editorial-page .bnp-catalogue-no-categories > .bnp-products > .woocommerce {
    min-width: 0;
    max-width: 100%;
}
body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-no-categories.bnp-catalogue-with-bestsellers {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "products" "bestsellers";
}
body.bnp-editorial-page.bnp-editorial-inicio #catalogo.bnp-section {
    padding-top: clamp(24px, 3vw, 44px);
}
@media (min-width: 961px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-no-categories.bnp-catalogue-with-bestsellers {
        grid-template-columns: minmax(0, 1fr) 180px;
        grid-template-areas: "products bestsellers";
        gap: 20px;
    }
    body.bnp-editorial-page .bnp-catalogue-no-categories > .bnp-bestsellers {
        position: sticky;
        top: 16px;
        align-self: start;
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
        scrollbar-gutter: stable;
        scroll-padding-block: 12px;
    }
    body.bnp-editorial-page.admin-bar .bnp-catalogue-no-categories > .bnp-bestsellers {
        top: 48px;
        max-height: calc(100vh - 64px);
        max-height: calc(100dvh - 64px);
    }
}
@media (min-width: 1800px) {
    body.bnp-editorial-page .bnp-catalogue.bnp-catalogue-no-categories.bnp-catalogue-with-bestsellers {
        grid-template-columns: minmax(0, 1fr) 220px;
        gap: 28px;
    }
}

/* Private print enquiry form: keep consent checkbox native and comfortably sized. */
.bnp-quote-request { margin-top: 28px; padding: clamp(16px, 3vw, 28px); border: 1px solid #ddc5b8; border-radius: 6px; background: #fff; }
.bnp-quote-request .bnp-quote-form { max-width: 640px; grid-template-columns: minmax(0, 1fr); }
.bnp-quote-request .bnp-quote-form input { box-sizing: border-box; max-width: 100%; }
body.bnp-editorial-page .bnp-quote-request .bnp-quote-form input[type="checkbox"], .bnp-quote-request .bnp-quote-form input[type="checkbox"] { width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 0 8px 0 0; vertical-align: middle; appearance: auto; }
.bnp-quote-request [hidden] { display: none !important; }
.bnp-quote-request [role="alert"] { border-left: 4px solid #a12616; padding: 12px; }
