/* Native controls are converted before their existing event handlers attach. */
html body button[data-pnevma-ux-control] {
  appearance: none;
  -webkit-appearance: none;
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  cursor: pointer;
}
html body button[data-pnevma-ux-control]:focus-visible {
  outline: 2px solid #231f20 !important;
  outline-offset: 3px !important;
}
/* The SAME cart node moves into the existing mobile column; no second cart. */
html body .site-header .pnevma-ux-mobile-cart {
  display: flex !important;
  flex: 0 0 44px;
  align-items: center;
  align-self: center;
  width: 44px;
  height: 44px;
  margin: 0 4px 0 0;
}
html body .site-header .pnevma-ux-mobile-cart .site-header-cart {
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
}
html body .site-header .pnevma-ux-mobile-cart .site-header-cart > a {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
}
html body .site-header .pnevma-ux-mobile-cart .cart-dropdown { display: none !important; }
html body .site-header-cart .cart-contents .count { background: #b8451c !important; color: #fff !important; }

/* Scoped text and CTA pairs; retain the brand accent elsewhere. */
/* Older page-inline rules consume these variables with higher specificity.
   Scope their values to the actual control instead of changing global tokens. */
html body .single_add_to_cart_button,
html body .wc-proceed-to-checkout .checkout-button,
html body .widget_shopping_cart_content .buttons .checkout,
html body .fc-step__actions .fc-step__next-step,
html body .fc-step__substep-save,
html body #place_order,
html body .fc-place-order-button {
  --pnevma-primary: #b8451c;
  --pnevma-on-primary: #fff;
  --pnevma-cart-action: #b8451c;
  --pnevma-cart-on-action: #fff;
}
html body ul.products li.product .price,
html body ul.products li.product .price .amount,
html body ul.products li.product .price bdi { color: #db5927 !important; }
html body ul.products li.product .price del { opacity: 1 !important; }
html body .single_add_to_cart_button,
html body .wc-proceed-to-checkout .checkout-button,
html body .widget_shopping_cart_content .buttons .checkout,
html body .fc-step__actions .fc-step__next-step,
html body .fc-step__substep-save,
html body #place_order,
html body .fc-place-order-button {
  color: #fff !important;
  background-color: #b8451c !important;
  border-color: #b8451c !important;
}
html body .single_add_to_cart_button:hover,
html body .single_add_to_cart_button:focus-visible,
html body .wc-proceed-to-checkout .checkout-button:hover,
html body .wc-proceed-to-checkout .checkout-button:focus-visible {
  color: #fff !important;
  background-color: #913417 !important;
  border-color: #913417 !important;
}
html body .woocommerce-message { color: #fff !important; background-color: #b8451c !important; }
html body .woocommerce-message a { color: #fff !important; text-decoration: underline; }
html body .notification-added-to-cart .ns-content { color: #fff !important; background-color: #b8451c !important; }
html body .notification-added-to-cart .ns-content a { color: #fff !important; }

/* Purchase-page mobile utilities stay reachable without floating over CTAs. */
.pnevma-ux-utilities {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px max(18px, env(safe-area-inset-right));
  background: #f4f0e9;
  border-top: 1px solid rgba(35,31,32,.15);
}
.pnevma-ux-utilities > span { margin-right: auto; color: #231f20; font-size: 14px; }
.pnevma-ux-utilities #cya11y-container { width: 44px; height: 44px; flex: 0 0 44px; }
.pnevma-ux-utilities .cky-btn-revisit-wrapper[data-pnevma-ux-docked] {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: flex !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
  margin: 0 !important;
}
.pnevma-ux-utilities .cky-btn-revisit { width: 44px !important; height: 44px !important; }
/* Only replace the existing third pseudo badge. The other two badges remain native. */
body.single-product.pnevma-ux-personalization-ready div.product form.cart .woocommerce-variation-add-to-cart::before,
body.single-product.pnevma-ux-personalization-ready div.product.product-type-simple form.cart::before {
  content: none !important;
  display: none !important;
}
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization {
  position: absolute;
  top: 70px;
  left: 66.666%;
  width: 33.333%;
  height: 78px;
  margin: 0;
  padding: 0;
  z-index: 3;
  color: var(--pnevma-body, #514842);
  font: 400 14px/1.4 "Commissioner", Arial, sans-serif;
}
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization > summary {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 0 10px;
  text-align: center;
  list-style: none;
  cursor: pointer;
  box-sizing: border-box;
}
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization > summary::-webkit-details-marker { display: none; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization > summary::after { content: "⌄"; margin-left: .25em; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization[open] { z-index: 25; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization > summary:focus-visible { outline: 2px solid #514842; outline-offset: -4px; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(480px, 300%);
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid var(--pnevma-border, #CDBEAF);
  border-radius: 3px;
  background: var(--pnevma-bg, #F4F0E9);
  box-shadow: 0 6px 18px rgb(35 31 32 / 12%);
  font-size: 14px;
  line-height: 1.5;
}

/* The opened disclosure reserves its measured height before express payments. */
body.single-product form.cart.pnevma-ux-panel-open,
body.single-product form.cart .woocommerce-variation-add-to-cart.pnevma-ux-panel-open {
  margin-bottom: var(--pnevma-ux-panel-space, 200px) !important;
}

/* Wider, readable FiboSearch suggestions; native searching/selection stays intact. */
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion-product {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  min-height: 84px;
  box-sizing: border-box;
  white-space: normal;
}
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-si {
  display: block;
  flex: 0 0 56px;
  width: 56px;
  margin: 0;
  line-height: 0;
}
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-si img {
  width: 56px;
  height: 64px;
  object-fit: contain;
  display: block;
  margin: 0;
}
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-content-wrapp {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  margin: 0;
}
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-st {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-st-title { font-size: 15px; }
html body .dgwt-wcas-suggestions-wrapp { border-color: #cdbeaf; background: #f4f0e9; }
html body .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion-selected { background: #e8ded2; }
@media (min-width: 768px) {
  html body .dgwt-wcas-suggestions-wrapp.pnevma-ux-search-panel {
    width: min(560px, calc(100vw - 32px)) !important;
    left: var(--pnevma-ux-search-left) !important;
    box-shadow: 0 12px 32px rgb(35 31 32 / 14%);
  }
}

html body.error404 .pnevma-ux-404 { max-width: 760px; margin: 0 auto; padding: clamp(32px,6vw,80px) 20px; text-align: left; font-size: 16px; line-height: 1.65; }
html body.error404 .pnevma-ux-404-code { color: #8e3c21; font-size: 14px; font-weight: 600; margin: 0 0 12px; }
html body.error404 .pnevma-ux-404 h1 { font-size: clamp(30px,5vw,48px); line-height: 1.15; margin: 0 0 22px; color: #231f20; }
html body.error404 .pnevma-ux-404 .woocommerce-product-search { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0; }
html body.error404 .pnevma-ux-404 input[type="search"] { flex: 1 1 200px; width: auto; min-width: 0; min-height: 48px; background: #fff; color: #231f20; }
html body.error404 .pnevma-ux-404 button[type="submit"] { min-height: 48px; padding: 10px 20px; background: #b8451c; color: #fff; border: 1px solid #b8451c; }
html body.error404 .pnevma-ux-404 nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
html body.error404 .pnevma-ux-404 nav a { padding: 14px; border: 1px solid #cdbeaf; color: #231f20; text-decoration: underline; text-underline-offset: 3px; display: flex; align-items: center; min-height: 48px; }
html body.error404 .pnevma-ux-404-home { display: inline-flex; align-items: center; min-height: 44px; margin-top: 18px; color: #514842; text-decoration: underline; }
html body.error404 .pnevma-ux-404 :is(a,input,button):focus-visible { outline: 2px solid #231f20; outline-offset: 3px; }

/* Approved compact comparison. Values remain native role/tax/variation output. */
html body .price .pnevma-ux-price-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  width: 100%;
  border: 1px solid #cdbeaf;
  color: #514842;
  font-family: Commissioner, Arial, sans-serif;
  line-height: 1.35;
  text-align: left;
}
html body .price .pnevma-ux-price-column { padding: 10px 14px; min-width: 0; display: block; }
html body .price .pnevma-ux-price-wholesale { background: #e2d3c4; border-top: 3px solid #db5927; }
html body .price .pnevma-ux-price-retail { border-left: 1px solid #cdbeaf; background: #f4f0e9; padding-top: 13px; }
html body .price .pnevma-ux-price-label { display: block; color: #514842; font-size: 12px; font-weight: 400; margin-bottom: 4px; }
html body .price .pnevma-ux-price-value { display: block; font-size: 26px; font-weight: 600; line-height: 1.4; }
html body .price .pnevma-ux-price-wholesale :is(.amount,bdi) { color: #db5927 !important; }
html body .price .pnevma-ux-price-retail .pnevma-ux-price-value { font-size: 24px; font-weight: 400; }
html body .price .pnevma-ux-price-retail :is(.amount,bdi) { color: #db5927 !important; }
html body .price .pnevma-ux-price-value ins { background: transparent; text-decoration: none; }
html body .price .pnevma-ux-price-value del { font-size: .7em; display: block; opacity: 1; }
html body .price .pnevma-ux-price-value small { display: block; font-size: 11px; line-height: 1.4; font-weight: 400; }
html body ul.products li.product .price .pnevma-ux-price-column { padding: 8px; }
html body ul.products li.product .price .pnevma-ux-price-retail { padding-top: 11px; }
html body ul.products li.product .price .pnevma-ux-price-value { font-size: 18px; }
html body ul.products li.product .price .pnevma-ux-price-label { font-size: 11px; }

/* Native mobile search stays full screen, with a readable input and close control. */
html body .elementor-search-form__container.elementor-search-form--full-screen {
  padding: 20px !important;
  box-sizing: border-box;
  justify-content: center;
}
html body .elementor-search-form__container.elementor-search-form--full-screen .elementor-search-form__input {
  width: 100% !important;
  flex: 0 1 680px !important;
  max-width: 680px !important;
  min-height: 56px;
  height: auto !important;
  padding: 14px 18px !important;
  border: 1px solid #cdbeaf !important;
  border-radius: 3px !important;
  background: #f4f0e9 !important;
  color: #231f20 !important;
  font-family: Commissioner, Arial, sans-serif !important;
  font-size: 20px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  box-sizing: border-box;
}
html body .elementor-search-form--full-screen .elementor-search-form__input::placeholder { color: #514842 !important; opacity: 1 !important; }
html body .elementor-search-form--full-screen .dialog-close-button {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #f4f0e9 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Owner request 25 Oct: restore the original orange for storefront amounts. */
html body:not(.woocommerce-cart):not(.woocommerce-checkout) .price .amount,
html body:not(.woocommerce-cart):not(.woocommerce-checkout) .price bdi { color: #db5927 !important; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization-panel p { margin: 0 0 8px; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization-panel a { display: flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization-panel a:focus-visible { outline: 2px solid #514842; outline-offset: 2px; }
@media (max-width: 767px) {
  body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization { top: 66px; height: 76px; font-size: 11.5px; line-height: 1.44; }
  body.single-product.pnevma-ux-personalization-ready form.cart .pnevma-ux-personalization > summary { padding: 0 5px; }
}

/* Search uses native queries, ordering and product forms. */
/* Existing global styles hide this native title; search owns its header offset. */
html body.search.woocommerce.archive #page-title-bar.page-title-bar {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: calc(var(--pnevma-header-height, 74px) + 24px) 20px 18px !important;
  background: #f4f0e9;
}
html body.search.woocommerce #page-title-bar .wrap { height: auto !important; min-height: 0 !important; padding: 0 !important; }
html body.search.woocommerce #page-title-bar .page-title-bar-inner { display: flex !important; }
html body.search.woocommerce #page-title-bar .page-header { margin: 0 !important; }
html body.search.woocommerce #page-title-bar .breadcrumb { display: none !important; }
html body.search.woocommerce #content.site-content { padding-top: 18px !important; }
html body.search.woocommerce .woocommerce-products-header { padding-top: 0 !important; }
body.search.woocommerce #page-title-bar h1.page-title {
  font-weight: 400;
  text-transform: none;
  overflow-wrap: anywhere;
  font-size: clamp(23px, 2.4vw, 34px);
  line-height: 1.35;
}
body.search.woocommerce #page-title-bar h1.page-title .pnevma-ux-search-term { font-weight: 800; }
.pnevma-ux-search-match { clear: both; margin: 0 0 18px; color: #514842; }
.pnevma-ux-search-help {
  clear: both;
  margin: 22px 0 40px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid #cdbeaf;
  background: #f4f0e9;
  color: #514842;
}
.pnevma-ux-search-help h2 { margin-top: 0; color: #231f20; font-size: clamp(20px, 2vw, 27px); line-height: 1.35; text-transform: none; }
.pnevma-ux-search-help .woocommerce-product-search { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.pnevma-ux-search-help input[type="search"] { flex: 1 1 210px; min-width: 0; min-height: 44px; background: #fff; color: #231f20; }
.pnevma-ux-search-help button[type="submit"] { min-height: 44px; background: #b8451c; color: #fff; border: 1px solid #b8451c; padding: 10px 18px; }
.pnevma-ux-search-help nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 10px; }
.pnevma-ux-search-help nav a { display: flex; align-items: center; min-height: 44px; padding: 12px 14px; background: #e2d3c4; color: #231f20; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pnevma-ux-search-help :is(a, input, button):focus-visible { outline: 2px solid #231f20; outline-offset: 3px; }

/* Phone gallery: retain WooCommerce's native swipe/variation slider and controls. */
@media (max-width: 767px) {
  html body.single-product div.product .woocommerce-product-gallery {
    display: block !important;
  }
  /* The existing loading placeholder assumes a side-by-side thumbnail rail.
     Let its stability check measure the new full-width image immediately. */
  html body.single-product div.product .woocommerce-product-gallery.pnevma-gallery-pending::before {
    display: none !important;
  }
  html body.single-product div.product .woocommerce-product-gallery.pnevma-gallery-pending.pnevma-gallery-has-thumbnails > .flex-viewport {
    flex: 0 0 auto !important;
    height: auto !important;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-viewport {
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    gap: 0;
    list-style: none;
    transform: none !important;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    position: relative;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    float: none !important;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li::after {
    content: '';
    position: absolute;
    top: 12px;
    left: 12px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1px solid #685c53;
    background: transparent;
    pointer-events: none;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active)::after {
    background: #db5927;
    border-color: #db5927;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img:focus-visible) {
    outline: 2px solid #514842;
    outline-offset: -3px;
    border-radius: 4px;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    display: block !important;
    position: relative !important;
    width: 32px !important;
    height: 32px !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    cursor: pointer;
  }
  html body.single-product div.product .woocommerce-product-gallery .flex-direction-nav {
    display: none !important;
  }
  /* The theme's 52px inputs overflow its 50px bordered quantity container. */
  html body.single-product div.product form.cart .quantity.buttons_added {
    box-sizing: border-box;
    align-items: stretch;
    overflow: hidden !important;
  }
  html body.single-product div.product form.cart .quantity.buttons_added > input:is(.minus,.plus,.qty) {
    height: 100% !important;
    min-height: 0 !important;
    line-height: normal !important;
    box-sizing: border-box;
  }
}

/* Owner revision: compact A, with retail secondary to wholesale. */
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-columns {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 0;
  border: 0;
  border-top: 1px solid #cdbeaf;
  padding: 5px 0 0;
}
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-column {
  display: block;
  padding: 0 4px;
  border: 0;
  background: transparent;
}
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-retail {
  border-left: 1px solid #cdbeaf;
  padding: 0 4px;
  opacity: .65;
}
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-label {
  margin: 0 0 2px;
  font-size: 10px;
  line-height: 1.3;
  color: #685c53;
}
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-value {
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
}
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-value :is(.amount,bdi) { white-space: nowrap; }
html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-value small:empty { display: none; }
@media (max-width: 767px) {
  html body:is(.post-type-archive-product,.tax-product_cat,.tax-product_tag,.search.woocommerce) ul.products li.product .price .pnevma-ux-price-value { font-size: 14px; }
}

/* Owner reference: one quiet frame around the existing native stepper. */
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) {
  display: inline-grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch !important;
  align-self: center !important;
  gap: 0 !important;
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
  height: 44px !important;
  min-height: 44px !important;
  flex: 0 0 114px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid #cdbeaf !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden)::before,
html body:not(.single-product) div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden)::after {
  content: none !important;
  display: none !important;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > :is(.minus, .qty, .plus) {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: static !important;
  inset: auto !important;
  transform: none !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #514842 !important;
  font-family: Commissioner, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > :is(.minus, .plus) {
  cursor: pointer;
  font-weight: 500 !important;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > .qty {
  -moz-appearance: textfield;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > .qty::-webkit-inner-spin-button,
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > .qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
html body div.quantity.buttons_added:has(> .qty):has(> .minus):has(> .plus):not(.hidden) > :is(.minus, .qty, .plus):focus-visible {
  outline: 2px solid #514842 !important;
  outline-offset: -3px !important;
}

/* Match the native product-page grid track to the wider stepper. */
html body.single-product div.product form.cart:has(> div.quantity.buttons_added),
html body.single-product div.product form.cart .woocommerce-variation-add-to-cart:has(> div.quantity.buttons_added) {
  grid-template-columns: 114px minmax(0, 1fr) !important;
}

/* Center card titles and prices; keep the larger product-page comparison intact. */
html body ul.products li.product .woocommerce-loop-product__title,
html body ul.products li.product .woocommerce-loop-product__title a,
html body ul.products li.product .price,
html body ul.products li.product .price .pnevma-ux-price-column,
html body ul.products li.product .price .pnevma-ux-price-label {
  text-align: center;
}

/* Desktop spacing approved by owner on 26 October 2026. */
@media (min-width: 1025px) {
  html body.single-product div.product .summary h1.product_title {
    margin-bottom: 28px !important;
  }
  html body.single-product div.product form.cart table.variations {
    margin-bottom: 40px !important;
  }
}
