/* WooCommerce skin. No checkout DOM reconstruction, commerce JS or template PHP copies. */
.wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.5rem 1.5rem; list-style: none; padding: 0; margin: 0;
}
.wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid > li { min-width: 0; width: auto; margin: 0; }
.pa-product-card { min-width: 0; }
.pa-product-card > * + * { margin-block-start: .75rem; }
.pa-product-media { position: relative; background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--small); overflow: hidden; }
.pa-product-media::after { content: 'View painting'; position: absolute; inset-inline: 1rem; inset-block-end: 1rem; z-index: 2; padding: .6rem .75rem; color: #fff; background: rgba(23,19,15,.9); text-align: center; font-size: .68rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(6px); transition: opacity 180ms ease, transform 180ms ease; pointer-events: none; }
.pa-product-card:hover .pa-product-media::after,
.pa-product-card:focus-within .pa-product-media::after { opacity: 1; transform: translateY(0); }
.pa-product-media img { aspect-ratio: 4 / 5; width: 100%; height: auto; object-fit: contain; display: block; }
.pa-product-name { margin-block: 1rem .4rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.4rem; line-height: 1.3; font-weight: 400; }
.pa-product-name a { color: inherit; text-decoration: none; }
.pa-product-name a:hover { text-decoration: underline; }
.pa-product-price { font-size: .9rem; color: var(--wp--preset--color--foreground); }
.pa-product-action { margin-block-start: .85rem; }
.pa-product-action .wp-block-button__link { padding: .65rem 1rem; font-size: .8125rem; min-height: 44px; }
.pa-catalog-header { gap: 2rem; align-items: end; padding-block-end: 2rem; border-bottom: 1px solid var(--wp--preset--color--border); }
.pa-catalog-header .wp-block-query-title { margin: .6rem 0 0; }
.ochre-catalog-intro { max-inline-size: 54ch; margin: 1.25rem 0 0; color: var(--wp--preset--color--muted); }
.ochre-category-nav { display: flex; gap: .55rem; margin-block: 1.75rem .5rem; padding-block-end: .65rem; overflow-x: auto; scrollbar-width: thin; }
.ochre-category-nav a { display: inline-flex; align-items: center; gap: .55rem; flex: 0 0 auto; min-block-size: 42px; padding: .55rem .85rem; color: var(--wp--preset--color--foreground); background: transparent; border: 1px solid var(--wp--preset--color--border); text-decoration: none; font-size: .75rem; }
.ochre-category-nav a:hover,
.ochre-category-nav a.is-current { color: #fff; background: var(--wp--preset--color--foreground); border-color: var(--wp--preset--color--foreground); }
.ochre-category-nav small { display: grid; place-items: center; min-inline-size: 1.35rem; block-size: 1.35rem; padding-inline: .3rem; background: rgba(128,128,128,.18); border-radius: 1rem; font-size: .65rem; }
.pa-catalog-search { width: min(100%, 300px); }
.pa-catalog-toolbar { gap: 1rem; margin-block: 1.75rem 2rem; }
.pa-catalog-toolbar :where(p, form) { margin: 0; }
.pa-catalog-toolbar select { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--foreground); border: 1px solid var(--wp--custom--control-border); min-height: 44px; padding: .6rem; border-radius: 4px; font: inherit; font-size: .875rem; max-width: 100%; }

/* Shopify collection layout: editorial heading, filter rail and four-column results. */
.pa-catalog.pa-shell { width: min(calc(100% - 5rem), 1920px); max-width: none; padding-block: clamp(4.5rem, 7vw, 7rem); }
.pa-catalog > .woocommerce-breadcrumb,
.pa-catalog > .wp-block-woocommerce-breadcrumbs { display: none; }
.pa-catalog .pa-catalog-header { display: block; padding: 0; border: 0; }
.pa-catalog-heading { max-width: 31rem; }
.pa-catalog-header .wp-block-query-title { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 2.25rem; font-weight: 400; line-height: 1.2; }
.pa-catalog .ochre-catalog-intro { max-width: 29rem; margin: 1.5rem 0 0; color: #171717; font-family: var(--wp--preset--font-family--serif); font-size: 1.0625rem; line-height: 1.45; }
.pa-catalog .ochre-catalog-intro p { margin: 0; }
.pa-catalog .pa-catalog-toolbar { align-items: center; margin: 3.75rem 0 1.5rem; }
.pa-catalog .woocommerce-result-count { color: #777; font-size: .875rem; }
.pa-catalog .woocommerce-ordering { display: flex; align-items: center; min-height: 44px; padding-left: .8rem; border: 1px solid #dedede; }
.pa-catalog .woocommerce-ordering::before { content: 'Sort by'; flex: none; margin-right: .45rem; color: #888; font-size: .875rem; }
.pa-catalog .woocommerce-ordering select { min-width: 150px; min-height: 42px; padding: 0 2rem 0 0; background: #fff; border: 0; border-radius: 0; font-size: .9rem; }
.ochre-catalog-body { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: start; gap: 3rem; }
.ochre-catalog-body.is-empty { grid-template-columns: minmax(0, 1fr); gap: 0; }
.ochre-catalog-body.is-empty .pa-empty { max-width: 34rem; padding-block: 1.5rem 0; }
.ochre-catalog-results { min-width: 0; }
.ochre-catalog-filters { position: sticky; top: 7rem; min-width: 0; }
@media (min-width: 1024px) {
    .ochre-catalog-filters { max-height: calc(100dvh - 8rem); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-width: thin; }
}
.ochre-catalog-filters__toggle { border-block: 1px solid #e5e5e5; }
.ochre-catalog-filters summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: .5rem 0; font-size: .875rem; list-style: none; cursor: pointer; }
.ochre-catalog-filters summary::-webkit-details-marker { display: none; }
.ochre-catalog-filters summary > .ochre-down-chevron { margin-inline: .35rem; }
.ochre-catalog-filters details[open] > summary > .ochre-down-chevron { transform: translateY(2px) rotate(225deg); }
.ochre-catalog-filters__toggle > summary { font-weight: 600; }
.ochre-catalog-filters__body { padding-bottom: .5rem; }
.ochre-catalog-filters__body > details { border-top: 1px solid #e5e5e5; }
.ochre-catalog-filter-options { display: grid; gap: .15rem; padding: 0 0 1rem; }
.ochre-catalog-filter-options a { display: flex; justify-content: space-between; padding: .35rem 0; color: #777; font-size: .82rem; text-decoration: none; }
.ochre-catalog-filter-options a:hover,
.ochre-catalog-filter-options a.is-current { color: #111; }
.ochre-catalog-filter-options small { font-size: .72rem; }
.ochre-price-filter { display: grid; grid-template-columns: 1fr auto 1fr 40px; align-items: center; gap: .4rem; padding-bottom: 1rem; }
.ochre-price-filter input { width: 100%; min-width: 0; height: 40px; padding: 0 .5rem; border: 1px solid #d6d6d6; font: inherit; font-size: .8rem; }
.ochre-price-filter button { width: 40px; height: 40px; padding: 0; color: #111; background: #fff; border: 1px solid #111; font: inherit; cursor: pointer; }
.ochre-orientation-filter { display: flex; align-items: end; justify-content: space-between; gap: .6rem; padding: .25rem 0 1rem; }
.ochre-orientation-filter span { display: grid; justify-items: center; gap: .4rem; color: #777; font-size: .68rem; }
.ochre-orientation-filter i { display: block; border: 1px solid currentColor; }
.ochre-orientation-filter .is-landscape { width: 42px; height: 28px; }
.ochre-orientation-filter .is-portrait { width: 28px; height: 42px; }
.ochre-orientation-filter .is-square { width: 34px; height: 34px; }
.pa-catalog .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem 1.25rem; }
.pa-catalog .pa-product-action { display: none; }
.pa-catalog .wp-block-query-pagination { grid-column: 1 / -1; justify-content: center; gap: .75rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); font-family: var(--wp--preset--font-family--sans); font-size: .82rem; }
.pa-catalog .wp-block-query-pagination > * { margin: 0; }
.pa-catalog .wp-block-query-pagination-numbers { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; justify-content: center; }
.pa-catalog .wp-block-query-pagination :is(a, .current) { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--wp--preset--color--border); border-radius: 8px; color: var(--wp--preset--color--foreground); background: transparent; text-decoration: none; transition: background-color .15s ease, border-color .15s ease; }
.pa-catalog .wp-block-query-pagination .current { color: var(--wp--preset--color--surface); background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); font-weight: 600; }
.pa-catalog .wp-block-query-pagination a:hover { background: var(--wp--preset--color--canvas); border-color: var(--wp--preset--color--primary); }
.pa-catalog .wp-block-query-pagination a:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; }
.pa-catalog .wp-block-query-pagination .dots { padding-inline: .2rem; color: var(--wp--preset--color--muted); }
.pa-catalog .wp-block-query-pagination-previous::before { content: '←'; margin-right: .5rem; }
.pa-catalog .wp-block-query-pagination-next::after { content: '→'; margin-left: .5rem; }
.pa-product-layout { gap: clamp(2rem, 5vw, 5rem); align-items: flex-start; }
.pa-product-layout .wp-block-column { min-width: 0; }
.pa-product-summary { align-self: flex-start; }
.pa-product-summary > * + * { margin-block-start: 1.4rem; }
.pa-product-summary .wp-block-post-title { font-size: clamp(2.2rem, 4vw, 3.4rem); margin-block-start: 0; }
.pa-single-price { font-size: 1.5rem; }
.pa-single-price del ~ ins::after { content: '−40%'; display: inline-flex; align-items: center; margin-inline-start: .55rem; padding: .22rem .42rem; color: #8b2c22; background: #f8e9e4; border-radius: 99px; font-family: var(--wp--preset--font-family--sans); font-size: .62rem; font-weight: 650; letter-spacing: .04em; line-height: 1; vertical-align: middle; }
.pa-single-excerpt { color: var(--wp--preset--color--muted); }
.pa-product-meta { padding-block-start: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); font-size: .8125rem; color: var(--wp--preset--color--muted); }
.pa-product-meta a { color: inherit; }
.pa-product-details { margin-block-start: 4rem; padding-block-start: 2rem; border-top: 1px solid var(--wp--preset--color--border); }
.pa-related { margin-block-start: 4rem; }
.pa-product-page :where(.woocommerce-product-gallery) { background: var(--wp--preset--color--surface); }
/* The stable Add to Cart Form block renders Woo's own variation/quantity controls. */
.pa-product-summary :where(.single_add_to_cart_button) { min-height: 48px; border-radius: var(--wp--custom--radius--small); background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); font: inherit; padding: .8rem 1.5rem; border: 1px solid var(--wp--preset--color--primary); cursor: pointer; }
.pa-product-summary :where(.single_add_to_cart_button):hover { background: var(--wp--preset--color--foreground); }
.pa-product-summary :where(.single_add_to_cart_button):disabled { opacity: .5; cursor: not-allowed; }
.pa-product-summary :where(.qty, select) { min-height: 48px; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--surface); border: 1px solid var(--wp--custom--control-border); border-radius: var(--wp--custom--radius--small); padding: .6rem; font: inherit; max-width: 100%; }
.pa-product-summary .qty { width: 5rem; }
.pa-product-summary .variations { width: 100%; }
.pa-product-summary .variations th { text-align: start; padding-inline-end: 1rem; }
.pa-product-summary .variations td { padding-block: .4rem; }
.pa-product-summary .variations .ochre-native-option { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ochre-options { min-inline-size: 0; margin: 1.5rem 0 0; padding: 0; border: 0; }
.ochre-options legend,
.ochre-frame-label { inline-size: 100%; margin: 0 0 .75rem; padding: 0; color: var(--wp--preset--color--foreground); font-family: var(--wp--preset--font-family--sans); font-size: .78rem; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.ochre-frame-label { margin-block-start: 1.1rem; }
.ochre-choice-grid { display: grid; gap: .65rem; }
.ochre-choice-grid--size,
.ochre-choice-grid--finish { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ochre-choice-grid--frames { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ochre-choice { position: relative; display: flex; align-items: center; justify-content: center; gap: .55rem; min-block-size: 52px; padding: .7rem .8rem; color: var(--wp--preset--color--foreground); background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 2px; font: inherit; font-size: .82rem; line-height: 1.25; cursor: pointer; transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.ochre-choice:hover { border-color: var(--wp--preset--color--foreground); }
.ochre-choice:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.ochre-choice.is-selected { border-color: var(--wp--preset--color--foreground); box-shadow: inset 0 0 0 1px var(--wp--preset--color--foreground); background: #faf9f6; }
.ochre-choice.is-selected::after { content: '\2713'; position: absolute; inset-block-start: .25rem; inset-inline-end: .35rem; font-size: .7rem; }
.ochre-choice--frame { flex-direction: column; padding: .45rem; min-block-size: 96px; }
.ochre-choice--frame img { display: block; inline-size: 100%; block-size: 54px; object-fit: cover; border-radius: 1px; }
.ochre-choice--frame span { inline-size: 100%; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.pa-product-summary .reset_variations { display: inline-block; margin-block-start: .65rem; color: var(--wp--preset--color--muted); font-size: .78rem; }
.pa-product-summary .woocommerce-variation { min-block-size: 2rem; margin-block: 1rem; }
.pa-product-summary .woocommerce-variation-price { font-size: 1.35rem; }
.pa-product-summary .woocommerce-variation-availability { color: var(--wp--preset--color--muted); font-size: .82rem; }
.pa-product-summary .woocommerce-variation-availability p { margin: .3rem 0 0; }
.pa-product-summary .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
.pa-product-summary .woocommerce-variation-add-to-cart .single_add_to_cart_button { inline-size: 100%; }
.ochre-mobile-buy { display: none; }
.ochre-purchase-tools { margin-block-start: 1.1rem; }
.ochre-size-guide-trigger { padding: 0; color: var(--wp--preset--color--foreground); background: transparent; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .8rem; cursor: pointer; }
.ochre-finish-preview { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: 1rem; margin-block: 1rem; padding: .75rem; background: #f5f2ec; }
.ochre-finish-preview[hidden] { display: none; }
.ochre-finish-preview__mount { display: grid; place-items: center; inline-size: 72px; block-size: 72px; padding: 8px; background: #ded9cf; }
.ochre-finish-preview__mount.has-frame { padding: 9px; background-image: var(--ochre-frame-texture); background-repeat: repeat; background-size: 32px 32px; box-shadow: inset 0 0 0 2px rgba(0,0,0,.15); }
.ochre-finish-preview__mount img { display: block; max-inline-size: 100%; max-block-size: 100%; object-fit: contain; box-shadow: 0 1px 5px rgba(0,0,0,.18); }
.ochre-finish-preview small { display: block; margin-block-end: .25rem; color: var(--wp--preset--color--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.ochre-finish-preview strong { font-family: var(--wp--preset--font-family--serif); font-size: 1.05rem; font-weight: 400; }
.ochre-product-promises { display: grid; gap: 0; margin-block: 1.25rem; border-block: 1px solid var(--wp--preset--color--border); }
.ochre-product-promises > div { display: grid; grid-template-columns: 1.5rem 1fr; gap: .65rem; padding-block: .75rem; }
.ochre-product-promises > div + div { border-top: 1px solid var(--wp--preset--color--border); }
.ochre-product-promises span { padding-block-start: .1rem; color: #8a7142; }
.ochre-product-promises p { margin: 0; }
.ochre-product-promises strong,
.ochre-product-promises small { display: block; }
.ochre-product-promises strong { font-size: .82rem; }
.ochre-product-promises small { margin-block-start: .12rem; color: var(--wp--preset--color--muted); font-size: .75rem; }
.ochre-product-policy { border-bottom: 1px solid var(--wp--preset--color--border); }
.ochre-product-policy summary { position: relative; padding: .85rem 1.5rem .85rem 0; font-size: .8rem; font-weight: 600; cursor: pointer; list-style: none; }
.ochre-product-policy summary::-webkit-details-marker { display: none; }
.ochre-product-policy summary::after { content: '+'; position: absolute; inset-inline-end: .15rem; font-size: 1.1rem; font-weight: 400; }
.ochre-product-policy[open] summary::after { content: '−'; }
.ochre-product-policy p { margin: 0 0 1rem; color: var(--wp--preset--color--muted); font-size: .78rem; line-height: 1.65; }
.ochre-size-guide[hidden] { display: none; }
.ochre-size-guide { position: fixed; z-index: 9999; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; }
.ochre-size-guide__backdrop { position: absolute; inset: 0; background: rgba(20,20,18,.58); }
.ochre-size-guide__dialog { position: relative; z-index: 1; display: flex; flex-direction: column; inline-size: min(1000px, 100%); block-size: min(800px, calc(100dvh - 48px)); max-block-size: 800px; overflow: hidden; padding: 0; background: #fff; box-shadow: 0 20px 70px rgba(0,0,0,.24); }
.ochre-sg-header { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; min-block-size: 68px; padding: 0 32px; border-block-end: 1px solid #e4e4e1; background: #fff; }
.ochre-size-guide__dialog .ochre-sg-header h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.2; }
.ochre-size-guide__close { position: static; inline-size: 44px; block-size: 44px; margin-inline-end: -12px; padding: 0; color: inherit; background: transparent; border: 0; border-radius: 0; font: 400 1.65rem/1 sans-serif; cursor: pointer; }
.ochre-sg-body { display: grid; grid-template-columns: minmax(0, 57%) minmax(0, 43%); flex: 1 1 auto; min-block-size: 0; overflow: hidden; }
.ochre-sg-stage-wrap { display: flex; flex-direction: column; justify-content: center; min-inline-size: 0; min-block-size: 0; overflow: hidden; background: #eef0ec; }
.ochre-sg-stage { position: relative; inline-size: 100%; aspect-ratio: 10 / 7; overflow: hidden; }
@media (min-width: 768px) {
    .ochre-sg-stage-wrap { justify-content: stretch; }
    .ochre-sg-stage { flex: 1 1 auto; align-self: center; inline-size: auto; min-block-size: 0; aspect-ratio: 10 / 7; }
}
.ochre-sg-world { position: absolute; inset: 0 auto auto 0; inline-size: 1000px; block-size: 700px; transform-origin: left top; }
.ochre-sg-floor { position: absolute; inset: 560px 0 0; background: linear-gradient(180deg, #e9e8e1, #d9d7ce); border-block-start: 2px solid rgba(99,96,86,.1); }
.ochre-sg-wall { position: absolute; background: rgba(255,255,255,.25); border: 3px dashed rgba(91,89,82,.35); }
.ochre-sg-furniture { position: absolute; display: block; max-inline-size: none; filter: drop-shadow(0 8px 7px rgba(75,72,63,.12)); }
.ochre-sg-furniture[hidden], .ochre-sg-wall[hidden] { display: none; }
.ochre-sg-art { position: absolute; box-sizing: content-box; overflow: hidden; background: #fff; border: 8px solid transparent; border-image-slice: 70; border-image-repeat: stretch; box-shadow: 0 7px 11px rgba(66,62,53,.18); }
.ochre-sg-art img { display: block; inline-size: 100%; block-size: 100%; object-fit: fill; }
.ochre-sg-caption { min-block-size: 36px; margin: 0; padding: 8px 16px; color: #65655f; background: rgba(255,255,255,.84); font-size: .78rem; text-align: center; }
.ochre-sg-controls { display: flex; flex-direction: column; gap: 20px; min-block-size: 0; padding: 24px 32px 32px; overflow-y: auto; }
.ochre-sg-controls label { display: block; margin-block-end: 10px; font-size: .82rem; font-weight: 600; }
.ochre-sg-sizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ochre-sg-sizes button { display: flex; flex-direction: column; gap: 4px; min-block-size: 90px; padding: 12px; color: inherit; background: #fff; border: 1px solid #d8d8d4; font: inherit; text-align: start; cursor: pointer; }
.ochre-sg-sizes button b { font-size: .9rem; font-weight: 500; }
.ochre-sg-sizes button span { color: #777772; font-size: .75rem; }
.ochre-sg-sizes button strong { margin-block-start: auto; font-size: .8rem; font-weight: 600; }
.ochre-sg-sizes button strong :where(.price, .amount) { font: inherit; }
.ochre-sg-sizes button[aria-pressed="true"], .ochre-sg-pills button[aria-pressed="true"] { border-color: #151513; box-shadow: inset 0 0 0 1px #151513; }
.ochre-sg-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ochre-sg-pills button { min-block-size: 44px; padding: 9px 14px; color: #6c6c68; background: #fff; border: 1px solid #d8d8d4; font: inherit; font-size: .82rem; cursor: pointer; }
.ochre-sg-pills button[aria-pressed="true"] { color: #111; }
.ochre-sg-control-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.ochre-sg-control-heading .ochre-sg-pills { flex-wrap: nowrap; }
.ochre-sg-control-heading label { margin-block-end: 10px; }
.ochre-sg-stepper { display: grid; grid-template-columns: 46px minmax(0, 1fr) 46px; block-size: 46px; border: 1px solid #d8d8d4; }
.ochre-sg-stepper button, .ochre-sg-stepper input { min-inline-size: 0; padding: 0; color: inherit; background: #fff; border: 0; font: inherit; text-align: center; }
.ochre-sg-stepper button { cursor: pointer; }
.ochre-sg-stepper input { border-inline: 1px solid #e2e2df; appearance: textfield; }
.ochre-sg-stepper input::-webkit-inner-spin-button { appearance: none; }
.ochre-sg-measure { display: flex; justify-content: space-between; gap: 16px; padding-block-start: 8px; color: #898984; font-size: .72rem; }
.ochre-sg-reference { margin: -5px 0 0; color: #777772; font-size: .74rem; line-height: 1.55; }
.ochre-sg-advice { padding: 14px 16px; color: #686863; background: #f6f3ed; font-size: .75rem; line-height: 1.55; }
.ochre-sg-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; flex: 0 0 auto; align-items: center; gap: 28px; min-block-size: 84px; padding: 14px 32px; border-block-start: 1px solid #e4e4e1; background: #fff; }
.ochre-sg-footer > div { display: flex; flex-direction: column; gap: 5px; min-inline-size: 0; }
.ochre-sg-footer strong { font-size: .95rem; }
.ochre-sg-footer small { display: flex; gap: 12px; color: #888883; font-size: .75rem; }
.ochre-sg-footer button { min-block-size: 50px; padding: 0 22px; color: #fff; background: #090909; border: 1px solid #090909; font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer; }
.ochre-sg-footer button:disabled { opacity: .45; cursor: not-allowed; }
.ochre-eyebrow { margin: 0; font-size: .7rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; }
.ochre-scale-room { position: relative; display: flex; justify-content: center; align-items: flex-start; block-size: 260px; margin-block: 1.75rem 1rem; padding-block-start: 2rem; overflow: hidden; background: linear-gradient(#ded7ca 0 72%, #b9a98e 72% 75%, #d7c8b0 75%); }
.ochre-scale-room::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 14%, rgba(255,255,255,.28) 14% 15%, transparent 15%); }
.ochre-scale-art { position: relative; z-index: 1; display: grid; place-items: center; aspect-ratio: 4 / 3; max-block-size: 115px; color: rgba(255,255,255,.92); background: #837053; border: 5px solid #453a2c; box-shadow: 0 6px 13px rgba(0,0,0,.22); transition: width 220ms ease; }
.ochre-scale-art span { padding: .3rem; background: rgba(0,0,0,.42); font-size: .67rem; }
.ochre-scale-sofa { position: absolute; z-index: 1; inset-block-end: 22px; inline-size: 62%; block-size: 76px; background: #837b70; border-radius: 22px 22px 4px 4px; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.ochre-scale-sofa::before,
.ochre-scale-sofa::after { content: ''; position: absolute; inset-block-end: -18px; inline-size: 8px; block-size: 20px; background: #423d36; }
.ochre-scale-sofa::before { inset-inline-start: 12%; }
.ochre-scale-sofa::after { inset-inline-end: 12%; }
.ochre-size-guide__choices { display: flex; flex-wrap: wrap; gap: .6rem; }
.ochre-size-guide__choices button { min-block-size: 44px; padding: .65rem 1rem; color: inherit; background: #fff; border: 1px solid var(--wp--preset--color--border); font: inherit; cursor: pointer; }
.ochre-size-guide__choices button.is-selected { border-color: currentColor; box-shadow: inset 0 0 0 1px currentColor; }
.ochre-size-guide__tip { margin-block-end: 0; padding-block-start: 1rem; border-top: 1px solid var(--wp--preset--color--border); font-size: .78rem; }
.ochre-frame-guide[hidden] { display: none; }
.ochre-frame-guide { position: fixed; z-index: 10010; inset: 0; display: grid; place-items: center; padding: 24px; }
.ochre-frame-guide__backdrop { position: absolute; inset: 0; width: 100%; padding: 0; background: rgb(20 20 18 / .58); border: 0; }
.ochre-frame-guide__dialog { position: relative; z-index: 1; width: min(860px, 100%); max-height: calc(100dvh - 48px); overflow-y: auto; background: #fff; box-shadow: 0 20px 70px rgb(0 0 0 / .24); }
.ochre-frame-guide__handle { display: none; }
.ochre-frame-guide__dialog > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 82px; padding: 18px 28px; background: #fff; border-bottom: 1px solid #e9e5df; }
.ochre-frame-guide__dialog > header small { display: block; margin-bottom: .25rem; color: #8c7046; font-size: .62rem; font-weight: 650; letter-spacing: .16em; }
.ochre-frame-guide__dialog > header h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.1; }
.ochre-frame-guide__close { flex: 0 0 42px; width: 42px; height: 42px; margin-right: -8px; padding: 0; color: #171717; background: transparent; border: 0; font: 300 1.8rem/1 sans-serif; cursor: pointer; }
.ochre-frame-guide__content { display: grid; grid-template-columns: minmax(0, 1fr); }
.ochre-frame-guide__visual { display: grid; place-items: center; align-content: center; gap: 1.25rem; min-height: 520px; padding: 3rem; background: #f1f2ee; }
.ochre-frame-guide__sample { display: grid; place-items: center; width: min(320px, 88%, calc(340px * var(--ochre-art-ratio, 1) + 50px)); padding: 9px; background: #e9e5de; border: 16px solid transparent; border-image-source: var(--ochre-frame-texture, url('../images/frame-oak.webp')); border-image-slice: 70; border-image-repeat: stretch; filter: drop-shadow(0 12px 18px rgb(35 31 26 / .18)); }
.ochre-frame-guide__sample img { display: block; width: 100%; height: auto; aspect-ratio: var(--ochre-art-ratio, 1); object-fit: cover; background: #fff; }
.ochre-frame-guide__visual > span { color: #766e64; font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ochre-frame-guide__copy { padding: 2.75rem 2.5rem; }
.ochre-frame-guide__copy h3 { margin: 0 0 1rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.8rem; font-weight: 400; line-height: 1.1; }
.ochre-frame-guide__copy p { margin: 0; color: #5f5a54; font-size: .82rem; line-height: 1.7; }
.ochre-frame-guide__finishes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; margin: 1.6rem 0; }
.ochre-frame-guide__finishes span { display: grid; justify-items: center; gap: .35rem; min-width: 0; }
.ochre-frame-guide__finishes img { width: 42px; height: 42px; object-fit: cover; border-radius: 50%; box-shadow: inset 0 0 0 1px rgb(0 0 0 / .08); }
.ochre-frame-guide__finishes small { color: #6d675f; font-size: .58rem; }
.ochre-frame-guide__copy ul { display: grid; gap: 0; margin: 1.25rem 0 0; padding: 0; list-style: none; border-top: 1px solid #e9e5df; }
.ochre-frame-guide__copy li { display: grid; gap: .65rem; padding: 1.25rem 0; border-bottom: 1px solid #e9e5df; }
.ochre-frame-guide__copy li strong { font-size: .76rem; font-weight: 650; }
.ochre-frame-guide__copy li span { color: #77716a; font-size: .7rem; line-height: 1.5; }
.ochre-frame-guide-trigger { display: inline-grid; place-items: center; width: 26px; height: 26px; margin-left: .6rem; padding: 0; color: #171717; background: transparent; border: 0; cursor: pointer; vertical-align: middle; }
.ochre-frame-guide-trigger svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.ochre-product-content .pa-product-summary > .ochre-frame-guide { box-sizing: border-box; width: 100vw !important; max-width: none; margin: 0; }
.ochre-modal-open { overflow: hidden; }
.ochre-cart-open { overflow: hidden; }
.ochre-cart-drawer { position: fixed; z-index: 10050; inset: var(--ochre-cart-viewport-top, 0px) 0 auto; width: 100%; height: var(--ochre-cart-viewport-height, 100dvh); margin: 0; visibility: hidden; pointer-events: none; }
.ochre-cart-drawer__scrim { position: absolute; inset: 0; width: 100%; padding: 0; background: rgb(0 0 0 / .34); border: 0; opacity: 0; transition: opacity .3s ease; }
.ochre-cart-drawer__panel { position: absolute; inset: 0 0 0 auto; display: flex; flex-direction: column; width: min(440px, 100%); height: 100%; background: #fff; box-shadow: -18px 0 45px rgb(0 0 0 / .12); transform: translateX(100%); transition: transform .3s ease; }
.ochre-cart-drawer.is-open { visibility: visible; pointer-events: auto; }
.ochre-cart-drawer.is-open .ochre-cart-drawer__scrim { opacity: 1; }
.ochre-cart-drawer.is-open .ochre-cart-drawer__panel { transform: translateX(0); }
.ochre-cart-drawer__panel > header { position: sticky; z-index: 2; top: 0; display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; min-height: 70px; padding: 0 22px; background: inherit; border-bottom: 1px solid #ededeb; }
.ochre-cart-drawer__panel > header h2 { display: flex; align-items: baseline; gap: 9px; margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.55rem; font-weight: 400; }
.ochre-cart-drawer__panel > header h2 small { font-family: var(--wp--preset--font-family--sans); font-size: .75rem; font-weight: 400; }
.ochre-cart-drawer__panel > header button { width: 44px; height: 44px; margin-right: -11px; padding: 0; color: #111; background: transparent; border: 0; font: 300 1.7rem/1 sans-serif; cursor: pointer; }
.ochre-cart-drawer__content { display: flex; flex: 1 1 auto; min-height: 0; flex-direction: column; }
.ochre-cart-drawer__error { flex: 0 0 auto; margin: 12px 24px; padding: 12px; color: #842c20; background: #fff0ec; border: 1px solid #e3b4a9; font-size: .82rem; line-height: 1.5; }
.ochre-cart-drawer__error[hidden] { display: none; }
.ochre-cart-drawer__items { flex: 1 1 auto; min-height: 0; padding: 22px; overflow-y: auto; }
.ochre-cart-item { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 16px; padding: 0 0 22px; }
.ochre-cart-item + .ochre-cart-item { padding-top: 22px; border-top: 1px solid #ededeb; }
.ochre-cart-item__image { display: flex; align-items: center; justify-content: center; width: 78px; height: 98px; overflow: hidden; background: #f0f2ee; }
.ochre-cart-item__image img { width: 100%; height: 100%; object-fit: contain; }
.ochre-cart-item__body { display: flex; min-width: 0; flex-direction: column; gap: 7px; }
.ochre-cart-item__title { color: #111; font-size: .82rem; line-height: 1.4; text-decoration: none; }
.ochre-cart-item__meta, .ochre-cart-item__meta :where(dl, dt, dd, p) { margin: 0; }
.ochre-cart-item__meta dl { display: flex; flex-wrap: wrap; color: #7b7b76; font-size: .72rem; }
.ochre-cart-item__meta dt:not(:first-child)::before { content: ' · '; margin-inline: 5px; }
.ochre-cart-item__meta dd p { display: inline; }
.ochre-cart-item__actions { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin-top: auto; }
.ochre-cart-item__quantity { display: grid; grid-template-columns: 29px 28px 29px; align-items: center; height: 32px; border: 1px solid #dededb; }
.ochre-cart-item__quantity button { height: 30px; padding: 0; background: #fff; border: 0; cursor: pointer; }
.ochre-cart-item__quantity span { font-size: .75rem; text-align: center; }
.ochre-cart-item__price { justify-self: end; font-size: .78rem; font-weight: 500; }
.ochre-cart-item__price :where(.amount, .price) { font: inherit; }
.ochre-cart-item__remove { width: 28px; height: 30px; padding: 0; color: #777; background: transparent; border: 0; font: 300 1.15rem/1 sans-serif; cursor: pointer; }
.ochre-cart-drawer__footer { flex: 0 0 auto; padding: 19px 22px 22px; border-top: 1px solid #ededeb; }
.ochre-cart-drawer__footer > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: .9rem; }
.ochre-cart-drawer__footer > div strong { font-size: .9rem; font-weight: 600; }
.ochre-cart-drawer__footer > p { margin: 8px 0 16px; color: #858580; font-size: .72rem; }
.ochre-cart-drawer__checkout { display: flex; align-items: center; justify-content: center; min-height: 50px; color: #fff; background: #080808; font-size: .84rem; font-weight: 600; text-decoration: none; }
.ochre-cart-drawer__view { display: block; margin-top: 13px; color: #111; font-size: .78rem; text-align: center; text-underline-offset: 4px; }
.ochre-cart-drawer__empty { display: flex; flex: 1; align-items: flex-start; justify-content: center; flex-direction: column; padding: 28px; }
.ochre-cart-drawer__empty p { margin: 0; color: #777; font-size: .86rem; }
.ochre-cart-drawer__empty a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 22px; padding: 0 25px; color: #111; border: 1px solid #111; font-size: .82rem; text-decoration: none; }
.ochre-cart-drawer__panel.is-updating .ochre-cart-drawer__content { opacity: .48; pointer-events: none; }
.ochre-cart-error { grid-column: 1 / -1; margin: .65rem 0 0; color: #9c2f23; font-size: .75rem; }
@media (max-width: 520px) {
    .ochre-cart-drawer__panel { width: 100%; }
    .ochre-cart-drawer__panel > header { min-height: 62px; padding-inline: 20px; }
    .ochre-cart-drawer__items { padding: 20px; }
    .ochre-cart-drawer__footer { padding: 17px 20px calc(18px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    .ochre-cart-drawer__scrim, .ochre-cart-drawer__panel { transition-duration: 0s; }
}

/* Refined cart drawer and a compact, familiar cart-control treatment. */
.ochre-cart-drawer__scrim { background: rgb(31 25 19 / .4); backdrop-filter: blur(2px); }
.ochre-cart-drawer__panel { width: min(430px, 100%); background: #fdfcf9; box-shadow: -20px 0 60px rgb(35 27 19 / .2); }
.ochre-cart-drawer__panel > header { min-height: 78px; padding: 0 24px; border-bottom: 1px solid #e9e5df; }
.ochre-cart-drawer__panel > header h2 { gap: .65rem; color: #211d19; font-size: 1.45rem; letter-spacing: -.02em; }
.ochre-cart-drawer__panel > header h2 small { display: grid; place-items: center; min-width: 22px; height: 22px; padding-inline: .4rem; color: #fff; background: #211d19; border-radius: 99px; font-size: .68rem; }
.ochre-cart-drawer__panel > header button { display: grid; place-items: center; width: 36px; height: 36px; margin-right: -5px; color: #211d19; background: transparent; border: 1px solid #dcd6ce; border-radius: 50%; font-size: 1.35rem; line-height: 1; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.ochre-cart-drawer__panel > header button:hover { color: #fff; background: #211d19; border-color: #211d19; transform: rotate(90deg); }
.ochre-cart-drawer__items { padding: 8px 24px 22px; }
.ochre-cart-item { grid-template-columns: 88px minmax(0, 1fr); gap: 15px; padding: 18px 0; }
.ochre-cart-item + .ochre-cart-item { padding-top: 18px; border-top-color: #e9e5df; }
.ochre-cart-item__image { width: 88px; height: 110px; background: #f2f0eb; border-radius: 3px; }
.ochre-cart-item__image img { mix-blend-mode: multiply; }
.ochre-cart-item__body { gap: 6px; }
.ochre-cart-item__title { color: #211d19; font-size: .83rem; font-weight: 500; line-height: 1.45; }
.ochre-cart-item__title:hover { text-decoration: underline; text-underline-offset: .18em; }
.ochre-cart-item__meta dl { color: #77716a; font-size: .69rem; line-height: 1.45; }
.ochre-cart-item__actions { gap: 10px; }
.ochre-cart-item__quantity { grid-template-columns: 30px 30px 30px; height: 34px; overflow: hidden; border-color: #dcd6ce; border-radius: 99px; background: #fff; }
.ochre-cart-item__quantity button { height: 32px; color: #514a43; background: transparent; font-size: 1rem; transition: background-color 160ms ease, color 160ms ease; }
.ochre-cart-item__quantity button:hover { color: #fff; background: #211d19; }
.ochre-cart-item__quantity span { color: #211d19; font-size: .74rem; font-weight: 600; }
.ochre-cart-item__price { color: #211d19; font-size: .8rem; }
.ochre-cart-item__remove { display: grid; place-items: center; width: 30px; height: 30px; color: #817a72; border-radius: 50%; font-size: 1.25rem; transition: background-color 160ms ease, color 160ms ease; }
.ochre-cart-item__remove:hover { color: #a54b35; background: #f9ebe7; }
.ochre-cart-drawer__footer { padding: 20px 24px 24px; background: #f4f1eb; border-top-color: #e6e1d9; }
.ochre-cart-drawer__footer > div { color: #211d19; font-size: .86rem; }
.ochre-cart-drawer__footer > div strong { font-size: .95rem; }
.ochre-cart-drawer__footer > p { margin: 7px 0 17px; color: #756e66; font-size: .7rem; }
.ochre-cart-drawer__checkout { min-height: 52px; background: #211d19; border-radius: 2px; font-size: .76rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; transition: background-color 180ms ease, transform 180ms ease; }
.ochre-cart-drawer__checkout:hover { background: #a54b35; transform: translateY(-1px); }
.ochre-cart-drawer__view { margin-top: 15px; color: #514a43; font-size: .73rem; text-underline-offset: 5px; }
.ochre-cart-drawer__empty { position: relative; align-items: center; padding: 3rem 2rem; text-align: center; }
.ochre-cart-drawer__empty::before { content: ''; width: 38px; height: 34px; margin-bottom: 1.2rem; border: 1.5px solid #514a43; border-radius: 3px; }
.ochre-cart-drawer__empty p { color: #514a43; font-size: .88rem; }
.ochre-cart-drawer__empty p::before { content: ''; position: absolute; inset: 42px auto auto 50%; width: 16px; height: 10px; border: 1.5px solid #514a43; border-bottom: 0; border-radius: 8px 8px 0 0; transform: translateX(-50%); }
.ochre-cart-drawer__empty a { min-height: 48px; margin-top: 20px; padding: 0 24px; color: #fff; background: #211d19; border: 0; border-radius: 2px; font-size: .75rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; transition: background-color 180ms ease; }
.ochre-cart-drawer__empty a:hover { background: #a54b35; }
@media (max-width: 600px) {
    .ochre-cart-drawer__panel > header { min-height: 68px; padding-inline: 20px; }
    .ochre-cart-drawer__items { padding-inline: 20px; }
    .ochre-cart-drawer__footer { padding-inline: 20px; }
}
@media (max-width: 767px) {
    .ochre-size-guide { align-items: stretch; padding: 0; }
    .ochre-size-guide__dialog { inline-size: 100%; block-size: 100dvh; max-block-size: none; }
    .ochre-sg-header { min-block-size: 60px; padding: 0 20px; }
    .ochre-size-guide__dialog .ochre-sg-header h2 { font-size: 1.35rem; }
    .ochre-sg-body { display: block; overflow-y: auto; overscroll-behavior: contain; }
    .ochre-sg-stage-wrap { position: sticky; z-index: 2; inset-block-start: 0; justify-content: flex-start; block-size: 255px; border-block-end: 1px solid #e4e4e1; }
    .ochre-sg-stage { flex: 0 0 224px; block-size: 224px; aspect-ratio: auto; }
    .ochre-sg-caption { min-block-size: 31px; padding-block: 6px; font-size: .7rem; }
    .ochre-sg-controls { gap: 18px; padding: 20px 20px 28px; overflow: visible; }
    .ochre-sg-sizes button { min-block-size: 82px; padding: 10px; }
    .ochre-sg-pills button { flex: 1 1 auto; padding-inline: 11px; }
    .ochre-sg-control-heading { align-items: flex-end; }
    .ochre-sg-control-heading > label { flex: 1; }
    .ochre-sg-control-heading .ochre-sg-pills button { flex: 0 0 auto; }
    .ochre-sg-footer { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 18px; min-block-size: 104px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); }
    .ochre-sg-footer > div { grid-column: 1; grid-row: 1; }
    .ochre-sg-footer > strong { grid-column: 2; grid-row: 1; }
    .ochre-sg-footer > button { grid-column: 1 / -1; grid-row: 2; inline-size: 100%; min-block-size: 46px; }
    .ochre-sg-footer small { flex-wrap: wrap; gap: 4px 10px; }
}
.pa-commerce-page { max-width: 1160px; }
.pa-commerce-page > .wp-block-post-title { margin-block-end: 2.5rem; }
.pa-commerce-page > .wp-block-post-title { padding-block-end: 1.2rem; border-bottom: 1px solid var(--wp--preset--color--border); font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.5rem, 6vw, 4.5rem); font-weight: 400; }
.pa-commerce-page .wc-block-cart,
.pa-commerce-page .wc-block-checkout { color: var(--wp--preset--color--foreground); }
.pa-commerce-page :where(.wc-block-cart-items, .wc-block-components-order-summary-item) img { background: #f3efe7; }
.pa-commerce-page :where(.wc-block-components-button, .wc-block-cart__submit-button) { min-block-size: 52px; border-radius: 2px; font-family: var(--wp--preset--font-family--sans); font-size: .78rem; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.pa-commerce-page :where(.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-form .wc-block-components-text-input input) { border-radius: 2px; }
.pa-commerce-page :where(.wc-block-cart__sidebar, .wc-block-checkout__sidebar) { padding: clamp(1rem, 3vw, 2rem); background: #f5f2ec; }
@media (max-width: 767px) {
    .pa-commerce-page { width: min(calc(100% - 2.5rem), 42rem); padding-block: 2.5rem 3.5rem; }
    .pa-commerce-page > .wp-block-post-title { margin-bottom: 1.75rem; padding-bottom: 1.25rem; font-size: 2.35rem; }
    .pa-commerce-page .wc-block-cart { display: block; }
    .pa-commerce-page .wc-block-cart__main { width: 100%; }
    .pa-commerce-page .wc-block-cart-items,
    .pa-commerce-page .wc-block-cart-items tbody { display: block; width: 100%; }
    .pa-commerce-page .wc-block-cart-items thead { display: none; }
    .pa-commerce-page .wc-block-cart-items__row { position: relative; display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 0 1rem; width: 100%; padding: 1.5rem 0; border: 0; border-bottom: 1px solid #e5e1da; }
    .pa-commerce-page .wc-block-cart-item__image { grid-column: 1; grid-row: 1 / span 3; width: 80px; padding: 0; }
    .pa-commerce-page .wc-block-cart-item__image a,
    .pa-commerce-page .wc-block-cart-item__image img { display: block; width: 80px; height: 100px; object-fit: cover; }
    .pa-commerce-page .wc-block-cart-item__product { grid-column: 2; grid-row: 1 / span 3; min-width: 0; padding: 0; }
    .pa-commerce-page .wc-block-cart-item__wrap { display: flex; min-height: 100px; padding-right: 7rem; box-sizing: border-box; flex-direction: column; align-items: flex-start; }
    .pa-commerce-page .wc-block-components-product-name { display: block; align-self: stretch; min-width: 0; max-width: 100%; overflow-wrap: anywhere; color: #211d19; font-family: var(--wp--preset--font-family--serif); font-size: 1rem; font-weight: 400; line-height: 1.2; text-decoration: none; }
    .pa-commerce-page .wc-block-cart-item__prices { order: 1; margin-top: .35rem; font-size: .82rem; }
    .pa-commerce-page .wc-block-components-product-price__regular { margin-right: .35rem; color: #8b857d; }
    .pa-commerce-page .wc-block-components-product-price__value { color: #211d19; font-weight: 500; text-decoration: none; }
    .pa-commerce-page .wc-block-components-product-metadata { align-self: stretch; order: 2; margin-top: .55rem; margin-right: -7rem; color: #625c55; font-size: .72rem; line-height: 1.55; }
    .pa-commerce-page .wc-block-components-product-details { display: grid; gap: .1rem; }
    .pa-commerce-page .wc-block-components-product-details > span { display: block; }
    .pa-commerce-page .wc-block-components-product-details > span:not(:last-child)::after { content: none; }
    .pa-commerce-page .wc-block-components-product-details > span > span[aria-hidden='true'] { display: none; }
    .pa-commerce-page .wc-block-cart-item__quantity { order: 3; display: flex; align-items: center; gap: .85rem; margin-top: auto; }
    .pa-commerce-page .wc-block-components-quantity-selector { width: 106px; height: 34px; border: 1px solid #cfc8bf; border-radius: 3px; }
    .pa-commerce-page .wc-block-components-quantity-selector__button { width: 32px; color: #5f5952; background: transparent; border: 0; font-size: 1.1rem; }
    .pa-commerce-page .wc-block-components-quantity-selector__input { width: 38px; padding: 0; color: #211d19; border: 0; font: inherit; text-align: center; }
    .pa-commerce-page .wc-block-cart-item__remove-link { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; color: #211d19; background: transparent; border: 0; cursor: pointer; }
    .pa-commerce-page .wc-block-cart-item__remove-link svg { width: 20px; height: 20px; }
    .pa-commerce-page .wc-block-cart-item__total { position: absolute; top: 1.5rem; right: 0; padding: 0; text-align: right; }
    .pa-commerce-page .wc-block-cart-item__total-price-and-sale-badge-wrapper { display: grid; justify-items: end; gap: .35rem; white-space: nowrap; }
    .pa-commerce-page .wc-block-cart-item__total .wc-block-components-product-price { color: #211d19; font-size: .9rem; font-weight: 500; }
    .pa-commerce-page .wc-block-components-sale-badge { margin: 0; padding: .25rem .4rem; color: #625c55; background: #f1ece6; border: 0; border-radius: 0; font-size: .62rem; font-weight: 400; }
    .pa-commerce-page .wc-block-cart__sidebar { width: 100%; margin-top: 1.5rem; padding: 0; overflow: hidden; color: #211d19; background: #fff; border: 1px solid #d9d3ca; box-shadow: none; }
    .pa-commerce-page .wc-block-cart__sidebar::before { content: 'Order summary'; display: block; padding: .75rem 1.25rem .65rem; border-bottom: 1px solid #d9d3ca; font-size: .62rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase; }
    .pa-commerce-page .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
    .pa-commerce-page .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-totals-block,
    .pa-commerce-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper { background: transparent; }
    .pa-commerce-page .wc-block-components-totals-wrapper,
    .pa-commerce-page .wc-block-components-totals-item { margin: 0; border-color: #e7e2db; }
    .pa-commerce-page .wp-block-woocommerce-cart-order-summary-coupon-form-block { display: none; }
    .pa-commerce-page .wc-block-components-sidebar .wc-block-components-totals-item { min-height: 48px; padding: 0 1.25rem; box-sizing: border-box; }
    .pa-commerce-page .wc-block-components-sidebar .wc-block-components-panel__button { min-height: 48px; padding: 0 1.25rem; box-sizing: border-box; font-size: .8rem; }
    .pa-commerce-page .wc-block-components-totals-item__label,
    .pa-commerce-page .wc-block-components-totals-item__value { color: inherit; font-size: .85rem; }
    .pa-commerce-page .wc-block-components-sidebar .wc-block-components-totals-footer-item { min-height: 60px; padding: 0 1.25rem; box-sizing: border-box; color: #211d19; background: transparent; }
    .pa-commerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
    .pa-commerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: #211d19; font-size: 1.2rem; font-weight: 600; }
    .woocommerce-checkout .pa-commerce-page .wc-block-checkout__sidebar { overflow: hidden; border: 1px solid #d9d3ca; border-radius: 14px; box-shadow: none; }
    .woocommerce-checkout .pa-commerce-page .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { padding-inline: 1.25rem; }
    .woocommerce-checkout .pa-commerce-page .wc-block-checkout__sidebar .wc-block-components-order-summary-item { padding-inline: 1.25rem; box-sizing: border-box; }
    .woocommerce-checkout .pa-commerce-page .wc-block-checkout__sidebar .wc-block-components-panel__button { padding-inline: 1.25rem !important; }
    .pa-commerce-page .wc-block-cart__submit { padding: .75rem 1.25rem .9rem; border-top: 1px solid #e7e2db; }
    .pa-commerce-page .wc-block-cart__submit-button { width: 100%; min-height: 48px; color: #fff; background: #211d19; border-radius: 2px; font-size: .72rem; transition: background-color 180ms ease, transform 180ms ease; }
    .pa-commerce-page .wc-block-cart__submit-button:hover { background: #4c443d; transform: translateY(-1px); }
}
/* My Account still uses classic markup in many stores. Scope its skin separately. */
.woocommerce-account .pa-prose .woocommerce :where(input.input-text, textarea, select) { font: inherit; padding: .75rem; min-height: 44px; border: 1px solid var(--wp--custom--control-border); border-radius: 4px; background: var(--wp--preset--color--surface); color: var(--wp--preset--color--foreground); }
.woocommerce-account .pa-prose .woocommerce :where(a.button, button.button) { padding: .8rem 1.2rem; border-radius: 4px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--wp--preset--color--border); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: .85rem .2rem; color: inherit; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--wp--preset--color--focus); }
@media (min-width: 1100px) and (min-height: 800px) {
    /* Sticky belongs to our column, never to Woo's internal form DOM. */
    .pa-product-layout > .pa-product-summary { position: sticky; top: 2rem; }
    .admin-bar .pa-product-layout > .pa-product-summary { top: 4rem; }
}
@media (max-width: 960px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pa-catalog.pa-shell { width: min(calc(100% - 2.5rem), 1920px); padding-block: 3rem; }
    .ochre-catalog-body { grid-template-columns: 1fr; gap: 1.75rem; }
    .ochre-catalog-filters { position: static; }
    .ochre-catalog-filters__title { margin-bottom: .25rem; }
    .pa-catalog .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap-inline: .85rem; }
}
@media (max-width: 781px) {
    .pa-product-layout { flex-wrap: wrap; }
    .pa-product-layout > .wp-block-column { flex-basis: 100% !important; }
    .pa-catalog-header { flex-direction: column; align-items: stretch; }
    .pa-catalog-search { width: 100%; }
    .pa-product-summary { position: static; }
	.ochre-mobile-buy { position: fixed; z-index: 1000; inset-inline: 0; inset-block-end: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem max(1rem, env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); color: #fff; background: rgba(31, 32, 29, .97); box-shadow: 0 -6px 24px rgba(0, 0, 0, .12); }
	.ochre-mobile-buy div { display: grid; gap: .12rem; min-inline-size: 0; }
	.ochre-mobile-buy small { color: rgba(255,255,255,.68); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
	.ochre-mobile-buy strong { font-size: .95rem; white-space: nowrap; }
	.ochre-mobile-buy del { display: none; }
	.ochre-mobile-buy button { min-block-size: 44px; padding: .7rem 1.15rem; color: var(--wp--preset--color--foreground); background: #fff; border: 0; border-radius: 2px; font: inherit; font-size: .8rem; font-weight: 650; letter-spacing: .05em; text-transform: uppercase; }
	.ochre-mobile-buy button:disabled { opacity: .45; }
	body.single-product { padding-block-end: 72px; }
}
@media (max-width: 480px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { gap: 2rem .85rem; }
    .pa-product-name { font-size: 1.2rem; }
    .pa-product-action .wp-block-button__link { padding-inline: .65rem; }
    .pa-catalog .pa-catalog-toolbar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: calc(100% + 2.5rem);
        min-height: 68px;
        margin: 2.25rem -1.25rem 1.5rem;
        background: #fff;
        border-block: 1px solid #e5e5e5;
    }
    .pa-catalog .pa-catalog-toolbar .wc-block-product-results-count { display: none; }
    .ochre-catalog-filter-button,
    .pa-catalog .woocommerce-ordering {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-width: 0;
        min-height: 67px;
        margin: 0;
        padding: 0;
        color: #171717;
        background: transparent;
        border: 0;
        border-radius: 0;
        font: inherit;
        font-size: .875rem;
        font-weight: 500;
        letter-spacing: .01em;
        cursor: pointer;
    }
    .ochre-catalog-filter-button { border-right: 1px solid #e5e5e5; }
    .pa-catalog .woocommerce-ordering::before {
        content: 'Sort by';
        margin: 0;
        color: inherit;
        font: inherit;
    }
    .pa-catalog .woocommerce-ordering::after {
        position: absolute;
        top: 50%;
        right: 1.25rem;
        width: 8px;
        height: 8px;
        border-right: 1.25px solid currentColor;
        border-bottom: 1.25px solid currentColor;
        content: '';
        pointer-events: none;
        transform: translateY(-70%) rotate(45deg);
    }
    .pa-catalog .woocommerce-ordering select {
        position: absolute;
        inset: 0;
        width: 100%;
        max-width: none;
        min-width: 0;
        min-height: 0;
        height: 100%;
        padding: 0;
        appearance: none;
        color: transparent;
        background: transparent;
        border: 0;
        cursor: pointer;
    }
    .pa-catalog .ochre-catalog-filters { margin-top: -1.5rem; }
    .pa-catalog .ochre-catalog-filters__toggle { border: 0; }
    .pa-catalog .ochre-catalog-filters__toggle > summary { display: none; }
	.ochre-choice-grid--frames { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 350px) {
    .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: no-preference) {
    .pa-product-media img { transition: transform 220ms ease; }
    .pa-product-media:hover img { transform: scale(1.015); }
}

/* Original HOUSE OF OCHRE product-card treatment. */
.pa-product-card { position: relative; }
.pa-product-card .pa-product-media { position: relative; overflow: visible; background: #f0f2ee; border-radius: 0; }
.pa-product-card .pa-product-media img { width: 100%; aspect-ratio: 4 / 5; padding: clamp(.9rem, 1.8vw, 2rem); object-fit: contain; }
.pa-product-card .pa-product-media::after { display: none; }
.pa-product-card .pa-product-name { margin: .8rem 0 .3rem; font-family: var(--wp--preset--font-family--serif); font-size: clamp(.95rem, 1.15vw, 1.2rem); line-height: 1.25; }
.pa-product-card .pa-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin: 0; color: #111; font-size: .82rem; line-height: 1.35; }
.pa-product-card .pa-product-price del { color: #666; }
.pa-product-card .pa-product-price ins { color: #111; font-weight: 600; text-decoration: none; }
.ochre-card-price-line { display: flex; flex: 0 0 100%; align-items: baseline; gap: .3rem; }
.ochre-card-price-line strong { color: #171717; font-size: inherit; font-weight: 600; }
.ochre-card-price-line .woocommerce-Price-amount { font: inherit; }
/* Percentage-off tag, following the muted treatment already used by the cart sale badge. */
.pa-product-card .ochre-card-discount { padding: .06em .4em; color: #625c55; background: #f1ece6; font-size: .85em; font-weight: 500; letter-spacing: .02em; white-space: nowrap; }
.pa-product-card .wc-block-components-product-sale-badge { display: none; }
@media (max-width: 600px) {
    .pa-product-card .pa-product-media img { padding: .75rem; }
    .pa-product-card .pa-product-name { font-size: .9rem; }
    .pa-product-card .pa-product-price { font-size: .7rem; }
    .ochre-card-price-line { gap: .2rem; }
}

/* Woo's image link owns the intrinsic ratio; lock the media frame instead. */
.pa-product-card .pa-product-media { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; }
.pa-product-card .pa-product-media > a { position: absolute; inset: 0; display: block; width: 100%; height: 100%; container-type: size; }
.pa-product-card .pa-product-media img { position: absolute; inset: 50% auto auto 50%; display: block; width: auto !important; height: auto !important; max-width: calc(100% - clamp(1.5rem, 3vw, 3rem)); max-height: calc(100% - clamp(1.5rem, 3vw, 3rem)); padding: 0; aspect-ratio: auto !important; object-fit: contain !important; transform: translate(-50%, -50%); }
.ochre-card-frame { position: absolute; inset: 50% auto auto 50%; box-sizing: content-box; display: block; width: min(calc(88cqw - 2 * var(--ochre-card-rail)), calc((88cqh - 2 * var(--ochre-card-rail)) * var(--ochre-card-art-ratio, .8))); aspect-ratio: var(--ochre-card-art-ratio, .8); --ochre-card-rail: max(3px, 1.35cqw); border: var(--ochre-card-rail) solid transparent; border-image-source: var(--ochre-card-frame-texture, url('../images/frame-oak.webp')); border-image-slice: 70; border-image-repeat: stretch; filter: drop-shadow(0 5px 9px rgb(0 0 0 / .16)); transform: translate(-50%, -50%); transition: opacity 240ms ease; }
.pa-product-card .pa-product-media .ochre-card-frame > img,
.pa-related .wp-block-woocommerce-product-image .ochre-card-frame > img { position: static; inset: auto; display: block; width: 100% !important; height: 100% !important; max-width: none; max-height: none; padding: 0; object-fit: fill !important; transform: none; }
#pa-collection .pa-product-media .ochre-card-frame > img { padding: 0; }

/* Match Shopify cards: reveal the second product image on desktop hover. */
.pa-product-card .pa-product-media img.ochre-card-image--secondary,
.pa-related .wp-block-woocommerce-product-image img.ochre-card-image--secondary { opacity: 0; }
@media (hover: hover) and (pointer: fine) {
    .pa-product-card .pa-product-media > a > img,
    .pa-related .wp-block-woocommerce-product-image > a > img { transition: opacity 240ms ease; }
    .pa-product-card:hover .ochre-card-frame,
    .pa-product-card:focus-within .ochre-card-frame,
    .pa-related .wc-block-product:hover .ochre-card-frame,
    .pa-related .wc-block-product:focus-within .ochre-card-frame { opacity: 0; }
    .pa-product-card:hover .pa-product-media img.ochre-card-image--secondary,
    .pa-product-card:focus-within .pa-product-media img.ochre-card-image--secondary,
    .pa-related .wc-block-product:hover .wp-block-woocommerce-product-image img.ochre-card-image--secondary,
    .pa-related .wc-block-product:focus-within .wp-block-woocommerce-product-image img.ochre-card-image--secondary { opacity: 1; }
}

/* Reuse the catalogue card treatment for the core Related Products pattern. */
.pa-related .wc-block-product-template { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 2.2vw, 2.75rem) clamp(.9rem, 1.3vw, 1.5rem); }
.pa-related .wc-block-product-template > .wc-block-product { position: relative; width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; }
.pa-related .wp-block-woocommerce-product-image { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5 !important; overflow: visible; background: #f0f2ee; }
.pa-related .wp-block-woocommerce-product-image > a { position: absolute; inset: 0; display: block; width: 100%; height: 100%; container-type: size; }
.pa-related .wp-block-woocommerce-product-image img { position: absolute; inset: 50% auto auto 50%; display: block; width: auto !important; height: auto !important; max-width: calc(100% - clamp(1.5rem, 3vw, 3rem)); max-height: calc(100% - clamp(1.5rem, 3vw, 3rem)); aspect-ratio: auto !important; object-fit: contain !important; transform: translate(-50%, -50%); }
.pa-product-card .pa-product-media img.ochre-card-image--secondary,
.pa-related .wp-block-woocommerce-product-image img.ochre-card-image--secondary { inset: 0; width: 100% !important; height: 100% !important; max-width: none; max-height: none; padding: 0 !important; object-fit: cover !important; transform: none; }
.pa-related .wp-block-woocommerce-product-image::after { display: none; }
.pa-related .wc-block-components-product-sale-badge,
.pa-related .wp-block-woocommerce-product-button { display: none !important; }
.pa-related .wp-block-post-title { margin: .8rem 0 .3rem !important; font-family: var(--wp--preset--font-family--serif); font-size: clamp(.95rem, 1.15vw, 1.2rem) !important; font-weight: 400; line-height: 1.25; text-align: left !important; }
.pa-related .wp-block-post-title a { color: inherit; text-decoration: none; }
.pa-related .wc-block-components-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; margin: 0; color: #111; font-size: .82rem !important; line-height: 1.35; text-align: left !important; }
.pa-related .wc-block-components-product-price del { color: #666; }
.pa-related .wc-block-components-product-price ins { color: #111; font-weight: 600; text-decoration: none; }

@media (max-width: 900px) {
    .pa-related .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
    .pa-related .wc-block-product-template { gap-inline: .85rem; }
    .pa-related .wp-block-post-title { font-size: .9rem !important; }
    .pa-related .wc-block-components-product-price { font-size: .7rem !important; }
}

/* Immersive PDP port: desktop scene first, native WooCommerce purchase flow below. */
.single-product .pa-product-page {
    width: 100%;
    max-width: none;
    padding-block: 0;
}
.single-product .pa-product-page > * + * { margin-block-start: 0; }
.ochre-product-scene {
    position: relative;
    width: 100%;
    height: 100svh;
    min-height: 660px;
    overflow: hidden;
    background: #eee9e1;
}
.ochre-product-scene__image {
    display: block;
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center;
}
.ochre-product-intro {
    position: absolute;
    z-index: 4;
    inset-inline-start: 50%;
    inset-block-end: clamp(1.4rem, 3vw, 2.7rem);
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 20px;
    align-items: center;
    gap: .9rem;
    width: min(420px, calc(100% - 2rem));
    min-height: 88px;
    padding: .65rem .9rem;
    color: #151310;
    background: rgba(255,255,255,.96);
    border-radius: 12px;
    box-shadow: 0 10px 32px rgb(24 19 14 / .12);
    text-decoration: none;
    transform: translateX(-50%);
}
.ochre-product-intro > img { display: block; width: 52px; height: 68px; object-fit: contain; background: #f0f2ee; }
.ochre-product-intro__copy { display: grid; gap: .22rem; min-width: 0; font-family: var(--wp--preset--font-family--sans); font-size: .82rem; }
.ochre-product-intro__copy strong { overflow: hidden; font-size: .9rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.ochre-product-intro__copy .woocommerce-Price-amount { font-weight: 500; }
.ochre-product-intro > svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ochre-product-content { width: min(calc(100% - 5rem), 1400px); padding-block: clamp(2rem, 3.2vw, 3.5rem) 0; scroll-margin-top: 64px; }
.ochre-product-content > * + * { margin-block-start: 2rem; }
.ochre-product-content .pa-product-layout { gap: clamp(2rem, 4vw, 4rem); }
.ochre-product-content .pa-product-layout > .pa-product-gallery { flex-basis: calc(50% - 2rem) !important; }
.ochre-product-content .pa-product-layout > .pa-product-summary { flex-basis: calc(50% - 2rem) !important; }
.ochre-product-content .woocommerce-product-gallery { background: #f0f2ee; }
.ochre-product-content .onsale { display: none; }
.ochre-product-content .woocommerce-product-gallery__image a { display: flex; align-items: center; justify-content: center; min-height: clamp(560px, 55vw, 820px); padding: clamp(1.5rem, 4vw, 4rem); }
.ochre-product-content .woocommerce-product-gallery__image img { max-height: 720px; width: auto !important; object-fit: contain; }

@media (min-width: 1024px) {
    .single-product .pa-header { position: fixed; z-index: 60; inset: 0 0 auto; color: #fff; background: linear-gradient(to bottom, rgb(20 16 12 / .58), transparent); border: 0; transition: opacity .4s ease, visibility .4s ease, background-color .2s ease, box-shadow .2s ease; }
    .single-product .pa-header:not(.is-scrolled):not(.is-menu-open) { color: #fff; background: linear-gradient(to bottom, rgb(20 16 12 / .58), transparent); border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .single-product .pa-header:not(.is-scrolled):not(.is-menu-open) .ochre-logo img { filter: brightness(0) invert(1); }
    .single-product .pa-header:not(.is-scrolled):not(.is-menu-open) .wc-block-mini-cart__button { color: inherit; }
    .single-product .pa-header.is-scrolled { color: #201b16; background: #fff; box-shadow: 0 1px 0 rgb(30 25 20 / .09); backdrop-filter: none; -webkit-backdrop-filter: none; }
    /* Product pages share the same scroll-intent visibility rules as the catalogue. */
    .single-product .pa-header:has(.ochre-nav-parent > button[aria-expanded="true"]),
    .single-product .pa-header.is-menu-open { opacity: 1; visibility: visible; color: #111; background: #fff; pointer-events: auto; }
}

@media (max-width: 1023px) {
    .ochre-product-scene { display: none; }
    .single-product .pa-product-page { padding-block-start: clamp(1.5rem, 5vw, 3rem); }
    .ochre-product-content { width: min(calc(100% - 2rem), 1280px); padding-block-start: 0; }
    .ochre-product-content .woocommerce-product-gallery__image a { min-height: 0; padding: 1rem; }
}

/* Shopify-faithful product purchase panel. */
.ochre-pdp-sale-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 116px;
    margin: 1.4rem 0 1.65rem;
    overflow: hidden;
    background: #eee7d9;
}
.ochre-pdp-sale-banner > * { min-width: 0; }
.ochre-pdp-sale-banner__copy { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #65543f; }
.ochre-pdp-sale-banner__copy em { font-family: var(--wp--preset--font-family--serif); font-size: 1rem; }
.ochre-pdp-sale-banner__copy strong { display: flex; align-items: center; margin-top: .1rem; font-family: var(--wp--preset--font-family--serif); font-weight: 400; line-height: .8; }
.ochre-pdp-sale-banner__copy strong > b { font-size: 3.3rem; font-weight: 400; }
.ochre-pdp-sale-banner__copy strong > span { display: grid; margin-left: .25rem; }
.ochre-pdp-sale-banner__copy i { font-size: 1.25rem; font-style: normal; }
.ochre-pdp-sale-banner__copy small { margin-top: .25rem; font-family: var(--wp--preset--font-family--sans); font-size: .55rem; letter-spacing: .14em; }
.ochre-pdp-sale-banner img { display: block; width: 100%; max-width: 100%; height: 100%; min-height: 116px; object-fit: cover; }
.ochre-option-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.ochre-frame-heading { align-items: center; justify-content: flex-start; gap: 0; }
.ochre-frame-heading .ochre-frame-guide-trigger { margin-left: .35rem; }
.ochre-option-heading legend { width: auto; margin: 0; padding: 0; font-family: var(--wp--preset--font-family--sans); font-size: .8rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.ochre-option-heading small { color: #898989; font-size: .72rem; }
.ochre-size-heading .ochre-size-guide-trigger { margin-left: auto; color: #898989; border: 0; font-size: .76rem; }
.ochre-size-select-shell { position: relative; min-height: 52px; }
.ochre-size-select-trigger { display: grid; grid-template-columns: auto minmax(0, 1fr) 14px; align-items: center; gap: 1rem; width: 100%; min-height: 52px; padding: 0 1rem; color: #171717; background: #fff; border: 1px solid #dedede; font: inherit; font-size: .78rem; text-align: left; cursor: pointer; }
.ochre-size-select-trigger b { overflow: hidden; font-weight: 400; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.ochre-size-select-trigger i { position: relative; width: 12px; height: 9px; }
.ochre-size-select-trigger i::before, .ochre-size-select-trigger i::after { content: ''; position: absolute; top: 4px; width: 7px; height: 1.25px; background: currentColor; border-radius: 2px; transition: transform .18s ease; }
.ochre-size-select-trigger i::before { left: 0; transform: rotate(45deg); }
.ochre-size-select-trigger i::after { right: 0; transform: rotate(-45deg); }
.ochre-size-select-shell.is-open .ochre-size-select-trigger i::before { transform: rotate(-45deg); }
.ochre-size-select-shell.is-open .ochre-size-select-trigger i::after { transform: rotate(45deg); }
.ochre-size-select-menu { position: absolute; z-index: 30; inset: calc(100% + 6px) 0 auto; max-height: min(58vh, 430px); overflow-y: auto; background: #fff; border: 1px solid #dedede; box-shadow: 0 16px 30px rgb(0 0 0 / .1); }
.ochre-size-select-menu[hidden] { display: none; }
.ochre-size-select-option { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; width: 100%; min-height: 57px; padding: .75rem 1rem; color: #171717; background: #fff; border: 0; border-bottom: 1px solid #ededeb; font: inherit; font-size: .8rem; text-align: left; cursor: pointer; }
.ochre-size-select-option:last-child { border-bottom: 0; }
.ochre-size-select-option:hover { background: #f8f8f6; }
.ochre-size-select-option.is-selected { background: #fafafa; }
.ochre-size-select-option.is-selected::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 2px; background: #111; }
.ochre-size-select-option span { color: #777; }
.ochre-size-select-option.is-selected span { color: #171717; }
.ochre-size-select-option strong { font-size: .8rem; font-weight: 500; white-space: nowrap; }
.ochre-size-select-option strong :where(.price, .amount) { font: inherit; }
.ochre-size-select-option strong del { display: none; }
.ochre-size-select-option strong ins { text-decoration: none; }
.ochre-frame-choice-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .72rem; margin-bottom: 1rem; }
.ochre-frame-choice { position: relative; aspect-ratio: 1; min-width: 0; padding: 4px; overflow: hidden; background: #fafafa; border: 2px solid #e5e5e5; border-radius: 50%; cursor: pointer; }
.ochre-frame-choice img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.ochre-frame-choice:hover { border-color: #aaa; }
.ochre-frame-choice.is-selected { border-color: #111; box-shadow: 0 0 0 1px #111; }
.ochre-frame-choice.is-emphasized { animation: ochre-frame-choice-emphasis .7s ease-out; }
@keyframes ochre-frame-choice-emphasis {
    0%, 30% { box-shadow: 0 0 0 1px #111, 0 0 0 8px rgba(112, 66, 36, .2); }
    100% { box-shadow: 0 0 0 1px #111, 0 0 0 0 rgba(112, 66, 36, 0); }
}
.ochre-after-purchase { margin-top: 1.2rem; }
.ochre-delivery-timeline { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin: 1.4rem 0 2.5rem; padding-top: .9rem; border-top: 1px solid #e7e7e7; }
.ochre-delivery-timeline::before { content: ''; position: absolute; top: 20px; left: 16.66%; right: 16.66%; height: 1px; background: #d4d4d4; }
.ochre-delivery-timeline > div { position: relative; display: grid; justify-items: center; gap: .25rem; text-align: center; }
.ochre-delivery-timeline span { position: relative; z-index: 1; width: 8px; height: 8px; margin: 6px 0 2px; background: #fff; border: 1px solid #777; transform: rotate(45deg); }
.ochre-delivery-timeline .is-current span { background: #111; border-color: #111; }
.ochre-delivery-timeline small { color: #626262; font-size: .65rem; }
.ochre-delivery-timeline strong { font-size: .7rem; font-weight: 400; }
.ochre-product-accordions { border-top: 1px solid #eee; }
.ochre-painting-details { border-bottom: 1px solid #eee; }
.ochre-painting-details summary { display: flex; justify-content: space-between; padding: 1.25rem 0; font-size: .8rem; font-weight: 500; list-style: none; cursor: pointer; }
.ochre-painting-details summary::-webkit-details-marker { display: none; }
.ochre-painting-details summary > .ochre-down-chevron { margin: .15rem .2rem 0 1rem; }
.ochre-painting-details[open] summary > .ochre-down-chevron { transform: translateY(2px) rotate(225deg); }
.ochre-painting-details__copy { padding-bottom: 1.5rem; color: #666; font-size: .8rem; line-height: 1.75; }
.ochre-painting-details__copy a { color: inherit; text-underline-offset: .18em; }
.ochre-painting-details__copy p:first-child { margin-top: 0; }
.ochre-painting-details__copy p:last-child { margin-bottom: 0; }
.ochre-wishlist-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #171717; background: #fff; border: 0; border-radius: 50%; box-shadow: none; touch-action: manipulation; cursor: pointer; transition: color 180ms ease, background 180ms ease, transform 180ms ease; }
.ochre-wishlist-button svg { width: 17px; height: 17px; overflow: visible; fill: transparent; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; transition: fill 180ms ease, transform 180ms ease; }
.ochre-wishlist-button:hover { color: #171717; background: #fff; border-color: transparent; box-shadow: none; transform: translateY(-1px); }
.ochre-wishlist-button:hover svg { transform: scale(1.08); }
.ochre-wishlist-button:active { transform: scale(.92); }
.ochre-wishlist-button[aria-pressed="true"] { color: #171717; background: #fff; border-color: transparent; }
.ochre-wishlist-button[aria-pressed="true"] svg { fill: currentColor; }
.ochre-wishlist-button:focus-visible { outline: 2px solid var(--wp--preset--color--focus); outline-offset: 3px; }
.ochre-wishlist-button--card,
.ochre-wishlist-button--card:hover,
.ochre-wishlist-button--card[aria-pressed="true"] { position: absolute; z-index: 5; inset: .15rem .15rem auto auto; place-items: start end; width: 28px; height: 28px; color: rgb(23 23 23 / .72); background: transparent; border: 0; box-shadow: none; }
.ochre-wishlist-button--card svg { width: 15px; height: 15px; fill: #c9c9c9; stroke: none; }
.ochre-wishlist-button--card:hover svg { fill: #bdbdbd; }
.ochre-wishlist-button--card[aria-pressed="true"] svg { fill: currentColor; stroke: none; }
.ochre-wishlist-button.is-feedback svg { animation: ochre-wishlist-pop 420ms cubic-bezier(.2, .8, .2, 1); }
@keyframes ochre-wishlist-pop { 0% { transform: scale(1); } 42% { transform: scale(1.34); } 100% { transform: scale(1); } }
@media (min-width: 1024px) {
    .ochre-wishlist-button--card,
    .ochre-wishlist-button--card:hover,
    .ochre-wishlist-button--card[aria-pressed="true"] { inset: .9rem .9rem auto auto; width: 38px; height: 38px; }
    .ochre-wishlist-button--card svg { width: 18px; height: 18px; }
}
@media (max-width: 600px) { .ochre-wishlist-button--card { inset: .18rem .18rem auto auto; width: 26px; height: 26px; } }
@media (prefers-reduced-motion: reduce) { .ochre-wishlist-button { transition: none; } .ochre-wishlist-button.is-feedback svg { animation: none; } }
.ochre-bag-icon { position: relative; display: inline-block; width: 17px; height: 18px; margin-right: .45rem; vertical-align: -4px; }
.ochre-bag-icon::before { content: ''; position: absolute; top: 7px; left: 50%; box-sizing: border-box; width: 14px; height: 11px; border: 1.25px solid currentColor; border-radius: 1.5px 1.5px 2.5px 2.5px; transform: translateX(-50%); }
.ochre-bag-icon::after { content: ''; position: absolute; top: 1.5px; left: 50%; box-sizing: border-box; width: 7px; height: 7px; border: 1.25px solid currentColor; border-bottom: 0; border-radius: 6px 6px 0 0; transform: translateX(-50%); }
.ochre-atc-price { margin-left: .2rem; }
.ochre-gallery-controls { pointer-events: none; }
.ochre-gallery-controls button { pointer-events: auto; }
.ochre-product-content .woocommerce-product-gallery .zoomImg { display: none !important; }
.ochre-product-content .woocommerce-product-gallery__image a { cursor: default; }

/* Shopify-compatible live frame preview. The rail is a nine-slice texture and
   lives outside the artwork, so changing frame never crops the master image. */
.ochre-product-content .woocommerce-product-gallery__image a.has-ochre-frame-preview { container-type: size; }
.ochre-frame-preview { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; container-type: size; pointer-events: none; }
.ochre-frame-preview__box { position: relative; box-sizing: content-box; width: min(calc(88cqw - 2 * var(--ochre-frame-rail)), calc((86cqh - 2 * var(--ochre-frame-rail)) * var(--ochre-art-ratio, .8))); aspect-ratio: var(--ochre-art-ratio, .8); --ochre-frame-rail: max(1px, 1.5cqw); border: var(--ochre-frame-rail) solid transparent; border-image-source: var(--ochre-frame-texture, none); border-image-slice: 70; border-image-repeat: stretch; filter: drop-shadow(0 1cqw 1.6cqw rgb(0 0 0 / .25)); }
.ochre-frame-preview__box::after { content: ''; position: absolute; inset: 0; box-shadow: inset 0 0 .7cqw rgb(0 0 0 / .18); }
.ochre-product-content .woocommerce-product-gallery__image .ochre-frame-preview__art { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; object-fit: fill !important; }
.ochre-frame-preview[data-frame="none"] .ochre-frame-preview__box { width: min(88cqw, calc(86cqh * var(--ochre-art-ratio, .8))); border-width: 0; border-image-source: none; filter: drop-shadow(0 6px 14px rgb(0 0 0 / .22)); }
.ochre-frame-preview[data-frame="none"] .ochre-frame-preview__box::after { display: none; }
.pswp img.pswp__img.ochre-lightbox-framed { box-sizing: border-box; border: clamp(7px, 2.5vw, 14px) solid transparent; border-image-source: var(--ochre-frame-texture); border-image-slice: 70; border-image-repeat: stretch; filter: drop-shadow(0 6px 14px rgb(0 0 0 / .2)); }
.pswp .pswp__ui { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.pswp .pswp__ui button, .pswp .pswp__top-bar, .pswp .pswp__caption { pointer-events: auto; }
.pswp .pswp__button--arrow--left,
.pswp .pswp__button--arrow--right { display: block !important; width: 48px; height: 48px; margin-top: -24px; border: 1px solid #ddd; border-radius: 50%; background: #fff !important; opacity: 1 !important; color: #222; }
.pswp .pswp__button--arrow--left { left: 20px; }
.pswp .pswp__button--arrow--right { right: 20px; }
.pswp .pswp__button--arrow--left::before,
.pswp .pswp__button--arrow--right::before { position: absolute; inset: 0; width: 100%; height: 100%; background: none !important; font: 32px/44px Arial, sans-serif; text-align: center; }
.pswp .pswp__button--arrow--left::before { content: '‹'; }
.pswp .pswp__button--arrow--right::before { content: '›'; }
.has-ochre-composed-frame { position: relative; container-type: inline-size; }
.ochre-composed-frame { position: absolute; z-index: 2; box-sizing: content-box; pointer-events: none; left: var(--ochre-art-left); top: var(--ochre-art-top); width: var(--ochre-art-width); height: var(--ochre-art-height); --ochre-scene-rail: max(1px, 1.5cqw); border: var(--ochre-scene-rail) solid transparent; border-image-source: var(--ochre-frame-texture, none); border-image-slice: 70; border-image-repeat: stretch; transform: translate(calc(-1 * var(--ochre-scene-rail)), calc(-1 * var(--ochre-scene-rail))); filter: drop-shadow(0 .15cqw .2cqw rgb(0 0 0 / .2)); }
.ochre-composed-frame[data-frame="none"] { border: 0; transform: none; filter: none; }

/* Product craftsmanship story, restored from the original Shopify PDP. */
.ochre-craftsmanship { width: 100%; margin-top: clamp(4.5rem, 8vw, 8rem); padding: clamp(4rem, 7vw, 6rem) 2.5rem; border-top: 1px solid #f0f0f0; background: #fff; }
.ochre-craftsmanship__inner { width: min(100%, 1400px); margin-inline: auto; }
.ochre-craftsmanship__intro { max-width: 680px; }
.ochre-craftsmanship__eyebrow { margin: 0; font-family: monospace; font-size: .75rem; }
.ochre-craftsmanship__intro h2 { margin: 1rem 0 0; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.75rem, 2.5vw, 2rem); font-weight: 400; line-height: 1.2; }
.ochre-craftsmanship__intro > p:last-child { margin: 1rem 0 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.0625rem; line-height: 1.5; }
.ochre-craftsmanship__rows { display: grid; gap: clamp(4rem, 7vw, 6rem); margin-top: clamp(3rem, 5vw, 4rem); }
.ochre-craftsmanship__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(2.5rem, 5vw, 4rem); }
.ochre-craftsmanship__row--image-right .ochre-craftsmanship__media { order: 2; }
.ochre-craftsmanship__media { aspect-ratio: 4 / 3; overflow: hidden; background: #f3f3f3; }
.ochre-craftsmanship__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ochre-craftsmanship__copy { max-width: 30rem; }
.ochre-craftsmanship__copy h3 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.4rem, 2vw, 1.5rem); font-weight: 400; line-height: 1.3; }
.ochre-craftsmanship__copy p { margin: .75rem 0 0; color: #666; font-size: 1rem; line-height: 1.75; }

/* One shared review stream appears on every product page. */
.ochre-store-reviews { --ochre-review-gutter: max(2.5rem, calc((100vw - 2020px) / 2)); width: 100%; padding: clamp(4rem, 6vw, 5.5rem) 0; overflow: hidden; background: var(--wp--preset--color--blush, #e8ded2); }
.ochre-store-reviews__inner { width: 100%; }
.ochre-store-reviews__header { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-inline: var(--ochre-review-gutter); }
.ochre-store-reviews__header h2 { margin: 0; color: var(--wp--preset--color--foreground, #17130f); font-family: var(--wp--preset--font-family--serif); font-size: clamp(2rem, 2.2vw, 2.5rem); font-weight: 400; line-height: 1.1; }
.ochre-store-reviews__controls { display: flex; align-items: center; gap: .65rem; }
.ochre-store-reviews__controls button { display: grid; flex: 0 0 auto; place-items: center; width: 60px; height: 60px; padding: 0; color: var(--wp--preset--color--primary, #33261b); background: transparent; border: 1px solid var(--wp--preset--color--border, #d9d0c4); border-radius: 999px; font: inherit; font-size: 1.25rem; cursor: pointer; }
.ochre-store-reviews__controls button:hover { background: rgb(255 255 255 / .55); }
.ochre-store-reviews__controls button:disabled { opacity: .35; cursor: default; }
.ochre-store-reviews__controls .ochre-store-reviews__view-all { width: auto; min-width: 160px; padding-inline: 2rem; color: var(--wp--preset--color--surface, #fffcf7); background: var(--wp--preset--color--primary, #33261b); border-color: var(--wp--preset--color--primary, #33261b); font-size: 1rem; font-weight: 600; }
.ochre-store-reviews__controls .ochre-store-reviews__view-all:hover { background: var(--wp--preset--color--accent, #a8753e); border-color: var(--wp--preset--color--accent, #a8753e); }
.ochre-store-reviews__grid { display: flex; align-items: flex-start; gap: 1.25rem; margin-top: 1.5rem; padding: 0 var(--ochre-review-gutter); overflow-x: auto; scroll-behavior: smooth; scroll-padding-inline: var(--ochre-review-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; }
.ochre-store-reviews__grid::-webkit-scrollbar { display: none; }
.ochre-store-review { --ochre-review-pad: clamp(2rem, 2.4vw, 3rem); box-sizing: border-box; display: flex; flex: 0 0 clamp(340px, 19vw, 486px); flex-direction: column; height: 600px; padding: var(--ochre-review-pad); color: var(--wp--preset--color--foreground, #17130f); background: var(--wp--preset--color--surface, #fffcf7); border: 0; border-radius: 10px; scroll-snap-align: start; }
.ochre-store-review__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ochre-store-review h3 { min-width: 0; margin: 0; overflow: hidden; font-family: var(--wp--preset--font-family--serif); font-size: 1.45rem; font-weight: 400; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.ochre-store-review__rating { display: flex; gap: .42rem; color: var(--wp--preset--color--accent, #a8753e); }
.ochre-store-review__rating span,.ochre-store-review__rating svg { display: block; width: 16px; height: 16px; }
.ochre-store-review__rating svg { fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.5; }
.ochre-store-review__rating .is-filled svg { fill: currentColor; }
.ochre-store-review__images { display: flex; align-items: flex-start; gap: .5rem; width: calc(100% + 2 * var(--ochre-review-pad)); margin: 1.35rem calc(-1 * var(--ochre-review-pad)) 0; overflow-x: auto; background: #f1ede6; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ochre-store-review__images::-webkit-scrollbar { display: none; }
.ochre-store-review__images a { display: block; flex: 0 0 100%; height: clamp(190px, 14vw, 260px); overflow: hidden; scroll-snap-align: start; cursor: zoom-in; }
.ochre-store-review__images img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; }
.ochre-review-lightbox[hidden] { display: none; }
.ochre-review-lightbox { position: fixed; z-index: 10100; inset: 0; display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); }
.ochre-review-lightbox__backdrop { position: absolute; inset: 0; width: 100%; padding: 0; background: rgb(18 16 14 / .86); border: 0; }
.ochre-review-lightbox__dialog { position: relative; z-index: 1; display: grid; place-items: center; max-width: 100%; max-height: 100%; }
.ochre-review-lightbox__dialog img { display: block; width: auto; max-width: min(92vw, 1200px); height: auto; max-height: 88vh; object-fit: contain; box-shadow: 0 24px 70px rgb(0 0 0 / .35); }
.ochre-review-lightbox__close { position: absolute; z-index: 2; top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: #17130f; background: #fff; border: 0; border-radius: 50%; box-shadow: 0 4px 18px rgb(0 0 0 / .2); font: 300 1.7rem/1 sans-serif; cursor: pointer; }
.ochre-review-copy-modal[hidden] { display: none; }
.ochre-review-copy-modal { position: fixed; z-index: 10100; inset: 0; display: grid; place-items: center; padding: 1.25rem; }
.ochre-review-copy-modal__backdrop { position: absolute; inset: 0; width: 100%; padding: 0; background: rgb(18 16 14 / .72); border: 0; }
.ochre-review-copy-modal__dialog { position: relative; z-index: 1; box-sizing: border-box; width: min(620px, 100%); max-height: min(720px, calc(100dvh - 2.5rem)); padding: clamp(2rem, 4vw, 3.5rem); overflow-y: auto; color: #17130f; background: #fffcf7; border-radius: 14px; box-shadow: 0 24px 70px rgb(0 0 0 / .28); }
.ochre-review-copy-modal__close { position: absolute; top: 1rem; right: 1rem; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: #17130f; background: #f0e8de; border: 0; border-radius: 50%; font: 300 1.6rem/1 sans-serif; cursor: pointer; }
.ochre-review-copy-modal h2 { margin: 0; padding-right: 3rem; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.7rem, 3vw, 2.25rem); font-weight: 400; }
.ochre-review-copy-modal__rating { display: flex; gap: .42rem; margin-top: 1rem; color: var(--wp--preset--color--accent, #a8753e); }
.ochre-review-copy-modal__rating span,.ochre-review-copy-modal__rating svg { display: block; width: 18px; height: 18px; }
.ochre-review-copy-modal__rating svg { fill: none; stroke: currentColor; stroke-linejoin: round; stroke-width: 1.5; }
.ochre-review-copy-modal__rating .is-filled svg { fill: currentColor; }
.ochre-review-copy-modal__content { margin-top: 1.5rem; font-size: 1rem; line-height: 1.65; }
.ochre-review-copy-modal__content p { margin: 0; }
.ochre-review-copy-modal__content p + p { margin-top: 1em; }
.ochre-store-review__content { flex: 1; min-height: 0; margin-top: 1.35rem; color: var(--wp--preset--color--foreground, #17130f); font-family: var(--wp--preset--font-family--sans); font-size: 1rem; line-height: 1.45; }
.ochre-store-review__copy { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.ochre-store-review__copy p { margin: 0; }
.ochre-store-review__copy p + p { margin-top: .7em; }
.ochre-store-review__read-more { margin-top: .8rem; padding: 0 0 .18rem; color: #704224; background: transparent; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .78rem; font-weight: 600; cursor: pointer; }
.ochre-store-review__verified { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .5rem; font-size: .72rem; white-space: nowrap; }
.ochre-store-review__verified i { position: relative; width: 16px; height: 16px; border: 1px solid currentColor; border-radius: 50%; }
.ochre-store-review__verified i::after { content: ''; position: absolute; top: 3px; left: 5px; width: 4px; height: 7px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); }
.ochre-store-reviews.is-expanded .ochre-store-reviews__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
.ochre-store-reviews.is-expanded .ochre-store-review { min-width: 0; }
.ochre-store-reviews.is-expanded .ochre-store-reviews__controls > button:not(.ochre-store-reviews__view-all) { visibility: hidden; }
.ochre-store-reviews__empty { margin: 2rem var(--ochre-review-gutter) 0; padding: 2.5rem; text-align: center; background: rgb(255 255 255 / .7); border: 1px solid #e3dbd0; border-radius: 12px; }
.ochre-store-reviews__empty span { color: #c8b8a6; letter-spacing: .25em; }
.ochre-store-reviews__empty p { max-width: 42rem; margin: .85rem auto 0; color: #625c55; font-family: var(--wp--preset--font-family--serif); line-height: 1.6; }
.ochre-review-form { margin: 1.25rem var(--ochre-review-gutter) 0; background: #fff; border: 1px solid #e3dbd0; border-radius: 12px; }
.ochre-review-form summary { display: flex; align-items: center; min-height: 64px; padding: .9rem 1.25rem; font-size: .8rem; font-weight: 600; list-style: none; cursor: pointer; }
.ochre-review-form summary::-webkit-details-marker { display: none; }
.ochre-review-form summary span { margin-left: .3em; overflow: hidden; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
.ochre-review-form summary i { position: relative; flex: 0 0 14px; width: 14px; height: 14px; margin-left: auto; }
.ochre-review-form summary i::before,.ochre-review-form summary i::after { content: ''; position: absolute; top: 6px; left: 1px; width: 12px; height: 1px; background: currentColor; transition: transform .18s ease; }
.ochre-review-form summary i::after { transform: rotate(90deg); }
.ochre-review-form[open] summary i::after { transform: rotate(0); }
.ochre-review-form__body { padding: 0 1.25rem 1.5rem; border-top: 1px solid #eee8df; }
.ochre-review-form .comment-reply-title { display: block; margin: 1.5rem 0 .4rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; font-weight: 400; }
.ochre-review-form .comment-notes { margin: 0 0 1.2rem; color: #746d66; font-size: .72rem; }
.ochre-review-form .comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ochre-review-form .comment-form > p,.ochre-review-form .comment-form-rating { margin: 0; }
.ochre-review-form .comment-form-rating,.ochre-review-form .comment-form-comment,.ochre-review-form .comment-form-photos,.ochre-review-form .comment-form-cookies-consent,.ochre-review-form .form-submit { grid-column: 1 / -1; }
.ochre-review-form label { display: block; margin-bottom: .4rem; color: #4f4841; font-size: .72rem; }
.ochre-review-form :where(input[type="text"],input[type="email"],select,textarea) { box-sizing: border-box; width: 100%; padding: .75rem; color: #211d19; background: #fff; border: 1px solid #cfc6bb; border-radius: 8px; font: inherit; font-size: .82rem; }
.ochre-review-form textarea { resize: vertical; }
.ochre-review-form .comment-form-photos input { box-sizing: border-box; width: 100%; padding: .65rem; color: #5e554c; background: #faf8f4; border: 1px dashed #c9bbae; border-radius: 8px; font: inherit; font-size: .76rem; }
.ochre-review-form .comment-form-photos label span,.ochre-review-form .comment-form-photos small { color: #83786d; font-weight: 400; }
.ochre-review-form .comment-form-photos small { display: block; margin-top: .45rem; font-size: .68rem; }
.ochre-review-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: .6rem; }
.ochre-review-form .comment-form-cookies-consent input { margin-top: .15rem; }
.ochre-review-form .comment-form-cookies-consent label { margin: 0; }
.ochre-review-form .ochre-review-submit { min-height: 48px; padding: 0 1.5rem; color: #fff; background: #211d19; border: 0; border-radius: 8px; font: inherit; font-size: .75rem; font-weight: 600; cursor: pointer; }
.ochre-review-form .ochre-review-submit:hover { background: #704224; }

@media (min-width: 1024px) {
    .ochre-store-reviews:not(.is-expanded) .ochre-store-reviews__grid,
    .ochre-store-reviews:not(.is-expanded) .ochre-store-review__images a { cursor: grab; }
    .ochre-store-reviews__grid.is-dragging,
    .ochre-store-reviews__grid.is-dragging .ochre-store-review__images a { cursor: grabbing; }
    .ochre-store-reviews__grid.is-dragging { scroll-behavior: auto; scroll-snap-type: none; user-select: none; }
}

.ochre-product-content .ochre-rolled-price-link { display: inline-flex; align-items: center; gap: .2rem; width: fit-content; margin-block-start: .32rem !important; padding: 0 0 .1rem; color: #66615c; background: transparent; border: 0; border-bottom: 1px solid #c7c1ba; font: inherit; font-size: .71rem; line-height: 1.35; cursor: pointer; }
.ochre-product-content .ochre-rolled-price-link:hover { color: #171717; border-bottom-color: #171717; }
.ochre-product-content .ochre-rolled-price-link svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.ochre-product-content .ochre-rolled-price-link .woocommerce-Price-amount { color: inherit; font: inherit; font-weight: 600; }

@media (min-width: 1024px) {
    .ochre-frame-guide__dialog { display: flex; flex-direction: column; width: min(800px, calc(100% - 48px)); max-height: min(800px, calc(100dvh - 48px)); overflow: hidden; }
    .ochre-frame-guide__dialog > header { flex-shrink: 0; }
    .ochre-frame-guide__content { flex: 1 1 auto; min-height: 0; }
    .ochre-frame-guide__visual { min-height: 0; padding: 3.5rem; }
    .ochre-frame-guide__sample { width: min(400px, 88%, calc(340px * var(--ochre-art-ratio, 1) + 50px)); }
    .ochre-frame-guide__copy { min-width: 0; padding: 3rem; overflow-y: auto; }
    .ochre-frame-guide__copy h3 { font-size: 1.6rem; }
    .ochre-frame-guide__finishes { grid-template-columns: repeat(5, minmax(52px, 1fr)); gap: .65rem; }
    .ochre-frame-guide__finishes small { white-space: nowrap; }
    .ochre-product-content.pa-shell { width: 100%; max-width: none; padding: 0; }
    .ochre-product-content { scroll-margin-top: 0; }
    .ochre-product-content > .woocommerce-breadcrumb,
    .ochre-product-content > .wp-block-woocommerce-breadcrumbs,
    .ochre-product-content > .woocommerce-notices-wrapper { display: none; }
    .ochre-product-content .pa-product-layout { align-items: stretch; gap: 0; margin: 0; }
    .ochre-product-content .pa-product-layout > .pa-product-gallery,
    .ochre-product-content .pa-product-layout > .pa-product-summary { flex: 0 0 50% !important; max-width: 50%; }
    .ochre-product-content .pa-product-layout > .pa-product-gallery { position: sticky; top: 0; align-self: flex-start; height: 100svh; overflow: hidden; background: #f0f2ee; }
    .ochre-product-content .pa-product-layout > .pa-product-summary { position: relative !important; top: auto !important; align-self: flex-start; min-height: 100svh; padding: clamp(1.6rem, 2.4vw, 3rem) clamp(2.5rem, 4.5vw, 6.5rem); background: #fff; }
    .ochre-product-content .pa-product-summary > :not(.ochre-size-guide) { width: min(100%, clamp(400px, 28vw, 460px)); margin-inline: auto; }
    .ochre-product-content .pa-product-summary > .ochre-rolled-price-link { display: flex; }
    .ochre-product-content .pa-product-summary > .wp-block-post-title { margin: 0 auto .75rem; font-size: clamp(1.6rem, 1.8vw, 1.95rem); line-height: 1.15; }
    .ochre-product-content .wp-block-woocommerce-product-rating { display: none; }
    .ochre-product-content .pa-single-price { margin: 0; font-size: .92rem; }
    .ochre-product-content .pa-single-price del { margin-right: .45rem; color: #666; }
    .ochre-product-content .pa-single-price ins { color: #111; font-weight: 500; text-decoration: none; }
    .ochre-product-content .woocommerce-product-gallery,
    .ochre-product-content .woocommerce-product-gallery .flex-viewport,
    .ochre-product-content .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
    .ochre-product-content .woocommerce-product-gallery .woocommerce-product-gallery__image { height: 100svh !important; background: #f0f2ee; }
    .ochre-product-content .wp-block-woocommerce-product-image-gallery,
    .ochre-product-content .woocommerce-product-gallery { width: 100% !important; max-width: none !important; }
    .ochre-product-content .woocommerce-product-gallery__image a { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 100svh; height: 100svh; padding: 2rem; }
    .ochre-product-content .woocommerce-product-gallery__image img { width: auto !important; height: 86svh !important; max-width: calc(100% - 4rem); max-height: 86svh; object-fit: contain; }
    .ochre-product-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n + 2) a { padding: 0; }
    .ochre-product-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n + 2) img { width: 100% !important; height: 100svh !important; max-width: none; max-height: none; object-fit: cover; object-position: center top; }
    .ochre-product-content .flex-control-thumbs { display: none !important; }
    .ochre-product-content .woocommerce-product-gallery .flex-direction-nav a { opacity: 1; }
    .ochre-product-content .woocommerce-product-gallery .woocommerce-product-gallery__trigger { display: none; }
    .ochre-product-content .woocommerce-product-gallery { position: relative; }
    .ochre-product-content .ochre-gallery-managed .flex-viewport { overflow: visible !important; }
    .ochre-product-content .ochre-gallery-managed .woocommerce-product-gallery__wrapper { width: 100% !important; transform: none !important; }
    .ochre-product-content .ochre-gallery-managed .woocommerce-product-gallery__image { display: none !important; float: none !important; width: 100% !important; margin: 0 !important; }
    .ochre-product-content .ochre-gallery-managed .woocommerce-product-gallery__image.is-ochre-active { display: block !important; }
    .ochre-gallery-controls button { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: #222; background: rgba(255,255,255,.92); border: 0; border-radius: 50%; box-shadow: 0 2px 8px rgb(0 0 0 / .06); font: 300 1.45rem/1 sans-serif; transform: translateY(-50%); cursor: pointer; }
    .ochre-gallery-controls button[data-direction="prev"] { left: 1.5rem; }
    .ochre-gallery-controls button[data-direction="next"] { right: 1.5rem; }
    .ochre-gallery-dots { position: absolute; z-index: 4; left: 50%; bottom: 1.35rem; display: flex; gap: .55rem; transform: translateX(-50%); }
    .ochre-gallery-dots i { display: block; width: 7px; height: 7px; background: rgb(255 255 255 / .55); border-radius: 50%; }
    .ochre-gallery-dots i.is-active { background: #fff; }
    .pa-product-summary form.variations_form { display: block !important; margin-top: 0; }
    .pa-product-summary .wp-block-woocommerce-add-to-cart-form form.cart { margin-bottom: 0 !important; }
    .pa-product-summary .wp-block-woocommerce-add-to-cart-form .ppc-button-wrapper { margin-top: 12px; padding-inline: 0; }
    .pa-product-summary table.variations { margin: 0; }
    .pa-product-summary .ochre-options { margin: 1.05rem 0 0; }
    .pa-product-summary .ochre-options--finish { margin-top: 1.1rem; }
    .ochre-product-content .pa-product-summary > .ochre-pdp-sale-banner { height: 84px; min-height: 84px; margin: 1rem auto 1.1rem; }
    .pa-product-summary .ochre-pdp-sale-banner img { height: 84px; min-height: 84px; }
    .pa-product-summary .ochre-pdp-sale-banner__copy strong > b { font-size: 2.7rem; }
    .pa-product-summary .ochre-option-heading { margin-bottom: .55rem; }
    .pa-product-summary .ochre-size-select-shell { min-height: 46px; }
    .pa-product-summary .ochre-size-select-trigger { min-height: 46px; }
    .pa-product-summary .ochre-frame-choice-grid { grid-template-columns: repeat(7, 52px); justify-content: space-between; gap: 0; margin-bottom: .7rem; }
    .pa-product-summary .ochre-frame-choice { width: 52px; height: 52px; padding: 3px; }
    .pa-product-summary .ochre-frame-choice { background: #fff; }
    .pa-product-summary .ochre-frame-choice img { object-fit: contain; }
    .pa-product-summary .ochre-frame-choice:not([data-value="Rolled Canvas"]):not([data-value="Stretched Canvas"]) img { position: absolute; inset: 22.222% auto auto 22.222%; width: 100%; height: 100%; border-radius: 0; }
    .pa-product-summary .woocommerce-variation { min-height: 0; margin: 0; }
    .pa-product-summary .woocommerce-variation-price,
    .pa-product-summary .reset_variations { display: none !important; }
    .pa-product-summary .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: stretch; margin-top: 1rem; }
    .pa-product-summary .quantity { display: none !important; }
    .pa-product-summary .single_add_to_cart_button { grid-column: 1 / -1 !important; grid-row: 1 !important; justify-self: stretch; width: 100% !important; inline-size: 100% !important; min-height: 48px; padding: 0 1rem; color: #fff !important; background: #050505 !important; border: 0 !important; border-radius: 0 !important; font-size: .82rem; font-weight: 600; text-transform: none; }
    .ochre-product-content .ochre-wishlist-button--gallery { position: absolute; z-index: 6; right: 1.5rem; bottom: 1.5rem; width: 40px; height: 40px; color: rgb(23 23 23 / .68); background: transparent; border: 0; box-shadow: none; }
    .ochre-product-content .ochre-wishlist-button--gallery svg { width: 18px; height: 18px; fill: #c9c9c9; stroke: none; }
    .ochre-product-content .ochre-wishlist-button--gallery:hover { color: rgb(23 23 23 / .85); background: transparent; border-color: transparent; box-shadow: none; }
    .ochre-product-content .ochre-wishlist-button--gallery:hover svg { fill: #bdbdbd; }
    .ochre-product-content .ochre-wishlist-button--gallery[aria-pressed="true"] { color: rgb(23 23 23 / .85); background: transparent; border-color: transparent; }
    .ochre-product-content .ochre-wishlist-button--gallery[aria-pressed="true"] svg { fill: currentColor; }
    .pa-product-summary .single_add_to_cart_button.disabled { opacity: .45; }
    .pa-product-summary .pa-product-meta,
    .pa-product-summary > .wp-block-woocommerce-product-meta,
    .ochre-finish-preview,
    .ochre-product-promises,
    .ochre-product-policy { display: none !important; }
    .ochre-purchase-tools { margin: 0; }
    .ochre-product-content > .pa-related { width: min(calc(100% - 4rem), 1900px); margin: clamp(5rem, 8vw, 9rem) auto 0; }
}

@media (max-width: 1180px) and (min-width: 1024px) {
    .ochre-product-content .pa-product-layout > .pa-product-summary { padding-inline: 2rem; }
    .ochre-frame-choice-grid { gap: .42rem; }
}

@media (max-width: 1023px) {
    /* Mobile PDP follows the previous Shopify theme: gallery first, then a compact 20px inset purchase panel. */
    .single-product .pa-header { position: absolute; z-index: 60; inset: 0 0 auto; color: #201b16; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .single-product .pa-header.is-scrolled { position: fixed; background: #fff; border-bottom: 1px solid rgb(30 25 20 / .09); box-shadow: none; }
    .single-product .pa-product-page { padding-block-start: 0; }
    .ochre-product-content.pa-shell { width: 100%; max-width: none; padding: 0; }
    .ochre-product-content > .woocommerce-breadcrumb,
    .ochre-product-content > .wp-block-woocommerce-breadcrumbs,
    .ochre-product-content > .woocommerce-notices-wrapper { display: none; }
    .ochre-product-content .pa-product-layout { display: flex; flex-direction: column; gap: 0; margin: 0; }
    .ochre-product-content .pa-product-layout > .pa-product-gallery,
    .ochre-product-content .pa-product-layout > .pa-product-summary { flex: 0 0 100% !important; width: 100%; max-width: none; }
    .ochre-product-content .pa-product-layout > .pa-product-gallery { background: #f0f2ee; }
    .ochre-product-content .wp-block-woocommerce-product-image-gallery,
    .ochre-product-content .woocommerce-product-gallery { width: 100% !important; max-width: none !important; margin: 0 !important; }
    .ochre-product-content .woocommerce-product-gallery { aspect-ratio: 4 / 5; overflow: hidden; }
    .ochre-product-content .ochre-gallery-fluid-swipe { touch-action: pan-y pinch-zoom; overscroll-behavior-x: contain; -webkit-user-select: none; user-select: none; }
    .ochre-product-content .ochre-gallery-fluid-swipe .woocommerce-product-gallery__wrapper { backface-visibility: hidden; transition-timing-function: cubic-bezier(.22, 1, .36, 1) !important; will-change: transform; }
    .ochre-product-content .ochre-gallery-fluid-swipe .woocommerce-product-gallery__image { backface-visibility: hidden; transform: translateZ(0); }
    .ochre-product-content .woocommerce-product-gallery .flex-viewport,
    .ochre-product-content .woocommerce-product-gallery__wrapper,
    .ochre-product-content .woocommerce-product-gallery__image { min-height: 0 !important; }
    .ochre-product-content .woocommerce-product-gallery__image a { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 4 / 5; min-height: 0; padding: 0; background: #f0f2ee; }
    .ochre-product-content .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; max-width: 100%; max-height: none; object-fit: contain; }
    .ochre-product-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n + 2) a { padding: 0; }
    .ochre-product-content .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:nth-child(n + 2) img { object-fit: cover; }
    .ochre-product-content .flex-control-thumbs { display: none !important; }
    .ochre-product-content .woocommerce-product-gallery__trigger { display: none; }
    .ochre-gallery-controls button { display: none; }
    .ochre-gallery-dots { position: absolute; z-index: 5; left: 50%; bottom: 1.25rem; display: flex; gap: .55rem; transform: translateX(-50%); }
    .ochre-gallery-dots i { display: block; width: 8px; height: 8px; background: rgb(255 255 255 / .45); border-radius: 50%; box-shadow: 0 1px 2px rgb(0 0 0 / .12); }
    .ochre-gallery-dots i.is-active { background: #fff; }
    .ochre-product-content .ochre-wishlist-button--gallery { position: absolute; z-index: 6; right: 1rem; bottom: 1rem; width: 36px; height: 36px; color: rgb(23 23 23 / .68); background: transparent; border: 0; box-shadow: none; }
    .ochre-product-content .ochre-wishlist-button--gallery svg { width: 16px; height: 16px; fill: #c9c9c9; stroke: none; }
    .ochre-product-content .ochre-wishlist-button--gallery:hover { color: rgb(23 23 23 / .85); background: transparent; border-color: transparent; box-shadow: none; }
    .ochre-product-content .ochre-wishlist-button--gallery:hover svg { fill: #bdbdbd; }
    .ochre-product-content .ochre-wishlist-button--gallery[aria-pressed="true"] { color: rgb(23 23 23 / .85); background: transparent; border-color: transparent; }
    .ochre-product-content .ochre-wishlist-button--gallery[aria-pressed="true"] svg { fill: currentColor; }
    .ochre-product-content .pa-product-summary { padding: 1.65rem 1.25rem 0; background: #fff; }
    .ochre-product-content .pa-product-summary > * { width: 100%; }
    .ochre-product-content .pa-product-summary > * + * { margin-block-start: 1rem; }
    .ochre-product-content .pa-product-summary > .wp-block-post-title { margin: 0 0 .5rem; font-size: 1.3rem; line-height: 1.25; }
    .ochre-product-content .wp-block-woocommerce-product-rating { display: none; }
    .ochre-product-content .pa-single-price { margin: 0; font-size: 1rem; }
    .ochre-product-content .pa-single-price del { margin-right: .35rem; color: #666; }
    .ochre-product-content .pa-single-price ins { color: #111; font-weight: 500; text-decoration: none; }
    .ochre-product-content .pa-product-summary > .wp-block-add-to-cart-form { margin-top: .65rem; }
    .ochre-pdp-sale-banner { grid-template-columns: 1fr 1fr; min-height: 110px; margin: 1.25rem 0 1.5rem; }
    .ochre-pdp-sale-banner img { height: 110px; min-height: 110px; }
    .ochre-pdp-sale-banner__copy em { font-size: .9rem; }
    .ochre-pdp-sale-banner__copy strong > b { font-size: 2.8rem; }
    .pa-product-summary form.variations_form { display: block !important; margin: 0 !important; }
    .pa-product-summary table.variations { margin: 0 !important; }
    .pa-product-summary .ochre-options { margin: 0; }
    .pa-product-summary .ochre-options + .ochre-options { margin-top: .45rem; }
    .pa-product-summary .ochre-option-heading,
    .pa-product-summary .ochre-size-select-shell,
    .pa-product-summary .ochre-frame-choice-grid { display: none; }
    .ochre-mobile-picker { position: relative; display: block; margin: 0; }
    .ochre-mobile-picker__trigger { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 58px; padding: .65rem 1rem; color: #171717; background: #f4efeb; border: 0; border-radius: 14px; font: inherit; cursor: pointer; }
    .ochre-mobile-picker__label { font-size: .9rem; font-weight: 500; }
    .ochre-mobile-size-guide-trigger,
    .ochre-mobile-frame-guide-trigger { position: absolute; z-index: 1; inset-block-start: 50%; display: grid; place-items: center; width: 30px; height: 30px; margin: 0; padding: 0; color: #171717; background: transparent; border: 0; transform: translateY(-50%); cursor: pointer; }
    .ochre-mobile-size-guide-trigger { inset-inline-start: 3.05rem; }
    .ochre-mobile-frame-guide-trigger { inset-inline-start: 3.85rem; }
    .ochre-mobile-size-guide-trigger svg,
    .ochre-mobile-frame-guide-trigger svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
    .ochre-mobile-picker__selection { display: flex; align-items: center; gap: .65rem; min-width: 0; }
    .ochre-mobile-picker__selection b { overflow: hidden; max-width: 62vw; font-size: .78rem; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
    .ochre-mobile-picker__chevron { flex: 0 0 auto; width: 17px; height: 17px; color: #38332f; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.25; }
    .ochre-mobile-sheet[hidden] { display: none; }
    .ochre-mobile-sheet { position: fixed; z-index: 10020; inset: 0; }
    .ochre-mobile-sheet__backdrop { position: absolute; inset: 0; width: 100%; padding: 0; background: rgb(0 0 0 / .42); border: 0; }
    .ochre-mobile-sheet__panel { position: absolute; inset: auto 0 0; max-height: min(78svh, 680px); overflow: auto; padding: .5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom)); background: #fff; border-radius: 18px 18px 0 0; box-shadow: 0 -12px 40px rgb(0 0 0 / .15); }
    .ochre-mobile-sheet__handle { display: block; width: 38px; height: 4px; margin: .25rem auto .8rem; background: #d3d3d3; border-radius: 5px; }
    .ochre-mobile-sheet header { display: flex; align-items: center; justify-content: space-between; padding: .2rem 0 .85rem; border-bottom: 1px solid #e6e6e6; }
    .ochre-mobile-sheet header strong { font-family: var(--wp--preset--font-family--serif); font-size: 1.45rem; font-weight: 400; }
    .ochre-mobile-sheet__close { width: 40px; height: 40px; padding: 0; background: transparent; border: 0; font: 300 1.8rem/1 sans-serif; }
    .ochre-mobile-sheet__option { display: grid; grid-template-columns: auto 1fr 18px; align-items: center; gap: .9rem; width: 100%; min-height: 64px; margin: .55rem 0; padding: .7rem 1rem; color: #171717; background: #f4edeb; border: 1px solid transparent; border-radius: 18px; text-align: left; font: inherit; }
    .ochre-mobile-picker--size .ochre-mobile-sheet__option { grid-template-columns: minmax(0, 1fr) auto; min-height: 74px; padding-block: .8rem; }
    .ochre-frame-swatch { position: relative; display: block; width: 54px; height: 54px; overflow: hidden; background: #fff; border-radius: 50%; }
    .ochre-frame-swatch img { position: absolute; inset: 12px auto auto 12px; display: block; width: 54px; height: 54px; padding: 0; object-fit: contain; background: transparent; border: 0; border-radius: 0; }
    .ochre-frame-swatch--current { flex: 0 0 26px; width: 26px; height: 26px; }
    .ochre-frame-swatch--current img { inset: 6px auto auto 6px; width: 26px; height: 26px; }
    .ochre-frame-swatch img[src$="/rolled-canvas-option.webp"],
    .ochre-frame-swatch img[src$="/stretched-canvas-photo.webp"] { inset: 0; width: 100%; height: 100%; }
    .ochre-mobile-sheet__option span { font-size: .86rem; }
    .ochre-mobile-sheet__dimensions { display: grid; gap: .15rem; min-width: 0; }
    .ochre-mobile-sheet__dimensions b { overflow: hidden; font-size: .86rem; font-weight: 500; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
    .ochre-mobile-sheet__dimensions small { color: #777; font-size: .7rem; line-height: 1.2; }
    .ochre-mobile-sheet__price,
    .ochre-mobile-sheet__price .price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: .1rem; color: #171717; font-size: .78rem; font-weight: 500; white-space: nowrap; }
    .ochre-mobile-sheet__price del { color: #626262; font-size: .7rem; font-weight: 400; line-height: 1.15; }
    .ochre-mobile-sheet__price ins { color: #171717; font-size: .82rem; font-weight: 600; line-height: 1.15; text-decoration: none; }
    .ochre-mobile-sheet__price :where(.amount, bdi) { font: inherit; }
    .ochre-mobile-sheet__option i { width: 16px; height: 16px; border: 1px solid #aaa; border-radius: 50%; }
    .ochre-mobile-sheet__option.is-selected { border-color: #152254; }
    .ochre-mobile-sheet__option.is-selected i { border: 5px solid #152254; }
    .ochre-sheet-open { overflow: hidden; }
    .ochre-frame-guide { align-items: end; padding: 0; }
    .ochre-frame-guide__dialog { width: 100%; max-height: 88svh; border-radius: 18px 18px 0 0; box-shadow: 0 -12px 40px rgb(0 0 0 / .15); }
    .ochre-frame-guide__handle { position: sticky; z-index: 3; top: 0; display: block; width: 38px; height: 4px; margin: .6rem auto -.2rem; background: #d3d3d3; border-radius: 5px; }
    .ochre-frame-guide__dialog > header { min-height: 72px; padding: 13px 1.25rem 12px; }
    .ochre-frame-guide__dialog > header h2 { font-size: 1.3rem; }
    .ochre-frame-guide__dialog > header small { font-size: .56rem; }
    .ochre-frame-guide__content { display: block; }
    .ochre-frame-guide__visual { min-height: 330px; padding: 2rem 1.5rem; }
    .ochre-frame-guide__sample { width: min(250px, 74vw, calc(245px * var(--ochre-art-ratio, 1) + 38px)); padding: 7px; border-width: 12px; }
    .ochre-frame-guide__copy { padding: 2rem 1.25rem calc(2rem + env(safe-area-inset-bottom)); }
    .ochre-frame-guide__copy h3 { font-size: 1.55rem; }
    .ochre-frame-guide__copy > p { font-size: .78rem; }
    .ochre-frame-guide__finishes { margin-block: 1.4rem; }
    .ochre-frame-guide__finishes img { width: 38px; height: 38px; }
    .pa-product-summary .woocommerce-variation { min-height: 0; margin: 0 !important; }
    .pa-product-summary .woocommerce-variation-price,
    .pa-product-summary .reset_variations { display: none !important; }
    .pa-product-summary .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: .55rem; margin-top: .5rem; }
    .pa-product-summary .wp-block-woocommerce-add-to-cart-form .variations_button { grid-template-columns: minmax(0, 1fr) !important; }
    .pa-product-summary .quantity { display: none !important; }
    .pa-product-summary .wp-block-woocommerce-add-to-cart-form .variations_button > .single_add_to_cart_button { grid-column: 1 / -1 !important; grid-row: 1; justify-self: stretch; width: 100% !important; inline-size: 100% !important; min-height: 48px; padding: 0 .65rem; color: #fff !important; background: #050505 !important; border: 0 !important; border-radius: 999px !important; font-size: .78rem; text-transform: none; }
    .pa-product-summary .wp-block-woocommerce-add-to-cart-form .ppc-button-wrapper { padding-inline: 0; }
    .pa-product-summary .ppc-button-wrapper paypal-button { --paypal-button-border-radius: 999px !important; }
    .pa-product-summary .ochre-wishlist-button { grid-column: 3 !important; grid-row: 1 !important; width: 48px; height: 48px; }
    .ochre-after-purchase { margin-top: .75rem; }
    .ochre-delivery-timeline { column-gap: .35rem; margin: 1.25rem 0 2rem; }
    .ochre-delivery-timeline > div { min-width: 0; padding-inline: .15rem; gap: .35rem; }
    .ochre-delivery-timeline small { display: flex; align-items: center; justify-content: center; width: 5.25rem; max-width: 100%; min-height: 2.3em; line-height: 1.15; text-wrap: balance; }
    .ochre-delivery-timeline strong { line-height: 1.2; white-space: nowrap; }
    .ochre-product-accordions { display: grid; gap: .55rem; border: 0; }
    .ochre-painting-details { overflow: hidden; background: #f4efeb; border: 0; border-radius: 14px; }
    .ochre-painting-details summary { align-items: center; min-height: 60px; padding: .95rem 1.1rem; font-size: .92rem; font-weight: 600; line-height: 1.25; }
    .ochre-painting-details summary > .ochre-down-chevron,
    .ochre-painting-details[open] summary > .ochre-down-chevron { position: relative; width: 14px; height: 14px; margin: 0 0 0 1rem; color: #38332f; border: 0; transform: none; }
    .ochre-painting-details summary > .ochre-down-chevron::before,
    .ochre-painting-details summary > .ochre-down-chevron::after { content: ''; position: absolute; top: 50%; left: 50%; width: 11px; height: 1px; background: currentColor; border-radius: 999px; transform: translate(-50%, -50%); transition: opacity .18s ease; }
    .ochre-painting-details summary > .ochre-down-chevron::after { transform: translate(-50%, -50%) rotate(90deg); }
    .ochre-painting-details[open] summary > .ochre-down-chevron::after { opacity: 0; }
    .ochre-painting-details__copy { padding: 0 1.1rem 1.15rem; color: #625d58; font-size: .8rem; line-height: 1.7; }
    .ochre-painting-details__copy p { margin-block: .65rem; }
    .ochre-painting-details__copy p:first-child { margin-top: 0; }
    .ochre-purchase-tools { display: none; margin: 0; }
    .pa-product-summary .pa-product-meta,
    .pa-product-summary > .wp-block-woocommerce-product-meta,
    .ochre-finish-preview,
    .ochre-product-promises,
    .ochre-product-policy { display: none !important; }
    .ochre-product-content > .pa-related { width: calc(100% - 2.5rem); margin: 3.5rem auto 0; }
    .ochre-mobile-buy { position: fixed; z-index: 1000; inset: auto 0 0; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: .75rem; min-height: 68px; padding: .65rem max(1rem, env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); color: #171717; background: #fff; border-top: 1px solid #dedede; box-shadow: 0 -8px 24px rgb(0 0 0 / .08); opacity: 0; visibility: hidden; transform: translateY(100%); transition: transform .25s ease, opacity .25s ease, visibility .25s ease; }
    .ochre-mobile-buy.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
    .ochre-mobile-buy > img { display: block; width: 44px; height: 48px; object-fit: contain; background: #f0f2ee; }
    .ochre-mobile-buy div { display: grid; gap: .1rem; min-width: 0; }
    .ochre-mobile-buy small { overflow: hidden; color: #222; font-size: .72rem; letter-spacing: 0; text-transform: none; text-overflow: ellipsis; white-space: nowrap; }
    .ochre-mobile-buy strong { font-size: .8rem; white-space: nowrap; }
    .ochre-mobile-buy del { display: none; }
    .ochre-mobile-buy button { min-width: 108px; min-height: 44px; padding: .65rem .85rem; color: #fff; background: #050505; border: 0; border-radius: 0; font: inherit; font-size: .75rem; font-weight: 600; text-transform: none; }
    body.single-product { padding-block-end: 72px; }
    .ochre-craftsmanship { margin-top: 0; padding: 3rem 1.25rem 4rem; }
    .ochre-craftsmanship__intro > p:last-child { font-size: 1rem; }
    .ochre-craftsmanship__rows { gap: 3.5rem; margin-top: 3rem; }
    .ochre-craftsmanship__row { grid-template-columns: 1fr; gap: 1.75rem; }
    .ochre-craftsmanship__row--image-right .ochre-craftsmanship__media { order: 0; }
    .ochre-craftsmanship__copy { max-width: 34rem; }
    .ochre-store-reviews { --ochre-review-gutter: 1.25rem; padding: 2.75rem 0 2.5rem; }
    .ochre-store-reviews__inner { display: grid; grid-template-columns: minmax(0, 1fr); }
    .ochre-store-reviews__header { display: contents; }
    .ochre-store-reviews__header > div:first-child { grid-row: 1; padding-inline: var(--ochre-review-gutter); }
    .ochre-store-reviews__header h2 { font-size: 1.8rem; }
    .ochre-store-reviews__grid { grid-row: 2; gap: .5rem; margin-top: 1.5rem; padding-inline: var(--ochre-review-gutter); }
    .ochre-store-review { --ochre-review-pad: 1.75rem; flex: 0 0 74vw; height: 520px; padding: var(--ochre-review-pad); }
    .ochre-store-review__meta { margin-bottom: 1rem; }
    .ochre-store-review h3 { font-size: 1.05rem; }
    .ochre-store-review__rating { gap: .35rem; font-size: .86rem; }
    .ochre-store-review__content { margin-top: .85rem; font-size: .82rem; line-height: 1.45; }
    .ochre-store-review__verified { font-size: .72rem; }
    .ochre-store-reviews__controls { grid-row: 3; gap: .55rem; margin-top: 1.35rem; padding-inline: var(--ochre-review-gutter); }
    .ochre-store-reviews__controls button { width: 46px; height: 46px; font-size: 1rem; }
    .ochre-store-reviews__controls .ochre-store-reviews__view-all { flex: 1; min-width: 0; padding-inline: 1rem; font-size: .82rem; }
    .ochre-store-reviews.is-expanded .ochre-store-reviews__grid { grid-template-columns: 1fr; }
    .ochre-store-reviews.is-expanded .ochre-store-review { width: auto; min-height: 280px; }
    .ochre-store-reviews__empty { padding: 2rem 1.25rem; }
    .ochre-review-form .comment-form { grid-template-columns: 1fr; }
    .ochre-review-form .comment-form > * { grid-column: 1; }
}

@media (min-width: 1024px) {
    .ochre-mobile-picker { display: none; }
}

@media (max-width: 480px) {
    .ochre-product-content .woocommerce-product-gallery__image a { padding: 0; }
    .ochre-product-content .pa-product-summary { padding-inline: 1.25rem; }
    .ochre-pdp-sale-banner { min-height: 102px; }
    .ochre-pdp-sale-banner img { height: 102px; min-height: 102px; }
    .ochre-mobile-picker__selection b { max-width: 56vw; }
}

/* Browser-persisted wishlist page. */
[data-ochre-wishlist-page].ochre-wishlist { width: min(calc(100% - 5rem), 1600px); max-width: none; padding-block: clamp(4.5rem, 7vw, 7rem); }
.ochre-wishlist__header { max-width: 42rem; margin-bottom: clamp(3rem, 5vw, 5rem); }
.ochre-wishlist__header .pa-eyebrow { margin: 0 0 .75rem; color: #9b5c3c; }
.ochre-wishlist__header h1 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.6rem, 5vw, 4.75rem); font-weight: 400; line-height: 1; }
.ochre-wishlist__header [data-ochre-wishlist-summary] { margin: 1rem 0 0; color: #73706c; font-size: .84rem; }
.ochre-wishlist__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 4.5rem) clamp(.9rem, 1.4vw, 1.6rem); }
.ochre-wishlist__grid[hidden],
.ochre-wishlist__loading[hidden],
.ochre-wishlist__empty[hidden],
.ochre-wishlist__error[hidden] { display: none !important; }
.ochre-wishlist-card { min-width: 0; }
.ochre-wishlist-card .pa-product-media { border-radius: 0; }
.ochre-wishlist-card .ochre-wishlist-button--card { inset: .8rem .8rem auto auto; }
.ochre-wishlist-card .pa-product-name { margin-bottom: .3rem; font-size: clamp(.95rem, 1.15vw, 1.2rem); }
.ochre-wishlist-card .pa-product-price { margin: 0; font-size: .82rem; }
.ochre-wishlist-card__action { display: inline-flex; margin-top: .9rem; color: #26211d; border-bottom: 1px solid currentColor; font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.ochre-wishlist__loading { min-height: 35vh; color: #777; font-size: .85rem; }
.ochre-wishlist__empty,
.ochre-wishlist__error { display: grid; justify-items: center; min-height: 44vh; align-content: center; padding: 3rem 1rem; text-align: center; border-block: 1px solid #e7e2dc; }
.ochre-wishlist__empty > span { display: grid; place-items: center; width: 52px; height: 52px; color: #a6633d; }
.ochre-wishlist__empty > span svg { display: block; width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.15; }
.ochre-wishlist__empty h2,
.ochre-wishlist__error h2 { margin: 1rem 0 .5rem; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 400; }
.ochre-wishlist__empty p,
.ochre-wishlist__error p { max-width: 34rem; margin: 0; color: #706b66; font-size: .9rem; }
.ochre-wishlist__empty a { margin-top: 1.5rem; padding: .85rem 1.4rem; color: #fff; background: #171717; font-size: .78rem; font-weight: 600; text-decoration: none; }
@media (max-width: 900px) {
    [data-ochre-wishlist-page].ochre-wishlist { width: calc(100% - 2.5rem); padding-block: 3.5rem 5rem; }
    .ochre-wishlist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem .85rem; }
    .ochre-wishlist__header { margin-bottom: 2.5rem; }
    .ochre-wishlist-card .pa-product-name { font-size: .9rem; }
    .ochre-wishlist-card .pa-product-price { font-size: .7rem; }
    .ochre-wishlist-card__action { display: none; }
}

/* Mobile catalogue: collection shortcuts, practical view controls and full-screen filters. */
.ochre-mobile-collection-nav,
.ochre-catalog-filter-button,
.ochre-catalog-filter-header,
.ochre-catalog-filter-footer,
.ochre-catalog-mobile-count,
.ochre-catalog-view-switcher,
.ochre-catalog-frame-button,
.ochre-catalog-frame-overlay,
.ochre-catalog-sort-button,
.ochre-catalog-sort-overlay { display: none; }

@media (min-width: 601px) {
    body.ochre-catalog-panel-open { overflow: hidden; }
    .ochre-mobile-collection-nav { display: grid; grid-auto-flow: column; grid-auto-columns: 78px; gap: 1.05rem; margin: 2.5rem 0 0; padding: .2rem .2rem .65rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
    .ochre-mobile-collection-nav a { display: grid; min-width: 78px; justify-items: center; gap: .6rem; color: var(--wp--preset--color--foreground); font-size: .7rem; line-height: 1.2; text-align: center; text-decoration: none; scroll-snap-align: start; }
    .ochre-mobile-collection-nav__image { display: block; width: 74px; height: 74px; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid transparent; border-radius: 50%; transition: border-color 180ms ease, transform 180ms ease; }
    .ochre-mobile-collection-nav__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .ochre-mobile-collection-nav a:hover .ochre-mobile-collection-nav__image { transform: translateY(-2px); }
    .ochre-mobile-collection-nav a.is-current .ochre-mobile-collection-nav__image { border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px var(--wp--preset--color--surface), 0 0 0 4px var(--wp--preset--color--primary); }

    .pa-catalog .pa-catalog-toolbar { display: grid !important; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: .55rem; margin-top: 2.5rem; padding-block: .8rem; border-block: 1px solid var(--wp--preset--color--border); }
    .pa-catalog .pa-catalog-toolbar .wc-block-product-results-count { justify-self: start; margin-left: .65rem; }
    .ochre-catalog-view-switcher { display: flex; align-items: center; gap: .2rem; }
    .ochre-catalog-view-switcher button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: var(--wp--preset--color--muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
    .ochre-catalog-view-switcher button:hover,
    .ochre-catalog-view-switcher button[aria-pressed="true"] { color: var(--wp--preset--color--primary); background: var(--wp--preset--color--canvas); }
    .ochre-catalog-view-switcher svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.35; }
    .ochre-catalog-frame-button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid var(--wp--preset--color--border); border-radius: 50%; cursor: pointer; }
    .ochre-catalog-frame-button img { display: block; width: 42px; height: 42px; object-fit: cover; transform: scale(1.5) translate(10%, 10%); }

    .pa-catalog .woocommerce-ordering { display: flex; min-height: 42px; margin: 0; padding: 0; background: transparent; border: 0; }
    .pa-catalog .woocommerce-ordering::before,
    .pa-catalog .woocommerce-ordering::after { display: none; }
    .pa-catalog .woocommerce-ordering select { min-width: 190px; min-height: 42px; margin: 0; padding: 0 2rem 0 1rem; color: var(--wp--preset--color--foreground); background-color: var(--wp--preset--color--canvas); border: 0; border-radius: 999px; font: inherit; font-size: .76rem; cursor: pointer; }
    .ochre-catalog-sort-button { display: none; }
    .ochre-catalog-sort-button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; }
    .pa-catalog.is-single-column .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap-inline: 1.5rem; }

    .ochre-catalog-sort-overlay,
    .ochre-catalog-frame-overlay { position: fixed; z-index: 1400; inset: 0; align-items: center; justify-content: center; padding: 2rem; color: var(--wp--preset--color--foreground); background: rgb(23 19 15 / .36); opacity: 0; transition: opacity .2s ease; }
    .ochre-catalog-sort-overlay:not([hidden]),
    .ochre-catalog-frame-overlay:not([hidden]) { display: flex; }
    .ochre-catalog-sort-overlay.is-open,
    .ochre-catalog-frame-overlay.is-open { opacity: 1; }
    .ochre-catalog-sort-panel,
    .ochre-catalog-frame-panel { width: min(100%, 520px); max-height: calc(100vh - 4rem); overflow: auto; background: var(--wp--preset--color--surface); border-radius: 16px; box-shadow: 0 24px 70px rgb(23 19 15 / .2); transform: translateY(12px); transition: transform .2s ease; }
    .ochre-catalog-frame-panel { width: min(100%, 700px); }
    .ochre-catalog-sort-overlay.is-open .ochre-catalog-sort-panel,
    .ochre-catalog-frame-overlay.is-open .ochre-catalog-frame-panel { transform: translateY(0); }
    .ochre-catalog-sort-panel:focus,
    .ochre-catalog-frame-panel:focus { outline: 0; }
    .ochre-catalog-sort-panel header,
    .ochre-catalog-frame-panel header { display: flex; align-items: center; justify-content: space-between; min-height: 92px; padding: 1.4rem 1.75rem; border-bottom: 1px solid var(--wp--preset--color--border); }
    .ochre-catalog-sort-panel header small,
    .ochre-catalog-frame-panel header small { display: block; margin-bottom: .25rem; color: var(--wp--preset--color--muted); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
    .ochre-catalog-sort-panel h2,
    .ochre-catalog-frame-panel h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.8rem; font-weight: 400; }
    .ochre-catalog-sort-close,
    .ochre-catalog-frame-close { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: inherit; background: var(--wp--preset--color--canvas); border: 0; border-radius: 50%; font: 300 1.65rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
    .ochre-catalog-sort-options { padding: .4rem 1.75rem 1.25rem; }
    .ochre-catalog-sort-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 56px; padding: .7rem 0; color: inherit; background: transparent; border: 0; border-bottom: 1px solid var(--wp--preset--color--border); font: inherit; font-size: .86rem; text-align: left; cursor: pointer; }
    .ochre-catalog-sort-option:last-child { border-bottom: 0; }
    .ochre-catalog-sort-option i { display: grid; place-items: center; flex: 0 0 auto; width: 19px; height: 19px; border: 1px solid var(--wp--preset--color--muted); border-radius: 50%; }
    .ochre-catalog-sort-option[aria-checked="true"] { color: var(--wp--preset--color--primary); font-weight: 600; }
    .ochre-catalog-sort-option[aria-checked="true"] i { border-color: var(--wp--preset--color--primary); }
    .ochre-catalog-sort-option[aria-checked="true"] i::after { width: 9px; height: 9px; background: var(--wp--preset--color--primary); border-radius: 50%; content: ''; }
    .ochre-catalog-frame-content { padding: 1.75rem; }
    .ochre-catalog-frame-content h3 { margin: 0 0 1.35rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.2rem; font-weight: 400; }
    .ochre-catalog-frame-options { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
    .ochre-catalog-frame-option { display: grid; justify-items: center; gap: .7rem; min-width: 0; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; cursor: pointer; }
    .ochre-catalog-frame-option > span { display: block; width: 82px; height: 82px; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid transparent; border-radius: 50%; }
    .ochre-catalog-frame-option img { display: block; width: 82px; height: 82px; object-fit: cover; transform: scale(1.5) translate(10%, 10%); }
    .ochre-catalog-frame-option strong { font-size: .78rem; font-weight: 500; }
    .ochre-catalog-frame-option[aria-checked="true"] > span { border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px var(--wp--preset--color--surface), 0 0 0 4px var(--wp--preset--color--primary); }
    .ochre-catalog-frame-option[aria-checked="true"] strong { color: var(--wp--preset--color--primary); font-weight: 650; }
    .ochre-catalog-frame-content > p { margin: 1.75rem 0 0; padding-top: 1rem; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--border); font-size: .72rem; line-height: 1.6; }
}

@media (max-width: 600px) {
    body.ochre-catalog-panel-open { overflow: hidden; }
    .pa-catalog .wp-block-query-pagination-numbers { flex-basis: 100%; order: -1; }
    .pa-catalog.pa-shell { width: 100%; padding: 1.25rem 0 4rem; }
    .pa-catalog > .pa-catalog-header,
    .pa-catalog > .ochre-catalog-body { margin-block-start: 0; }
    .pa-catalog .pa-catalog-header { padding-inline: 1.25rem; }
    .pa-catalog-heading { max-width: none; text-align: left; }
    .pa-catalog-header .wp-block-query-title { font-size: 1.85rem; }
    .pa-catalog .ochre-catalog-intro { display: none; }
    .ochre-mobile-collection-nav { display: grid; grid-auto-flow: column; grid-auto-columns: 66px; gap: 1rem; margin: 1.25rem -1.25rem 0; padding: 0 1.25rem .3rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
    .ochre-mobile-collection-nav::-webkit-scrollbar { display: none; }
    .ochre-mobile-collection-nav a { display: grid; min-width: 66px; justify-items: center; gap: .5rem; color: var(--wp--preset--color--foreground); font-size: .64rem; line-height: 1.2; text-align: center; text-decoration: none; scroll-snap-align: start; }
    .ochre-mobile-collection-nav__image { display: block; width: 64px; height: 64px; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid transparent; border-radius: 50%; }
    .ochre-mobile-collection-nav__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .ochre-mobile-collection-nav a.is-current .ochre-mobile-collection-nav__image { border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 2px var(--wp--preset--color--surface), 0 0 0 3px var(--wp--preset--color--primary); }

    .pa-catalog .pa-catalog-toolbar {
        position: relative;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto auto;
        align-items: center;
        gap: .35rem;
        width: 100%;
        min-height: 52px;
        margin: 1.1rem 0 0;
        padding: 0 .75rem 0 1rem;
        background: var(--wp--preset--color--surface);
        border-block: 1px solid var(--wp--preset--color--border);
    }
    .pa-catalog .pa-catalog-toolbar .wc-block-product-results-count { display: none; }
    .ochre-catalog-mobile-count { display: none; }
    .ochre-catalog-view-switcher { display: flex; align-items: center; gap: .15rem; }
    .ochre-catalog-view-switcher button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; color: var(--wp--preset--color--muted); background: transparent; border: 0; border-radius: 50%; cursor: pointer; }
    .ochre-catalog-view-switcher button[aria-pressed="true"] { color: var(--wp--preset--color--primary); background: var(--wp--preset--color--canvas); }
    .ochre-catalog-view-switcher svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.35; }
    .ochre-catalog-frame-button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid var(--wp--preset--color--border); border-radius: 50%; cursor: pointer; }
    .ochre-catalog-frame-button img { display: block; width: 36px; height: 36px; object-fit: cover; transform: scale(1.5) translate(10%, 10%); }
    .ochre-catalog-filter-button,
    .pa-catalog .woocommerce-ordering { position: relative; display: flex; align-items: center; justify-content: center; width: auto; min-width: 70px; min-height: 36px; margin: 0; padding: 0 .75rem; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--canvas); border: 0; border-radius: 999px; font: inherit; font-size: .72rem; cursor: pointer; }
    .ochre-catalog-filter-button { gap: .35rem; background: var(--wp--preset--color--canvas); }
    .ochre-catalog-filter-button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.4; }
    .pa-catalog .woocommerce-ordering::before,
    .pa-catalog .woocommerce-ordering::after { display: none; }
    .pa-catalog .woocommerce-ordering select { position: absolute; width: 1px; height: 1px; min-width: 0; min-height: 0; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
    .ochre-catalog-sort-button { display: flex; align-items: center; justify-content: center; gap: .35rem; width: 100%; min-height: 36px; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; cursor: pointer; }
    .ochre-catalog-sort-button svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.2; }

    .ochre-catalog-sort-overlay { position: fixed; z-index: 1400; inset: 0; align-items: flex-end; background: rgb(23 19 15 / .32); opacity: 0; transition: opacity .25s ease; }
    .ochre-catalog-sort-overlay:not([hidden]) { display: flex; }
    .ochre-catalog-sort-overlay.is-open { opacity: 1; }
    .ochre-catalog-sort-panel { width: 100%; max-height: min(78vh, 620px); padding-bottom: env(safe-area-inset-bottom); overflow: hidden auto; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--surface); border-radius: 24px 24px 0 0; box-shadow: 0 -12px 40px rgb(23 19 15 / .15); transform: translateY(100%); transition: transform .25s ease; }
    .ochre-catalog-sort-panel:focus { outline: 0; }
    .ochre-catalog-sort-overlay.is-open .ochre-catalog-sort-panel { transform: translateY(0); }
    .ochre-catalog-sort-panel header { display: flex; align-items: center; justify-content: space-between; min-height: 98px; padding: 1.25rem; border-bottom: 1px solid var(--wp--preset--color--border); }
    .ochre-catalog-sort-panel header small { display: block; margin-bottom: .25rem; color: var(--wp--preset--color--muted); font-size: .6rem; letter-spacing: .09em; text-transform: uppercase; }
    .ochre-catalog-sort-panel h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.75rem; font-weight: 400; }
    .ochre-catalog-sort-close { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; color: inherit; background: var(--wp--preset--color--canvas); border: 0; border-radius: 50%; font: 300 1.65rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
    .ochre-catalog-sort-options { padding: .35rem 1.25rem 1rem; }
    .ochre-catalog-sort-option { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 58px; padding: .75rem .15rem; color: inherit; background: transparent; border: 0; border-bottom: 1px solid var(--wp--preset--color--border); font: inherit; font-size: .9rem; text-align: left; cursor: pointer; }
    .ochre-catalog-sort-option:last-child { border-bottom: 0; }
    .ochre-catalog-sort-option i { display: grid; place-items: center; flex: 0 0 auto; width: 20px; height: 20px; border: 1px solid var(--wp--preset--color--muted); border-radius: 50%; }
    .ochre-catalog-sort-option[aria-checked="true"] { color: var(--wp--preset--color--primary); font-weight: 600; }
    .ochre-catalog-sort-option[aria-checked="true"] i { border-color: var(--wp--preset--color--primary); }
    .ochre-catalog-sort-option[aria-checked="true"] i::after { width: 10px; height: 10px; background: var(--wp--preset--color--primary); border-radius: 50%; content: ''; }

    .ochre-catalog-frame-overlay { position: fixed; z-index: 1400; inset: 0; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--surface); opacity: 0; transform: translateX(100%); transition: opacity .25s ease, transform .25s ease; }
    .ochre-catalog-frame-overlay:not([hidden]) { display: block; }
    .ochre-catalog-frame-overlay.is-open { opacity: 1; transform: translateX(0); }
    .ochre-catalog-frame-panel { height: 100%; overflow-y: auto; }
    .ochre-catalog-frame-panel:focus { outline: 0; }
    .ochre-catalog-frame-panel header { display: flex; align-items: center; justify-content: space-between; min-height: 128px; padding: 2rem 1.25rem 1.5rem; border-bottom: 1px solid var(--wp--preset--color--border); }
    .ochre-catalog-frame-panel header small { display: block; margin-bottom: .35rem; color: var(--wp--preset--color--muted); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
    .ochre-catalog-frame-panel h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 2rem; font-weight: 400; }
    .ochre-catalog-frame-close { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; color: inherit; background: var(--wp--preset--color--canvas); border: 0; border-radius: 50%; font: 300 1.8rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
    .ochre-catalog-frame-content { padding: 2rem 1.25rem calc(2rem + env(safe-area-inset-bottom)); }
    .ochre-catalog-frame-content h3 { margin: 0 0 1.35rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; font-weight: 400; }
    .ochre-catalog-frame-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem .8rem; }
    .ochre-catalog-frame-option { display: grid; justify-items: center; gap: .65rem; min-width: 0; padding: 0; color: inherit; background: transparent; border: 0; font: inherit; cursor: pointer; }
    .ochre-catalog-frame-option > span { display: block; width: 78px; height: 78px; overflow: hidden; background: var(--wp--preset--color--canvas); border: 1px solid transparent; border-radius: 50%; }
    .ochre-catalog-frame-option img { display: block; width: 78px; height: 78px; object-fit: cover; transform: scale(1.5) translate(10%, 10%); }
    .ochre-catalog-frame-option strong { font-size: .8rem; font-weight: 500; }
    .ochre-catalog-frame-option[aria-checked="true"] > span { border-color: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px var(--wp--preset--color--surface), 0 0 0 4px var(--wp--preset--color--primary); }
    .ochre-catalog-frame-option[aria-checked="true"] strong { color: var(--wp--preset--color--primary); font-weight: 650; }
    .ochre-catalog-frame-content > p { margin: 2.5rem 0 0; padding-top: 1.25rem; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--border); font-size: .72rem; line-height: 1.6; }

    .pa-catalog .ochre-catalog-body { display: block; }
    .pa-catalog .ochre-catalog-results { width: 100%; padding-top: .5rem; }
    .pa-catalog .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem .55rem; }
    .pa-catalog .pa-product-card .pa-product-name,
    .pa-catalog .pa-product-card .pa-product-price { margin-inline: .75rem; }
    .pa-catalog .pa-product-card .pa-product-name { min-height: 2.6em; margin-top: .7rem; font-family: var(--wp--preset--font-family--sans); font-size: .84rem; line-height: 1.3; }
    .pa-catalog .pa-product-card .pa-product-price { font-size: .68rem; }
    .pa-catalog.is-single-column .wp-block-woocommerce-product-collection.pa-product-collection .pa-product-grid { grid-template-columns: 1fr; gap: 3rem; }
    .pa-catalog.is-single-column .pa-product-card .pa-product-name { min-height: 0; margin-top: 1rem; font-family: var(--wp--preset--font-family--serif); font-size: 1.25rem; }
    .pa-catalog.is-single-column .pa-product-card .pa-product-price { font-size: .8rem; }

    .pa-catalog .ochre-catalog-filters { position: fixed; z-index: 1300; inset: 0; display: flex; flex-direction: column; margin: 0; color: var(--wp--preset--color--foreground); background: var(--wp--preset--color--surface); visibility: hidden; opacity: 0; transform: translateX(100%); transition: transform .25s ease, opacity .25s ease, visibility .25s ease; }
    .pa-catalog .ochre-catalog-filters.is-mobile-open { visibility: visible; opacity: 1; transform: translateX(0); }
    .ochre-catalog-filter-header { display: flex; align-items: center; justify-content: space-between; min-height: 104px; padding: 1.25rem; border-bottom: 1px solid var(--wp--preset--color--border); }
    .ochre-catalog-filter-header small { display: block; margin-bottom: .3rem; color: var(--wp--preset--color--muted); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
    .ochre-catalog-filter-header h2 { margin: 0; font-family: var(--wp--preset--font-family--serif); font-size: 1.8rem; font-weight: 400; }
    .ochre-catalog-filter-header button { width: 48px; height: 48px; padding: 0; color: currentColor; background: var(--wp--preset--color--canvas); border: 0; border-radius: 50%; font: 300 1.8rem/1 var(--wp--preset--font-family--sans); cursor: pointer; }
    .pa-catalog .ochre-catalog-filters__toggle { flex: 1; margin: 0; overflow-y: auto; border: 0; }
    .pa-catalog .ochre-catalog-filters__toggle > summary { display: none; }
    .pa-catalog .ochre-catalog-filters__body { padding: 0 1.25rem 1rem; }
    .pa-catalog .ochre-catalog-filters__body > details { border-top: 0; border-bottom: 1px solid var(--wp--preset--color--border); }
    .pa-catalog .ochre-catalog-filters summary { min-height: 70px; font-size: 1rem; }
    .pa-catalog .ochre-catalog-filter-options { gap: .35rem; padding-bottom: 1.25rem; }
    .pa-catalog .ochre-catalog-filter-options a { padding: .45rem .1rem; font-size: .82rem; }
    .ochre-catalog-filter-footer { display: block; padding: .9rem 1.25rem calc(.9rem + env(safe-area-inset-bottom)); background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--border); box-shadow: 0 -8px 24px rgb(23 19 15 / .06); }
    .ochre-catalog-filter-footer button { width: 100%; min-height: 50px; padding: .75rem 1rem; color: var(--wp--preset--color--surface); background: var(--wp--preset--color--primary); border: 0; border-radius: 999px; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }

}

/* Reserve the native options' space until the full gallery has settled. */
form.variations_form:has([data-ochre-gallery-loading]) .variations { visibility: hidden; pointer-events: none; }
[data-ochre-gallery-loading] { color: #69645e; font-size: .85rem; }

/* Express checkout shares the same gallery/variation readiness as Add to cart. */
.single-product .pa-product-summary:has(form.variations_form:not([data-ochre-purchase-ready="true"])) .ppc-button-wrapper,
.single-product .pa-product-summary:has(form.variations_form[data-ochre-cart-busy="true"]) .ppc-button-wrapper {
    visibility: hidden; pointer-events: none;
}
