/**
 * MerchFuse v1.15.14.2 — storefront contrast, commerce and interaction repair.
 *
 * This final authority corrects route-specific legacy rules that were still
 * leaking light-only colours, oversized focus rings and duplicate controls
 * into product, archive, cart, footer and mobile-navigation templates.
 */

/* ========================================================================== 
   1. Shared interactive colour contract
   ========================================================================== */
html[data-mf-theme] body.mf-site {
  --mf-repair-canvas:var(--mf-ui-canvas);
  --mf-repair-surface:var(--mf-ui-surface);
  --mf-repair-surface-soft:var(--mf-ui-surface-soft);
  --mf-repair-surface-strong:var(--mf-ui-surface-strong);
  --mf-repair-ink:var(--mf-ui-ink);
  --mf-repair-text:var(--mf-ui-text);
  --mf-repair-muted:var(--mf-ui-muted);
  --mf-repair-line:var(--mf-ui-line);
  --mf-repair-line-strong:var(--mf-ui-line-strong);
  --mf-repair-accent:var(--mf-ui-accent);
  --mf-repair-accent-hover:var(--mf-ui-accent-hover);
  --mf-repair-accent-soft:var(--mf-ui-accent-soft);
  --mf-repair-button-text:#fff;
}

html[data-mf-theme] body.mf-site :where(.mf-site__main,.mf-woocommerce,.woocommerce,.woocommerce-page) {
  color:var(--mf-repair-text);
}

html[data-mf-theme] body.mf-site :where(.mf-btn,.button,button,input,select,textarea) {
  -webkit-tap-highlight-color:transparent;
}

html[data-mf-theme] body.mf-site :where(.mf-btn,.button,button,a,input,select,textarea):focus-visible {
  outline:2px solid var(--mf-ui-focus) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mf-ui-focus) 20%,transparent) !important;
}

/* ========================================================================== 
   2. Product gallery: remove the white halo and keep controls visible
   ========================================================================== */
html[data-mf-theme] body.mf-site.single-product :where(
  .mf-product__gallery,
  .mf-product__gallery > div,
  .mf-gallery,
  .woocommerce-product-gallery,
  .woocommerce-product-gallery.images
) {
  min-width:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product__gallery {
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery {
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__stage {
  position:relative !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--mf-repair-line) !important;
  border-radius:clamp(14px,1.35vw,22px) !important;
  background:var(--mf-repair-surface-soft) !important;
  box-shadow:none !important;
  isolation:isolate;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__track,
html[data-mf-theme] body.mf-site.single-product .mf-gallery__slide,
html[data-mf-theme] body.mf-site.single-product .mf-gallery__slide figure {
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__img,
html[data-mf-theme] body.mf-site.single-product .mf-gallery__slide > img,
html[data-mf-theme] body.mf-site.single-product .mf-gallery__slide picture,
html[data-mf-theme] body.mf-site.single-product .mf-gallery__slide picture > img {
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  display:block !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__zoom {
  position:absolute !important;
  z-index:18 !important;
  top:clamp(14px,1.4vw,24px) !important;
  right:clamp(14px,1.4vw,24px) !important;
  width:54px !important;
  min-width:54px !important;
  height:54px !important;
  min-height:54px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid var(--mf-repair-line-strong) !important;
  border-radius:999px !important;
  background:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:0 8px 22px rgba(0,0,0,.14) !important;
  transform:none !important;
  transition:transform 180ms ease,border-color 180ms ease,background-color 180ms ease,color 180ms ease !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__zoom :where(svg,.mf-icon) {
  width:24px !important;
  height:24px !important;
  display:block !important;
  color:currentColor !important;
  stroke:currentColor !important;
  fill:none !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__zoom :where(path,circle,line,polyline) {
  stroke:currentColor !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-gallery__zoom:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
  transform:translateY(-2px) scale(1.035) !important;
}

html[data-mf-theme="dark"] body.mf-site.single-product .mf-gallery__zoom {
  background:#f8f3ed !important;
  border-color:#f8f3ed !important;
  color:#17120f !important;
}

html[data-mf-theme="dark"] body.mf-site.single-product .mf-gallery__zoom:is(:hover,:focus-visible) {
  background:var(--mf-repair-accent) !important;
  border-color:var(--mf-repair-accent) !important;
  color:#101010 !important;
}

html[data-mf-theme] body.mf-site.single-product :where(.mf-gallery__nav,.mf-gallery__wishlist) {
  border-color:var(--mf-repair-line) !important;
  background:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
}

html[data-mf-theme] body.mf-site.single-product :where(.mf-gallery__nav,.mf-gallery__wishlist):is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent-soft) !important;
  color:var(--mf-repair-accent-hover) !important;
}

/* ========================================================================== 
   3. Product accordion/tabs: every label and icon remains legible
   ========================================================================== */
html[data-mf-theme] body.mf-site.single-product .mf-product-accordion,
html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__list {
  width:100% !important;
  color:var(--mf-repair-text) !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__item {
  margin:0 !important;
  border-top:1px solid var(--mf-repair-line) !important;
  border-bottom:0 !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__item:last-child {
  border-bottom:1px solid var(--mf-repair-line) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn {
  position:relative !important;
  width:100% !important;
  min-height:78px !important;
  margin:0 !important;
  padding:20px 76px 20px 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--mf-repair-ink) !important;
  box-shadow:none !important;
  text-align:left !important;
  text-transform:uppercase !important;
  letter-spacing:.16em !important;
  font-weight:800 !important;
  opacity:1 !important;
  cursor:pointer !important;
  transition:color 180ms ease,background-color 180ms ease !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn > span {
  color:inherit !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn::before,
html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn::after {
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  top:50% !important;
  right:18px !important;
  width:18px !important;
  height:2px !important;
  display:block !important;
  border:0 !important;
  border-radius:999px !important;
  background:currentColor !important;
  opacity:1 !important;
  transform:translateY(-50%) !important;
  transform-origin:center !important;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),opacity 160ms ease !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn::after {
  transform:translateY(-50%) rotate(90deg) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn[aria-expanded="true"]::after,
html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn.is-active::after {
  opacity:0 !important;
  transform:translateY(-50%) rotate(90deg) scaleX(0) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn[aria-expanded="true"],
html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn.is-active {
  color:var(--mf-repair-accent) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn:is(:hover,:focus-visible) {
  background:var(--mf-repair-accent-soft) !important;
  color:var(--mf-repair-accent-hover) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__panel {
  padding:0 0 28px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__panel :where(h1,h2,h3,h4,h5,h6,strong,th,dt) {
  color:var(--mf-repair-ink) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__panel :where(p,li,td,dd,small) {
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__panel :where(table,th,td) {
  border-color:var(--mf-repair-line) !important;
  background:transparent !important;
}

/* Product configuration cards inherited several light-only declarations. */
html[data-mf-theme] body.mf-site.single-product :where(
  .mf-pdp-format-card,
  .mf-pdp-size-card,
  .mf-pdp-option-card,
  .mf-product-options__card,
  .variations select,
  .quantity input
) {
  border-color:var(--mf-repair-line) !important;
  background:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
}

html[data-mf-theme] body.mf-site.single-product :where(
  .mf-pdp-format-card,
  .mf-pdp-size-card,
  .mf-pdp-option-card,
  .mf-product-options__card
) :where(span,strong,small,p) {
  color:inherit !important;
}

/* ========================================================================== 
   4. Archive toolbar, ordering select and catalogue controls
   ========================================================================== */
html[data-mf-theme] body.mf-site :where(.mf-catalog-shell,.mf-shop-main,.mf-catalog-results,.mf-shop-toolbar,.mf-shop-pagination) {
  min-width:0;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar {
  position:relative !important;
  z-index:30 !important;
  isolation:isolate;
  border-color:var(--mf-repair-line) !important;
  background:transparent !important;
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar :where(.woocommerce-result-count,.mf-shop-toolbar__left,.mf-shop-toolbar__right) {
  color:var(--mf-repair-text) !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar form.woocommerce-ordering {
  position:relative !important;
  width:min(100%,440px) !important;
  margin:0 !important;
  z-index:2 !important;
  color:var(--mf-repair-ink) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar form.woocommerce-ordering::after {
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  top:50% !important;
  right:21px !important;
  width:9px !important;
  height:9px !important;
  display:block !important;
  border:0 !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  background:transparent !important;
  color:var(--mf-repair-ink) !important;
  pointer-events:none !important;
  transform:translateY(-70%) rotate(45deg) !important;
  transform-origin:center !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby {
  width:100% !important;
  min-height:58px !important;
  margin:0 !important;
  padding:12px 54px 12px 18px !important;
  border:1px solid var(--mf-repair-line-strong) !important;
  border-radius:14px !important;
  background-color:var(--mf-repair-surface) !important;
  background-image:none !important;
  background-position:initial !important;
  background-size:initial !important;
  background-repeat:no-repeat !important;
  color:var(--mf-repair-ink) !important;
  font-weight:700 !important;
  opacity:1 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  box-shadow:none !important;
  cursor:pointer !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby:is(:hover,:focus) {
  border-color:var(--mf-repair-accent) !important;
  background-color:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby:focus,
html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby:focus-visible {
  outline:2px solid var(--mf-repair-accent) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mf-repair-accent) 18%,transparent) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby option {
  background:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
}

/* Keep card links inside their cards. Historical pseudo overlays could cover
   the toolbar/pagination and redirect clicks to a product/category. */
html[data-mf-theme] body.mf-site .mf-product-grid {
  position:relative !important;
  z-index:1 !important;
  isolation:isolate !important;
}

html[data-mf-theme] body.mf-site .mf-product-grid > li.mf-product-card {
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  contain:paint !important;
}

html[data-mf-theme] body.mf-site .mf-product-card__link {
  position:relative !important;
  inset:auto !important;
  z-index:1 !important;
  width:100% !important;
  height:auto !important;
}

html[data-mf-theme] body.mf-site .mf-product-card__link::before,
html[data-mf-theme] body.mf-site .mf-product-card__link::after {
  content:none !important;
  display:none !important;
  pointer-events:none !important;
}

html[data-mf-theme] body.mf-site :where(.mf-product-card__actions,.mf-product-card__cta) {
  position:relative !important;
  z-index:4 !important;
}

/* ========================================================================== 
   5. Pagination and Show More: clear hierarchy and protected click targets
   ========================================================================== */
html[data-mf-theme] body.mf-site .mf-shop-pagination {
  position:relative !important;
  z-index:40 !important;
  isolation:isolate !important;
  width:min(100%,980px) !important;
  margin:clamp(28px,4vw,56px) auto !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  color:var(--mf-repair-text) !important;
  pointer-events:auto !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__inner {
  width:100% !important;
  display:grid !important;
  gap:18px !important;
  position:relative !important;
  z-index:1 !important;
  pointer-events:auto !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__status {
  color:var(--mf-repair-text) !important;
  text-align:center !important;
  font-weight:750 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__meter {
  width:100% !important;
  height:8px !important;
  margin:0 !important;
  overflow:hidden !important;
  border:1px solid var(--mf-repair-line) !important;
  border-radius:999px !important;
  background:var(--mf-repair-surface-strong) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__meter > span {
  min-width:8px !important;
  height:100% !important;
  display:block !important;
  border-radius:inherit !important;
  background:var(--mf-repair-accent) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__show-more,
html[data-mf-theme] body.mf-site .mf-shop-pagination__show-more:visited {
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  min-height:62px !important;
  padding:16px 24px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid var(--mf-repair-ink) !important;
  border-radius:0 !important;
  background:var(--mf-repair-ink) !important;
  color:var(--mf-repair-surface) !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  letter-spacing:.1em !important;
  font-weight:850 !important;
  opacity:1 !important;
  box-shadow:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__show-more:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__show-more[aria-busy="true"] {
  cursor:progress !important;
  opacity:.72 !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers,
html[data-mf-theme] body.mf-site .mf-shop-pagination ul.page-numbers.mf-shop-pagination__numbers {
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  min-height:72px !important;
  margin:0 !important;
  padding:10px 14px !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(7px,1.8vw,18px) !important;
  border:1px solid var(--mf-repair-line) !important;
  border-radius:0 !important;
  background:var(--mf-repair-surface-soft) !important;
  list-style:none !important;
  pointer-events:auto !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers > li {
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  list-style:none !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(a.page-numbers,span.page-numbers) {
  position:relative !important;
  z-index:1 !important;
  min-width:42px !important;
  height:42px !important;
  padding:0 8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--mf-repair-ink) !important;
  text-decoration:none !important;
  font-weight:750 !important;
  line-height:1 !important;
  opacity:1 !important;
  box-shadow:none !important;
  pointer-events:auto !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers a.page-numbers:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent-soft) !important;
  color:var(--mf-repair-accent-hover) !important;
  transform:translateY(-1px) !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers span.page-numbers.current {
  border-color:var(--mf-repair-ink) !important;
  background:var(--mf-repair-ink) !important;
  color:var(--mf-repair-surface) !important;
  font-weight:850 !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(.prev,.next) {
  width:48px !important;
  min-width:48px !important;
  height:48px !important;
  padding:0 !important;
  border:1px solid var(--mf-repair-line-strong) !important;
  background:var(--mf-repair-surface) !important;
  color:var(--mf-repair-ink) !important;
  font-size:25px !important;
  box-shadow:none !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(a.prev,a.next):is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
}

html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(.prev,.next).disabled {
  border-color:var(--mf-repair-line) !important;
  background:var(--mf-repair-surface-soft) !important;
  color:var(--mf-repair-muted) !important;
  opacity:.55 !important;
  pointer-events:none !important;
}

/* ========================================================================== 
   6. Archive/category CTA buttons
   ========================================================================== */
html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--primary,
html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--primary:visited {
  border:1px solid var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--primary:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent-hover) !important;
  background:var(--mf-repair-accent-hover) !important;
  color:#fff !important;
}

html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--outline,
html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--outline:visited {
  border:1px solid var(--mf-repair-line-strong) !important;
  background:transparent !important;
  color:var(--mf-repair-ink) !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site :where(.mf-shop-hero__actions,.mf-category-growth__actions,.mf-category-cta) .mf-btn--outline:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent-soft) !important;
  color:var(--mf-repair-accent-hover) !important;
}

/* ========================================================================== 
   7. Related products spacing and mode-safe card text
   ========================================================================== */
html[data-mf-theme] body.mf-site.single-product .mf-rp-section {
  color:var(--mf-repair-text) !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-header {
  padding-inline:clamp(14px,2vw,28px) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-card {
  min-width:0 !important;
  overflow:hidden !important;
  border:1px solid var(--mf-repair-line) !important;
  border-radius:clamp(14px,1.3vw,20px) !important;
  background:var(--mf-repair-surface-soft) !important;
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-card-link--info {
  display:block !important;
  min-width:0 !important;
  color:inherit !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-info {
  min-width:0 !important;
  padding:16px 16px 18px !important;
  display:grid !important;
  gap:12px !important;
  background:transparent !important;
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-name {
  margin:0 !important;
  padding:0 !important;
  color:var(--mf-repair-ink) !important;
  line-height:1.23 !important;
  overflow-wrap:anywhere !important;
}

html[data-mf-theme] body.mf-site.single-product .mf-rp-price,
html[data-mf-theme] body.mf-site.single-product .mf-rp-price :where(span,bdi) {
  margin:0 !important;
  color:var(--mf-repair-ink) !important;
  opacity:1 !important;
}

/* ========================================================================== 
   8. Footer newsletter: usable input width, aligned controls and contrast
   ========================================================================== */
html[data-mf-theme] body.mf-site .mf-footer-newsletter {
  min-width:0 !important;
  color:#f4eee8 !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter :where(h2,p,.mf-footer-kicker) {
  color:inherit !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form {
  width:min(100%,640px) !important;
  max-width:640px !important;
  margin:clamp(24px,3vw,38px) auto 0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:minmax(220px,1fr) minmax(160px,210px) !important;
  align-items:stretch !important;
  gap:10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form input[type="email"] {
  width:100% !important;
  min-width:0 !important;
  min-height:62px !important;
  margin:0 !important;
  padding:15px 18px !important;
  border:1px solid #8e8176 !important;
  border-radius:12px !important;
  background:#f8f2eb !important;
  color:#1a1511 !important;
  font-size:16px !important;
  line-height:1.3 !important;
  opacity:1 !important;
  box-shadow:none !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form input[type="email"]::placeholder {
  color:#6a5f55 !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form button[type="submit"] {
  width:100% !important;
  min-width:0 !important;
  min-height:62px !important;
  margin:0 !important;
  padding:15px 20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  border:1px solid var(--mf-repair-accent) !important;
  border-radius:12px !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
  font-weight:850 !important;
  opacity:1 !important;
  box-shadow:none !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form button[type="submit"] :where(svg,.mf-icon,path,line,polyline) {
  color:currentColor !important;
  stroke:currentColor !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__form button[type="submit"]:is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent-hover) !important;
  background:var(--mf-repair-accent-hover) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
}

html[data-mf-theme] body.mf-site .mf-footer-newsletter__privacy {
  max-width:680px !important;
  margin:20px auto 0 !important;
  color:#d7cec6 !important;
  opacity:1 !important;
  text-align:center !important;
}

/* ========================================================================== 
   9. Empty cart / WooCommerce blocks: visible titles, prices and CTAs
   ========================================================================== */
html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .mf-cart-empty
) {
  color:var(--mf-repair-text) !important;
  background:transparent !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .mf-cart-empty
) :where(h1,h2,h3,h4,.wc-block-cart__empty-cart__title) {
  color:var(--mf-repair-ink) !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .wp-block-woocommerce-product-collection
) :where(.wc-block-grid__product,.wc-block-product,.product) {
  border-color:var(--mf-repair-line) !important;
  background:var(--mf-repair-surface-soft) !important;
  color:var(--mf-repair-text) !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .wp-block-woocommerce-product-collection
) :where(
  .wc-block-grid__product-title,
  .wp-block-post-title,
  .wc-block-components-product-name,
  .woocommerce-loop-product__title
) {
  color:var(--mf-repair-ink) !important;
  opacity:1 !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .wp-block-woocommerce-product-collection
) :where(.price,.wc-block-grid__product-price,.wc-block-components-product-price,span,bdi) {
  opacity:1;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .wp-block-woocommerce-product-collection,
  .mf-cart-empty
) :where(
  .wp-block-button__link,
  .wc-block-components-product-button__button,
  .add_to_cart_button,
  .button,
  .mf-btn--primary
) {
  border:1px solid var(--mf-repair-accent) !important;
  background:var(--mf-repair-accent) !important;
  color:#fff !important;
  text-decoration:none !important;
  opacity:1 !important;
  box-shadow:none !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .wp-block-woocommerce-product-collection,
  .mf-cart-empty
) :where(
  .wp-block-button__link,
  .wc-block-components-product-button__button,
  .add_to_cart_button,
  .button,
  .mf-btn--primary
):is(:hover,:focus-visible) {
  border-color:var(--mf-repair-accent-hover) !important;
  background:var(--mf-repair-accent-hover) !important;
  color:#fff !important;
}

html[data-mf-theme] body.mf-site :where(
  .wp-block-woocommerce-empty-cart-block,
  .wc-block-cart__empty-cart,
  .mf-cart-empty
) :where(.is-style-outline .wp-block-button__link,.mf-btn--outline) {
  border-color:var(--mf-repair-line-strong) !important;
  background:transparent !important;
  color:var(--mf-repair-ink) !important;
}

/* ========================================================================== 
   10. Mobile navigation: one control per submenu, no legacy pseudo plus
   ========================================================================== */
@media (max-width:1280px) {
  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > a::before,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > a::after,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav .mf-mega-group > a::before,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav .mf-mega-group > a::after,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav .sub-menu a::before,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav .sub-menu a::after {
    content:none !important;
    display:none !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav :where(
    .submenu-toggle,
    .sub-menu-toggle,
    .dropdown-toggle,
    .menu-item-toggle,
    .ast-menu-toggle,
    .mf-menu-caret
  ):not(.mf-submenu-toggle) {
    display:none !important;
    pointer-events:none !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children {
    position:relative !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > a {
    padding-right:64px !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle {
    position:absolute !important;
    z-index:5 !important;
    top:14px !important;
    right:10px !important;
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid transparent !important;
    border-radius:12px !important;
    background:transparent !important;
    color:var(--mf-menu-ink) !important;
    opacity:1 !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle:is(:hover,:focus-visible),
  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle[aria-expanded="true"] {
    border-color:var(--mf-ui-accent) !important;
    background:var(--mf-menu-hover) !important;
    color:var(--mf-ui-accent-hover) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle .mf-submenu-toggle__icon {
    position:relative !important;
    width:22px !important;
    height:22px !important;
    display:block !important;
    color:currentColor !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle .mf-submenu-toggle__icon::before,
  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle .mf-submenu-toggle__icon::after {
    content:"" !important;
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:20px !important;
    height:2.25px !important;
    display:block !important;
    border-radius:999px !important;
    background:currentColor !important;
    opacity:1 !important;
    transform:translate(-50%,-50%) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle .mf-submenu-toggle__icon::after {
    transform:translate(-50%,-50%) rotate(90deg) !important;
  }

  html[data-mf-theme] body.mf-site .mf-header .mf-nav li.menu-item-has-children > .mf-submenu-toggle[aria-expanded="true"] .mf-submenu-toggle__icon::after {
    opacity:0 !important;
    transform:translate(-50%,-50%) rotate(90deg) scaleX(0) !important;
  }
}

/* ========================================================================== 
   11. Responsive refinements
   ========================================================================== */
@media (max-width:767px) {
  html[data-mf-theme] body.mf-site.single-product .mf-gallery__zoom {
    top:12px !important;
    right:12px !important;
    width:48px !important;
    min-width:48px !important;
    height:48px !important;
    min-height:48px !important;
  }

  html[data-mf-theme] body.mf-site.single-product .mf-product-accordion .mf-tabs__btn {
    min-height:70px !important;
    padding:18px 62px 18px 0 !important;
    font-size:13px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-toolbar {
    gap:14px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-toolbar form.woocommerce-ordering {
    width:100% !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-toolbar select.orderby {
    min-height:54px !important;
    border-radius:12px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-pagination {
    width:100% !important;
    margin:26px auto 36px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers,
  html[data-mf-theme] body.mf-site .mf-shop-pagination ul.page-numbers.mf-shop-pagination__numbers {
    min-height:62px !important;
    padding:8px !important;
    gap:4px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(a.page-numbers,span.page-numbers) {
    min-width:34px !important;
    height:38px !important;
    padding:0 5px !important;
  }

  html[data-mf-theme] body.mf-site .mf-shop-pagination__numbers :where(.prev,.next) {
    width:42px !important;
    min-width:42px !important;
    height:42px !important;
  }

  html[data-mf-theme] body.mf-site.single-product .mf-rp-info {
    padding:14px 14px 16px !important;
    gap:10px !important;
  }

  html[data-mf-theme] body.mf-site .mf-footer-newsletter__form {
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  html[data-mf-theme] body.mf-site .mf-footer-newsletter__form input[type="email"],
  html[data-mf-theme] body.mf-site .mf-footer-newsletter__form button[type="submit"] {
    min-height:58px !important;
    border-radius:10px !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html[data-mf-theme] body.mf-site :where(
    .mf-gallery__zoom,
    .mf-tabs__btn,
    .mf-tabs__btn::before,
    .mf-tabs__btn::after,
    .mf-shop-pagination a,
    .mf-footer-newsletter button,
    .mf-submenu-toggle,
    .mf-submenu-toggle__icon,
    .mf-submenu-toggle__icon::before,
    .mf-submenu-toggle__icon::after
  ) {
    transition-duration:.001ms !important;
    animation:none !important;
  }
}
