/* One semantic palette. White product photography and official logo assets are deliberate. */
:root {
 color-scheme: light;
 --jrb-surface: #fff;
 --jrb-photo: #f6f6f6;
 --jrb-action-ink: #111;
 --jrb-error: #b42318;
 --jrb-soft-action: #fff9f7;
 --jrb-promo-bg: #111;
 --jrb-promo-text: #fff;
 --jrb-sheen: #ffffff0c;
 --jrb-overlay: #11111199;
}
:root[data-theme="dark"] {
 color-scheme: dark;
 --jrb-white: #151719;
 --jrb-surface: #202326;
 --jrb-paper: #2a2e32;
 --jrb-ink: #f4f4f5;
 --jrb-muted: #b9bdc3;
 --jrb-border: #494e55;
 --jrb-link: #8bbaff;
 --jrb-error: #ff9b91;
 --jrb-soft-action: #352820;
 --jrb-promo-bg: #fff;
 --jrb-promo-text: #111;
 --jrb-sheen: #11111112;
 --jrb-overlay: #000b;
 --jrb-shadow: 0 12px 36px #0005;
}
.jrb-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .25rem; }
.jrb-theme-sun, [data-theme="dark"] .jrb-theme-moon { display: none; }
[data-theme="dark"] .jrb-theme-sun { display: block; }
.jrb-mini-quantity { display: inline-flex; align-items: center; gap: .5rem; margin-block: .5rem; color: var(--jrb-ink); }
.jrb-mini-quantity button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--jrb-border); border-radius: .375rem; background: var(--jrb-paper); color: var(--jrb-ink); cursor: pointer; }
.jrb-mini-quantity button:hover { border-color: var(--jrb-action); }
.jrb-mini-quantity button:disabled, .jrb-mini-quantity button[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.jrb-mini-quantity > span { min-width: 1.5rem; text-align: center; font-variant-numeric: tabular-nums; }
.jrb-mini-cart__panel .button.checkout { color: var(--jrb-action-ink); }
:is(.jrb-products, .woocommerce-page) ul.products li.product .onsale { color: var(--jrb-action-ink); }
.jrb-cart-updating .jrb-mini-quantity { pointer-events: none; }
.jrb-checkout-back .jrb-text-link { text-decoration: none; border-bottom: 2px solid var(--jrb-action); }
.jrb-checkout-back .jrb-text-link:is(:hover, :focus-visible) { text-decoration: none; border-bottom-width: 3px; }
.jrb-quick-view::backdrop { background: var(--jrb-overlay); }
/* Photography is never recolored or filtered. */
:is(.jrb-products, .woocommerce-page) ul.products li.product :is(.ct-media-container, img),
.jrb-quick-view__image, .woocommerce-product-gallery, .wc-block-grid__product-image { background: var(--jrb-photo); }
/* The header stays black in both themes; use the original logo for that background. */
.jrb-commerce-header__brand .jrb-logo-light { display: none; }
.jrb-commerce-header__brand .jrb-logo-dark { display: block; }
.jrb-header-actions .jrb-theme-toggle:not([hidden]) { display: inline-flex; flex: 0 0 44px; }
/* Native Woo presentation bridge: no React structure, payment DOM or field attributes change. */
[data-theme="dark"] body {
 --theme-background-color: var(--jrb-white);
 --theme-form-field-background-initial-color: var(--jrb-surface);
 --theme-form-field-background-focus-color: var(--jrb-surface);
 --theme-form-text-initial-color: var(--jrb-ink);
 --theme-form-text-focus-color: var(--jrb-ink);
 --theme-form-field-border-initial-color: var(--jrb-border);
 --wc-form-color-background: var(--jrb-surface);
 --wc-form-color-text: var(--jrb-ink);
 --wc-form-color-border: var(--jrb-border);
 --wc-form-color-secondary: var(--jrb-muted);
}
[data-theme="dark"] :is(.woocommerce, .wc-block-cart, .wc-block-checkout, .woocommerce-order, .jrb-quick-view) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
 background-color: var(--jrb-surface); color: var(--jrb-ink); border-color: var(--jrb-border);
}
[data-theme="dark"] :is(.woocommerce, .wc-block-cart, .wc-block-checkout, .jrb-quick-view) :is(input, select, textarea):disabled { opacity: .65; }
[data-theme="dark"] :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-block-components-address-form, .wc-block-components-radio-control) label { color: var(--jrb-muted); }
[data-theme="dark"] .wc-block-checkout :is(.wc-block-components-text-input label, .wc-blocks-components-select__label, .wc-blocks-components-select__select, .wc-block-components-combobox .components-combobox-control__input) { color: var(--jrb-muted); }
[data-theme="dark"] .wc-block-checkout .wc-blocks-components-select__container { background: var(--jrb-surface); }
[data-theme="dark"] :is(.wc-block-components-order-summary, .wc-block-components-panel, .wc-block-components-totals-wrapper, .wc-block-components-checkout-step, .wc-block-components-radio-control, .woocommerce-order-details, .woocommerce-customer-details) { color: var(--jrb-ink); border-color: var(--jrb-border); }
[data-theme="dark"] :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-content, .wc-block-components-order-summary, .woocommerce-checkout #payment, .woocommerce-checkout #payment .payment_box) { background-color: var(--jrb-surface); color: var(--jrb-ink); }
[data-theme="dark"] :is(.wc-block-components-notice-banner, .woocommerce-info, .woocommerce-message, .woocommerce-error),
[data-theme="dark"] .woocommerce-order-received .woocommerce-order > .woocommerce-thankyou-order-received { background: var(--jrb-paper); color: var(--jrb-ink); }
/* Blocksy's current product page keeps its light background in Dark. */
:root[data-theme="dark"] body.woocommerce-page .ct-pagination .page-numbers.current { --theme-text-active-color: var(--jrb-action-ink); }
[data-theme="dark"] :is(.wc-block-components-validation-error, .woocommerce-invalid, .woocommerce-error) { color: var(--jrb-error); }
[data-theme="dark"] .wc-block-components-text-input input[aria-invalid="true"] { border-color: var(--jrb-error); }
/* Embedded provider content keeps its own supported light presentation for readability. */
[data-theme="dark"] [class*="mp-checkout"], [data-theme="dark"] [class*="mp-wallet"] { color-scheme: light; }
@media (max-width: 400px) { .jrb-commerce-header__main { gap: .25rem; } .jrb-commerce-header__brand { gap: .25rem; } }

/* Page titles share the commerce canvas; only the text is width constrained. */
body:is(.woocommerce-cart, .woocommerce-checkout) .hero-section[data-type] { background: transparent; margin-block: 1rem .5rem; }
body:is(.woocommerce-cart, .woocommerce-checkout) .hero-section > .entry-header { padding-block: 1rem .5rem; }

/* Native quantity buttons need their own hit area (container height is insufficient). */
.woocommerce-cart .wc-block-components-quantity-selector { width: 144px; min-height: 48px; flex-shrink: 0; }
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
 min-width: 48px; width: 48px; min-height: 48px; padding: 0; font-size: 1.25rem; color: var(--jrb-ink); touch-action: manipulation;
}
.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { width: 48px; min-width: 48px; min-height: 48px; padding: 0; color: var(--jrb-ink); }
.woocommerce-cart .wc-block-components-quantity-selector::after { border-color: var(--jrb-border); }
.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button--minus { order: -1; }
.woocommerce-cart .wc-block-cart .wc-block-cart__submit-container { background: transparent; }
.wc-block-checkout .wc-block-components-notice-banner.is-error { background: #fff2f0 !important; color: #b42318 !important; border-color: #b42318; }
:root:not([data-theme="dark"]) .wc-block-checkout .wc-block-components-validation-error { color: #b42318; }

/* Woo Blocks owns values, selection and loading; this bridge only paints its states. */
.wc-block-checkout {
 --wc-form-color-accent: #ff4b1f;
 --wc-components-color-accent: #ff4b1f;
 --theme-form-field-border-focus-color: #ff4b1f;
 --theme-form-field-border-initial-color: var(--jrb-border);
 --theme-form-selection-field-initial-color: var(--jrb-muted);
 --theme-form-selection-field-active-color: #ff4b1f;
 --theme-palette-color-1: #ff4b1f;
 --wc-form-color-error: var(--jrb-error);
}
[data-theme="dark"] .wc-block-checkout .wc-block-checkout__shipping-method-container { background: var(--jrb-white); }
.wc-block-checkout .wc-block-checkout__shipping-method-option {
 background: var(--jrb-surface); color: var(--jrb-ink); border: 2px solid var(--jrb-border);
}
/* Native checkout CSS may load later. Keep its selected/hover/focus backgrounds
   below the theme's specificity, including the SVG's inherited currentColor. */
[data-theme="dark"] .wc-block-checkout .wc-block-checkout__shipping-method-option {
 background: var(--jrb-surface); color: var(--jrb-ink);
}
.wc-block-checkout .wc-block-checkout__shipping-method-option.wc-block-checkout__shipping-method-option--selected,
.wc-block-checkout .wc-block-components-radio-control__option-checked,
.wc-block-checkout :is(.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted) {
 background: var(--jrb-soft-action); color: var(--jrb-ink); border-color: #ff4b1f; box-shadow: inset 0 0 0 2px #ff4b1f;
}
.wc-block-checkout :is(.wc-block-checkout__shipping-method-option, .wc-block-components-radio-control__option):hover { border-color: #ff4b1f80; }
.wc-block-checkout .wc-block-components-radio-control__option-checked:hover,
.wc-block-checkout .wc-block-checkout__shipping-method-option--selected:hover { border-color: #ff4b1f; }
.wc-block-checkout :is(.wc-block-checkout__shipping-method-option, input, select, textarea, button):focus-visible,
.wc-block-checkout .wc-block-components-radio-control__option:has(input:focus-visible) { outline: 3px solid #ff4b1f; outline-offset: 3px; }
[data-theme="dark"] .wc-block-checkout :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label, .wc-block-components-radio-control__description, .wc-block-components-radio-control__secondary-description, .wc-block-checkout__shipping-method-option-title, .wc-block-checkout__shipping-method-option-price) { color: var(--jrb-ink); }
.wc-block-checkout :is(.wc-block-components-radio-control__input, .wc-block-components-checkbox__input) { background-color: var(--jrb-surface); border-color: var(--jrb-muted); color: #ff4b1f; accent-color: #ff4b1f; }
.wc-block-checkout .wc-block-components-radio-control__input:checked::before { background: #ff4b1f; }
.wc-block-checkout .wc-block-components-checkbox__input:checked { border-color: #ff4b1f; }
.wc-block-checkout .wc-block-components-checkbox__mark { fill: #ff4b1f; }
.wc-block-checkout :is(.wc-block-components-radio-control__input, .wc-block-components-checkbox__input):focus-visible { outline: 3px solid #ff4b1f !important; outline-offset: 3px; }
[data-theme="dark"] .wc-block-checkout :is(.wc-block-components-shipping-rates-control__no-results-notice, .wc-block-components-shipping-rates-control__no-shipping-address-message, .wc-block-components-shipping-placeholder) { background: var(--jrb-paper); color: var(--jrb-ink); border-color: var(--jrb-border); }
[data-theme="dark"] .wc-block-checkout .wc-block-components-notice-banner { background: var(--jrb-paper) !important; color: var(--jrb-ink) !important; border-color: var(--jrb-muted); }
[data-theme="dark"] .wc-block-checkout .wc-block-components-notice-banner.is-error { border-color: var(--jrb-error); }
[data-theme="dark"] .wc-block-checkout .wc-block-components-notice-banner a { color: var(--jrb-link); }
[data-theme="dark"] .wc-block-checkout :is(input, textarea)::placeholder { color: var(--jrb-muted); opacity: 1; }
.wc-block-checkout :is(input, select, textarea):focus { border-color: #ff4b1f; outline-color: #ff4b1f; box-shadow: 0 0 0 1px #ff4b1f; }
[data-theme="dark"] .wc-block-checkout :is(.wc-block-components-validation-error, .wc-block-components-text-input.has-error label, .required) { color: var(--jrb-error); }
[data-theme="dark"] .wc-block-checkout :is(button:disabled, [aria-disabled="true"]) { opacity: 1; color: var(--jrb-muted); background-color: var(--jrb-paper); border-color: var(--jrb-border); cursor: not-allowed; }
[data-theme="dark"] .wc-block-checkout [aria-busy="true"] { cursor: progress; }
[data-theme="dark"] .wc-block-checkout .wc-block-components-spinner::after { border-color: var(--jrb-muted); border-top-color: transparent; }

/* Verified Checkout Pro surface. Provider logos, copy and embedded frames stay intact. */
[data-theme="dark"] .wc-block-checkout .mp-checkout-container {
 color-scheme: light; background: #fff; color: #222; border: 1px solid var(--jrb-border); border-radius: .5rem; padding: .25rem; margin-block: .5rem;
 --theme-text-color: #222; --theme-headings-color: #222; --theme-link-initial-color: #0959c7;
}
[data-theme="dark"] .wc-block-checkout .mp-checkout-container :is(.mp-checkout-pro-benefits-title, .mp-test-mode-title, .mp-test-mode-description) { color: #222; }
[data-theme="dark"] .wc-block-checkout .mp-checkout-container :is(.mp-checkout-pro-benefit-description, .mp-checkout-pro-redirect-title, .mp-checkout-pro-redirect-description) { color: #555 !important; }
[data-theme="dark"] .wc-block-checkout .mp-checkout-container .mp-test-mode-link { color: #0959c7; }
/* Javier acceptance iteration: final presentation overrides, after both palettes. */
:root, :root[data-theme="dark"] { --jrb-promo-bg: #FF4B1F; --jrb-promo-text: #111; --jrb-photo: #fff; }
.jrb-commerce-header { --jrb-header-bg: #111; --jrb-header-ink: #f4f4f5; --jrb-header-border: #333; --jrb-header-hover: #333; background: var(--jrb-header-bg); color: var(--jrb-header-ink); border-color: var(--jrb-header-border); }
.jrb-commerce-header :is(.jrb-commerce-header__brand, .jrb-commerce-header__brand small, .jrb-header-toggle, .jrb-disclosure summary), .jrb-mini-cart > summary { color: var(--jrb-header-ink); }
.jrb-commerce-header .jrb-header-toggle:is(:hover, [aria-expanded="true"]) { background: var(--jrb-header-hover); }
.jrb-commerce-header .jrb-category-nav, .jrb-commerce-header .jrb-nav-panel { background: var(--jrb-header-bg); color: var(--jrb-header-ink); border-color: var(--jrb-header-border); }
.jrb-commerce-header .jrb-nav-panel a { color: var(--jrb-header-ink); }
.jrb-commerce-header .jrb-nav-panel a:hover { background: var(--jrb-header-hover); }
.jrb-commerce-header .jrb-nav-all { border-color: var(--jrb-header-border); }
.jrb-commerce-header :is(.jrb-header-toggle, .jrb-commerce-header__brand, summary):focus-visible { outline-color: var(--jrb-action); }
.jrb-commerce-header__search input[type=search] { border-radius: 999px; background: #2a2e32; color: var(--jrb-header-ink); border-color: var(--jrb-header-border); padding-inline: 3.25rem 1rem; color-scheme: dark; }
:root[data-theme="dark"] .jrb-commerce-header .jrb-commerce-header__search input[type=search] { background: #2a2e32; color: var(--jrb-header-ink); border-color: var(--jrb-header-border); }
.jrb-commerce-header__search input::placeholder { color: #b9bdc3; }
.jrb-commerce-header__search button { left: 2px; right: auto; color: var(--jrb-header-ink); border-radius: 999px; }
.jrb-commerce-header__search input:focus-visible { outline-color: #FF4B1F; }
.jrb-footer-panel .jrb-logo-light { display: none; }
.jrb-footer-panel .jrb-logo-dark { display: block; }
.jrb-benefits { background: var(--jrb-surface); border-bottom: 1px solid var(--jrb-border); }
.jrb-benefits__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-block: .875rem; gap: 1rem .75rem; }
.jrb-benefits__grid > div { display: flex; align-items: center; justify-content: center; gap: .625rem; min-width: 0; padding-inline: .5rem; }
.jrb-benefits svg { flex: none; width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.jrb-benefits p { margin: 0; font-size: .75rem; line-height: 1.4; }
.jrb-benefits strong, .jrb-benefits span { display: block; }
.jrb-benefits span { color: var(--jrb-muted); }
.jrb-benefits { border-top: 1px solid var(--jrb-border); border-bottom: 0; }
.jrb-benefits .jrb-benefits__grid { padding-block: 1.25rem; gap: 1.25rem .875rem; }
.jrb-benefits svg { color: var(--jrb-action); width: 24px; height: 24px; }
.jrb-hero { width: 100%; margin: 0; border-radius: 0; overflow: hidden; }
.jrb-hero__media img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.jrb-product-facts p { margin: 0 0 .2rem; }
.jrb-product-facts p:last-child { margin-bottom: 0; }
.jrb-button, .woocommerce :is(a.button, button.button, input.button), .wp-element-button { border-radius: 999px; }
:is(.jrb-products, .woocommerce-page) ul.products li.product { border-radius: 1rem; }
/* Blocksy uses an inline portrait ratio and may absolutely position native media. */
.single-product .woocommerce-product-gallery { align-self: start; max-width: 540px; width: 100%; margin-inline: auto; border-radius: 1rem; background: #fff; }
.single-product .woocommerce-product-gallery :is(.ct-product-gallery-container, .woocommerce-product-gallery__wrapper) { margin: 0; }
.single-product .woocommerce-product-gallery :is(figure.ct-media-container, .woocommerce-product-gallery__image) { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; max-height: 540px; background: #fff; overflow: hidden; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.single-product .woocommerce-product-gallery :is(figure.ct-media-container, .woocommerce-product-gallery__image) img:not(.zoomImg) { position: static !important; width: auto !important; height: auto !important; max-width: 100%; max-height: min(500px, 80vw); aspect-ratio: auto !important; object-fit: contain; }
/* Woo owns price validity and accessible labels. Only reorder the visual price pair. */
:is(.jrb-products, .woocommerce-page, .jrb-quick-view, .single-product .summary) .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .5rem; }
:is(.jrb-products, .woocommerce-page, .jrb-quick-view, .single-product .summary) .price ins { order: -1; text-decoration: none; color: var(--jrb-ink); font-weight: 750; }
:is(.jrb-products, .woocommerce-page, .jrb-quick-view, .single-product .summary) .price del { order: 1; flex-basis: auto; color: var(--jrb-muted); font-size: .875rem; font-weight: 400; opacity: 1; }
.jrb-categories a { position: relative; isolation: isolate; overflow: hidden; min-height: 180px; border: 0; border-radius: 1rem; background: #111; color: #fff; }
.jrb-categories a::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #000b, #0002); }
.jrb-categories .jrb-category-tile__image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.jrb-categories a :is(strong, span) { color: #fff; }
.jrb-categories a:is(:hover, :focus-visible) { background: #111; outline: 3px solid var(--jrb-action); outline-offset: 3px; }
.jrb-footer-panel { --jrb-ink: #fff; --jrb-muted: #c2c2c2; --jrb-border: #444; --jrb-surface: #111; background: #111; color: #fff; }
.jrb-footer-panel a { color: #fff; min-height: 44px; }
.jrb-footer-panel :is(h3, p, small) { color: inherit; }
.jrb-footer-panel a:focus-visible { outline-color: #fff; }
/* Legal text stays in WordPress; style only real content blocks and headings. */
body.jrb-legal-page main article > :is(.entry-content, .hero-section) {
 width: min(calc(100% - var(--jrb-gutter) * 2), 72ch); max-width: none; margin-inline: auto;
}
body.jrb-legal-page main article > .hero-section { padding-block: 2rem 1rem; }
body.jrb-legal-page .page-title { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; overflow-wrap: anywhere; }
body.jrb-legal-page main article > .entry-content {
 padding-block: 0 2.5rem; color: var(--jrb-ink); font-size: 1rem; line-height: 1.75; overflow-wrap: anywhere;
}
body.jrb-legal-page .entry-content > * { max-width: 100%; }
body.jrb-legal-page .entry-content > * + * { margin-block-start: 1.25rem; }
body.jrb-legal-page .entry-content :is(h2, h3) { margin-block: 2rem .75rem; color: var(--jrb-ink); line-height: 1.3; }
body.jrb-legal-page .entry-content :is(ul, ol) { padding-inline-start: 1.5rem; }
body.jrb-legal-page .entry-content li + li { margin-block-start: .75rem; }
body.jrb-legal-page .entry-content a { color: var(--jrb-link); text-decoration: underline; text-underline-offset: .15em; }
body.jrb-legal-page .entry-content a:is(:hover, :focus-visible) { color: var(--jrb-ink); }
/* Classic and Blocks notices, including link and icon contrast in each palette. */
:is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner) { background: var(--jrb-paper); color: var(--jrb-ink); border-color: var(--jrb-muted); border-radius: .75rem; overflow-wrap: anywhere; }
:is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner) a:not(.button) { color: inherit; text-decoration: underline; }
:is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { color: inherit; }
.wc-block-components-notice-banner > svg { fill: currentColor; }
/* Native Blocksy product controls have their own color variables. */
:root[data-theme="dark"] .single-product :is(.ct-breadcrumbs a, .product_meta a, .woocommerce-tabs .tabs a) { color: var(--jrb-ink); }
:root[data-theme="dark"] .single-product .entry-summary div.quantity { --quantity-arrows-initial-color: var(--jrb-ink); --quantity-arrows-hover-color: var(--jrb-ink); --quantity-hover-color: var(--jrb-paper); }
:root[data-theme="dark"] .single-product .entry-summary input.qty { color: var(--jrb-ink); background: var(--jrb-surface); border-color: var(--jrb-border); }
.single-product .entry-summary div.quantity[data-type="type-2"] { --quantity-height: 48px; width: 144px; min-width: 144px; height: 48px; }
.single-product .entry-summary div.quantity[data-type="type-2"] input.qty { width: 100%; height: 48px; padding-inline: 46px; }
.single-product .entry-summary div.quantity[data-type="type-2"] :is(.ct-increase, .ct-decrease) { top: 2px; width: 44px; height: 44px; }
.single-product .entry-summary div.quantity[data-type="type-2"] .ct-increase { inset-inline-end: 2px; }
.single-product .entry-summary div.quantity[data-type="type-2"] .ct-decrease { inset-inline-start: 2px; }
[data-theme="dark"] :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .wc-block-components-notice-banner) .button { background: #FF4B1F; color: #111; }
@media (max-width: 47.99rem) {
 .jrb-section { padding-block: 1.25rem; }
 .jrb-benefits svg { width: 24px; height: 24px; }
 .jrb-benefits__grid > div { align-items: flex-start; }
}
@media (min-width: 48rem) {
 .jrb-benefits__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .jrb-benefits__grid > div:not(:first-child) { border-left: 1px solid var(--jrb-border); }
 .jrb-benefits p { font-size: .8125rem; }
}
@media (min-width: 80rem) {
 .jrb-products .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; }
 .jrb-benefits p { font-size: .875rem; }
}

/* Product polish: a stable photo frame and six shared content rows. */
:is(.jrb-products, .woocommerce-page) ul.products li.product { padding: .625rem; row-gap: .25rem; }
:is(.jrb-products, .woocommerce-page) ul.products li.product:is(:hover, :focus-within) { border-color: #ff4b1f80; box-shadow: 0 3px 14px #ff4b1f0d; }
.single-product .onsale,
:is(.jrb-products, .woocommerce-page) ul.products li.product > .entry-meta { display: none; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .onsale {
 display: inline-flex; align-items: center; justify-content: center; position: absolute; inset: .875rem auto auto .875rem;
 min-width: 0; min-height: 0; width: auto; height: auto; padding: .15rem .4rem; margin: 0; border: 1px solid #eedbd1;
 border-radius: 99px; background: #fff9f5; color: #7c361b; font-size: .625rem; line-height: 1.5; font-weight: 500;
 text-transform: none; box-shadow: none; z-index: 2;
}
:is(.jrb-products, .woocommerce-page) ul.products li.product .onsale::before,
:is(.jrb-products, .woocommerce-page) ul.products li.product .onsale::after { content: none; }
.jrb-card-gender { position: absolute; inset: .875rem .875rem auto auto; max-width: 55%; padding: .15rem .4rem; border: 1px solid #e8e8e8; border-radius: 99px; background: #fff; color: #555; font-size: .625rem; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; z-index: 2; }
:is(.jrb-products, .woocommerce-page) ul.products li.product figure { display: block; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .ct-media-container {
 --jrb-card-image-height: clamp(144px, 38vw, 156px);
 display: grid; grid-template-rows: var(--jrb-card-image-height); gap: .25rem;
 width: 100%; padding: 0 !important; aspect-ratio: auto; background: #fff; overflow: hidden;
}
:is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-quick-view-image { grid-template-rows: var(--jrb-card-image-height) 32px; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .ct-media-container img {
 position: static !important; display: block; width: 100% !important; height: var(--jrb-card-image-height) !important;
 max-width: 100%; max-height: none; aspect-ratio: auto !important; object-fit: contain; margin: 0 !important; border-radius: .375rem;
}
.jrb-quick-view-hint { position: static; display: grid; place-items: center; width: 100%; min-height: 32px; margin: 0; padding: .25rem; border: 1px solid #f0d9ce; border-radius: 99px; background: #fff5ef; color: #6e2d15; font-size: .75rem; opacity: 1; }
[data-theme="dark"] .jrb-quick-view-hint { background: #352820; border-color: #ff4b1f; color: #ffd3bd; }
.jrb-quick-view-image:is(:hover, :focus-visible) .jrb-quick-view-hint { background: #ffd9c8; border-color: #bd4b20; color: #57220f; }
[data-theme="dark"] .jrb-quick-view-image:is(:hover, :focus-visible) .jrb-quick-view-hint { background: #69321b; border-color: #ff4b1f; color: #fff1e8; }
/* The native stock badge owns the left corner; the gender pill stays on the right. */
:is(.jrb-products, .woocommerce-page) ul.products li.product.outofstock .onsale { display: none; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .out-of-stock-badge {
 position: absolute; inset: .875rem auto auto .875rem; z-index: 3; width: auto; min-height: 0; padding: .2rem .45rem;
 border: 1px solid #9d3e1a; border-radius: 99px; background: #fff0e5; color: #6e2d15; font-size: .625rem; font-weight: 700; line-height: 1.5;
}
:is(.jrb-products, .woocommerce-page) ul.products li.product.outofstock .jrb-card-gender { max-width: calc(100% - 100px); }
[data-theme="dark"] :is(.jrb-products, .woocommerce-page) ul.products li.product .out-of-stock-badge { background: #352820; border-color: #b16b49; color: #ffd3bd; }
:is(.jrb-quick-view, .single-product .summary) .stock.out-of-stock { display: inline-block; margin-block: .625rem; padding: .35rem .625rem; border: 1px solid #b16b49; border-radius: .5rem; color: var(--jrb-ink); background: var(--jrb-soft-action); font-weight: 700; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title {
 display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
 font-size: .875rem; line-height: 1.3; text-align: left; margin-block: .375rem 0;
}
:is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-product-facts { font-size: .6875rem; line-height: 1.35; text-align: left; margin: 0; }
.jrb-card-facts { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* An implicit auto grid column grows to nowrap metadata's minimum content width. */
:is(.jrb-products, .woocommerce-page) ul.products li.product > *,
:is(.jrb-products, .woocommerce-page) ul.products li.product :is(.jrb-card-facts, .price > *, .sale-price > *, .ct-woo-card-actions .button) { min-width: 0; max-width: 100%; box-sizing: border-box; }
:is(.jrb-products, .woocommerce-page) ul.products li.product :is(.woocommerce-loop-product__title, .jrb-product-inspiration) { overflow-wrap: anywhere; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .price { flex-wrap: wrap; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .price .sale-price { max-width: 100%; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .price .amount { white-space: normal; overflow-wrap: anywhere; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-product-inspiration { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin-top: .25rem; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-card-notes { display: flex; flex-wrap: nowrap; gap: .2rem; min-width: 0; margin: 0; font-size: .625rem; line-height: 1.4; }
.jrb-card-notes li { min-width: 0; max-width: 100%; flex: 0 1 auto; padding: .12rem .3rem; border: 1px solid color-mix(in srgb, var(--jrb-action) 18%, var(--jrb-border)); border-radius: 99px; background: var(--jrb-soft-action); color: var(--jrb-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-transform: lowercase; }
.jrb-card-notes li:not(:last-child)::after { content: none; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .price { justify-content: flex-start; font-size: 1.125rem; margin: 0; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .price del { font-size: .75rem; }
:is(.jrb-products, .woocommerce-page, .jrb-quick-view, .single-product .summary) .price .sale-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .4rem; }
:is(.jrb-products, .woocommerce-page) ul.products li.product .button { min-height: 44px; padding: .5rem .25rem; margin: 0; font-size: .8125rem; }
@supports (grid-template-rows: subgrid) {
 :is(.jrb-products, .woocommerce-page) ul.products li.product { grid-row: span 6; grid-template-rows: subgrid; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product > .ct-woo-card-actions { grid-row: 6; }
}
@supports not (grid-template-rows: subgrid) {
 :is(.jrb-products, .woocommerce-page) ul.products li.product { gap: .375rem; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { min-height: 2.6em; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-product-facts { min-height: 4.3em; }
 .jrb-card-notes { min-height: 1.7em; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .ct-woo-card-actions { margin-top: auto; }
}
/* Full product and QV share neutral pills; values stay in native Woo attributes. */
.jrb-product-pills, .jrb-note-pills { display: flex; flex-wrap: wrap; gap: .375rem; padding: 0; margin: 0 0 .625rem; list-style: none; }
.jrb-product-pills li, .jrb-note-pills li { margin: 0; padding: .2rem .55rem; border: 1px solid var(--jrb-border); border-radius: 99px; color: var(--jrb-ink); font-size: .8125rem; line-height: 1.5; background: var(--jrb-paper); }
.jrb-product-pills li:first-child { border-left: 2px solid var(--jrb-action); }
.jrb-note-pills li { display: flex; align-items: center; gap: .4rem; background: var(--jrb-soft-action); border-color: color-mix(in srgb, var(--jrb-action) 25%, var(--jrb-border)); text-transform: lowercase; }
.jrb-note-pills li::before { content: ''; width: 5px; height: 5px; flex: none; border-radius: 50%; background: var(--jrb-action); }
.single-product .entry-summary > .jrb-product-inspiration { margin-bottom: .625rem; }
.single-product .entry-summary > .price { display: flex; align-items: baseline; justify-content: flex-start; gap: .375rem; margin-block: .625rem .875rem; }
.jrb-quick-view [data-jrb-content] { padding: .75rem 1rem 1rem; }
.jrb-quick-view__grid, .jrb-qv-skeleton { display: grid; grid-template-columns: minmax(0, 1fr); gap: .875rem; min-height: 0; }
/* Keep the mobile image/info/notes/link order; desktop groups the link with its info. */
.jrb-quick-view__details { display: contents; min-width: 0; }
.jrb-quick-view__image, .jrb-qv-skeleton__image { align-self: start; width: 100%; height: auto; border-radius: .875rem; }
.jrb-qv-skeleton__image { aspect-ratio: 1; }
.jrb-quick-view__image { display: grid; place-items: center; min-width: 0; padding: .375rem; background: #fff; border: 1px solid #eee4df; overflow: hidden; }
.jrb-quick-view__image img { display: block; width: auto; height: auto; min-width: 0; min-height: 0; max-width: 100%; max-height: none; object-fit: contain; aspect-ratio: auto; margin: 0; }
.jrb-quick-view h2 { margin: 0 0 .625rem; font-size: 1.375rem; line-height: 1.2; }
.jrb-quick-view__brand { margin-bottom: .25rem; }
.jrb-quick-view .jrb-product-facts { margin-bottom: .625rem; }
.jrb-quick-view__description { font-size: .875rem; line-height: 1.5; }
.jrb-quick-view__description > :last-child { margin-bottom: .625rem; }
.jrb-quick-view .price { margin-block: .625rem; font-size: 1.5rem; }
.jrb-quick-view .stock { margin-bottom: .5rem; }
.jrb-quick-view [data-jrb-add-form] { margin-block: .625rem .875rem; padding-top: .625rem; gap: .5rem; }
.jrb-quick-view [data-jrb-purchase-status]:empty, .jrb-quick-view__status:empty { display: none; }
.jrb-quick-view .jrb-text-link { font-size: .875rem; }
.jrb-eyebrow { margin: 0 0 .5rem; color: var(--jrb-muted); font-size: .6875rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.jrb-quick-view__notes { padding: .75rem; border: 1px solid var(--jrb-border); border-radius: .875rem; background: var(--jrb-soft-action); }
.jrb-quick-view__notes .jrb-note-pills { margin: 0; }
.jrb-quick-view__details-link { display: inline-block; justify-self: start; margin: 0; order: 1; }
/* The existing archive H1 becomes the editorial cover; no duplicate heading. */
body.post-type-archive-product .hero-section[data-type] { background: transparent; margin-block: .625rem .25rem; }
body.post-type-archive-product .hero-section > .entry-header { min-height: 0; padding-block: .375rem; }
body.post-type-archive-product .hero-section .page-title { font-size: clamp(1.375rem, 1.2rem + .5vw, 1.75rem); line-height: 1.25; }
.jrb-catalog-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .375rem 1rem; margin: .375rem 0 0; text-align: left; color: var(--jrb-muted); font-size: .8125rem; line-height: 1.4; }
body.post-type-archive-product .hero-section .entry-header > .jrb-catalog-meta { width: 100%; margin-top: .375rem; }
/* Search's type-1 hero already sits inside the commerce shell. */
body.search.post-type-archive-product .hero-section.is-width-constrained { width: 100%; max-width: none; margin-inline: 0; }
body.search.post-type-archive-product #main > .ct-container { padding-top: 0; }
.jrb-catalog-meta:empty { display: none; }
.jrb-catalog-meta a { color: var(--jrb-ink); font-size: inherit; }
body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section[data-type] {
 position: relative; isolation: isolate; width: var(--jrb-shell); max-width: var(--jrb-max-width); margin: 1rem auto;
 border-radius: .875rem; overflow: hidden; background: #111 65% center / cover no-repeat;
}
body.tax-product_cat.term-hombre .hero-section[data-type] { background-image: var(--jrb-category-cover, url('../images/jrb-category-hombre.png')); }
body.tax-product_cat.term-mujer .hero-section[data-type] { background-image: var(--jrb-category-cover, url('../images/jrb-category-mujer.png')); }
body.tax-product_cat.term-unisex .hero-section[data-type] { background-image: var(--jrb-category-cover, url('../images/jrb-category-unisex.png')); }
body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #000b, #0002 85%), linear-gradient(0deg, #0008, transparent 65%); }
body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section > .entry-header { display: flex; align-items: flex-end; justify-content: center; width: 100%; max-width: none; min-height: 220px; padding: 1.5rem 1rem; }
body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section .page-title { max-width: none; margin: 0; text-align: center; color: #fff; font-size: clamp(1.625rem, 3vw, 2.5rem); line-height: 1.15; text-shadow: 0 2px 8px #0008; }
@media (max-width: 47.99rem) {
 :is(.jrb-products, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { min-height: 2.6em; }
 /* A wider mobile frame keeps the original photos within their pixel budget at 3x. */
 body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section > .entry-header { flex-direction: column; align-items: center; justify-content: center; min-height: 0; aspect-ratio: 9 / 4; padding: 1rem; }
 body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section .page-title { max-width: 100%; }
 body.tax-product_cat.term-hombre .hero-section[data-type] { background-position: 96% center; }
 body.tax-product_cat.term-mujer .hero-section[data-type] { background-position: 67% center; }
 body.tax-product_cat.term-unisex .hero-section[data-type] { background-position: 73% center; }
 /* Home uses the same photographs, with its existing labels and tile dimensions. */
 .jrb-categories [data-jrb-category="hombre"] .jrb-category-tile__image { object-position: 96% center; }
 .jrb-categories [data-jrb-category="mujer"] .jrb-category-tile__image { object-position: 67% center; }
 .jrb-categories [data-jrb-category="unisex"] .jrb-category-tile__image { object-position: 73% center; }
 body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section::before { background: linear-gradient(0deg, #0008, #0004); }

 /* Keep native cells and controls, but give each item its own two-column mobile row. */
 .woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout { display: flex; flex-direction: column; }
 .woocommerce-cart .wc-block-cart :is(.wc-block-cart__main, .wc-block-cart__sidebar) { width: 100%; min-width: 0; padding-inline: 0; }
 .woocommerce-cart .wc-block-cart .wc-block-cart-items { display: block; width: 100%; max-width: 100%; }
 .woocommerce-cart .wc-block-cart-items tbody { display: block; width: 100%; }
 .woocommerce-cart .wc-block-cart-items thead { display: none; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: .5rem 1rem; width: 100%; padding-block: 1rem; border-bottom: 1px solid var(--jrb-border); }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > td { display: block; min-width: 0; width: auto; max-width: 100%; padding: 0; border: 0; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 2; }
 .woocommerce-cart .wc-block-cart-item__image img { width: 64px; max-width: 100%; height: auto; object-fit: contain; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__product { grid-column: 2; grid-row: 1; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > .wc-block-cart-item__total { grid-column: 2; grid-row: 2; text-align: left; }
 .woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { align-items: flex-start; }
 .woocommerce-cart .wc-block-cart-item__wrap > *,
 .woocommerce-cart .wc-block-cart :is(.wc-block-components-product-price, .wc-block-cart-item__prices, .wc-block-cart-item__quantity) { min-width: 0; max-width: 100%; box-sizing: border-box; }
 .woocommerce-cart .wc-block-cart :is(.wc-block-components-product-name, .wc-block-components-product-price, .wc-block-components-product-price > *, .wc-block-components-totals-item__value) { white-space: normal; overflow-wrap: anywhere; }
 .woocommerce-cart .wc-block-cart .wc-block-cart-item__wrap { padding: 0; min-width: 0; }
 .woocommerce-cart .wc-block-cart .wc-block-components-product-metadata__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
 .woocommerce-cart .wc-block-cart .wc-block-cart-item__remove-link { min-height: 44px; padding-block: .625rem; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity { flex-wrap: wrap; }
 .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; }
 .woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky { position: static; padding: 0; background: var(--jrb-surface); }
 .woocommerce-cart .wc-block-cart .wc-block-cart__submit-container--sticky::before { content: none; }
 .woocommerce-cart .wc-block-cart .wc-block-components-totals-item { gap: .5rem; }
 .woocommerce-cart .wc-block-cart .wc-block-components-totals-item__value { min-width: 0; text-align: right; }
}
@media (min-width: 48rem) {
 :is(.jrb-products, .woocommerce-page) ul.products li.product .ct-media-container { --jrb-card-image-height: 180px; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-product-facts { font-size: .8125rem; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .jrb-card-notes { font-size: .75rem; }
 :is(.jrb-products, .woocommerce-page) ul.products li.product .price { font-size: 1.25rem; }
 .jrb-quick-view { width: min(840px, calc(100% - 2rem)); }
 .jrb-quick-view__grid, .jrb-qv-skeleton { grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); grid-template-rows: max-content auto; gap: .875rem 1.25rem; align-items: start; }
 .jrb-quick-view__image, .jrb-qv-skeleton__image { grid-column: 1; grid-row: 1; }
 .jrb-quick-view__details { display: block; grid-column: 2; grid-row: 1 / span 2; }
 .jrb-quick-view__notes, .jrb-qv-skeleton__notes { grid-column: 1; grid-row: 2; }
 .jrb-quick-view h2 { font-size: 1.625rem; }
 body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section > .entry-header { min-height: 240px; padding: 2rem; align-items: center; }
 body.tax-product_cat:is(.term-hombre, .term-mujer, .term-unisex) .hero-section .page-title { white-space: nowrap; }
}

/* Solid secondary action and explicit icon colors stay scoped to the drawer. */
.jrb-mini-cart__panel { color: var(--jrb-ink); border-color: var(--jrb-border); }
/* Reserve normal-flow spacing below the close row only for the empty state. */
.jrb-mini-cart__panel .widget_shopping_cart_content > :is(.wc-empty-cart-message, .woocommerce-mini-cart__empty-message) { margin-block-start: 1rem; }
.jrb-mini-cart__panel .buttons { display: grid; grid-template-columns: 1fr 1fr; gap: .625rem; }
.jrb-mini-cart__panel .buttons .button { width: 100%; min-height: 48px; border-radius: 99px; transition: none; }
.jrb-mini-cart__panel .buttons .button:not(.checkout) { background: #17191c; border-color: #17191c; color: #fff; }
[data-theme="dark"] .jrb-mini-cart__panel .buttons .button:not(.checkout) { background: #f4f4f5; border-color: #f4f4f5; color: #17191c; }
.jrb-mini-cart__panel .buttons .button:not(.checkout):is(:hover, :focus-visible) { background: var(--jrb-action); border-color: var(--jrb-action); color: #111; }
.jrb-commerce-header .jrb-mini-cart__panel .jrb-commerce-header__cart { color: var(--jrb-ink); transition: none; }
.jrb-mini-cart__panel svg { stroke: currentColor; }
.jrb-mini-cart__panel .remove { min-width: 44px; color: var(--jrb-ink); }

/* Loading uses the same image/info/notes grid as the loaded product. */
.jrb-qv-skeleton__image { background: var(--jrb-paper); }
.jrb-qv-skeleton :is(h2, p, li, .price, .jrb-button, .jrb-text-link, .jrb-qv-skeleton__quantity) { color: transparent; border-color: transparent; background: var(--jrb-paper); border-radius: .375rem; }
.jrb-quick-view .jrb-qv-skeleton .price :is(ins, del, .amount) { color: transparent; text-decoration-color: transparent; }
.jrb-qv-skeleton .jrb-product-pills li { border-color: transparent; }
.jrb-qv-skeleton .jrb-note-pills li::before { background: transparent; }
.jrb-qv-skeleton__quantity { width: 110px; height: 48px; flex-shrink: 0; }
