/* Storefront composition and native WooCommerce surfaces. */
.jrb-home { background: var(--jrb-paper); }
.jrb-hero { background: radial-gradient(ellipse at 85% 40%, #30291b, transparent 55%), var(--jrb-ink); color: var(--jrb-white); }
.jrb-hero__grid { display: grid; align-items: center; padding-block: clamp(1.4rem, 3vw, 2rem); gap: 2rem; }
.jrb-hero h1 { margin: 0; color: inherit; font-size: clamp(2.35rem, 6vw, 4rem); line-height: 1.03; }
.jrb-hero h1 em { color: var(--jrb-gold-light); font-weight: 400; white-space: nowrap; }
.jrb-hero__lead { max-width: 36rem; margin: .8rem 0 0; color: #d6d0c5; font-size: .95rem; line-height: 1.6; }
.jrb-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-top: 1.1rem; }
.jrb-hero__actions .jrb-button { padding-inline: 1rem; font-size: .7rem; letter-spacing: .04em; }
.jrb-hero__signature { display: none; }
.jrb-section { padding-block: clamp(1.75rem, 4vw, 3.5rem); }
.jrb-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.jrb-section-heading h2 { margin: 0; font-size: clamp(1.85rem, 4vw, 2.75rem); line-height: 1.1; }
.jrb-section-heading .jrb-eyebrow { margin-bottom: .45rem; color: #806025; }
.jrb-section-heading > a { flex-shrink: 0; }

/* Two mobile columns keep products visible without requiring horizontal gestures. */
.jrb-products .woocommerce { width: 100%; }
.jrb-products .woocommerce ul.products,
.woocommerce-page ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; gap: 1.75rem .85rem; }
.jrb-products .woocommerce ul.products::before,
.jrb-products .woocommerce ul.products::after { display: none; }
.jrb-products .woocommerce ul.products li.product,
.woocommerce-page ul.products li.product { position: relative; float: none; width: auto; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.jrb-products ul.products li.product .ct-media-container,
.woocommerce-page ul.products li.product .ct-media-container { overflow: hidden; border-radius: var(--jrb-radius-sm); background: #141414; }
.jrb-products ul.products li.product img,
.woocommerce-page ul.products li.product img { width: 100%; height: auto; aspect-ratio: 4 / 5; margin: 0; background: #141414; object-fit: contain; transition: transform 250ms ease; }
.jrb-home .jrb-products ul.products li.product img { aspect-ratio: 1; }
.jrb-products ul.products li.product:hover img,
.woocommerce-page ul.products li.product:hover img { transform: scale(1.015); }
.jrb-products ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title { margin: .8rem 0 .35rem; color: var(--jrb-ink); font-family: var(--jrb-serif); font-size: clamp(1.1rem, 2.5vw, 1.4rem); font-weight: 400; line-height: 1.2; overflow-wrap: anywhere; }
.jrb-product-facts { margin: .4rem 0; font-size: .75rem; color: #625a4f; line-height: 1.5; }
.jrb-product-stock { font-size: .8rem; font-weight: 700; }
.jrb-products ul.products li.product .price,
.woocommerce-page ul.products li.product .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin: .5rem 0; color: var(--jrb-ink); font-size: 1rem; font-weight: 750; }
.jrb-products ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del { color: #625a4f; font-size: .8em; }
.jrb-products ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins { color: #8d231f; text-decoration: none; }
.jrb-products ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale { top: .65rem; left: .65rem; min-width: 0; min-height: 0; padding: .5rem .65rem; border: 0; border-radius: var(--jrb-radius-sm); background: var(--jrb-ink); color: var(--jrb-gold-light); font-size: .7rem; font-weight: 750; line-height: 1; }
.jrb-products ul.products li.product .button,
.woocommerce-page ul.products li.product .button { width: 100%; margin-top: .65rem; padding-inline: .6rem; font-size: .72rem; letter-spacing: .025em; }

/* The panel contents, remove buttons and checkout link are WooCommerce's template. */
.jrb-mini-cart { position: relative; }
.jrb-mini-cart > summary { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; cursor: pointer; font-size: .85rem; list-style: none; }
.jrb-mini-cart > summary::-webkit-details-marker { display: none; }
.jrb-mini-cart > summary > span { color: var(--jrb-gold-light); font-size: 1.5rem; }
.jrb-mini-cart__panel { position: absolute; z-index: 80; top: calc(100% + .6rem); right: 0; width: min(25rem, calc(100vw - 3rem)); max-height: min(32rem, 65dvh); overflow-y: auto; padding: 1.25rem; border: 1px solid var(--jrb-border); border-radius: var(--jrb-radius-sm); background: var(--jrb-paper); color: var(--jrb-ink); box-shadow: var(--jrb-shadow); }
.jrb-mini-cart__panel .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.jrb-mini-cart__panel .mini_cart_item { position: relative; min-height: 4rem; padding: .75rem 1.5rem .75rem 0; border-bottom: 1px solid var(--jrb-border); font-size: .9rem; }
.jrb-mini-cart__panel .mini_cart_item img { float: left; width: 3rem; height: 3.75rem; margin: 0 .75rem .5rem 0; object-fit: contain; }
.jrb-mini-cart__panel .mini_cart_item > a:not(.remove) { color: var(--jrb-ink); }
.jrb-mini-cart__panel .quantity { display: block; font-size: .85rem; }
.jrb-mini-cart__panel .remove { position: absolute; right: -.75rem; top: 0; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; font-size: 1.3rem; color: #7d2820; }
.jrb-mini-cart__panel .buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.jrb-mini-cart__panel .button { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .65rem 1rem; background: var(--jrb-gold); color: var(--jrb-ink); border-radius: var(--jrb-radius-sm); text-decoration: none; }
.jrb-mini-cart__panel .total { clear: both; padding-top: 1rem; }

/* Preserve native fields, validation and payment interfaces, including Blocks. */
.woocommerce-page main { --theme-content-vertical-spacing: clamp(1.5rem, 4vw, 3rem); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.08; overflow-wrap: anywhere; }
.woocommerce div.product div.images img { object-fit: contain; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--jrb-ink); font-size: 1.4rem; font-weight: 750; }
.jrb-product-attributes { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.jrb-product-attributes > div { padding: .6rem .8rem; border: 1px solid var(--jrb-border); border-radius: var(--jrb-radius-sm); }
.jrb-product-attributes dt { color: #625a4f; font-size: .7rem; }
.jrb-product-attributes dd { margin: .15rem 0 0; font-size: .85rem; }
.jrb-product-assistance { margin-top: 1rem; }
.jrb-product-assistance .jrb-checkout-notice { margin-top: 1rem; }
.jrb-checkout-notice { margin-bottom: 1.5rem; padding: 1rem 1.1rem; border-left: .2rem solid var(--jrb-gold); background: var(--jrb-ivory); color: var(--jrb-ink); }
.jrb-checkout-notice strong { font-size: 1rem; }
.jrb-checkout-notice p { margin: .35rem 0 0; font-size: .85rem; line-height: 1.55; }
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select { max-width: 100%; min-height: 3rem; border-color: #9c927f; border-radius: var(--jrb-radius-sm); background: white; font-size: 1rem; }
.woocommerce .quantity .qty { min-height: 3rem; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .6rem; }
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce div.product form.cart .single_add_to_cart_button { min-height: 3rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { --theme-text-color: var(--jrb-ink); --theme-link-initial-color: var(--jrb-ink); color: var(--jrb-ink); border-top-color: var(--jrb-gold); background: var(--jrb-ivory); overflow-wrap: anywhere; }
.woocommerce-message::before, .woocommerce-info::before { color: #806025; }
.wc-block-cart, .wc-block-checkout { color: var(--jrb-ink); }
.wc-block-components-main, .wc-block-components-sidebar { min-width: 0; }
.wc-block-components-product-name, .wc-block-components-checkout-step__heading { overflow-wrap: anywhere; }
.wc-block-components-button:not(.is-link) { min-height: 3rem; }
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button { background: var(--jrb-gold); color: var(--jrb-ink); border-radius: var(--jrb-radius-sm); }

@media (min-width: 48rem) {
  .jrb-hero__grid { grid-template-columns: minmax(0, 1fr) 11rem; }
  .jrb-hero__signature { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 10rem; height: 10rem; border: 1px solid #76613b; border-radius: 50%; color: var(--jrb-gold-light); }
  .jrb-hero__signature span { font-family: var(--jrb-serif); font-size: 3rem; letter-spacing: .1em; }
  .jrb-hero__signature small { font-size: .6rem; letter-spacing: .3em; }
  .jrb-products .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.25rem; }
}
@media (min-width: 64rem) {
  .jrb-products .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .jrb-products ul.products li.product:hover img, .woocommerce-page ul.products li.product:hover img { transform: none; }
}

.jrb-mini-cart__panel:focus-visible { outline: 2px solid var(--jrb-gold); outline-offset: 2px; }
.jrb-cart-feedback:not(:empty) { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 90; width: max-content; max-width: calc(100% - 2rem); padding: .7rem 1rem; border: 1px solid var(--jrb-gold); border-radius: .25rem; background: var(--jrb-ink); color: white; font-size: .85rem; text-align: center; }
.jrb-mini-cart__panel .checkout { font-weight: 700; }
/* Native Blocksy cards must retain their purchase controls on touch devices. */
.jrb-products .ct-woo-card-actions .button, .woocommerce-page .ct-woo-card-actions .button { opacity: 1; visibility: visible; transform: none; }

.jrb-cart-feedback { position: fixed; margin: 0; }
.jrb-cart-feedback:empty { width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* Editorial home: broad title and a separate invitation, with products close by. */
.jrb-hero__grid { grid-template-columns: minmax(0, 1fr); gap: .5rem; padding-block: clamp(1.5rem, 3vw, 3rem); }
.jrb-hero__lead { max-width: 26ch; margin: 0; font-size: 1rem; }
.jrb-hero__actions { margin-top: 1rem; }
.jrb-section { padding-block: clamp(1.75rem, 3vw, 3rem); }
.jrb-section-heading { margin-bottom: 1.5rem; }
.jrb-section-heading .jrb-eyebrow { display: none; }
@media (min-width: 48rem) {
  .jrb-hero__grid { grid-template-columns: minmax(0, 1.7fr) minmax(15rem, .8fr); gap: clamp(2rem, 6vw, 7rem); }
  .jrb-hero h1 { font-size: clamp(3.25rem, 4.5vw, 5.25rem); max-width: 15ch; }
  .jrb-hero__invitation { border-left: 1px solid #76613b; padding-left: clamp(1.5rem, 3vw, 3rem); }
}
/* Parent templates use the same shell as the home, header and footer. */
body .site-main > :is(.ct-container, .ct-container-narrow),
body .site-main > .hero-section > .entry-header { width: var(--jrb-shell); max-width: none; margin-inline: auto; }
body .site-main > :is(.ct-container, .ct-container-narrow) { padding-block: clamp(1.5rem, 3vw, 3rem); }
body .site-main > .hero-section { padding-block: 1.75rem 0; background: var(--jrb-paper); }
body .site-main > .hero-section .page-title { text-align: left; font-size: clamp(2rem, 3.5vw, 3.75rem); }
body .site-main > .hero-section .entry-header { text-align: left; }
body.woocommerce-page .entry-content > :is(.woocommerce, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout),
body.woocommerce-page .entry-content > .jrb-checkout-notice { max-width: none; width: 100%; }
body.woocommerce-page article > .entry-header .entry-title { font-size: clamp(2rem, 3.5vw, 3.75rem); }
body.woocommerce-page .entry-content > :is(.alignwide, .alignfull) { margin-inline: 0; }
body.woocommerce-page .woo-listing-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
body.woocommerce-page .woo-listing-top :is(.woocommerce-result-count, .woocommerce-ordering) { float: none; margin: 0; }
body.woocommerce-page .woo-listing-top .woocommerce-result-count { color: #625a4f; font-size: .9rem; }
body.woocommerce-page .woo-listing-top .woocommerce-ordering { max-width: 100%; }
body.woocommerce-page .woo-listing-top select { width: 100%; max-width: 100%; }
body.woocommerce-page .woocommerce-ordering select { min-height: 2.85rem; font-size: .85rem; border-radius: .25rem; }
/* Presentation only: retain taxonomies/SKUs in WooCommerce, remove public distractions. */
.single-product .product_meta,
.single-product .ct-breadcrumbs,
.single-product .woocommerce-breadcrumb,
.woocommerce-page ul.products .entry-meta,
.jrb-products ul.products .entry-meta { display: none; }
.tax-product_cat .hero-section, .tax-product_tag .hero-section { display: none; }
ul.products li.product { display: flex; flex-direction: column; }
ul.products li.product > figure { width: 100%; margin: 0; }
ul.products li.product > .ct-woo-card-actions { margin-top: auto; padding-top: .35rem; }
ul.products li.product .ct-woo-card-actions .button { min-height: 3rem; line-height: 1.35; white-space: normal; }
ul.products li.product .ct-woo-card-actions .added_to_cart { min-height: 2.75rem; font-size: .8rem; }
/* Product details keep the native add-to-cart/variation forms intact. */
.single-product .product-entry-wrapper { gap: clamp(1.5rem, 5vw, 6rem); }
.single-product .summary { min-width: 0; }
.single-product div.product .product_title { font-size: clamp(2rem, 3.4vw, 4rem); line-height: 1.05; }
.jrb-product-brand { margin: 0 0 .65rem; color: #806025; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.single-product .entry-summary-items > .jrb-product-brand { margin-bottom: .65rem; }
.single-product .entry-summary-items > :is(.price, .woocommerce-product-details__short-description, .jrb-product-attributes) { margin-bottom: 1.15rem; }
.jrb-product-attributes { gap: .75rem 1.5rem; }
.jrb-product-attributes > div { padding: 0; border: 0; }
.jrb-product-attributes dt { letter-spacing: .04em; }
.jrb-product-attributes dd { font-size: .95rem; }
.single-product .ct-cart-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.single-product .ct-cart-actions .quantity { flex: 0 0 7rem; order: 0; }
.single-product .ct-cart-actions .single_add_to_cart_button { flex: 1 1 12rem; order: 1; min-height: 3.1rem; }
.single-product .stock { font-size: .85rem; }
.jrb-product-story { margin-block: clamp(2rem, 4vw, 4rem); padding-block: 1.5rem; border-block: 1px solid var(--jrb-border); }
.jrb-product-story h2 { font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
.jrb-product-story > :not(h2) { max-width: 75ch; line-height: 1.8; }
.single-product .woocommerce-tabs { margin-block: 2rem; }
.single-product .woocommerce-tabs .tabs { flex-wrap: wrap; }
.single-product .woocommerce-tabs .tabs li a { min-height: 2.75rem; padding: .75rem 1rem; font-size: .95rem; }
.single-product .woocommerce-tabs .panel { padding-block: 1.5rem; }
.single-product .woocommerce-tabs .panel h2 { font-size: clamp(1.5rem, 2.5vw, 2.25rem); }
.single-product .woocommerce-tabs .panel > p { max-width: 75ch; line-height: 1.8; }
.single-product .woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.single-product .woocommerce-product-attributes :is(th, td) { padding: .85rem; text-align: left; border-bottom: 1px solid var(--jrb-border); overflow-wrap: anywhere; }
.jrb-checkout-notice { padding: .85rem 1rem; border-left-width: 2px; border-radius: 0 .25rem .25rem 0; }
.jrb-checkout-notice strong { font-size: .9rem; }
/* Mini-cart inherits native links and fragments; only geometry and surfaces change. */
.jrb-mini-cart__panel { border-color: #d6ccb9; padding: 1rem; }
.jrb-mini-cart__panel .mini_cart_item { display: flex; gap: .85rem; align-items: start; padding: .85rem 2rem .85rem 0; }
.jrb-mini-cart__panel .mini_cart_item .ct-media-container { flex: 0 0 3.5rem; width: 3.5rem; }
.jrb-mini-cart__panel .mini_cart_item img { float: none; width: 3.5rem; margin: 0; }
.jrb-mini-cart__panel .product-data { flex: 1; min-width: 0; }
.jrb-mini-cart__panel .product-title { font-family: var(--jrb-serif); font-size: 1.1rem; overflow-wrap: anywhere; }
.jrb-mini-cart__panel .buttons { display: grid; grid-template-columns: 1fr; }
.jrb-mini-cart__panel .buttons .button { justify-content: center; width: 100%; }
.jrb-mini-cart__panel .buttons .button:not(.checkout) { background: var(--jrb-ivory); border: 1px solid var(--jrb-border); }
.jrb-mini-cart__panel > .jrb-text-link { font-size: .72rem; }
/* Cart and checkout Blocks, plus classic renderer: never hide functional fields. */
.wc-block-cart, .wc-block-checkout { font-size: 1rem; margin-bottom: 0; }
.wc-block-components-sidebar-layout { gap: clamp(1.5rem, 4vw, 4rem); align-items: flex-start; }
.wc-block-components-sidebar-layout .wc-block-components-main { flex: 1 1 0; width: auto; padding-right: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { flex: 0 1 25rem; width: 34%; padding: 1.25rem; border: 1px solid var(--jrb-border); border-radius: .5rem; background: var(--jrb-ivory); }
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--jrb-serif); font-size: 1.6rem; font-weight: 400; text-transform: none; letter-spacing: -.02em; }
.wc-block-components-checkout-step { padding-bottom: 1.5rem; }
.wc-block-components-checkout-step__heading { margin-bottom: 1rem; }
.wc-block-components-text-input input, .wc-blocks-components-select__select { border-radius: .25rem; border-color: #9c927f; font-size: 1rem; }
.wc-block-components-radio-control__option { min-height: 3rem; }
.wc-block-components-radio-control__label { overflow-wrap: anywhere; }
.wc-block-cart-items__header th { color: #625a4f; font-size: .7rem; letter-spacing: .08em; }
.wc-block-cart-item__product .wc-block-components-product-name { font-family: var(--jrb-serif); font-size: 1.25rem; color: var(--jrb-ink); }
.wc-block-components-quantity-selector { min-height: 2.85rem; border-radius: .25rem; }
.wc-block-cart-item__remove-link { min-height: 2.75rem; text-underline-offset: .2em; }
.wc-block-components-totals-item__value { font-variant-numeric: tabular-nums; }
.wc-block-components-button:not(.is-link) { min-height: 3.1rem; border-radius: .25rem; font-weight: 600; }
.wc-block-components-notice-banner { border-radius: .25rem; font-size: .9rem; }
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order { padding: clamp(1rem, 2vw, 2rem); border: 1px solid var(--jrb-border); border-radius: .5rem; }
.cart_totals, .woocommerce-checkout-review-order { background: var(--jrb-ivory); }
.woocommerce table.shop_table { border-collapse: collapse; border-color: var(--jrb-border); }
.woocommerce table.shop_table :is(td, th) { padding: 1rem .75rem; overflow-wrap: anywhere; }
/* Order received retains native order data, banking instructions and customer details. */
.woocommerce-order { max-width: none; }
.woocommerce-order > .woocommerce-notice { padding: 1.25rem; border-left: 3px solid var(--jrb-gold); background: var(--jrb-ivory); font-family: var(--jrb-serif); font-size: clamp(1.25rem, 2vw, 1.75rem); }
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); padding: 0; gap: 1rem; margin: 1.5rem 0 2rem; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 1rem; border: 1px solid var(--jrb-border); border-radius: .25rem; overflow-wrap: anywhere; font-size: .75rem; }
.woocommerce ul.order_details li strong { margin-top: .4rem; font-size: 1rem; }
.woocommerce-order :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details) { margin-top: 2rem; }
.woocommerce-order :is(h2, h3) { font-size: clamp(1.5rem, 2vw, 2rem); }
.woocommerce .woocommerce-customer-details address { padding: 1.25rem; border: 1px solid var(--jrb-border); border-radius: .5rem; line-height: 1.8; overflow-wrap: anywhere; }
.woocommerce-order table { width: 100%; }
@media (max-width: 47.99rem) {
  .wc-block-components-sidebar-layout { display: flex; flex-direction: column; gap: 1.5rem; }
  .wc-block-components-sidebar-layout .wc-block-components-main,
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100%; flex-basis: auto; }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 1rem; }
  .single-product .product-entry-wrapper { display: flex; flex-direction: column; }
  .single-product .product-entry-wrapper > * { width: 100%; min-width: 0; }
  .woocommerce ul.order_details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce table.shop_table :is(td, th) { padding: .75rem .4rem; font-size: .85rem; }
}
@media (min-width: 85rem) {
  .single-product .product-entry-wrapper { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
  .wc-block-components-sidebar-layout .wc-block-components-sidebar { flex-basis: 29rem; }
}
/* WooCommerce pages may use Blocksy's full-width article plus constrained blocks. */
body.woocommerce-page .site-main > .ct-container-full { width: var(--jrb-shell); max-width: none; margin-inline: auto; padding-block: clamp(1.5rem, 3vw, 3rem); }
body.woocommerce-page .site-main article > .entry-header { width: 100%; max-width: none; margin-inline: 0; text-align: left; }
body.woocommerce-page .entry-content { --theme-block-max-width: 100%; --theme-block-wide-max-width: 100%; }
body.woocommerce-page .entry-content > :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .jrb-checkout-notice) { width: 100%; max-width: none; margin-inline: 0; }
@media (min-width: 48rem) { .woocommerce-order .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; } .woocommerce-order .woocommerce-column { width: auto; float: none; } }
.jrb-mini-cart__panel .product-data .product-title { color: var(--jrb-ink); }
/* Keep editorial information pages on the shared shell without widening prose. */
body.page:not(.woocommerce-page) .site-main > .ct-container-full { width: var(--jrb-shell); margin-inline: auto; }
body.page:not(.woocommerce-page) .entry-content > :is(p, ul, ol) { max-width: 75ch; }
.woocommerce .woocommerce-order ul.order_details { border: 0; background: transparent; }
.woocommerce .woocommerce-order ul.order_details li { padding: 1rem; border: 1px solid var(--jrb-border); }
.woocommerce-order > .woocommerce-notice--success::before { content: none; }

/* Blocksy type-2 headers otherwise reserve 250px plus their own inner padding. */
body:is(.post-type-archive-product, .search) .site-main .hero-section {
  --min-height: 0; --container-padding: 0; --alignment: left;
  --vertical-alignment: flex-start; --theme-heading-color: var(--jrb-ink);
  margin-bottom: 0; padding-block: 1.5rem 0; background: var(--jrb-paper);
}
body:is(.post-type-archive-product, .search) .site-main .hero-section > :is(.ct-container, .ct-container-narrow) {
  width: var(--jrb-shell); max-width: none; min-height: 0; padding-block: 0;
  margin-inline: auto; text-align: left;
}
body:is(.post-type-archive-product, .search) .site-main .hero-section .page-title {
  margin: 0; color: var(--jrb-ink); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.15; overflow-wrap: anywhere;
}
/* Avoid compounding the parent gallery/summary margins with the JRB column gap. */
@media (max-width: 47.99rem) {
  .single-product .product-entry-wrapper { gap: 1.5rem; }
  .single-product .product-entry-wrapper > :is(.woocommerce-product-gallery, .entry-summary) { margin-block: 0; }
  .wc-block-cart .wc-block-components-sidebar { padding: 0; }
  .wc-block-cart .wc-block-cart__totals-title { padding: 1rem; margin: 0; }
  .wc-block-cart .wc-block-components-totals-wrapper { padding-block: 1rem; }
  .wc-block-cart :is(.wc-block-components-totals-item, .wc-block-components-totals-coupon) { padding-inline: 1rem; }
  .wc-block-cart .wc-block-components-totals-item .wc-block-components-totals-item { padding-inline: 0; }
  .wc-block-cart .wc-block-components-totals-item__description { padding-top: .5rem; line-height: 1.6; }
  .wc-block-cart .wc-block-cart__submit-container { padding: 1rem; }
  .wc-block-cart .wc-block-components-totals-coupon__form { flex-wrap: wrap; gap: .75rem; }
  .wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input { min-width: 0; flex: 1 1 10rem; }
}
