/* Existing target-native controls keep their markup and behavior. */
.htw-site-header .htw-site-header__search,
.htw-site-header .htw-site-header__mini-cart,
.single-product .product-main,
.product-quick-view-container {
  --sf-ink: #1a0d09;
  --sf-muted: #6a5e58;
  --sf-line: #ded6d1;
  --sf-surface: #f4f2f0;
  --sf-font: Inter, Arial, sans-serif;
  --sf-badge-bg: #c13225;
  --sf-badge-fg: #fff;
  --sf-button-bg: #ff7900;
  --sf-button-fg: #1a0d09;
}
.htw-site-header .storefront-drawer-overlay { background: rgba(26,13,9,.58); }
.htw-site-header .htw-site-header__panel.htw-site-header__search,
.htw-site-header .htw-site-header__panel.htw-site-header__mini-cart {
  color: #1a0d09;
  font-family: Inter, Arial, sans-serif;
}
.htw-site-header .htw-site-header__panel.htw-site-header__mini-cart:not([hidden]) {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.htw-site-header__mini-cart .storefront-drawer-heading { flex: 0 0 auto; }
.htw-site-header__mini-cart .widget_shopping_cart_content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
}
.htw-site-header__mini-cart .widget_shopping_cart_content > ul.product_list_widget {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.htw-site-header__mini-cart .woocommerce-mini-cart__total,
.htw-site-header__mini-cart .woocommerce-mini-cart__buttons { flex: 0 0 auto; }
.htw-site-header .storefront-drawer-heading h2 { color: #1a0d09; font-family: Inter, Arial, sans-serif; font-weight: 800; }
.htw-site-header__search .searchform .flex-row { border-color: #1a0d09; border-radius: 3px; }
.htw-site-header__search .searchform input.search-field { color: #1a0d09; font-family: Inter, Arial, sans-serif; }
.htw-site-header__mini-cart .woocommerce-mini-cart__buttons a.checkout,
.htw-site-header__mini-cart .return-to-shop .button,
.single-product .product-info form.cart .single_add_to_cart_button,
.product-quick-view-container form.cart .single_add_to_cart_button {
  border-color: #ff7900 !important;
  border-radius: 3px;
  background: #ff7900 !important;
  color: #1a0d09 !important;
  font-family: Inter, Arial, sans-serif;
  font-weight: 800;
}
.htw-site-header__mini-cart .woocommerce-mini-cart__buttons a.checkout:hover,
.htw-site-header__mini-cart .woocommerce-mini-cart__buttons a.checkout:focus-visible,
.htw-site-header__mini-cart .return-to-shop .button:hover,
.htw-site-header__mini-cart .return-to-shop .button:focus-visible,
.single-product .product-info form.cart .single_add_to_cart_button:hover,
.single-product .product-info form.cart .single_add_to_cart_button:focus-visible,
.product-quick-view-container form.cart .single_add_to_cart_button:hover,
.product-quick-view-container form.cart .single_add_to_cart_button:focus-visible {
  border-color: #1a0d09 !important;
  background: #1a0d09 !important;
  color: #f2ebe4 !important;
}
.htw-site-header__mini-cart ul.product_list_widget li a:not(.remove) { overflow-wrap: anywhere; }
.htw-site-header__mini-cart ul.product_list_widget li img { object-fit: cover; }
.single-product .product-info .product-title,
.product-quick-view-container h1 { color: #1a0d09; font-family: Inter, Arial, sans-serif; font-weight: 800; }
.single-product .product-info .price,
.product-quick-view-container .price { color: #1a0d09; font-family: Inter, Arial, sans-serif; }
.single-product .badge-container .badge-inner.on-sale,
.product-quick-view-container .badge-container .badge-inner.on-sale {
  background: #c13225 !important;
  color: #fff !important;
  font-family: Inter, Arial, sans-serif;
}
.groove-size-guide { clear: both; margin: 12px 0 20px; }
.groove-size-guide__trigger { min-height: 44px; padding: 9px 16px; border: 1px solid #1a0d09; border-radius: 3px; background: transparent; color: #1a0d09; font: 700 14px/1.3 Inter, Arial, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; }
.groove-size-guide__trigger:hover, .groove-size-guide__trigger:focus-visible { background: #1a0d09; color: #f2ebe4; }
.groove-size-guide__trigger[hidden], .groove-size-guide__overlay[hidden] { display: none !important; }
.groove-size-guide__overlay:not([hidden]) { display: flex; align-items: center; justify-content: center; }
.groove-size-guide :focus-visible { outline: 2px solid #c13225; outline-offset: 3px; }
@media (max-width: 767px) {
  .groove-size-guide__overlay:not([hidden]) { padding: 12px !important; }
  .groove-size-guide__dialog { max-height: calc(100dvh - 24px) !important; padding: 22px !important; }
}
