/* Native WooCommerce templates and blocks share the site's visual tokens. */
.bhr-commerce {
  --wc-accent:var(--bhr-blue, #1766a2); --wc-ink:var(--bhr-text, #182c42);
  --wc-muted:var(--bhr-muted, #5e7183); --wc-line:var(--bhr-line, #dbe4eb);
  --wc-surface:#fff; --wc-price:#227445; --wc-soft:#edf4fa;
  --woocommerce:var(--wc-accent); --wc-green:#227445; --wc-red:#b83232;
}
html[data-bhr-palette="fresh"] .bhr-commerce { --wc-accent:#007d80; --wc-price:#227445; --wc-soft:#eaf6f3; }
.bhr-commerce-main { padding-top:24px; padding-bottom:64px; min-height:480px; }
.bhr-commerce-main *, .bhr-commerce-main *::before, .bhr-commerce-main *::after { box-sizing:border-box; }
.bhr-commerce-main :is(h1,h2,h3,h4,p,a,button,input,select,textarea) { letter-spacing:0; }
.bhr-commerce-main :is(h1,h2,h3,h4) { color:var(--wc-ink); font-family:inherit; }
.bhr-commerce-main :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--wc-accent); outline-offset:3px; }
.bhr-commerce-main ::selection { background:var(--wc-soft); color:var(--wc-ink); }
.bhr-commerce-nav { display:flex; flex-wrap:wrap; gap:8px 28px; border-bottom:1px solid var(--wc-line); padding:0 0 16px; margin-bottom:32px; }
.bhr-commerce-nav a { color:var(--wc-muted); font-size:14px; padding:4px 0; }
.bhr-commerce-nav a[aria-current],.bhr-commerce-nav a:hover { color:var(--wc-accent); }
.bhr-commerce-nav a[aria-current] { font-weight:700; }
.bhr-commerce-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.bhr-commerce-heading h1 { font-size:32px; font-weight:750; line-height:1.35; margin:0; }
.bhr-commerce-heading p { color:var(--wc-muted); margin:8px 0 0; font-size:14px; }
.bhr-commerce-search { display:flex; background:var(--wc-surface); border:1px solid var(--wc-line); border-radius:6px; width:320px; min-width:0; height:46px; }
.bhr-commerce-search input { min-width:0; width:100%; flex:1; border:0; background:transparent; padding:10px 14px; font:inherit; color:var(--wc-ink); }
.bhr-commerce-search button { flex:0 0 46px; border:0; background:transparent; color:var(--wc-accent); display:grid; place-items:center; cursor:pointer; }
.bhr-commerce-search svg { fill:none; stroke:currentColor; }
.bhr-commerce-categories { display:flex; gap:10px 22px; flex-wrap:wrap; padding:0 0 22px; border-bottom:1px solid var(--wc-line); margin-bottom:22px; }
.bhr-commerce-categories a { color:var(--wc-muted); font-size:14px; padding:5px 0; }
.bhr-commerce-categories a[aria-current] { font-weight:700; color:var(--wc-accent); }
.bhr-commerce-categories span { margin-left:7px; font-size:12px; font-variant-numeric:tabular-nums; }
.bhr-commerce-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:24px; }
.bhr-commerce-toolbar .woocommerce-notices-wrapper { flex-basis:100%; }
.bhr-commerce-toolbar .woocommerce-notices-wrapper:empty { display:none; }
.bhr-commerce .woocommerce-result-count,.bhr-commerce .woocommerce-ordering { float:none; margin:0; color:var(--wc-muted); font-size:13px; }
.bhr-commerce .woocommerce-ordering select { padding:10px 34px 10px 12px; background:var(--wc-surface); color:var(--wc-ink); border:1px solid var(--wc-line); border-radius:5px; min-height:44px; max-width:100%; }
.bhr-commerce ul.products,.bhr-commerce .wc-block-grid.has-4-columns .wc-block-grid__products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 24px; margin:0 0 36px; padding:0; }
.bhr-commerce ul.products::before,.bhr-commerce ul.products::after { display:none; }
.bhr-commerce ul.products li.product { display:flex; flex-direction:column; float:none; width:auto; min-width:0; margin:0; padding:0 0 18px; border-bottom:1px solid var(--wc-line); }
.bhr-commerce.bhr-site ul.products[class*="columns-"] li.product { width:100%; float:none; margin:0; }
.bhr-commerce ul.products li.product > a.woocommerce-loop-product__link { display:block; color:var(--wc-ink); }
.bhr-commerce ul.products li.product a img { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:contain; background:white; border-radius:6px; margin:0 0 16px; }
.bhr-commerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; line-height:1.6; font-weight:650; margin:0 0 10px; padding:0; min-height:3.2em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.bhr-commerce ul.products li.product .price { color:var(--wc-price); font-size:18px; font-weight:700; margin:0 0 14px; min-height:28px; font-variant-numeric:tabular-nums; }
.bhr-commerce ul.products li.product .button { margin-top:auto; align-self:flex-start; }
.bhr-commerce :is(a.button,button.button,input.button,.wc-block-components-button,.wp-block-button__link) { display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:11px 18px; border:1px solid var(--wc-accent); border-radius:5px; background:var(--wc-accent); color:#fff; font-family:inherit; font-weight:600; font-size:14px; line-height:1.4; text-decoration:none; box-shadow:none; text-align:center; white-space:normal; cursor:pointer; transition:background-color .15s; }
.bhr-commerce :is(a.button,button.button,input.button,.wc-block-components-button,.wp-block-button__link):hover { background:var(--wc-ink); border-color:var(--wc-ink); color:#fff; }
.bhr-commerce :is(button.button,.wc-block-components-button):disabled { opacity:.5; cursor:not-allowed; }
.bhr-commerce.bhr-site :is(a.button.alt,button.button.alt,input.button.alt) { background:var(--wc-accent); border-color:var(--wc-accent); color:white; }
.bhr-commerce.bhr-site :is(a.button.alt,button.button.alt,input.button.alt):hover { background:var(--wc-ink); border-color:var(--wc-ink); color:white; }
.bhr-commerce .woocommerce-breadcrumb { color:var(--wc-muted); font-size:13px; margin:0 0 26px; overflow-wrap:anywhere; }
.bhr-commerce .woocommerce-breadcrumb a { color:var(--wc-muted); }
.bhr-commerce div.product { display:flow-root; }
.bhr-commerce div.product div.images { float:left; width:48%; margin-bottom:36px; }
.bhr-commerce div.product div.summary { float:right; width:47%; margin:0 0 36px; }
.bhr-commerce div.product .product_title { font-size:27px; line-height:1.5; font-weight:700; margin:0 0 20px; overflow-wrap:anywhere; }
.bhr-commerce div.product :is(p.price,span.price) { font-size:28px; color:var(--wc-price); margin:0 0 22px; font-weight:700; font-variant-numeric:tabular-nums; }
.bhr-commerce div.product .woocommerce-product-gallery { background:white; border-radius:6px; }
.bhr-commerce div.product .woocommerce-product-gallery img { width:100%; height:auto; object-fit:contain; }
.bhr-commerce div.product .flex-control-thumbs { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.bhr-commerce div.product .flex-control-thumbs li { float:none; flex:0 0 calc((100% - 40px)/5); }
.bhr-commerce div.product .flex-control-thumbs img { aspect-ratio:1; object-fit:contain; border-radius:4px; }
.bhr-commerce .woocommerce-product-details__short-description { color:var(--wc-muted); line-height:1.8; margin-bottom:24px; overflow-wrap:anywhere; }
.bhr-commerce div.product form.cart { margin:24px 0; }
.bhr-commerce div.product form.cart .variations { background:transparent; margin-bottom:20px; }
.bhr-commerce div.product form.cart .variations th { text-align:left; font-weight:600; padding:10px 12px 10px 0; width:80px; }
.bhr-commerce div.product form.cart .variations th label { color:var(--wc-ink); }
.bhr-commerce div.product form.cart .variations td { padding:8px 0; }
.bhr-commerce div.product form.cart .variations select { width:100%; min-height:44px; padding:10px; border:1px solid var(--wc-line); border-radius:5px; background:white; color:var(--wc-ink); }
.bhr-commerce .reset_variations { font-size:12px; color:var(--wc-muted); display:inline-block; margin-top:8px; }
.bhr-commerce .quantity .qty { width:76px; min-height:44px; padding:9px; border:1px solid var(--wc-line); border-radius:5px; background:white; font-size:16px; font-variant-numeric:tabular-nums; }
.bhr-commerce div.product form.cart div.quantity { margin-right:12px; }
.bhr-commerce .product_meta { border-top:1px solid var(--wc-line); padding-top:18px; font-size:13px; color:var(--wc-muted); }
.bhr-commerce .product_meta > span { display:block; margin:5px 0; overflow-wrap:anywhere; }
.bhr-commerce div.product .woocommerce-tabs { clear:both; padding-top:18px; }
.bhr-commerce div.product .woocommerce-tabs ul.tabs { display:flex; gap:28px; padding:0; margin:0 0 26px; border-bottom:1px solid var(--wc-line); overflow:visible; }
.bhr-commerce div.product .woocommerce-tabs ul.tabs::before,.bhr-commerce div.product .woocommerce-tabs ul.tabs li::before,.bhr-commerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.bhr-commerce div.product .woocommerce-tabs ul.tabs li { border:0; border-radius:0; background:transparent; margin:0; padding:0; }
.bhr-commerce div.product .woocommerce-tabs ul.tabs li a { font-weight:600; padding:12px 0; color:var(--wc-muted); }
.bhr-commerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--wc-accent); }
.bhr-commerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--wc-accent); }
.bhr-commerce .woocommerce-Tabs-panel { overflow-wrap:anywhere; line-height:1.8; }
.bhr-commerce .woocommerce-Tabs-panel h2,.bhr-commerce .related h2 { font-size:22px; margin:24px 0 18px; }
.bhr-commerce .woocommerce-Tabs-panel img { max-width:100%; height:auto; }
.bhr-commerce .related { clear:both; padding-top:24px; border-top:1px solid var(--wc-line); margin-top:32px; }
.bhr-commerce .woocommerce :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) { background:var(--wc-soft); border-top:2px solid var(--wc-accent); color:var(--wc-ink); border-radius:4px; padding:18px 20px 18px 48px; }
.bhr-commerce :is(.woocommerce-message,.woocommerce-info)::before { color:var(--wc-accent); }
.bhr-commerce .woocommerce-error { border-top-color:#b83232; }
.bhr-commerce nav.woocommerce-pagination { margin:30px 0; }
.bhr-commerce nav.woocommerce-pagination ul { display:inline-flex; border:0; gap:8px; }
.bhr-commerce nav.woocommerce-pagination ul li { border:0; }
.bhr-commerce nav.woocommerce-pagination ul li :is(a,span) { min-width:44px; height:44px; display:grid; place-items:center; border:1px solid var(--wc-line); border-radius:4px; color:var(--wc-ink); background:white; }
.bhr-commerce nav.woocommerce-pagination ul li span.current { background:var(--wc-accent); color:white; border-color:var(--wc-accent); }
.bhr-commerce .woocommerce-MyAccount-navigation { width:23%; }
.bhr-commerce .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; border-top:1px solid var(--wc-line); }
.bhr-commerce .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--wc-line); }
.bhr-commerce .woocommerce-MyAccount-navigation a { display:block; padding:13px 16px; color:var(--wc-muted); }
.bhr-commerce .woocommerce-MyAccount-navigation .is-active a { background:var(--wc-soft); color:var(--wc-accent); font-weight:650; }
.bhr-commerce .woocommerce-MyAccount-content { width:72%; overflow-wrap:anywhere; }
.bhr-commerce .woocommerce form :is(.form-row input.input-text,.form-row textarea,.form-row select) { padding:12px; border:1px solid var(--wc-line); background:white; border-radius:5px; min-height:46px; font-size:16px; color:var(--wc-ink); max-width:100%; }
.bhr-commerce .woocommerce form .form-row label { line-height:1.6; margin-bottom:8px; }
.bhr-commerce .woocommerce form :is(.form-row,fieldset) { margin-bottom:18px; }
.bhr-commerce .woocommerce form :is(.login,.register),.bhr-commerce .woocommerce form.login { border:1px solid var(--wc-line); padding:28px; border-radius:6px; background:white; max-width:560px; }
.bhr-commerce .woocommerce .col2-set h2,.bhr-commerce .bhr-commerce-page-content > .woocommerce > h2 { font-size:22px; }
.bhr-commerce .woocommerce-ResetPassword { max-width:560px; }
.bhr-commerce .woocommerce table.shop_table { width:100%; border-collapse:collapse; border:1px solid var(--wc-line); border-radius:0; font-size:14px; background:white; }
.bhr-commerce .woocommerce table.shop_table :is(th,td) { padding:14px; border-color:var(--wc-line); overflow-wrap:anywhere; }
.bhr-commerce .woocommerce table.shop_table th { font-weight:650; background:var(--wc-soft); }
.bhr-commerce .wc-block-components-main,.bhr-commerce .wc-block-components-sidebar { min-width:0; }
.bhr-commerce .wc-block-components-sidebar { padding:24px; background:white; border:1px solid var(--wc-line); border-radius:6px; }
.bhr-commerce .wc-block-components-sidebar :is(.wc-block-components-order-summary,.wp-block-woocommerce-checkout-order-summary-block) { border:0; border-radius:0; }
.bhr-commerce .wc-block-cart__submit-container { padding-top:18px; }
.bhr-commerce .wc-block-components-product-name { color:var(--wc-ink); font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.bhr-commerce .wc-block-components-product-metadata { font-size:13px; color:var(--wc-muted); overflow-wrap:anywhere; }
.bhr-commerce .wc-block-components-quantity-selector { border:1px solid var(--wc-line); border-radius:4px; min-height:40px; }
.bhr-commerce .wc-block-components-quantity-selector button { color:var(--wc-accent); min-width:36px; }
.bhr-commerce .wc-block-components-totals-item,.bhr-commerce .wc-block-components-totals-coupon { padding:14px 0; }
.bhr-commerce .wc-block-components-totals-wrapper { border-color:var(--wc-line); }
.bhr-commerce .wc-block-components-totals-item__value { font-variant-numeric:tabular-nums; }
.bhr-commerce .wc-block-components-title { font-size:20px; font-weight:650; line-height:1.5; }
.bhr-commerce .wc-block-checkout__form .wc-block-components-checkout-step { padding:0 0 28px; margin-bottom:28px; border-bottom:1px solid var(--wc-line); }
.bhr-commerce .wc-block-components-text-input input,.bhr-commerce .wc-block-components-combobox .components-combobox-control__input,.bhr-commerce .wc-block-components-textarea { background:white; border-color:var(--wc-line); color:var(--wc-ink); border-radius:5px; font-size:16px; caret-color:var(--wc-accent); }
.bhr-commerce .wc-block-components-text-input label { color:var(--wc-muted); }
.bhr-commerce .wc-block-components-radio-control__option { padding:18px 18px 18px 52px; }
.bhr-commerce .wc-block-components-radio-control__input { accent-color:var(--wc-accent); }
.bhr-commerce .wc-block-components-checkout-place-order-button,.bhr-commerce .wc-block-cart__submit-button { width:100%; }
.bhr-commerce .wc-block-cart-item__image img { background:white; border-radius:4px; }
.bhr-commerce .wp-block-woocommerce-empty-cart-block { padding:32px 0; }
.bhr-commerce .wp-block-woocommerce-empty-cart-block h2 { font-size:24px; margin:0 0 24px; }
.bhr-commerce .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { width:72px; height:72px; mask-size:contain; -webkit-mask-size:contain; margin:0 auto 24px; }
.bhr-commerce .wp-block-woocommerce-empty-cart-block .wp-block-separator { display:none; }
.bhr-commerce .wp-block-woocommerce-empty-cart-block > p { margin:0 0 40px; }
.bhr-commerce .wp-block-woocommerce-empty-cart-block > p a { color:var(--wc-accent); text-decoration:underline; }
.bhr-commerce .wc-block-grid.has-4-columns .wc-block-grid__product { display:flex; flex-direction:column; flex:none; max-width:none; min-width:0; width:100%; padding:0 0 18px; border:0; border-bottom:1px solid var(--wc-line); text-align:left; }
.bhr-commerce .wc-block-grid__product-image img { display:block; width:100%; aspect-ratio:1; height:auto; object-fit:contain; background:white; border-radius:6px; }
.bhr-commerce .wc-block-grid__product-price { color:var(--wc-price); font-size:18px; font-weight:700; margin:0 0 14px; }
.bhr-commerce .wc-block-grid__product-title { min-height:3.2em; margin:16px 0 10px; color:var(--wc-ink); }
.bhr-commerce .wc-block-grid__product-add-to-cart { margin-top:auto; text-align:left; }
.bhr-commerce .wc-block-product-template { gap:24px; padding:0; }
.bhr-commerce .wc-block-grid__product-title,.bhr-commerce .wc-block-product-template .wp-block-post-title { font-size:16px; line-height:1.6; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.bhr-commerce .wc-block-product-template .wc-block-components-product-image img { aspect-ratio:1; object-fit:contain; background:white; border-radius:6px; }
.bhr-commerce .wc-block-components-notice-banner { border-radius:4px; }
.bhr-commerce .woocommerce-coming-soon-store-only { min-height:360px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:48px 20px; }
.bhr-commerce .woocommerce-coming-soon-store-only h1 { font-family:inherit; font-weight:700; font-size:32px; line-height:1.5; margin:0 0 18px; }
@media(min-width:1100px) { .bhr-commerce .wc-block-components-sidebar { align-self:flex-start; } }
.bhr-commerce-selection { padding:28px 0 20px; border-top:1px solid var(--wc-line); }
.bhr-commerce-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.bhr-commerce-section-heading h2 { font-size:23px; line-height:1.4; margin:0; }
.bhr-commerce-section-heading p { margin:8px 0 0; color:var(--wc-muted); font-size:14px; }
.bhr-commerce-section-heading > a { color:var(--wc-accent); font-size:14px; white-space:nowrap; padding:10px 0; }
.bhr-commerce-selection .woocommerce { margin:0; }
.bhr-commerce-selection ul.products { margin-bottom:0; }
@media(max-width:1000px) {
  .bhr-commerce ul.products,.bhr-commerce .wc-block-grid.has-4-columns .wc-block-grid__products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 18px; }
  .bhr-commerce div.product .product_title { font-size:24px; }
}
@media(max-width:767px) {
  .bhr-commerce-main { padding-top:18px; padding-bottom:36px; }
  .bhr-commerce-nav { gap:8px 20px; margin-bottom:24px; }
  .bhr-commerce-section-heading { gap:12px; align-items:flex-start; }
  .bhr-commerce-section-heading h2 { font-size:20px; }
  .bhr-commerce-section-heading > a { font-size:13px; padding:3px 0; }
  .bhr-commerce-heading { flex-direction:column; align-items:stretch; gap:18px; margin-bottom:22px; }
  .bhr-commerce-heading h1 { font-size:27px; }
  .bhr-commerce-search { width:100%; }
  .bhr-commerce-search input { font-size:16px; }
  .bhr-commerce ul.products,.bhr-commerce .wc-block-grid.has-4-columns .wc-block-grid__products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; }
  .bhr-commerce .wc-block-grid__product-title { font-size:14px; }
  .bhr-commerce .wc-block-grid__product-add-to-cart .wp-block-button__link { width:100%; font-size:13px; padding:10px 8px; }
  .bhr-commerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
  .bhr-commerce ul.products li.product .price { font-size:17px; }
  .bhr-commerce ul.products li.product .button { width:100%; font-size:13px; padding:10px 8px; }
  .bhr-commerce div.product div.images,.bhr-commerce div.product div.summary { float:none; width:100%; }
  .bhr-commerce div.product .product_title { font-size:23px; }
  .bhr-commerce div.product .woocommerce-tabs ul.tabs { gap:20px; flex-wrap:wrap; }
  .bhr-commerce .woocommerce-MyAccount-navigation,.bhr-commerce .woocommerce-MyAccount-content { float:none; width:100%; }
  .bhr-commerce .woocommerce-MyAccount-navigation { margin-bottom:24px; }
  .bhr-commerce .woocommerce-MyAccount-navigation ul { display:flex; flex-wrap:wrap; gap:0 16px; }
  .bhr-commerce .woocommerce-MyAccount-navigation li { flex:1 1 40%; }
  .bhr-commerce .woocommerce-MyAccount-navigation a { padding:12px 6px; }
  .bhr-commerce .wc-block-components-sidebar { padding:18px; }
  .bhr-commerce .woocommerce table.shop_table :is(th,td) { padding:10px; }
  .bhr-commerce .woocommerce .col2-set .col-1,.bhr-commerce .woocommerce .col2-set .col-2 { float:none; width:100%; margin-bottom:24px; }
  .bhr-commerce .woocommerce form.login { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .bhr-commerce-main * { transition:none!important; scroll-behavior:auto!important; } }
