:root {
  --mf-primary: #1B7A3D;
  --mf-primary-dark: #145C2E;
  --mf-primary-surface: #E8F5EC;
  --mf-text-primary: #1A202C;
  --mf-text-secondary: #4A5568;
  --mf-text-muted: #718096;
  --mf-border: #E2E8F0;
  --mf-bg-secondary: #F7F8FA;
  --mf-accent: #E53E3E;
  --mf-radius-lg: 12px;
  --mf-radius-full: 9999px;
  --mf-header-height: 92px;
  --mf-topbar-height: 30px;
  --mf-transition: 150ms ease-out;
  /*
   * Shared content column — menu, hero, header row must share this
   * so left edges match (template nav__list + container).
   * Matches body.boxed .page-wrapper + header container padding.
   */
  --mf-content-max: 1140px;
  --mf-content-pad-x: 20px;
  /* Be Vietnam Pro — single Google family for body + display (VN-safe diacritics). */
  --mf-font-body: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mf-font-display: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mf-font-family: var(--mf-font-body);
}

/* claude-tempates uses --space-4 (16px) for small-mobile containers. */
@media (max-width: 480px) {
  :root {
    --mf-content-pad-x: 16px;
  }
}
@media (min-width: 1400px) {
  :root {
    --mf-content-max: 1320px;
  }
}
.single-product.woocommerce div.product .images {
  overflow: visible;
}

/* Hide legacy Porto html-top if it ever reappears */
.porto-block-html-top {
  display: none !important;
}

/* ── Design topbar (left address + right links) ── */
.mf-topbar {
  background: var(--mf-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  min-height: var(--mf-topbar-height);
  display: flex;
  align-items: center;
  letter-spacing: 0.01em;
  box-sizing: border-box;
}
.mf-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: var(--mf-content-max);
  margin: 0 auto;
  padding: 0.35rem var(--mf-content-pad-x);
  box-sizing: border-box;
}
.mf-topbar__address {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  opacity: 0.95;
  min-width: 0;
  line-height: 1.3;
}
.mf-topbar__address span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mf-topbar__pin {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.mf-topbar__links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-shrink: 0;
}
.mf-topbar__links a {
  color: #fff !important;
  opacity: 0.85;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity var(--mf-transition);
}
.mf-topbar__links a:hover {
  opacity: 1;
  color: #fff !important;
}

/* ── Header shell ── */
#header.header-1 {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}
#header.header-1.sticky-header, #header.header-1.sticky-header-active {
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.08), 0 4px 6px rgba(0, 0, 0, 0.04);
}
#header.header-1 .header-main {
  background: #fff;
  padding: 0;
  min-height: var(--mf-header-height);
  display: flex;
  align-items: center;
}
#header.header-1 .header-main > .container.header-row {
  display: flex;
  align-items: center;
  gap: 2rem; /* template --space-8 */
  width: 100%;
  max-width: var(--mf-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--mf-content-pad-x) !important;
  padding-right: var(--mf-content-pad-x) !important;
  box-sizing: border-box;
  min-height: var(--mf-header-height);
}
#header.header-1 .header-main .header-left {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#header.header-1 .header-main .header-center {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  display: flex;
  align-items: center;
}
#header.header-1 .header-main .header-right {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  width: auto !important;
  margin-left: 0;
  display: flex;
  align-items: center;
}
#header.header-1 .header-main .logo,
#header.header-1 .header-main h1.logo {
  margin: 0;
  padding: 0;
  max-width: none !important;
  width: auto !important;
}
#header.header-1 .header-main .logo img,
#header.header-1 .header-main .logo .img-responsive,
#header.header-1 .header-main h1.logo img,
#header.header-1 .header-main h1.logo .img-responsive {
  display: block;
  height: 56px !important;
  width: auto !important;
  max-width: 220px !important;
  max-height: 56px !important;
  object-fit: contain;
}
#header.header-1 .logo {
  margin: 0;
  padding: 0;
  max-width: none !important;
  width: auto !important;
}
#header.header-1.sticky-header .main-menu-wrap .logo img,
#header.header-1 .main-menu-wrap .logo img {
  height: 40px !important;
  max-width: 160px !important;
  max-height: 40px !important;
}
#header.header-1 .mobile-toggle {
  width: 42px;
  height: 42px;
  display: none;
  align-items: center;
  justify-content: center;
  color: var(--mf-text-primary);
  border-radius: var(--mf-radius-lg);
  background: transparent;
  border: none;
  font-size: 1.25rem;
  line-height: 1;
  transition: background var(--mf-transition), color var(--mf-transition);
}
#header.header-1 .mobile-toggle:hover {
  background: var(--mf-bg-secondary);
  color: var(--mf-primary);
}

/* ── Search (pill + green circular submit) ── */
#header.header-1 .header-center .searchform-popup {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
  margin: 0;
  position: relative;
}
@media (min-width: 992px) {
  #header.header-1 .header-center .searchform-popup > .search-toggle {
    display: none !important;
  }
  #header.header-1 .header-center .searchform-popup .searchform {
    display: flex !important;
    position: relative;
    width: 100% !important;
    margin: 0;
    box-shadow: none !important;
  }
}
#header.header-1 .header-center .searchform {
  margin: 0;
  width: 100%;
  border: 2px solid var(--mf-border) !important;
  border-radius: var(--mf-radius-full) !important;
  overflow: hidden;
  background: var(--mf-bg-secondary) !important;
  transition: border-color var(--mf-transition), box-shadow var(--mf-transition), background var(--mf-transition);
  box-shadow: none !important;
}
#header.header-1 .header-center .searchform:focus-within {
  border-color: var(--mf-primary) !important;
  box-shadow: 0 0 0 3px var(--mf-primary-surface) !important;
  background: #fff !important;
}
#header.header-1 .header-center .searchform .searchform-fields {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 42px;
  gap: 0;
  padding: 0 4px 0 0;
  box-sizing: border-box;
  position: relative;
}
#header.header-1 .header-center .searchform .text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}
#header.header-1 .header-center .searchform .text input::placeholder {
  color: var(--mf-text-muted);
}
#header.header-1 .header-center .searchform .text input,
#header.header-1 .header-center .searchform input[name=s] {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--mf-text-primary);
  font-size: 0.875rem;
  /* Room for absolute circular submit (template padding-right space-12) */
  padding: 0 3rem 0 1rem !important;
  line-height: 1.4;
  outline: none;
}
#header.header-1 .header-center .searchform select.cat,
#header.header-1 .header-center .searchform select,
#header.header-1 .header-center .searchform .selectric-wrapper,
#header.header-1 .header-center .searchform .selectric {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
#header.header-1 .header-center .searchform .button-wrap {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  z-index: 2;
}
#header.header-1 .header-center .searchform .search-btn,
#header.header-1 .header-center .searchform button[type=submit],
#header.header-1 .header-center .searchform .btn,
#header.header-1 .header-center .searchform .btn-special {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: var(--mf-radius-full) !important;
  background-color: var(--mf-primary) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
  line-height: 1 !important;
  transition: background var(--mf-transition);
}
#header.header-1 .header-center .searchform .search-btn:hover,
#header.header-1 .header-center .searchform button[type=submit]:hover,
#header.header-1 .header-center .searchform .btn:hover,
#header.header-1 .header-center .searchform .btn-special:hover {
  background-color: var(--mf-primary-dark) !important;
  color: #fff !important;
}
#header.header-1 .header-center .searchform button i {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0;
}
#header.header-1 .header-center .searchform .live-search-list {
  z-index: 1002;
  border-radius: var(--mf-radius-lg);
  overflow: hidden;
}

/* ── Actions: phone + account + cart ── */
#header.header-1 .header-right .header-minicart {
  display: flex;
  align-items: center;
  gap: 1rem; /* template --space-4 */
  flex-shrink: 0;
}
#header.header-1 .header-right {
  /* Phone stays brand green (template .header__phone) */
}
#header.header-1 .header-right .header-contact {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  white-space: nowrap;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}
#header.header-1 .header-right .header-contact,
#header.header-1 .header-right .header-contact a,
#header.header-1 .header-right .header-contact i,
#header.header-1 .header-right .header-contact strong {
  color: var(--mf-primary) !important;
  font-weight: 700;
  text-decoration: none;
}
#header.header-1 .header-right .header-contact i {
  font-size: 1.15rem;
  margin-right: 0;
}
#header.header-1 .header-right .header-contact a:hover {
  color: var(--mf-primary-dark) !important;
}
#header.header-1 .header-right {
  /*
   * Account: gray by default, green on hover
   * (template .header__icon-btn — not brand green at rest)
   * Cart glyph color is set in the #mini-cart block below.
   */
}
#header.header-1 .header-right .my-account {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: var(--mf-radius-lg);
  background: transparent;
  transition: background var(--mf-transition), color var(--mf-transition);
  text-decoration: none !important;
  line-height: 1;
}
#header.header-1 .header-right .my-account,
#header.header-1 .header-right .my-account i {
  color: var(--mf-text-secondary) !important;
}
#header.header-1 .header-right .my-account i {
  font-size: 1.375rem !important;
  display: block;
  line-height: 1;
}
#header.header-1 .header-right .my-account:hover {
  background: var(--mf-bg-secondary);
  color: var(--mf-primary) !important;
  opacity: 1;
}
#header.header-1 .header-right .my-account:hover i {
  color: var(--mf-primary) !important;
}
#header.header-1 .header-right {
  /*
   * Mini cart — template: gray cart glyph + red count badge top-right on 42×42 hit area.
   * Porto uses huge #mini-cart font-size + CSS-drawn bag + absolute badge coords that
   * fight each other; fully normalize below.
   */
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  position: relative !important;
  display: inline-block !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important; /* kill Porto 26–32px scaling */
  line-height: 1 !important;
  vertical-align: middle;
  background: transparent !important;
  box-shadow: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-head,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head,
#header.header-1 .header-right #mini-cart .cart-head {
  position: relative !important;
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--mf-radius-lg) !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  cursor: pointer;
  line-height: 1 !important;
  transition: background var(--mf-transition), color var(--mf-transition);
  overflow: visible !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-head:hover,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head:hover,
#header.header-1 .header-right #mini-cart .cart-head:hover {
  background: var(--mf-bg-secondary) !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-head,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head,
#header.header-1 .header-right #mini-cart .cart-head {
  /* Hide Porto extras */
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-head .arrow,
#header.header-1 .header-right #mini-cart.mini-cart .cart-head .fa-angle-down,
#header.header-1 .header-right #mini-cart.mini-cart .cart-head .fa-chevron-down, #header.header-1 .header-right #mini-cart.mini-cart .cart-head::after, #header.header-1 .header-right #mini-cart.mini-cart .cart-head::before,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head .arrow,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head .fa-angle-down,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head .fa-chevron-down,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head::after,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head::before,
#header.header-1 .header-right #mini-cart .cart-head .arrow,
#header.header-1 .header-right #mini-cart .cart-head .fa-angle-down,
#header.header-1 .header-right #mini-cart .cart-head .fa-chevron-down,
#header.header-1 .header-right #mini-cart .cart-head::after,
#header.header-1 .header-right #mini-cart .cart-head::before {
  display: none !important;
  content: none !important;
  border: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  /* Open / active: no gray pill behind the icon */
}
#header.header-1 .header-right #mini-cart.mini-cart:hover .cart-head, #header.header-1 .header-right #mini-cart.mini-cart.open .cart-head, #header.header-1 .header-right #mini-cart.mini-cart.opened .cart-head,
#header.header-1 .header-right .mini-cart#mini-cart:hover .cart-head,
#header.header-1 .header-right .mini-cart#mini-cart.open .cart-head,
#header.header-1 .header-right .mini-cart#mini-cart.opened .cart-head,
#header.header-1 .header-right #mini-cart:hover .cart-head,
#header.header-1 .header-right #mini-cart.open .cart-head,
#header.header-1 .header-right #mini-cart.opened .cart-head {
  background: var(--mf-bg-secondary) !important;
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  /* cart-icon fills the hit box; badge positions against this box */
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-icon,
#header.header-1 .header-right .mini-cart#mini-cart .cart-icon,
#header.header-1 .header-right #mini-cart .cart-icon {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  line-height: 1 !important;
  font-size: 16px !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-icon .cart-items,
#header.header-1 .header-right .mini-cart#mini-cart .cart-icon .cart-items,
#header.header-1 .header-right #mini-cart .cart-icon .cart-items {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 18px !important;
  width: auto !important;
  height: 18px !important;
  padding: 0 5px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 9999px !important;
  background: var(--mf-accent) !important;
  background-color: var(--mf-accent) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 0 0 2px #fff !important; /* clean overlap on icon */
  transform: none !important;
  translate: none !important;
  z-index: 5 !important;
  font-family: var(--mf-font-body) !important;
  overflow: visible !important;
  white-space: nowrap !important;
  pointer-events: none;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-icon .cart-items i,
#header.header-1 .header-right .mini-cart#mini-cart .cart-icon .cart-items i,
#header.header-1 .header-right #mini-cart .cart-icon .cart-items i {
  color: #fff !important;
  font-size: 10px !important;
  margin: 0 !important;
  line-height: 1 !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-icon .cart-items:empty, #header.header-1 .header-right #mini-cart.mini-cart .cart-icon .cart-items[data-cart-count="0"],
#header.header-1 .header-right .mini-cart#mini-cart .cart-icon .cart-items:empty,
#header.header-1 .header-right .mini-cart#mini-cart .cart-icon .cart-items[data-cart-count="0"],
#header.header-1 .header-right #mini-cart .cart-icon .cart-items:empty,
#header.header-1 .header-right #mini-cart .cart-icon .cart-items[data-cart-count="0"] {
  display: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  /* FA shopping-cart glyph (replace Porto border-box bag) */
}
#header.header-1 .header-right #mini-cart.mini-cart .minicart-icon,
#header.header-1 .header-right .mini-cart#mini-cart .minicart-icon,
#header.header-1 .header-right #mini-cart .minicart-icon {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: 22px !important;
  line-height: 1 !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  position: static !important;
  opacity: 1 !important;
  display: block !important;
  color: var(--mf-text-secondary) !important;
  -webkit-font-smoothing: antialiased;
}
#header.header-1 .header-right #mini-cart.mini-cart .minicart-icon:before,
#header.header-1 .header-right .mini-cart#mini-cart .minicart-icon:before,
#header.header-1 .header-right #mini-cart .minicart-icon:before {
  content: "\f07a" !important; /* shopping-cart */
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  border: none !important;
  border-radius: 0 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  color: inherit !important;
  line-height: 1 !important;
  transform: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart .minicart-icon:after,
#header.header-1 .header-right .mini-cart#mini-cart .minicart-icon:after,
#header.header-1 .header-right #mini-cart .minicart-icon:after {
  content: none !important;
  display: none !important;
  border: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart:hover .minicart-icon,
#header.header-1 .header-right #mini-cart.mini-cart .cart-head:hover .minicart-icon, #header.header-1 .header-right #mini-cart.mini-cart.open .minicart-icon,
#header.header-1 .header-right .mini-cart#mini-cart:hover .minicart-icon,
#header.header-1 .header-right .mini-cart#mini-cart .cart-head:hover .minicart-icon,
#header.header-1 .header-right .mini-cart#mini-cart.open .minicart-icon,
#header.header-1 .header-right #mini-cart:hover .minicart-icon,
#header.header-1 .header-right #mini-cart .cart-head:hover .minicart-icon,
#header.header-1 .header-right #mini-cart.open .minicart-icon {
  color: var(--mf-primary) !important;
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  /* Hide Porto extras */
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-items-text, #header.header-1 .header-right #mini-cart.mini-cart.minicart-arrow-alt .cart-head::after, #header.header-1 .header-right #mini-cart.mini-cart.minicart-arrow-alt .cart-head::before,
#header.header-1 .header-right .mini-cart#mini-cart .cart-items-text,
#header.header-1 .header-right .mini-cart#mini-cart.minicart-arrow-alt .cart-head::after,
#header.header-1 .header-right .mini-cart#mini-cart.minicart-arrow-alt .cart-head::before,
#header.header-1 .header-right #mini-cart .cart-items-text,
#header.header-1 .header-right #mini-cart.minicart-arrow-alt .cart-head::after,
#header.header-1 .header-right #mini-cart.minicart-arrow-alt .cart-head::before {
  display: none !important;
  content: none !important;
  border: none !important;
}
#header.header-1 .header-right #mini-cart.mini-cart,
#header.header-1 .header-right .mini-cart#mini-cart,
#header.header-1 .header-right #mini-cart {
  /* Duplicate count selector support if rendered directly under #mini-cart */
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-items,
#header.header-1 .header-right .mini-cart#mini-cart .cart-items,
#header.header-1 .header-right #mini-cart .cart-items {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 18px !important;
  width: auto !important;
  height: 18px !important;
  padding: 0 5px !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 9999px !important;
  background: var(--mf-accent) !important;
  background-color: var(--mf-accent) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  letter-spacing: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 0 0 2px #fff !important; /* clean overlap on icon */
  transform: none !important;
  translate: none !important;
  z-index: 5 !important;
  font-family: var(--mf-font-body) !important;
  overflow: visible !important;
  white-space: nowrap !important;
  pointer-events: none;
}
#header.header-1 .header-right #mini-cart.mini-cart .cart-items:empty, #header.header-1 .header-right #mini-cart.mini-cart .cart-items[data-cart-count="0"],
#header.header-1 .header-right .mini-cart#mini-cart .cart-items:empty,
#header.header-1 .header-right .mini-cart#mini-cart .cart-items[data-cart-count="0"],
#header.header-1 .header-right #mini-cart .cart-items:empty,
#header.header-1 .header-right #mini-cart .cart-items[data-cart-count="0"] {
  display: none !important;
}
#header.header-1 .main-menu-wrap #mini-cart {
  font-size: 16px !important;
}
#header.header-1 {
  /* ── Responsive header ── */
}
@media (max-width: 1199px) {
  #header.header-1 .header-right .header-contact {
    font-size: 0.95rem;
  }
}
@media (max-width: 991px) {
  #header.header-1 .header-main > .container.header-row {
    gap: 0.75rem;
    min-height: var(--mf-header-height);
  }
  #header.header-1 .mobile-toggle {
    display: inline-flex !important;
  }
  #header.header-1 .header-right .header-minicart {
    gap: 0.35rem;
  }
  #header.header-1 .header-right .header-contact {
    display: none !important;
  }
  #header.header-1 .header-main .logo img,
  #header.header-1 .header-main .logo .img-responsive {
    height: 44px !important;
    max-width: 160px !important;
    max-height: 44px !important;
  }
}
@media (max-width: 768px) {
  #header.header-1 .header-main .logo img,
  #header.header-1 .header-main .logo .img-responsive {
    height: 40px !important;
    max-width: 140px !important;
    max-height: 40px !important;
  }
  #header.header-1 .header-right .my-account,
  #header.header-1 .header-right #mini-cart,
  #header.header-1 .header-right #mini-cart .cart-head {
    width: 38px !important;
    height: 38px !important;
  }
  #header.header-1 .header-right #mini-cart .minicart-icon {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 1199px) {
  .mf-topbar__links {
    gap: 1rem;
  }
}
@media (max-width: 991px) {
  .mf-topbar__links {
    display: none;
  }
}
@media (max-width: 768px) {
  .mf-topbar__address span {
    white-space: normal;
  }
}
/* ══════════════════════════════════════════════
   MF MAIN MENU BAR (UberMenu chrome)
   Keep bar white — only .nav-link-primary item is solid green
   Content column shares --mf-content-max with hero (red-line align)
   ══════════════════════════════════════════════ */
/*
 * Mobile: hamburger opens Porto #side-nav-panel (classic accordion),
 * matching live musclefuel.vn — hide UberMenu's own responsive toggle/bar.
 */
@media (max-width: 991px) {
  body.mf-mobile-side-panel .main-menu-wrap .ubermenu-responsive-toggle,
  body.mf-mobile-side-panel .main-menu-wrap .ubermenu,
  body.mf-mobile-side-panel #side-nav-panel .ubermenu-responsive-toggle,
  body.mf-mobile-side-panel #side-nav-panel .ubermenu {
    display: none !important;
  }
  body.mf-mobile-side-panel {
    /* Ensure header hamburger is the control */
  }
  body.mf-mobile-side-panel #header .mobile-toggle {
    display: inline-flex !important;
  }
}
/* Live-style side panel polish (dark accordion) */
#side-nav-panel .mobile-menu.accordion-menu > li.menu-item > a {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 600;
  font-size: 0.9375rem;
}
#side-nav-panel .mobile-menu.accordion-menu li.menu-item.active > a,
#side-nav-panel .mobile-menu.accordion-menu li.menu-item.open > a {
  color: var(--mf-primary, #1b7a3d);
}
#side-nav-panel .mobile-menu.accordion-menu .arrow {
  opacity: 0.85;
}
#side-nav-panel .share-links {
  margin-top: 1.25rem;
  padding: 0 1rem 1.25rem;
}

/* White menu bar background only — no stacked borders on nested layers */
#header.header-1 {
  border-bottom: none !important;
}
#header.header-1 .mobile-toggle {
  color: var(--mf-primary);
}
#header .main-menu-wrap {
  width: 100%;
  border-top: 1px solid var(--mf-border) !important;
  border-bottom: 1px solid var(--mf-border) !important;
  box-shadow: none;
  overflow: visible;
}
#header .main-menu-wrap,
#header .main-menu-wrap .main-menu,
#header .main-menu-wrap .ubermenu {
  background: #fff !important;
  background-color: #fff !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  overflow: visible;
}
#header .main-menu-wrap #main-menu {
  justify-content: flex-start !important;
  text-align: left !important;
}
#header .main-menu-wrap .ubermenu.ubermenu-skin-mf_skin {
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100%;
  max-width: 100%;
}
#header .main-menu-wrap .ubermenu-skin-mf_skin .ubermenu-nav {
  justify-content: flex-start !important;
  width: 100%;
}
#header #main-menu {
  position: relative;
}
#header #main-menu.container, #header #main-menu {
  position: relative;
  text-align: left;
  width: 100% !important;
  max-width: var(--mf-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--mf-content-pad-x) !important;
  padding-right: var(--mf-content-pad-x) !important;
  box-sizing: border-box;
}
#header #main-menu.container, #header #main-menu.container > .ubermenu, #header #main-menu, #header #main-menu > .ubermenu {
  background: #fff !important;
  background-color: #fff !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
#header #main-menu.menu-center,
#header #main-menu .menu-center {
  justify-content: flex-start !important;
  text-align: left !important;
}
#header #main-menu .ubermenu.ubermenu-skin-mf_skin {
  justify-content: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  width: 100%;
  max-width: 100%;
}
#header .header-main > .container.header-row {
  max-width: var(--mf-content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--mf-content-pad-x);
  padding-right: var(--mf-content-pad-x);
  box-sizing: border-box;
}
#header .ubermenu-skin-mf_skin.ubermenu-horizontal {
  position: relative;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.nav-link-primary {
  flex: 0 0 auto;
  max-width: none;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.ubermenu-has-submenu-mega {
  position: static !important;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.ubermenu-has-submenu-mega > .ubermenu-submenu-drop {
  width: 100% !important;
  min-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  max-width: none !important;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.ubermenu-has-submenu-flyout {
  position: relative;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.ubermenu-has-submenu-flyout > .ubermenu-target {
  flex: 1 1 auto;
  height: 100%;
  box-sizing: border-box;
}
#header .ubermenu-skin-mf_skin .ubermenu-item-level-0.ubermenu-has-submenu-flyout > .ubermenu-submenu-drop {
  top: 100% !important;
  margin: 0 !important;
  transform: none !important;
  min-width: 100% !important;
  width: max(100%, 12.5rem) !important;
  left: 0 !important;
  right: auto !important;
  border-radius: 0 0 12px 12px !important;
  border-top: none !important;
  box-sizing: border-box;
  /* UberMenu clips L0 drops; keep full panel visible */
  clip: auto !important;
}
#header.sticky-header .main-menu-wrap, #header.sticky-header-active .main-menu-wrap {
  border-top: 1px solid var(--mf-border) !important;
  border-bottom: 1px solid var(--mf-border) !important;
}
#header.sticky-header .main-menu-wrap,
#header.sticky-header .main-menu-wrap .ubermenu, #header.sticky-header-active .main-menu-wrap,
#header.sticky-header-active .main-menu-wrap .ubermenu {
  background: #fff !important;
  background-color: #fff !important;
}
#header.sticky-header .main-menu-wrap .ubermenu,
#header.sticky-header #main-menu, #header.sticky-header-active .main-menu-wrap .ubermenu,
#header.sticky-header-active #main-menu {
  border-top: none !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════════
   MF HEADER – Mobile search popup (.searchform-popup)
   ══════════════════════════════════════════════ */
/* Search toggle icon — brand green */
#header .searchform-popup .search-toggle,
#header .searchform-popup .search-toggle i,
#header .searchform-popup .search-toggle .fa-search {
  color: var(--mf-primary) !important;
  background: transparent !important;
}

/*
 * Footer social icons (wp-block-social-links)
 *
 * Local WP 6.9 only enqueues block-library common.min.css (not full
 * style.min.css), so the core `.screen-reader-text` utility is missing.
 * Production (WP 6.3 style.min.css) still has it — labels stay icon-only
 * circles there. Without this rule, labels like "Facebook" become visible
 * pill text. Not caused by shop/media child CSS; this restores core a11y hide.
 */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Keep footer socials as a compact icon row (match production circles) */
#footer .wp-block-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  padding: 0;
  margin: 0 0 1rem;
  /* Block is stored as has-large-icon-size (36px); production reads smaller */
  font-size: 24px !important;
}
#footer .wp-block-social-links .wp-social-link {
  margin: 0 !important;
}
#footer .wp-block-social-links .wp-block-social-link-anchor {
  justify-content: center;
  padding: 0.5em;
}

/**
 * Muscle Fuel redesign foundation.
 *
 * Shared content-column alignment, breadcrumb flattening, and baseline
 * typography/controls for WooCommerce, blog archives/single, and front views.
 * Shell rule: max-width + margin auto + horizontal pad (--mf-content-pad-x)
 * so left edges match header logo/menu. Nested page-top containers pad 0 only
 * (no second inset). Page components live in sibling _mf-*.scss partials.
 */
body.home #main > .container, body.woocommerce #main > .container, body.woocommerce-page #main > .container, body.single-product #main > .container, body.blog #main > .container, body.archive:not(.woocommerce) #main > .container, body.single-post #main > .container, body.category #main > .container, body.tag #main > .container, body.date #main > .container, body.author #main > .container, body.mf-has-contact-block #main > .container {
  width: 100%;
  max-width: var(--mf-content-max, 1140px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--mf-content-pad-x, 20px) !important;
  padding-left: var(--mf-content-pad-x, 20px) !important;
  box-sizing: border-box;
}
body.home #main > .container > .row.main-content-wrap, body.woocommerce #main > .container > .row.main-content-wrap, body.woocommerce-page #main > .container > .row.main-content-wrap, body.single-product #main > .container > .row.main-content-wrap, body.blog #main > .container > .row.main-content-wrap, body.archive:not(.woocommerce) #main > .container > .row.main-content-wrap, body.single-post #main > .container > .row.main-content-wrap, body.category #main > .container > .row.main-content-wrap, body.tag #main > .container > .row.main-content-wrap, body.date #main > .container > .row.main-content-wrap, body.author #main > .container > .row.main-content-wrap, body.mf-has-contact-block #main > .container > .row.main-content-wrap {
  width: 100% !important;
  max-width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
  /*
   * Porto's mobile grid adds 10px padding to both the row and its
   * content column. The outer container already owns the page gutter.
   */
}
@media (max-width: 991px) {
  body.home #main > .container > .row.main-content-wrap, body.woocommerce #main > .container > .row.main-content-wrap, body.woocommerce-page #main > .container > .row.main-content-wrap, body.single-product #main > .container > .row.main-content-wrap, body.blog #main > .container > .row.main-content-wrap, body.archive:not(.woocommerce) #main > .container > .row.main-content-wrap, body.single-post #main > .container > .row.main-content-wrap, body.category #main > .container > .row.main-content-wrap, body.tag #main > .container > .row.main-content-wrap, body.date #main > .container > .row.main-content-wrap, body.author #main > .container > .row.main-content-wrap, body.mf-has-contact-block #main > .container > .row.main-content-wrap {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  body.home #main > .container > .row.main-content-wrap > .main-content, body.woocommerce #main > .container > .row.main-content-wrap > .main-content, body.woocommerce-page #main > .container > .row.main-content-wrap > .main-content, body.single-product #main > .container > .row.main-content-wrap > .main-content, body.blog #main > .container > .row.main-content-wrap > .main-content, body.archive:not(.woocommerce) #main > .container > .row.main-content-wrap > .main-content, body.single-post #main > .container > .row.main-content-wrap > .main-content, body.category #main > .container > .row.main-content-wrap > .main-content, body.tag #main > .container > .row.main-content-wrap > .main-content, body.date #main > .container > .row.main-content-wrap > .main-content, body.author #main > .container > .row.main-content-wrap > .main-content, body.mf-has-contact-block #main > .container > .row.main-content-wrap > .main-content {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
body.home .main-content-wrap, body.woocommerce .main-content-wrap, body.woocommerce-page .main-content-wrap, body.single-product .main-content-wrap, body.blog .main-content-wrap, body.archive:not(.woocommerce) .main-content-wrap, body.single-post .main-content-wrap, body.category .main-content-wrap, body.tag .main-content-wrap, body.date .main-content-wrap, body.author .main-content-wrap, body.mf-has-contact-block .main-content-wrap {
  width: 100% !important;
  max-width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
body.home .page-content {
  width: 100%;
  max-width: none;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}
body.home .main-content,
body.home .page-content {
  font-family: var(--mf-font-body);
  color: var(--mf-text-primary);
}
body.woocommerce #breadcrumbs-boxed, body.woocommerce-page #breadcrumbs-boxed, body.single-product #breadcrumbs-boxed, body.blog #breadcrumbs-boxed, body.archive:not(.woocommerce) #breadcrumbs-boxed, body.single-post #breadcrumbs-boxed, body.category #breadcrumbs-boxed, body.tag #breadcrumbs-boxed, body.date #breadcrumbs-boxed, body.author #breadcrumbs-boxed, body.mf-has-contact-block #breadcrumbs-boxed {
  width: 100% !important;
  max-width: var(--mf-content-max, 1140px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--mf-content-pad-x, 20px) !important;
  padding-left: var(--mf-content-pad-x, 20px) !important;
  box-sizing: border-box !important;
  color: var(--mf-text-muted);
  font-family: var(--mf-font-body);
  text-align: left !important;
}
body.woocommerce #breadcrumbs-boxed .page-top, body.woocommerce-page #breadcrumbs-boxed .page-top, body.single-product #breadcrumbs-boxed .page-top, body.blog #breadcrumbs-boxed .page-top, body.archive:not(.woocommerce) #breadcrumbs-boxed .page-top, body.single-post #breadcrumbs-boxed .page-top, body.category #breadcrumbs-boxed .page-top, body.tag #breadcrumbs-boxed .page-top, body.date #breadcrumbs-boxed .page-top, body.author #breadcrumbs-boxed .page-top, body.mf-has-contact-block #breadcrumbs-boxed .page-top {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
body.woocommerce #breadcrumbs-boxed .page-top > .container, body.woocommerce-page #breadcrumbs-boxed .page-top > .container, body.single-product #breadcrumbs-boxed .page-top > .container, body.blog #breadcrumbs-boxed .page-top > .container, body.archive:not(.woocommerce) #breadcrumbs-boxed .page-top > .container, body.single-post #breadcrumbs-boxed .page-top > .container, body.category #breadcrumbs-boxed .page-top > .container, body.tag #breadcrumbs-boxed .page-top > .container, body.date #breadcrumbs-boxed .page-top > .container, body.author #breadcrumbs-boxed .page-top > .container, body.mf-has-contact-block #breadcrumbs-boxed .page-top > .container {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce #breadcrumbs-boxed .row,
body.woocommerce #breadcrumbs-boxed [class*=col-], body.woocommerce-page #breadcrumbs-boxed .row,
body.woocommerce-page #breadcrumbs-boxed [class*=col-], body.single-product #breadcrumbs-boxed .row,
body.single-product #breadcrumbs-boxed [class*=col-], body.blog #breadcrumbs-boxed .row,
body.blog #breadcrumbs-boxed [class*=col-], body.archive:not(.woocommerce) #breadcrumbs-boxed .row,
body.archive:not(.woocommerce) #breadcrumbs-boxed [class*=col-], body.single-post #breadcrumbs-boxed .row,
body.single-post #breadcrumbs-boxed [class*=col-], body.category #breadcrumbs-boxed .row,
body.category #breadcrumbs-boxed [class*=col-], body.tag #breadcrumbs-boxed .row,
body.tag #breadcrumbs-boxed [class*=col-], body.date #breadcrumbs-boxed .row,
body.date #breadcrumbs-boxed [class*=col-], body.author #breadcrumbs-boxed .row,
body.author #breadcrumbs-boxed [class*=col-], body.mf-has-contact-block #breadcrumbs-boxed .row,
body.mf-has-contact-block #breadcrumbs-boxed [class*=col-] {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}
body.woocommerce #breadcrumbs-boxed [class*=col-], body.woocommerce-page #breadcrumbs-boxed [class*=col-], body.single-product #breadcrumbs-boxed [class*=col-], body.blog #breadcrumbs-boxed [class*=col-], body.archive:not(.woocommerce) #breadcrumbs-boxed [class*=col-], body.single-post #breadcrumbs-boxed [class*=col-], body.category #breadcrumbs-boxed [class*=col-], body.tag #breadcrumbs-boxed [class*=col-], body.date #breadcrumbs-boxed [class*=col-], body.author #breadcrumbs-boxed [class*=col-], body.mf-has-contact-block #breadcrumbs-boxed [class*=col-] {
  float: none !important;
}
body.woocommerce #breadcrumbs-boxed .breadcrumbs-wrap,
body.woocommerce #breadcrumbs-boxed .breadcrumb, body.woocommerce-page #breadcrumbs-boxed .breadcrumbs-wrap,
body.woocommerce-page #breadcrumbs-boxed .breadcrumb, body.single-product #breadcrumbs-boxed .breadcrumbs-wrap,
body.single-product #breadcrumbs-boxed .breadcrumb, body.blog #breadcrumbs-boxed .breadcrumbs-wrap,
body.blog #breadcrumbs-boxed .breadcrumb, body.archive:not(.woocommerce) #breadcrumbs-boxed .breadcrumbs-wrap,
body.archive:not(.woocommerce) #breadcrumbs-boxed .breadcrumb, body.single-post #breadcrumbs-boxed .breadcrumbs-wrap,
body.single-post #breadcrumbs-boxed .breadcrumb, body.category #breadcrumbs-boxed .breadcrumbs-wrap,
body.category #breadcrumbs-boxed .breadcrumb, body.tag #breadcrumbs-boxed .breadcrumbs-wrap,
body.tag #breadcrumbs-boxed .breadcrumb, body.date #breadcrumbs-boxed .breadcrumbs-wrap,
body.date #breadcrumbs-boxed .breadcrumb, body.author #breadcrumbs-boxed .breadcrumbs-wrap,
body.author #breadcrumbs-boxed .breadcrumb, body.mf-has-contact-block #breadcrumbs-boxed .breadcrumbs-wrap,
body.mf-has-contact-block #breadcrumbs-boxed .breadcrumb {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  text-align: left !important;
}
body.woocommerce #breadcrumbs-boxed .breadcrumb, body.woocommerce-page #breadcrumbs-boxed .breadcrumb, body.single-product #breadcrumbs-boxed .breadcrumb, body.blog #breadcrumbs-boxed .breadcrumb, body.archive:not(.woocommerce) #breadcrumbs-boxed .breadcrumb, body.single-post #breadcrumbs-boxed .breadcrumb, body.category #breadcrumbs-boxed .breadcrumb, body.tag #breadcrumbs-boxed .breadcrumb, body.date #breadcrumbs-boxed .breadcrumb, body.author #breadcrumbs-boxed .breadcrumb, body.mf-has-contact-block #breadcrumbs-boxed .breadcrumb {
  display: flex !important;
  justify-content: flex-start !important;
  width: auto !important;
}
body.woocommerce #breadcrumbs-boxed a, body.woocommerce-page #breadcrumbs-boxed a, body.single-product #breadcrumbs-boxed a, body.blog #breadcrumbs-boxed a, body.archive:not(.woocommerce) #breadcrumbs-boxed a, body.single-post #breadcrumbs-boxed a, body.category #breadcrumbs-boxed a, body.tag #breadcrumbs-boxed a, body.date #breadcrumbs-boxed a, body.author #breadcrumbs-boxed a, body.mf-has-contact-block #breadcrumbs-boxed a {
  color: var(--mf-text-secondary);
}
body.woocommerce #breadcrumbs-boxed a:hover, body.woocommerce-page #breadcrumbs-boxed a:hover, body.single-product #breadcrumbs-boxed a:hover, body.blog #breadcrumbs-boxed a:hover, body.archive:not(.woocommerce) #breadcrumbs-boxed a:hover, body.single-post #breadcrumbs-boxed a:hover, body.category #breadcrumbs-boxed a:hover, body.tag #breadcrumbs-boxed a:hover, body.date #breadcrumbs-boxed a:hover, body.author #breadcrumbs-boxed a:hover, body.mf-has-contact-block #breadcrumbs-boxed a:hover {
  color: var(--mf-primary);
}
body.woocommerce-shop .page-top.page-header-6, body.post-type-archive-product .page-top.page-header-6, body.tax-product_cat .page-top.page-header-6, body.tax-product_tag .page-top.page-header-6 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
body.woocommerce .porto-woo-category-sidebar, body.woocommerce-page .porto-woo-category-sidebar {
  font-family: var(--mf-font-body);
  color: var(--mf-text-secondary);
}
body {
  /*
   * Product summary / cart / qty chrome lives in _mf-product.scss
   * (shared via multi-selectors for PDP + quick view — no duplicate rules).
   */
}

/**
 * Shared product card visual system (design .product-card)
 * Used on: home product loops + shop / category archives.
 *
 * Selectors cover body.home and body.woocommerce* so shop matches home.
 */
body.home ul.products .product-col .product-inner,
body.home ul.products li.product .product-inner,
body.woocommerce ul.products .product-col .product-inner,
body.woocommerce ul.products li.product .product-inner,
body.woocommerce-page ul.products .product-col .product-inner,
body.woocommerce-page ul.products li.product .product-inner {
  background: #fff;
  border: 1px solid #edf2f7;
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
  box-shadow: none;
}
body.home ul.products .product-col:hover .product-inner,
body.home ul.products li.product:hover .product-inner,
body.woocommerce ul.products .product-col:hover .product-inner,
body.woocommerce ul.products li.product:hover .product-inner,
body.woocommerce-page ul.products .product-col:hover .product-inner,
body.woocommerce-page ul.products li.product:hover .product-inner {
  box-shadow: 0 8px 24px rgba(27, 122, 61, 0.12);
  transform: translateY(-3px);
}
body.home ul.products .product-col:hover .woocommerce-loop-product__title,
body.home ul.products li.product:hover .woocommerce-loop-product__title,
body.woocommerce ul.products .product-col:hover .woocommerce-loop-product__title,
body.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
body.woocommerce-page ul.products .product-col:hover .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--mf-primary) !important;
}
body.home ul.products .product-col:hover .product-image::before, body.home ul.products .product-col:hover .product-image::after,
body.home ul.products li.product:hover .product-image::before,
body.home ul.products li.product:hover .product-image::after,
body.woocommerce ul.products .product-col:hover .product-image::before,
body.woocommerce ul.products .product-col:hover .product-image::after,
body.woocommerce ul.products li.product:hover .product-image::before,
body.woocommerce ul.products li.product:hover .product-image::after,
body.woocommerce-page ul.products .product-col:hover .product-image::before,
body.woocommerce-page ul.products .product-col:hover .product-image::after,
body.woocommerce-page ul.products li.product:hover .product-image::before,
body.woocommerce-page ul.products li.product:hover .product-image::after {
  display: none !important;
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}
body.home ul.products .product-col:hover .product-image img,
body.home ul.products li.product:hover .product-image img,
body.woocommerce ul.products .product-col:hover .product-image img,
body.woocommerce ul.products li.product:hover .product-image img,
body.woocommerce-page ul.products .product-col:hover .product-image img,
body.woocommerce-page ul.products li.product:hover .product-image img {
  transform: scale(1.04);
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /* Image / visual
   * Avoid gray square “frame” on hover: use white (matches product photos),
   * keep overflow clipped, gentle zoom only — no bg change on hover.
   */
}
body.home ul.products .product-image,
body.woocommerce ul.products .product-image,
body.woocommerce-page ul.products .product-image {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden !important;
  background: #fff !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  /* Link wrapper + Porto .inner — no gray/hover paint */
}
body.home ul.products .product-image > a,
body.home ul.products .product-image .inner,
body.woocommerce ul.products .product-image > a,
body.woocommerce ul.products .product-image .inner,
body.woocommerce-page ul.products .product-image > a,
body.woocommerce-page ul.products .product-image .inner {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0.75rem !important;
  box-sizing: border-box;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
body.home ul.products .product-image > a:hover, body.home ul.products .product-image > a:focus,
body.home ul.products .product-image .inner:hover,
body.home ul.products .product-image .inner:focus,
body.woocommerce ul.products .product-image > a:hover,
body.woocommerce ul.products .product-image > a:focus,
body.woocommerce ul.products .product-image .inner:hover,
body.woocommerce ul.products .product-image .inner:focus,
body.woocommerce-page ul.products .product-image > a:hover,
body.woocommerce-page ul.products .product-image > a:focus,
body.woocommerce-page ul.products .product-image .inner:hover,
body.woocommerce-page ul.products .product-image .inner:focus {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
body.home ul.products .product-image img,
body.home ul.products .product-image .wp-post-image,
body.woocommerce ul.products .product-image img,
body.woocommerce ul.products .product-image .wp-post-image,
body.woocommerce-page ul.products .product-image img,
body.woocommerce-page ul.products .product-image .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
  transition: transform 0.35s ease;
  margin: 0 auto !important;
  display: block;
}
body.home ul.products .product-image,
body.woocommerce ul.products .product-image,
body.woocommerce-page ul.products .product-image {
  /* Kill Porto hover overlays / viewcart bubble on image */
}
body.home ul.products .product-image .viewcart,
body.woocommerce ul.products .product-image .viewcart,
body.woocommerce-page ul.products .product-image .viewcart {
  display: none !important;
}
body.home ul.products .product-image,
body.woocommerce ul.products .product-image,
body.woocommerce-page ul.products .product-image {
  /* Sale / labels */
}
body.home ul.products .product-image .labels,
body.woocommerce ul.products .product-image .labels,
body.woocommerce-page ul.products .product-image .labels {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin: 0 !important;
  padding: 0 !important;
}
body.home ul.products .product-image .labels .onsale,
body.woocommerce ul.products .product-image .labels .onsale,
body.woocommerce-page ul.products .product-image .labels .onsale {
  position: static !important;
  display: inline-block !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 4px !important;
  background: var(--mf-accent) !important;
  color: #fff !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
body.home ul.products .onsale,
body.woocommerce ul.products .onsale,
body.woocommerce-page ul.products .onsale {
  position: static !important;
  display: inline-block !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0.2rem 0.45rem !important;
  border-radius: 4px !important;
  background: var(--mf-accent) !important;
  color: #fff !important;
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /* Body / meta */
}
body.home ul.products .product-content,
body.woocommerce ul.products .product-content,
body.woocommerce-page ul.products .product-content {
  padding: 1rem !important;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  text-align: left !important;
}
body.home ul.products .product-content .add-links-wrap,
body.woocommerce ul.products .product-content .add-links-wrap,
body.woocommerce-page ul.products .product-content .add-links-wrap {
  position: static !important;
  z-index: 2;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
  padding: 0 !important;
  margin: 0.75rem 0 0 !important;
  overflow: visible !important;
}
body.home ul.products .product-content .add-links,
body.woocommerce ul.products .product-content .add-links,
body.woocommerce-page ul.products .product-content .add-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  /* No flex gap — it leaves leftover space after the last control when
     Porto injects extra nodes. Space only between cart and quickview. */
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
}
body.home ul.products .product-content .add-links .button,
body.home ul.products .product-content .add-links a.button,
body.home ul.products .product-content .add-links .add_to_cart_button,
body.woocommerce ul.products .product-content .add-links .button,
body.woocommerce ul.products .product-content .add-links a.button,
body.woocommerce ul.products .product-content .add-links .add_to_cart_button,
body.woocommerce-page ul.products .product-content .add-links .button,
body.woocommerce-page ul.products .product-content .add-links a.button,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  flex: 1 1 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 0.5rem 0 0 !important; /* gutter before quickview only */
  padding: 0.75rem 1rem !important;
  border: none !important;
  border-radius: 8px !important;
  background: var(--mf-primary) !important;
  background-image: none !important;
  color: #fff !important;
  font-family: var(--mf-font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  text-indent: 0 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  overflow: visible !important;
  float: none !important;
  z-index: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: background 0.15s ease !important;
  /* Long VI labels ("Thêm vào giỏ hàng", "Lựa chọn các tùy chọn")
     overflow narrow mobile cards — let them wrap on two lines. */
}
@media (max-width: 767px) {
  body.home ul.products .product-content .add-links .button,
  body.home ul.products .product-content .add-links a.button,
  body.home ul.products .product-content .add-links .add_to_cart_button,
  body.woocommerce ul.products .product-content .add-links .button,
  body.woocommerce ul.products .product-content .add-links a.button,
  body.woocommerce ul.products .product-content .add-links .add_to_cart_button,
  body.woocommerce-page ul.products .product-content .add-links .button,
  body.woocommerce-page ul.products .product-content .add-links a.button,
  body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button {
    white-space: normal !important;
    text-align: center !important;
    font-size: 0.8125rem !important;
    line-height: 1.25 !important;
    padding: 0.5rem 0.625rem !important;
  }
}
body.home ul.products .product-content .add-links .button:hover,
body.home ul.products .product-content .add-links a.button:hover,
body.home ul.products .product-content .add-links .add_to_cart_button:hover,
body.woocommerce ul.products .product-content .add-links .button:hover,
body.woocommerce ul.products .product-content .add-links a.button:hover,
body.woocommerce ul.products .product-content .add-links .add_to_cart_button:hover,
body.woocommerce-page ul.products .product-content .add-links .button:hover,
body.woocommerce-page ul.products .product-content .add-links a.button:hover,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button:hover {
  background: var(--mf-primary-dark) !important;
  color: #fff !important;
}
body.home ul.products .product-content .add-links .button,
body.home ul.products .product-content .add-links a.button,
body.home ul.products .product-content .add-links .add_to_cart_button,
body.woocommerce ul.products .product-content .add-links .button,
body.woocommerce ul.products .product-content .add-links a.button,
body.woocommerce ul.products .product-content .add-links .add_to_cart_button,
body.woocommerce-page ul.products .product-content .add-links .button,
body.woocommerce-page ul.products .product-content .add-links a.button,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button {
  /* No stacked Porto / Font Awesome cart glyphs on loop CTAs. */
}
body.home ul.products .product-content .add-links .button::before, body.home ul.products .product-content .add-links .button::after,
body.home ul.products .product-content .add-links a.button::before,
body.home ul.products .product-content .add-links a.button::after,
body.home ul.products .product-content .add-links .add_to_cart_button::before,
body.home ul.products .product-content .add-links .add_to_cart_button::after,
body.woocommerce ul.products .product-content .add-links .button::before,
body.woocommerce ul.products .product-content .add-links .button::after,
body.woocommerce ul.products .product-content .add-links a.button::before,
body.woocommerce ul.products .product-content .add-links a.button::after,
body.woocommerce ul.products .product-content .add-links .add_to_cart_button::before,
body.woocommerce ul.products .product-content .add-links .add_to_cart_button::after,
body.woocommerce-page ul.products .product-content .add-links .button::before,
body.woocommerce-page ul.products .product-content .add-links .button::after,
body.woocommerce-page ul.products .product-content .add-links a.button::before,
body.woocommerce-page ul.products .product-content .add-links a.button::after,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button::before,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_button::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: none !important;
}
body.home ul.products .product-content .add-links .add_to_cart_read_more::before,
body.woocommerce ul.products .product-content .add-links .add_to_cart_read_more::before,
body.woocommerce-page ul.products .product-content .add-links .add_to_cart_read_more::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  background: none !important;
}
body.home ul.products .product-content .add-links .quickview,
body.woocommerce ul.products .product-content .add-links .quickview,
body.woocommerce-page ul.products .product-content .add-links .quickview {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  flex: 0 0 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  margin: 0 0 0 auto !important; /* pin to trailing edge of card links row */
  padding: 0 !important;
  border: 1px solid var(--mf-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--mf-text-secondary) !important;
  box-shadow: none !important;
  float: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  text-indent: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  overflow: hidden !important;
  z-index: auto !important;
}
body.home ul.products .product-content .add-links .quickview::before,
body.woocommerce ul.products .product-content .add-links .quickview::before,
body.woocommerce-page ul.products .product-content .add-links .quickview::before {
  content: "\f06e" !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: inherit !important;
  float: none !important;
  transform: none !important;
}
body.home ul.products .product-content .add-links .quickview::after,
body.woocommerce ul.products .product-content .add-links .quickview::after,
body.woocommerce-page ul.products .product-content .add-links .quickview::after {
  content: none !important;
  display: none !important;
}
body.home ul.products .product-content .add-links .quickview:hover,
body.woocommerce ul.products .product-content .add-links .quickview:hover,
body.woocommerce-page ul.products .product-content .add-links .quickview:hover {
  border-color: var(--mf-primary) !important;
  color: var(--mf-primary) !important;
  background: #fff !important;
}
body.home ul.products .category-list,
body.woocommerce ul.products .category-list,
body.woocommerce-page ul.products .category-list {
  display: block;
  font-family: var(--mf-font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  color: var(--mf-text-muted) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 0.25rem !important;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.home ul.products .category-list a,
body.woocommerce ul.products .category-list a,
body.woocommerce-page ul.products .category-list a {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
body.home ul.products .product-loop-title,
body.woocommerce ul.products .product-loop-title,
body.woocommerce-page ul.products .product-loop-title {
  text-decoration: none !important;
  margin: 0 0 0.5rem !important;
}
body.home ul.products .woocommerce-loop-product__title,
body.home ul.products h3.woocommerce-loop-product__title,
body.woocommerce ul.products .woocommerce-loop-product__title,
body.woocommerce ul.products h3.woocommerce-loop-product__title,
body.woocommerce-page ul.products .woocommerce-loop-product__title,
body.woocommerce-page ul.products h3.woocommerce-loop-product__title {
  font-family: var(--mf-font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--mf-text-primary) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.5em;
  transition: color 0.15s ease;
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /* Rating */
}
body.home ul.products .rating-wrap,
body.home ul.products .star-rating,
body.woocommerce ul.products .rating-wrap,
body.woocommerce ul.products .star-rating,
body.woocommerce-page ul.products .rating-wrap,
body.woocommerce-page ul.products .star-rating {
  margin: 0 0 0.5rem !important;
  font-size: 0.75rem;
}
body.home ul.products .star-rating,
body.woocommerce ul.products .star-rating,
body.woocommerce-page ul.products .star-rating {
  color: #f5a623 !important;
  letter-spacing: 1px;
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /* Price — sale red, original muted strike */
}
body.home ul.products .price,
body.woocommerce ul.products .price,
body.woocommerce-page ul.products .price {
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0.25rem 0 0 !important;
  padding: 0 !important;
  font-family: var(--mf-font-body) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--mf-accent) !important;
  line-height: 1.2 !important;
}
body.home ul.products .price del,
body.woocommerce ul.products .price del,
body.woocommerce-page ul.products .price del {
  order: 2;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: var(--mf-text-muted) !important;
  text-decoration: line-through !important;
  opacity: 1 !important;
}
body.home ul.products .price del .amount,
body.home ul.products .price del bdi,
body.woocommerce ul.products .price del .amount,
body.woocommerce ul.products .price del bdi,
body.woocommerce-page ul.products .price del .amount,
body.woocommerce-page ul.products .price del bdi {
  color: var(--mf-text-muted) !important;
  font-weight: 400 !important;
  font-size: inherit !important;
}
body.home ul.products .price ins,
body.woocommerce ul.products .price ins,
body.woocommerce-page ul.products .price ins {
  order: 1;
  text-decoration: none !important;
  background: none !important;
  font-weight: 700 !important;
  color: var(--mf-accent) !important;
  font-size: inherit !important;
}
body.home ul.products .price ins .amount,
body.home ul.products .price ins bdi,
body.woocommerce ul.products .price ins .amount,
body.woocommerce ul.products .price ins bdi,
body.woocommerce-page ul.products .price ins .amount,
body.woocommerce-page ul.products .price ins bdi {
  color: var(--mf-accent) !important;
  font-weight: 700 !important;
}
body.home ul.products .price .amount,
body.home ul.products .price bdi,
body.woocommerce ul.products .price .amount,
body.woocommerce ul.products .price bdi,
body.woocommerce-page ul.products .price .amount,
body.woocommerce-page ul.products .price bdi {
  color: inherit !important;
}
body.home ul.products .price,
body.woocommerce ul.products .price,
body.woocommerce-page ul.products .price {
  /* Non-sale single amount still brand accent when on sale context; else primary text */
}
body.home ul.products .price > .amount,
body.woocommerce ul.products .price > .amount,
body.woocommerce-page ul.products .price > .amount {
  color: var(--mf-accent) !important;
  font-weight: 700 !important;
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /*
   * Loop actions — shared by WPBakery home shortcodes and Woo archives.
   * Porto's show-links-hover variant moves this row outside the card and hides
   * quick view until hover; keep both controls in the normal content flow.
   */
}
body.home ul.products li.product.product-default,
body.home ul.products li.product.product-default.show-links-hover,
body.home ul.products li.product.product-default.show-links-hover:hover,
body.woocommerce ul.products li.product.product-default,
body.woocommerce ul.products li.product.product-default.show-links-hover,
body.woocommerce ul.products li.product.product-default.show-links-hover:hover,
body.woocommerce-page ul.products li.product.product-default,
body.woocommerce-page ul.products li.product.product-default.show-links-hover,
body.woocommerce-page ul.products li.product.product-default.show-links-hover:hover {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  overflow: visible;
}
body.home ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  /* Hide variation dropdown UI on all loop cards, including home shortcodes. */
}
body.home ul.products li.product .variations,
body.home ul.products li.product .variations_form,
body.home ul.products li.product table.variations,
body.woocommerce ul.products li.product .variations,
body.woocommerce ul.products li.product .variations_form,
body.woocommerce ul.products li.product table.variations,
body.woocommerce-page ul.products li.product .variations,
body.woocommerce-page ul.products li.product .variations_form,
body.woocommerce-page ul.products li.product table.variations {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

/**
 * Hybrid home hero — layout matches claude-tempates gymstore-style hero.
 * Main rotator: Smart Slider 3. Tabs + side banners: custom.
 *
 * Content column uses --mf-content-max / --mf-content-pad-x from root tokens
 * so menu + hero left edges align.
 */
:root {
  --mf-hero-primary: var(--mf-primary);
  --mf-hero-primary-surface: var(--mf-primary-surface);
  --mf-hero-bg: var(--mf-bg-secondary);
  --mf-hero-border: #edf2f7;
  --mf-hero-text: var(--mf-text-primary);
  --mf-hero-muted: var(--mf-text-muted);
  --mf-hero-radius: 12px;
  --mf-hero-radius-md: 8px;
  --mf-hero-gap: 1.25rem;
  --mf-hero-side: 320px;
}

/*
 * Section stays in normal flow (same width as page content column).
 * Full-bleed gray is a ::before so it does not shift content alignment.
 */
.mf-hero-section {
  position: relative;
  padding: 1.5rem 0 1.5rem;
  margin: 0;
  margin-top: 2px;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  background: transparent;
  overflow: visible;
}
.mf-hero-section::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--mf-hero-bg);
  z-index: 0;
  pointer-events: none;
}
.mf-hero-section__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--mf-content-max, 1140px);
  margin: 0 auto;
  padding-left: var(--mf-content-pad-x, 20px);
  padding-right: var(--mf-content-pad-x, 20px);
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .mf-hero-section {
    padding: 0.75rem 0 0.75rem;
  }
}

.mf-hero-layout {
  display: grid;
  grid-template-columns: 1fr var(--mf-hero-side);
  gap: var(--mf-hero-gap);
  align-items: stretch;
}
.mf-hero-layout__slider {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.mf-hero-layout__side {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
  min-width: 0;
}
@media (max-width: 991px) {
  .mf-hero-layout__side {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.625rem;
    align-items: stretch;
  }
}
@media (max-width: 480px) {
  .mf-hero-layout__side {
    gap: 0.5rem;
  }
}
@media (max-width: 991px) {
  .mf-hero-layout {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
}

.mf-hero-slider-frame {
  border-radius: var(--mf-hero-radius);
  overflow: hidden;
  background: #111;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  position: relative;
  /* Soften SS3 edges inside our frame */
}
.mf-hero-slider-frame .n2-ss-slider,
.mf-hero-slider-frame .n2-section-smartslider {
  border-radius: var(--mf-hero-radius);
  overflow: hidden;
}

.mf-hero-slider-missing {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #fff;
  text-align: center;
  background: linear-gradient(135deg, var(--mf-primary-dark), var(--mf-primary));
}

.mf-hero-side-banner {
  display: block;
  position: relative;
  border-radius: var(--mf-hero-radius);
  overflow: hidden;
  flex: 1 1 0;
  min-height: 96px;
  min-width: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  background: #edf2f7;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none;
  color: inherit;
}
.mf-hero-side-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(27, 122, 61, 0.06), rgba(26, 32, 44, 0.04));
  pointer-events: none;
  z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
  .mf-hero-side-banner:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }
  .mf-hero-side-banner:hover img {
    transform: scale(1.03);
  }
}
.mf-hero-side-banner:focus-visible {
  outline: 2px solid var(--mf-hero-primary);
  outline-offset: 2px;
}
.mf-hero-side-banner:active {
  transform: scale(0.98);
}
.mf-hero-side-banner img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.25s ease;
}
@media (max-width: 991px) {
  .mf-hero-side-banner {
    flex: none;
    min-height: 0;
    max-height: none;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
  }
}
@media (max-width: 480px) {
  .mf-hero-side-banner {
    border-radius: 8px;
  }
}

.mf-hero-tabs {
  display: flex;
  margin-top: 0.75rem;
  border-radius: var(--mf-hero-radius-md);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--mf-hero-border);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.mf-hero-tabs__btn {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.85rem 0.75rem;
  border: none;
  border-right: 1px solid var(--mf-hero-border);
  background: #fff;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  color: var(--mf-hero-text);
  min-width: 0;
}
.mf-hero-tabs__btn:last-child {
  border-right: none;
}
.mf-hero-tabs__btn:hover {
  background: var(--mf-hero-primary-surface);
  color: var(--mf-hero-primary);
}
.mf-hero-tabs__btn:hover .mf-hero-tabs__sub {
  color: inherit;
  opacity: 0.85;
}
.mf-hero-tabs__btn--active {
  background: #fff;
  color: var(--mf-hero-primary);
  box-shadow: inset 0 -3px 0 var(--mf-hero-primary);
}
.mf-hero-tabs__btn--active .mf-hero-tabs__sub {
  color: inherit;
  opacity: 0.85;
}
@media (max-width: 768px) {
  .mf-hero-tabs__btn {
    flex: 0 0 50%;
    border-right: 1px solid var(--mf-hero-border);
    border-bottom: 1px solid var(--mf-hero-border);
  }
  .mf-hero-tabs__btn:nth-child(2n) {
    border-right: none;
  }
}
.mf-hero-tabs__title {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
}
@media (max-width: 991px) {
  .mf-hero-tabs__title {
    font-size: 0.75rem;
  }
}
.mf-hero-tabs__sub {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--mf-hero-muted);
  line-height: 1.2;
}
@media (max-width: 991px) {
  .mf-hero-tabs__sub {
    display: none;
  }
}
@media (max-width: 768px) {
  .mf-hero-tabs__sub {
    display: inline;
  }
}
@media (max-width: 768px) {
  .mf-hero-tabs {
    flex-wrap: wrap;
  }
}

body.mf-has-hybrid-hero .page-content > .vc_row:first-child {
  margin-top: 0;
}
body.mf-has-hybrid-hero .page-content > .vc_row:first-child .vc_row_inner:first-child {
  display: none !important;
}

@media (max-width: 1200px) {
  :root {
    --mf-hero-side: 280px;
  }
}
/**
 * Home mid-page + product cards — visual parity with claude-tempates
 * (index.html sections after hero: titles, product grids, spacing).
 *
 * Maps Porto/Woo/WPBakery markup → design tokens (no mockup class names required).
 */
/* ══════════════════════════════════════════════
   HOME CONTENT COLUMN & SECTION RHYTHM
   ══════════════════════════════════════════════ */
body.home.mf-has-hybrid-hero #main,
body.home.mf-has-hybrid-hero .main-content {
  padding-top: 0 !important;
}
body.home {
  /*
   * Single horizontal gutter for home mid-page.
   * Content column shell (max-width + pad-x) lives in _mf-base.scss on
   * body.home #main > .container (same as header/hero tokens).
   * .page-content fills that shell with pad 0 — avoid double inset.
   */
}
body.home .main-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  /* Nested containers: no second inset (shell is #main > .container in mf-base). */
}
body.home .main-content > .container,
body.home .main-content #content,
body.home .main-content #content .container {
  max-width: none;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
body.home .page-content {
  /* Nested containers: no second inset */
}
body.home .page-content > .container {
  max-width: none;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box;
}
body.home .page-content {
  /* Kill WPBakery / Porto column side gutters (full-width single column home) */
}
body.home .page-content .vc_row,
body.home .page-content .vc_row_inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.home .page-content .vc_column_container,
body.home .page-content .vc_column-inner,
body.home .page-content .wpb_wrapper {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.home .page-content {
  /* WPBakery outer rows: section padding like .section (vertical only) */
}
body.home .page-content > .vc_row {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
body.home .page-content > .vc_row:first-of-type {
  /* legacy hero row collapsed when hybrid active (also in _mf-hero.scss) */
  padding-top: 0;
}
body.home .page-content > .vc_row {
  /* Alternating soft bands for successive product blocks (design .section--alt) */
}
body.home .page-content > .vc_row:nth-of-type(even) {
  background: var(--mf-bg-secondary);
  border-radius: 0;
}
body.home .page-content > .vc_row {
  /* Final two-column row spacing */
}
body.home .page-content > .vc_row:last-of-type {
  padding-bottom: 3rem;
}
body.home .page-content > .vc_row {
  /* Mobile: rhythm only — horizontal pad stays on #main > .container (mf-base). */
}
@media (max-width: 991px) {
  body.home .page-content > .vc_row {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
body.home .page-content .vc_separator.vc_text_separator {
  clear: both !important;
  float: none !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 2.5rem 0 0.75rem !important;
  padding: 0.25rem 0 0.5rem !important;
  border: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  left: auto !important;
  right: auto !important;
  z-index: 2;
}
body.home .page-content .vc_separator.vc_text_separator .vc_sep_holder,
body.home .page-content .vc_separator.vc_text_separator .vc_sep_line {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
body.home .page-content .vc_separator.vc_text_separator .vc_sep_text,
body.home .page-content .vc_separator.vc_text_separator h4 {
  position: relative !important;
  float: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important; /* spacing via separator padding + following grid margin */
  padding: 0 0 0.85rem !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
@media (max-width: 991px) {
  body.home .page-content .vc_separator.vc_text_separator {
    margin-top: 1.5rem !important;
    margin-bottom: 0.5rem !important;
  }
}
body.home .page-content {
  /* ══════════════════════════════════════════════
     SECTION TITLES (design .section-title)
     Home uses bare <h4> above product shortcodes
     ══════════════════════════════════════════════ */
}
body.home .page-content h2,
body.home .page-content h3.vc_custom_heading,
body.home .page-content h4:not(.woocommerce-loop-product__title):not(.wp-block-heading),
body.home .page-content .vc_separator h4 {
  font-family: var(--mf-font-display) !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
  font-weight: 700 !important; /* Be Vietnam Pro — 400 looked thin vs old Bebas Neue */
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: var(--mf-text-primary) !important;
  /* Keep title in normal flow; bottom gap comes from padding (not collapsing margin) */
  margin: 0 !important;
  padding: 0 0 1rem !important;
  position: relative !important;
  line-height: 1.15 !important;
  overflow: visible !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.home .page-content h2::after,
body.home .page-content h3.vc_custom_heading::after,
body.home .page-content h4:not(.woocommerce-loop-product__title):not(.wp-block-heading)::after,
body.home .page-content .vc_separator h4::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--mf-primary) !important;
  margin: 0.75rem auto 0 !important;
  border-radius: 9999px !important;
  position: static !important;
}
body.home .page-content h2:empty::after,
body.home .page-content h3.vc_custom_heading:empty::after,
body.home .page-content h4:not(.woocommerce-loop-product__title):not(.wp-block-heading):empty::after,
body.home .page-content .vc_separator h4:empty::after {
  display: none;
}
body.home .page-content {
  /*
   * Section chrome: each title + product shortcode must be a full-width block.
   * Without clear, Porto float columns let the next heading wrap beside leftover products.
   *
   * Critical: WPBakery .vc_separator collapses to ~1px when .vc_sep_holder lines are
   * hidden, while h4 still paints at 70px+ and the next .woocommerce grid slides up
   * under the title (negative gap). Separator must CONTAIN the heading height.
   */
}
body.home .page-content .woocommerce,
body.home .page-content .woocommerce.columns-4 {
  clear: both !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 1;
}
body.home .page-content {
  /* ══════════════════════════════════════════════
     BANNERS / MISC ROWS (promo-like)
     ══════════════════════════════════════════════ */
}
body.home .page-content .porto-ibanner,
body.home .page-content .vc_single_image-wrapper,
body.home .page-content .wpb_single_image img {
  border-radius: 16px;
  overflow: hidden;
}
body.home .page-content .porto-ibanner {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body.home .page-content .porto-ibanner:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 15px rgba(0, 0, 0, 0.1);
}
body.home {
  /* ══════════════════════════════════════════════
     PRODUCT GRID
     ══════════════════════════════════════════════ */
}
body.home ul.products,
body.home ul.products.products-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 0 1.5rem !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  /* Isolate layout: following headings never sit beside this list */
  overflow: hidden;
  /* Keep a clearfix pseudo that doesn't become a stray grid cell hole:
     span full row when grid is active; clear floats if grid is overridden. */
}
body.home ul.products::before,
body.home ul.products.products-container::before {
  content: none !important;
  display: none !important;
}
body.home ul.products::after,
body.home ul.products.products-container::after {
  content: "" !important;
  display: block !important;
  grid-column: 1/-1 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  clear: both !important;
  visibility: hidden !important;
  overflow: hidden !important;
}
body.home ul.products,
body.home ul.products.products-container {
  /* Cells only — size comes from grid track, not Porto % widths */
}
body.home ul.products > .product-col, body.home ul.products > li.product,
body.home ul.products.products-container > .product-col,
body.home ul.products.products-container > li.product {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  clear: none !important;
  flex: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
}
@media (max-width: 991px) {
  body.home ul.products .product-content,
  body.home ul.products.products-container .product-content {
    padding: 0.65rem !important;
  }
}
@media (max-width: 991px) {
  body.home ul.products .product-image .inner,
  body.home ul.products.products-container .product-image .inner {
    padding: 0.75rem !important;
  }
}
@media (max-width: 1199px) {
  body.home ul.products,
  body.home ul.products.products-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 991px) {
  body.home ul.products,
  body.home ul.products.products-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    margin-bottom: 1rem !important;
  }
}
@media (max-width: 480px) {
  body.home ul.products,
  body.home ul.products.products-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
}

/**
 * Shop archive — sidebar, archive gutters, filters, and loop controls.
 *
 * Scope: shop + product category/tag archives (body.woocommerce* selectors).
 * Ships in style-child.css with the rest of the theme bundle.
 */
/*
 * Column gutters: flush left of sidebar with logo; small gap between
 * sidebar and product grid only (not extra outer pad).
 */
body.woocommerce.archive,
body.woocommerce-page.archive,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product {
  /* Keep the sidebar/content gap on desktop; mobile uses the shared shell. */
}
@media (min-width: 992px) {
  body.woocommerce.archive .porto-woo-category-sidebar,
  body.woocommerce-page.archive .porto-woo-category-sidebar,
  body.tax-product_cat .porto-woo-category-sidebar,
  body.tax-product_tag .porto-woo-category-sidebar,
  body.post-type-archive-product .porto-woo-category-sidebar {
    padding-left: 0 !important;
    padding-right: 12px !important;
  }
  body.woocommerce.archive .main-content,
  body.woocommerce-page.archive .main-content,
  body.tax-product_cat .main-content,
  body.tax-product_tag .main-content,
  body.post-type-archive-product .main-content {
    padding-left: 12px !important;
    padding-right: 0 !important;
  }
}
body.woocommerce.archive,
body.woocommerce-page.archive,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product {
  /* Unresolved Porto block shortcode dumps raw text above the crumb */
}
body.woocommerce.archive .banner-container.my-banner,
body.woocommerce-page.archive .banner-container.my-banner,
body.tax-product_cat .banner-container.my-banner,
body.tax-product_tag .banner-container.my-banner,
body.post-type-archive-product .banner-container.my-banner {
  display: none !important;
}

/* ══════════════════════════════════════════════
   SIDEBAR SHELL
   ══════════════════════════════════════════════ */
.porto-woo-category-sidebar.mobile-sidebar, .sidebar.mobile-sidebar .porto-woo-category-sidebar {
  background: #fff;
}
.porto-woo-category-sidebar .sidebar-content {
  padding: 0;
  border: 0 !important;
  box-shadow: none !important;
}
.porto-woo-category-sidebar {
  /* Each widget → design filter-group card */
}
.porto-woo-category-sidebar .widget {
  margin: 0 0 1.25rem !important;
  padding: 0 !important;
  border: 1px solid var(--mf-border) !important;
  border-radius: var(--mf-radius-lg, 12px) !important;
  background: #fff !important;
  overflow: hidden;
  box-shadow: none !important;
  /* Empty skeleton / empty YITH reset — stay invisible, no empty card */
}
.porto-woo-category-sidebar .widget:empty, .porto-woo-category-sidebar .widget.yith-woo-ajax-reset-navigation:not(:has(*:not(script))) {
  display: none !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}
.porto-woo-category-sidebar .widget {
  /* ══════════════════════════════════════════════
     WIDGET TITLES (filter-group__header)
     ══════════════════════════════════════════════ */
}
.porto-woo-category-sidebar .widget .widget-title,
.porto-woo-category-sidebar .widget .widgettitle {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0 !important;
  padding: 0.9rem 1rem !important;
  font-family: var(--mf-font-body) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase !important;
  color: var(--mf-text-primary) !important;
  background: var(--mf-bg-secondary) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--mf-border) !important;
  cursor: pointer;
  transition: background var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .widget .widget-title:hover,
.porto-woo-category-sidebar .widget .widgettitle:hover {
  background: #edf2f7 !important;
}
.porto-woo-category-sidebar .widget .widget-title,
.porto-woo-category-sidebar .widget .widgettitle {
  /* Kill Porto title pseudo/underline ornaments */
}
.porto-woo-category-sidebar .widget .widget-title::before, .porto-woo-category-sidebar .widget .widget-title::after,
.porto-woo-category-sidebar .widget .widgettitle::before,
.porto-woo-category-sidebar .widget .widgettitle::after {
  display: none !important;
  content: none !important;
}
.porto-woo-category-sidebar .widget .widget-title,
.porto-woo-category-sidebar .widget .widgettitle {
  /* Collapse toggle — chevron-like minus/plus from Porto */
}
.porto-woo-category-sidebar .widget .widget-title .toggle,
.porto-woo-category-sidebar .widget .widgettitle .toggle {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 0 0 0 auto !important;
  opacity: 0.55;
  transition: opacity var(--mf-transition, 150ms ease-out), transform var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .widget .widget-title .toggle::before, .porto-woo-category-sidebar .widget .widget-title .toggle::after,
.porto-woo-category-sidebar .widget .widgettitle .toggle::before,
.porto-woo-category-sidebar .widget .widgettitle .toggle::after {
  background-color: var(--mf-text-secondary) !important;
}
.porto-woo-category-sidebar .widget .widget-title:hover .toggle,
.porto-woo-category-sidebar .widget .widgettitle:hover .toggle {
  opacity: 0.9;
  color: var(--mf-primary);
}
.porto-woo-category-sidebar .widget {
  /* ══════════════════════════════════════════════
     WIDGET BODY / LISTS
     ══════════════════════════════════════════════ */
  /*
   * No fixed max-height: a 280px scroll pane made short lists look sparse
   * (big empty white region + scrollbar). Let cards hug content; long trees
   * can scroll only when they exceed a soft cap.
   */
}
.porto-woo-category-sidebar .widget > ul, .porto-woo-category-sidebar .widget > form, .porto-woo-category-sidebar .widget > div:not(.widget-title),
.porto-woo-category-sidebar .widget .textwidget {
  padding: 0.5rem 0.9rem 0.65rem !important;
  margin: 0 !important;
  max-height: none;
  overflow: visible;
  border: 0 !important;
  background: transparent !important;
  /* Scrollbar polish inside long filter lists */
}
.porto-woo-category-sidebar .widget > ul::-webkit-scrollbar, .porto-woo-category-sidebar .widget > form::-webkit-scrollbar, .porto-woo-category-sidebar .widget > div:not(.widget-title)::-webkit-scrollbar,
.porto-woo-category-sidebar .widget .textwidget::-webkit-scrollbar {
  width: 6px;
}
.porto-woo-category-sidebar .widget > ul::-webkit-scrollbar-thumb, .porto-woo-category-sidebar .widget > form::-webkit-scrollbar-thumb, .porto-woo-category-sidebar .widget > div:not(.widget-title)::-webkit-scrollbar-thumb,
.porto-woo-category-sidebar .widget .textwidget::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 999px;
}
.porto-woo-category-sidebar .widget {
  /* Soft cap only for very long category trees (keeps page usable) */
}
.porto-woo-category-sidebar .widget.widget_product_categories > ul.product-categories {
  max-height: 22rem;
  overflow-x: hidden;
  overflow-y: auto;
}
.porto-woo-category-sidebar .widget {
  /* Price form needs a bit more air; list widgets keep tight rows */
}
.porto-woo-category-sidebar .widget.widget_price_filter > form {
  max-height: none;
  overflow: visible;
  padding-top: 0.85rem !important;
  padding-bottom: 0.85rem !important;
}
.porto-woo-category-sidebar .widget ul {
  list-style: none !important;
  margin: 0 !important;
  /* Nested ULs keep left indent via children rule; top-level uses body pad */
}
.porto-woo-category-sidebar .widget ul ul {
  padding-left: 0 !important;
}
.porto-woo-category-sidebar .widget li {
  margin: 0 !important;
  padding: 0.2rem 0 !important;
  border: 0 !important;
  line-height: 1.35 !important;
  min-height: 0 !important;
  list-style: none !important;
}
.porto-woo-category-sidebar .widget li::before {
  display: none !important;
  content: none !important;
}
.porto-woo-category-sidebar .widget li a {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem 0.35rem;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.15rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--mf-text-secondary) !important;
  text-decoration: none !important;
  transition: color var(--mf-transition, 150ms ease-out);
  /* Plain links only — do not wipe .filter-color inline swatch fills */
}
.porto-woo-category-sidebar .widget li a:not(.filter-color) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.porto-woo-category-sidebar .widget li a:not(.filter-color):hover, .porto-woo-category-sidebar .widget li a:not(.filter-color):focus {
  background: transparent !important;
}
.porto-woo-category-sidebar .widget li a:hover, .porto-woo-category-sidebar .widget li a:focus {
  color: var(--mf-primary) !important;
  border-color: transparent !important;
}
.porto-woo-category-sidebar .widget li {
  /* Active / current term */
}
.porto-woo-category-sidebar .widget li.current-cat > a, .porto-woo-category-sidebar .widget li.chosen > a, .porto-woo-category-sidebar .widget li.woocommerce-widget-layered-nav-list__item--chosen > a, .porto-woo-category-sidebar .widget li.active > a {
  color: var(--mf-primary) !important;
  font-weight: 600 !important;
}
.porto-woo-category-sidebar .widget {
  /* Nested category children */
}
.porto-woo-category-sidebar .widget ul.children,
.porto-woo-category-sidebar .widget ul.sub-menu {
  flex: 1 1 100%;
  width: 100%;
  margin: 0.1rem 0 0.15rem 0 !important;
  padding: 0 0 0 0.65rem !important;
  border-left: 2px solid var(--mf-primary-surface);
}
.porto-woo-category-sidebar .widget {
  /* Counts (YITH / layered nav) */
}
.porto-woo-category-sidebar .widget .count,
.porto-woo-category-sidebar .widget small.count,
.porto-woo-category-sidebar .widget li .count {
  margin-left: 0.35rem;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  color: var(--mf-text-muted) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}
.porto-woo-category-sidebar .widget .count::before,
.porto-woo-category-sidebar .widget small.count::before,
.porto-woo-category-sidebar .widget li .count::before {
  content: "(";
}
.porto-woo-category-sidebar .widget .count::after,
.porto-woo-category-sidebar .widget small.count::after,
.porto-woo-category-sidebar .widget li .count::after {
  content: ")";
}
.porto-woo-category-sidebar .widget .count,
.porto-woo-category-sidebar .widget small.count,
.porto-woo-category-sidebar .widget li .count {
  /* Avoid double parens if markup already has them */
}
.porto-woo-category-sidebar .widget .count:empty::before, .porto-woo-category-sidebar .widget .count:empty::after,
.porto-woo-category-sidebar .widget small.count:empty::before,
.porto-woo-category-sidebar .widget small.count:empty::after,
.porto-woo-category-sidebar .widget li .count:empty::before,
.porto-woo-category-sidebar .widget li .count:empty::after {
  content: none;
}
.porto-woo-category-sidebar .sidebar-content.skeleton-body .widget:empty {
  display: none !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
}
.porto-woo-category-sidebar {
  /* Category rows: link + expand toggle on one line (no float gap) */
}
.porto-woo-category-sidebar .product-categories > li,
.porto-woo-category-sidebar .product-categories li.cat-parent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 0.35rem;
}
.porto-woo-category-sidebar .product-categories li > a {
  flex: 1 1 auto;
  min-width: 0;
}
.porto-woo-category-sidebar .product-categories .cat-parent > .toggle {
  float: none !important;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  opacity: 0.5;
  cursor: pointer;
}
.porto-woo-category-sidebar .product-categories .cat-parent > .toggle:hover {
  opacity: 1;
  color: var(--mf-primary);
}
.porto-woo-category-sidebar {
  /* ══════════════════════════════════════════════
     PRICE FILTER
     ══════════════════════════════════════════════ */
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_wrapper {
  padding: 0.15rem 0 0;
}
.porto-woo-category-sidebar .widget_price_filter .price_slider.ui-slider {
  height: 6px !important;
  margin: 0.85rem 0.35rem 1.1rem !important;
  border: 0 !important;
  border-radius: var(--mf-radius-full, 9999px) !important;
  background: #edf2f7 !important;
}
.porto-woo-category-sidebar .widget_price_filter .ui-slider-range {
  background: var(--mf-primary) !important;
  border: 0 !important;
  border-radius: var(--mf-radius-full, 9999px) !important;
}
.porto-woo-category-sidebar .widget_price_filter .ui-slider-handle {
  width: 16px !important;
  height: 16px !important;
  top: 50% !important;
  margin-top: -8px !important;
  margin-left: -8px !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: var(--mf-primary) !important;
  box-shadow: 0 1px 4px rgba(27, 122, 61, 0.35) !important;
  cursor: pointer !important;
  outline: none !important;
}
.porto-woo-category-sidebar .widget_price_filter .ui-slider-handle:hover, .porto-woo-category-sidebar .widget_price_filter .ui-slider-handle:focus {
  background: var(--mf-primary-dark) !important;
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  color: var(--mf-text-muted);
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount .price_label {
  order: 1;
  flex: 1 1 100%;
  margin: 0 !important;
  font-size: 0.75rem;
  color: var(--mf-text-muted);
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount input[type=text] {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 0;
  max-width: 48%;
  height: 36px;
  padding: 0.35rem 0.5rem !important;
  border: 1px solid var(--mf-border) !important;
  border-radius: 8px !important;
  background: var(--mf-bg-secondary) !important;
  font-size: 0.8125rem !important;
  color: var(--mf-text-primary) !important;
  box-shadow: none !important;
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount input[type=text]:focus {
  border-color: var(--mf-primary) !important;
  box-shadow: 0 0 0 3px var(--mf-primary-surface) !important;
  outline: none;
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount .button,
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount button {
  order: 2;
  flex: 1 1 100%;
  width: 100% !important;
  min-height: 40px;
  margin: 0.25rem 0 0 !important;
  padding: 0.55rem 1rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--mf-primary) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount .button:hover,
.porto-woo-category-sidebar .widget_price_filter .price_slider_amount button:hover {
  background: var(--mf-primary-dark) !important;
  color: #fff !important;
}
.porto-woo-category-sidebar {
  /* ══════════════════════════════════════════════
     LAYERED NAV / COLOR / YITH LISTS
     Color widget (original Porto): full-width label chips + swatch rows.
     Keep Muscle Fuel tokens; avoid plain text-only list.
     ══════════════════════════════════════════════ */
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list,
.porto-woo-category-sidebar .yith-wcan-list,
.porto-woo-category-sidebar .yith-wcan,
.porto-woo-category-sidebar .filter-item-list {
  list-style: none !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100% !important;
  box-sizing: border-box;
  padding-top: 0.15rem !important;
  padding-bottom: 0.25rem !important;
}
.porto-woo-category-sidebar .yith-wcan-list li,
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list__item,
.porto-woo-category-sidebar .filter-item-list li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  box-sizing: border-box;
}
.porto-woo-category-sidebar .yith-wcan-list li .clear,
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list__item .clear,
.porto-woo-category-sidebar .filter-item-list li .clear {
  display: none;
}
.porto-woo-category-sidebar {
  /* —— Label chips (Color labels without swatch) —— */
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a:not(.filter-color),
.porto-woo-category-sidebar .filter-item-list li a:not(.filter-color) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-height: 2.25rem !important;
  margin: 0 !important;
  padding: 0.45rem 0.75rem !important;
  border: 1px solid var(--mf-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.01em;
  color: var(--mf-text-secondary) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: border-color var(--mf-transition, 150ms ease-out), background var(--mf-transition, 150ms ease-out), color var(--mf-transition, 150ms ease-out), box-shadow var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a:not(.filter-color):hover,
.porto-woo-category-sidebar .filter-item-list li a:not(.filter-color):hover {
  border-color: var(--mf-primary) !important;
  background: var(--mf-primary-surface) !important;
  color: var(--mf-primary) !important;
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li.woocommerce-widget-layered-nav-list__item--chosen > a:not(.filter-color), .porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li.chosen > a:not(.filter-color),
.porto-woo-category-sidebar .filter-item-list li.woocommerce-widget-layered-nav-list__item--chosen > a:not(.filter-color),
.porto-woo-category-sidebar .filter-item-list li.chosen > a:not(.filter-color) {
  border-color: var(--mf-primary) !important;
  background: var(--mf-primary-surface) !important;
  color: var(--mf-primary) !important;
  font-weight: 600 !important;
  box-shadow: inset 0 0 0 1px rgba(27, 122, 61, 0.15);
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li,
.porto-woo-category-sidebar .filter-item-list li {
  /*
   * —— Color swatches (.filter-color + inline style="background-color:…") ——
   * The <a> itself is the 22×22 rounded square (inline fill + border-radius).
   * Label text is pushed outside via text-indent so it sits to the right.
   * Avoid full-row bg + ::before frame (caused hollow / double-shape look).
   */
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li:has(a.filter-color),
.porto-woo-category-sidebar .filter-item-list li:has(a.filter-color) {
  display: flex !important;
  align-items: center !important;
  min-height: 1.75rem;
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a.filter-color,
.porto-woo-category-sidebar .filter-item-list li a.filter-color {
  position: relative !important;
  display: inline-block !important;
  box-sizing: border-box !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  margin: 0.2rem 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(26, 32, 44, 0.14) !important;
  border-radius: 6px !important;
  /* keep inline background-color — fills the rounded square cleanly */
  background-image: none !important;
  background-size: auto !important;
  background-position: 0 0 !important;
  box-shadow: none !important;
  /* label to the right of the square */
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  color: var(--mf-text-secondary) !important;
  text-indent: 30px !important; /* 22px square + ~8px gap */
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
  vertical-align: middle !important;
  transition: color var(--mf-transition, 150ms ease-out), border-color var(--mf-transition, 150ms ease-out), box-shadow var(--mf-transition, 150ms ease-out);
  /* No decorative ::before/::after — square IS the element */
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a.filter-color::before, .porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a.filter-color::after,
.porto-woo-category-sidebar .filter-item-list li a.filter-color::before,
.porto-woo-category-sidebar .filter-item-list li a.filter-color::after {
  content: none !important;
  display: none !important;
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li a.filter-color:hover,
.porto-woo-category-sidebar .filter-item-list li a.filter-color:hover {
  color: var(--mf-primary) !important;
  border-color: var(--mf-primary) !important;
  box-shadow: 0 0 0 2px var(--mf-primary-surface);
}
.porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li.woocommerce-widget-layered-nav-list__item--chosen > a.filter-color, .porto-woo-category-sidebar .woocommerce-widget-layered-nav-list li.chosen > a.filter-color,
.porto-woo-category-sidebar .filter-item-list li.woocommerce-widget-layered-nav-list__item--chosen > a.filter-color,
.porto-woo-category-sidebar .filter-item-list li.chosen > a.filter-color {
  color: var(--mf-primary) !important;
  font-weight: 600 !important;
  border-color: var(--mf-primary) !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--mf-primary);
}
.porto-woo-category-sidebar {
  /*
   * YITH Sizes: markup is <li><a>Label</a> <small class="count">n</small></li>
   * Chip chrome on the <li> so count stays INSIDE the rounded box (not outside).
   */
}
.porto-woo-category-sidebar .yith-wcan-list li {
  position: relative !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 2.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--mf-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: hidden;
  transition: border-color var(--mf-transition, 150ms ease-out), background var(--mf-transition, 150ms ease-out), box-shadow var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .yith-wcan-list li:hover {
  border-color: var(--mf-primary) !important;
  background: var(--mf-primary-surface) !important;
}
.porto-woo-category-sidebar .yith-wcan-list li:hover .count,
.porto-woo-category-sidebar .yith-wcan-list li:hover small.count {
  color: var(--mf-primary) !important;
}
.porto-woo-category-sidebar .yith-wcan-list li.chosen, .porto-woo-category-sidebar .yith-wcan-list li.active {
  border-color: var(--mf-primary) !important;
  background: var(--mf-primary-surface) !important;
  box-shadow: inset 0 0 0 1px rgba(27, 122, 61, 0.15);
}
.porto-woo-category-sidebar .yith-wcan-list li.chosen a, .porto-woo-category-sidebar .yith-wcan-list li.active a {
  color: var(--mf-primary) !important;
  font-weight: 600 !important;
  border: 0 !important;
  background: transparent !important;
}
.porto-woo-category-sidebar .yith-wcan-list li.chosen .count,
.porto-woo-category-sidebar .yith-wcan-list li.chosen small.count, .porto-woo-category-sidebar .yith-wcan-list li.active .count,
.porto-woo-category-sidebar .yith-wcan-list li.active small.count {
  color: var(--mf-primary) !important;
}
.porto-woo-category-sidebar .yith-wcan-list li {
  /* Link fills the chip; room on the right for count */
}
.porto-woo-category-sidebar .yith-wcan-list li a {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 2.25rem !important;
  margin: 0 !important;
  padding: 0.45rem 2.25rem 0.45rem 0.75rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  color: var(--mf-text-secondary) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color var(--mf-transition, 150ms ease-out);
}
.porto-woo-category-sidebar .yith-wcan-list li {
  /* Count badge inside chip, right edge */
}
.porto-woo-category-sidebar .yith-wcan-list li .count,
.porto-woo-category-sidebar .yith-wcan-list li small.count {
  position: absolute !important;
  right: 0.65rem !important;
  top: 50% !important;
  transform: translateY(-50%);
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: var(--mf-text-muted) !important;
  pointer-events: none;
}
.porto-woo-category-sidebar {
  /* ══════════════════════════════════════════════
     CUSTOM HTML / TEXT WIDGETS
     ══════════════════════════════════════════════ */
}
.porto-woo-category-sidebar .widget_custom_html .textwidget,
.porto-woo-category-sidebar .widget_text .textwidget {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--mf-text-secondary);
}
.porto-woo-category-sidebar .widget_custom_html .textwidget h1,
.porto-woo-category-sidebar .widget_custom_html .textwidget h2,
.porto-woo-category-sidebar .widget_custom_html .textwidget h3,
.porto-woo-category-sidebar .widget_custom_html .textwidget h4,
.porto-woo-category-sidebar .widget_custom_html .textwidget h5,
.porto-woo-category-sidebar .widget_text .textwidget h1,
.porto-woo-category-sidebar .widget_text .textwidget h2,
.porto-woo-category-sidebar .widget_text .textwidget h3,
.porto-woo-category-sidebar .widget_text .textwidget h4,
.porto-woo-category-sidebar .widget_text .textwidget h5 {
  margin: 0 0 0.5rem !important;
  font-family: var(--mf-font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  color: var(--mf-text-primary) !important;
  text-transform: none !important;
}

/* ══════════════════════════════════════════════
   MOBILE OFF-CANVAS SIDEBAR (same widgets)
   ══════════════════════════════════════════════ */
.woocommerce-page.archive .sidebar-content {
  padding: 0;
  border: 0 !important;
  box-shadow: none !important;
}

.porto-product-filters-toggle.sidebar-toggle {
  border-radius: 8px;
  border: 1px solid var(--mf-border);
  color: var(--mf-text-secondary);
  transition: color var(--mf-transition, 150ms ease-out), border-color var(--mf-transition, 150ms ease-out);
}
.porto-product-filters-toggle.sidebar-toggle:hover {
  color: var(--mf-primary);
  border-color: var(--mf-primary);
}

/**
 * Single product + quick view — one source of truth for summary chrome.
 *
 * DRY pattern: group PDP + modal parents in a comma list, write rules once.
 *
 *   body.single-product.woocommerce div.product .summary,
 *   .quickview-wrap .summary { … }
 *
 * Prefer selector lists over @mixin for shared UI:
 * - Mixins still emit duplicate CSS in the compiled file
 * - Lists keep both SCSS source and style-child.css dry
 *
 * Porto quick view (inc/functions/woocommerce.php):
 *   .quickview-wrap.single-product > .product.product-summary-wrap > .summary
 */
/* ══════════════════════════════════════════════
   PAGE-ONLY LAYOUT (single product template)
   ══════════════════════════════════════════════ */
body.single-product #main > .container > .row.main-content-wrap > .main-content {
  padding-right: 0 !important;
  padding-bottom: 3rem;
  padding-left: 0 !important;
}
@media (max-width: 767px) {
  body.single-product #main > .container > .row.main-content-wrap > .main-content {
    padding-bottom: 2rem;
  }
}

/* ══════════════════════════════════════════════
   SUMMARY — type, price, meta, marketplace, cart
   One block → product detail page + quick-view modal
   ══════════════════════════════════════════════ */
body.single-product.woocommerce div.product .summary,
.quickview-wrap .summary {
  font-family: var(--mf-font-body);
  color: var(--mf-text-secondary);
}
body.single-product.woocommerce div.product .summary p,
body.single-product.woocommerce div.product .summary li,
body.single-product.woocommerce div.product .summary label,
body.single-product.woocommerce div.product .summary td,
.quickview-wrap .summary p,
.quickview-wrap .summary li,
.quickview-wrap .summary label,
.quickview-wrap .summary td {
  font-family: var(--mf-font-body);
  color: var(--mf-text-secondary);
}
body.single-product.woocommerce div.product .summary .product_title,
.quickview-wrap .summary .product_title {
  margin-top: 0;
  margin-bottom: 0.875rem;
  color: var(--mf-text-primary);
  font-size: clamp(1.75rem, 2.8vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
@media (max-width: 767px) {
  body.single-product.woocommerce div.product .summary .product_title,
  .quickview-wrap .summary .product_title {
    font-size: 1.5rem;
  }
}
body.single-product.woocommerce div.product .summary .woocommerce-product-rating, body.single-product.woocommerce div.product .summary > .price,
body.single-product.woocommerce div.product .summary .woocommerce-product-details__short-description,
body.single-product.woocommerce div.product .summary form.cart,
body.single-product.woocommerce div.product .summary .product_meta,
.quickview-wrap .summary .woocommerce-product-rating,
.quickview-wrap .summary > .price,
.quickview-wrap .summary .woocommerce-product-details__short-description,
.quickview-wrap .summary form.cart,
.quickview-wrap .summary .product_meta {
  margin-top: 0;
  margin-bottom: 1.125rem;
}
body.single-product.woocommerce div.product .summary .woocommerce-product-rating,
body.single-product.woocommerce div.product .summary .review-link,
body.single-product.woocommerce div.product .summary .product_meta,
.quickview-wrap .summary .woocommerce-product-rating,
.quickview-wrap .summary .review-link,
.quickview-wrap .summary .product_meta {
  color: var(--mf-text-muted);
  font-size: 0.9375rem;
}
body.single-product.woocommerce div.product .summary,
.quickview-wrap .summary {
  /* Category/meta links only — do not restyle marketplace CTAs. */
}
body.single-product.woocommerce div.product .summary a:not(.button):not(.link-shopee):not(.link-tiktok-shop):not(.link-lazada):not(.link-tiki):not(.link-sendo),
.quickview-wrap .summary a:not(.button):not(.link-shopee):not(.link-tiktok-shop):not(.link-lazada):not(.link-tiki):not(.link-sendo) {
  color: var(--mf-primary);
}
body.single-product.woocommerce div.product .summary a:not(.button):not(.link-shopee):not(.link-tiktok-shop):not(.link-lazada):not(.link-tiki):not(.link-sendo):hover,
.quickview-wrap .summary a:not(.button):not(.link-shopee):not(.link-tiktok-shop):not(.link-lazada):not(.link-tiki):not(.link-sendo):hover {
  color: var(--mf-primary-dark);
}
body.single-product.woocommerce div.product .summary > .price,
body.single-product.woocommerce div.product .summary .price,
.quickview-wrap .summary > .price,
.quickview-wrap .summary .price {
  color: var(--mf-primary);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}
body.single-product.woocommerce div.product .summary > .price del,
body.single-product.woocommerce div.product .summary .price del,
.quickview-wrap .summary > .price del,
.quickview-wrap .summary .price del {
  color: var(--mf-text-muted);
  font-size: 0.8em;
  font-weight: 400;
}
body.single-product.woocommerce div.product .summary .woocommerce-product-details__short-description,
.quickview-wrap .summary .woocommerce-product-details__short-description {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--mf-text-secondary);
}
body.single-product.woocommerce div.product .summary .woocommerce-product-details__short-description p,
.quickview-wrap .summary .woocommerce-product-details__short-description p {
  margin-bottom: 0.75rem;
  color: var(--mf-text-secondary);
}
body.single-product.woocommerce div.product .summary .woocommerce-product-details__short-description p:last-child,
.quickview-wrap .summary .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0;
}
body.single-product.woocommerce div.product .summary .product_meta,
.quickview-wrap .summary .product_meta {
  padding: 0.875rem 1rem;
  border: 1px solid var(--mf-border);
  border-radius: var(--mf-radius-lg, 12px);
  background: var(--mf-bg-secondary);
  line-height: 1.6;
}
body.single-product.woocommerce div.product .summary,
.quickview-wrap .summary {
  /* Marketplace CTAs — PHP: link_san_tmdt() → .link-san-tmdt */
}
body.single-product.woocommerce div.product .summary .link-san-tmdt,
.quickview-wrap .summary .link-san-tmdt {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
  margin: 0 0 0.875rem;
  float: none;
  clear: both;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt .link-item,
.quickview-wrap .summary .link-san-tmdt .link-item {
  float: none;
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a,
.quickview-wrap .summary .link-san-tmdt a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
  min-height: 44px;
  padding: 0.625rem 0.875rem;
  border: 0;
  border-radius: 8px;
  color: #fff !important;
  font-family: var(--mf-font-body);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: none;
  transition: filter var(--mf-transition, 150ms ease-out), transform var(--mf-transition, 150ms ease-out), background-color var(--mf-transition, 150ms ease-out);
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a:hover, body.single-product.woocommerce div.product .summary .link-san-tmdt a:focus,
.quickview-wrap .summary .link-san-tmdt a:hover,
.quickview-wrap .summary .link-san-tmdt a:focus {
  color: #fff !important;
  filter: brightness(1.05);
  transform: translateY(-1px);
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a:active,
.quickview-wrap .summary .link-san-tmdt a:active {
  transform: none;
  filter: brightness(0.96);
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-shopee,
.quickview-wrap .summary .link-san-tmdt a.link-shopee {
  background: #ee4d2d !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-shopee:hover, body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-shopee:focus,
.quickview-wrap .summary .link-san-tmdt a.link-shopee:hover,
.quickview-wrap .summary .link-san-tmdt a.link-shopee:focus {
  background: #d73211 !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-tiktok-shop,
.quickview-wrap .summary .link-san-tmdt a.link-tiktok-shop {
  background: #111111 !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-tiktok-shop:hover, body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-tiktok-shop:focus,
.quickview-wrap .summary .link-san-tmdt a.link-tiktok-shop:hover,
.quickview-wrap .summary .link-san-tmdt a.link-tiktok-shop:focus {
  background: #000 !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-lazada,
.quickview-wrap .summary .link-san-tmdt a.link-lazada {
  background: #0f146d !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-tiki,
.quickview-wrap .summary .link-san-tmdt a.link-tiki {
  background: #1a94ff !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt a.link-sendo,
.quickview-wrap .summary .link-san-tmdt a.link-sendo {
  background: #e11b1b !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary .link-san-tmdt:has(.link-item:only-child),
.quickview-wrap .summary .link-san-tmdt:has(.link-item:only-child) {
  grid-template-columns: 1fr;
}
@media (max-width: 480px) {
  body.single-product.woocommerce div.product .summary .link-san-tmdt,
  .quickview-wrap .summary .link-san-tmdt {
    grid-template-columns: 1fr;
  }
}
body.single-product.woocommerce div.product .summary form.cart,
.quickview-wrap .summary form.cart {
  padding: 1.25rem 0 1.25rem;
}
body.single-product.woocommerce div.product .summary form.cart label,
.quickview-wrap .summary form.cart label {
  color: var(--mf-text-primary);
  font-weight: 600;
}
body.single-product.woocommerce div.product .summary form.cart:not(.variations_form),
.quickview-wrap .summary form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
body.single-product.woocommerce div.product .summary .woocommerce-variation-add-to-cart,
.quickview-wrap .summary .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
body.single-product.woocommerce div.product .summary .single_add_to_cart_button.button,
.quickview-wrap .summary .single_add_to_cart_button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding: 0 1.35rem;
  border: 1px solid var(--mf-primary) !important;
  border-radius: 8px !important;
  background: var(--mf-primary) !important;
  color: #fff !important;
  font-family: var(--mf-font-body);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  text-shadow: none;
  text-transform: uppercase;
  transition: background-color var(--mf-transition, 150ms ease-out), border-color var(--mf-transition, 150ms ease-out);
}
body.single-product.woocommerce div.product .summary .single_add_to_cart_button.button:hover, body.single-product.woocommerce div.product .summary .single_add_to_cart_button.button:focus,
.quickview-wrap .summary .single_add_to_cart_button.button:hover,
.quickview-wrap .summary .single_add_to_cart_button.button:focus {
  border-color: var(--mf-primary-dark) !important;
  background: var(--mf-primary-dark) !important;
  color: #fff !important;
}
body.single-product.woocommerce div.product .summary table.variations,
.quickview-wrap .summary table.variations {
  margin-bottom: 1rem;
}
body.single-product.woocommerce div.product .summary table.variations label,
.quickview-wrap .summary table.variations label {
  color: var(--mf-text-primary);
  font-weight: 600;
}
body.single-product.woocommerce div.product .summary table.variations select,
.quickview-wrap .summary table.variations select {
  min-height: 44px;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  border: 1px solid var(--mf-border);
  border-radius: 8px;
  background-color: #fff;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-body);
  font-size: 0.9375rem;
}
body.single-product.woocommerce div.product .summary .share-links a,
.quickview-wrap .summary .share-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0 0.25rem 0.25rem 0;
  border: 0 !important;
  border-radius: var(--mf-radius-full, 9999px) !important;
  background: var(--mf-primary) !important;
  color: #fff !important;
  line-height: 1;
  transition: background-color var(--mf-transition, 150ms ease-out), transform var(--mf-transition, 150ms ease-out);
}
body.single-product.woocommerce div.product .summary .share-links a:hover, body.single-product.woocommerce div.product .summary .share-links a:focus,
.quickview-wrap .summary .share-links a:hover,
.quickview-wrap .summary .share-links a:focus {
  background: var(--mf-primary-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
body.single-product.woocommerce div.product .summary .share-links a::before,
.quickview-wrap .summary .share-links a::before {
  color: #fff !important;
}

/*
 * Quantity stepper — one definition for all contexts:
 *   PDP .summary, PDP .product-summary-wrap (sticky), quick view
 */
body.single-product.woocommerce div.product .summary .quantity,
body.single-product.woocommerce div.product .product-summary-wrap .quantity,
.quickview-wrap .summary .quantity,
.quickview-wrap .product-summary-wrap .quantity {
  display: inline-flex !important;
  align-items: stretch;
  vertical-align: middle;
  height: 44px;
  margin: 0 !important;
  overflow: hidden;
  border: 1px solid var(--mf-border) !important;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}
body.single-product.woocommerce div.product .summary .quantity .minus,
body.single-product.woocommerce div.product .summary .quantity .plus,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .minus,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .plus,
.quickview-wrap .summary .quantity .minus,
.quickview-wrap .summary .quantity .plus,
.quickview-wrap .product-summary-wrap .quantity .minus,
.quickview-wrap .product-summary-wrap .quantity .plus {
  position: relative;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  flex: 0 0 40px;
  align-self: stretch;
  width: 40px !important;
  min-width: 40px;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mf-bg-secondary) !important;
  color: var(--mf-text-secondary) !important;
  box-shadow: none !important;
  cursor: pointer;
  outline: none;
  text-indent: -9999px;
  transition: background-color var(--mf-transition, 150ms ease-out), color var(--mf-transition, 150ms ease-out);
}
body.single-product.woocommerce div.product .summary .quantity .minus:hover,
body.single-product.woocommerce div.product .summary .quantity .plus:hover,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .minus:hover,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .plus:hover,
.quickview-wrap .summary .quantity .minus:hover,
.quickview-wrap .summary .quantity .plus:hover,
.quickview-wrap .product-summary-wrap .quantity .minus:hover,
.quickview-wrap .product-summary-wrap .quantity .plus:hover {
  background: var(--mf-primary-surface) !important;
  color: var(--mf-primary) !important;
}
body.single-product.woocommerce div.product .summary .quantity .minus:before,
body.single-product.woocommerce div.product .summary .quantity .plus:before,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .minus:before,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .plus:before,
.quickview-wrap .summary .quantity .minus:before,
.quickview-wrap .summary .quantity .plus:before,
.quickview-wrap .product-summary-wrap .quantity .minus:before,
.quickview-wrap .product-summary-wrap .quantity .plus:before {
  border-color: currentColor !important;
}
body.single-product.woocommerce div.product .summary .quantity .plus:after,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .plus:after,
.quickview-wrap .summary .quantity .plus:after,
.quickview-wrap .product-summary-wrap .quantity .plus:after {
  border-color: currentColor !important;
}
body.single-product.woocommerce div.product .summary .quantity .qty,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .qty,
.quickview-wrap .summary .quantity .qty,
.quickview-wrap .product-summary-wrap .quantity .qty {
  flex: 0 0 48px;
  align-self: stretch;
  width: 48px !important;
  min-width: 48px;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-style: solid !important;
  border-color: var(--mf-border) !important;
  border-width: 0 1px !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--mf-text-primary) !important;
  font-family: var(--mf-font-body);
  font-size: 1rem;
  font-weight: 600;
  line-height: 42px;
  text-align: center;
  box-shadow: none !important;
  -moz-appearance: textfield;
  appearance: textfield;
}
body.single-product.woocommerce div.product .summary .quantity .qty::-webkit-outer-spin-button, body.single-product.woocommerce div.product .summary .quantity .qty::-webkit-inner-spin-button,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .qty::-webkit-outer-spin-button,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .qty::-webkit-inner-spin-button,
.quickview-wrap .summary .quantity .qty::-webkit-outer-spin-button,
.quickview-wrap .summary .quantity .qty::-webkit-inner-spin-button,
.quickview-wrap .product-summary-wrap .quantity .qty::-webkit-outer-spin-button,
.quickview-wrap .product-summary-wrap .quantity .qty::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
body.single-product.woocommerce div.product .summary .quantity .qty:focus,
body.single-product.woocommerce div.product .product-summary-wrap .quantity .qty:focus,
.quickview-wrap .summary .quantity .qty:focus,
.quickview-wrap .product-summary-wrap .quantity .qty:focus {
  outline: none;
  background: var(--mf-primary-surface) !important;
}

/* ══════════════════════════════════════════════
   QUICK VIEW — shell only (no re-declared summary)
   ══════════════════════════════════════════════ */
.quickview-wrap {
  max-width: 920px;
  padding: 1.5rem;
  background: #fff;
  border-radius: var(--mf-radius-lg, 12px);
  font-family: var(--mf-font-body);
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .quickview-wrap {
    padding: 1rem;
  }
}
.quickview-wrap .product.product-summary-wrap,
.quickview-wrap .product-summary-wrap {
  margin: 0;
}
.quickview-wrap .summary-before {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .quickview-wrap .summary-before {
    margin-bottom: 0;
  }
}
.quickview-wrap {
  /* Modal-only type scale tweaks */
}
.quickview-wrap .summary .product_title {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
}
.quickview-wrap .summary > .price,
.quickview-wrap .summary .price {
  font-size: 1.35rem;
}

.mfp-content .quickview-wrap {
  margin: 0 auto;
}

.mfp-close-btn-in .mfp-close {
  color: var(--mf-text-primary);
  font-weight: 300;
  opacity: 0.7;
}
.mfp-close-btn-in .mfp-close:hover {
  opacity: 1;
}

/* ══════════════════════════════════════════════
   STICKY ADD-TO-CART BAR (PDP only)
   ══════════════════════════════════════════════ */
body.single-product .sticky-product {
  z-index: 999;
  padding: 0.75rem 0;
  border-top: 1px solid var(--mf-border);
  background: #fff;
  box-shadow: 0 -8px 24px rgba(26, 32, 44, 0.08);
  font-family: var(--mf-font-body);
}
body.single-product .sticky-product.pos-bottom {
  bottom: 0;
  top: auto;
}
body.single-product .sticky-product > .container {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
  width: 100%;
  max-width: var(--mf-content-max, 1140px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--mf-content-pad-x, 20px) !important;
  padding-right: var(--mf-content-pad-x, 20px) !important;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  body.single-product .sticky-product > .container {
    gap: 0.75rem;
  }
}
@media (max-width: 767px) {
  body.single-product .sticky-product > .container {
    flex-wrap: wrap;
  }
}
body.single-product .sticky-product .sticky-image {
  flex: 0 0 auto;
  max-width: 52px;
  margin: 0 !important;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--mf-border);
  background: var(--mf-bg-secondary);
  line-height: 0;
}
body.single-product .sticky-product .sticky-image img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}
body.single-product .sticky-product .sticky-detail {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.15rem;
  min-width: 0;
  margin: 0;
  line-height: 1.3;
}
body.single-product .sticky-product .sticky-detail .price {
  margin: 0 !important;
  color: var(--mf-primary) !important;
  font-family: var(--mf-font-body) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
@media (max-width: 991px) {
  body.single-product .sticky-product .sticky-detail .price {
    font-size: 0.9375rem !important;
  }
}
body.single-product .sticky-product .sticky-detail .star-rating,
body.single-product .sticky-product .sticky-detail .availability {
  display: none !important;
}
@media (max-width: 767px) {
  body.single-product .sticky-product .sticky-detail {
    flex: 1 1 calc(100% - 70px);
  }
}
body.single-product .sticky-product .product-name-area {
  min-width: 0;
  width: 100%;
}
body.single-product .sticky-product .product-name {
  margin: 0 0 0.15rem;
  overflow: hidden;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media (max-width: 991px) {
  body.single-product .sticky-product .product-name {
    font-size: 0.875rem !important;
  }
}
body.single-product .sticky-product .price {
  margin: 0 !important;
  color: var(--mf-primary) !important;
  font-family: var(--mf-font-body) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}
body.single-product .sticky-product .add-to-cart {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin: 0 !important;
  text-align: right;
}
body.single-product .sticky-product .add-to-cart .quantity {
  margin: 0 !important;
  height: 44px;
}
@media (max-width: 767px) {
  body.single-product .sticky-product .add-to-cart .quantity {
    flex: 0 0 auto;
  }
}
body.single-product .sticky-product .add-to-cart .single_add_to_cart_button.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0 1.25rem !important;
  border: 1px solid var(--mf-primary) !important;
  border-radius: 8px !important;
  background: var(--mf-primary) !important;
  color: #fff !important;
  font-family: var(--mf-font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  line-height: 1.2 !important;
  text-transform: uppercase;
  text-shadow: none !important;
  white-space: nowrap;
}
body.single-product .sticky-product .add-to-cart .single_add_to_cart_button.button:hover, body.single-product .sticky-product .add-to-cart .single_add_to_cart_button.button:focus {
  border-color: var(--mf-primary-dark) !important;
  background: var(--mf-primary-dark) !important;
  color: #fff !important;
}
@media (max-width: 767px) {
  body.single-product .sticky-product .add-to-cart .single_add_to_cart_button.button {
    flex: 1 1 auto;
  }
}
@media (max-width: 767px) {
  body.single-product .sticky-product .add-to-cart {
    flex: 1 1 100%;
    justify-content: stretch;
  }
}
body.single-product.pos-bottom ~ #topcontrol,
body.single-product #topcontrol {
  bottom: 100px !important;
}

/**
 * Muscle Fuel blog redesign.
 *
 * Maps the Porto post archive and single-post markup to the card/editorial
 * language from the static blog templates. This intentionally stays scoped to
 * WordPress post views so WooCommerce and other Porto archives keep their
 * own layouts.
 */
body.blog #main .main-content, body.archive:not(.woocommerce) #main .main-content, body.single-post #main .main-content, body.category #main .main-content, body.tag #main .main-content, body.date #main .main-content, body.author #main .main-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0px;
}
body.blog #main .porto-blog-sidebar, body.archive:not(.woocommerce) #main .porto-blog-sidebar, body.single-post #main .porto-blog-sidebar, body.category #main .porto-blog-sidebar, body.tag #main .porto-blog-sidebar, body.date #main .porto-blog-sidebar, body.author #main .porto-blog-sidebar {
  padding-left: 1rem !important;
  padding-right: 0 !important;
  padding-top: 0px;
}
@media (max-width: 991px) {
  body.blog #main .porto-blog-sidebar, body.archive:not(.woocommerce) #main .porto-blog-sidebar, body.single-post #main .porto-blog-sidebar, body.category #main .porto-blog-sidebar, body.tag #main .porto-blog-sidebar, body.date #main .porto-blog-sidebar, body.author #main .porto-blog-sidebar {
    padding-left: 0 !important;
  }
}
body.blog #main,
body.blog #content,
body.blog .main-content, body.archive:not(.woocommerce) #main,
body.archive:not(.woocommerce) #content,
body.archive:not(.woocommerce) .main-content, body.single-post #main,
body.single-post #content,
body.single-post .main-content {
  font-family: var(--mf-font-body);
  color: var(--mf-text-primary);
}
body.blog #content a, body.archive:not(.woocommerce) #content a, body.single-post #content a {
  transition: color var(--mf-transition, 150ms ease-out), background-color var(--mf-transition, 150ms ease-out), border-color var(--mf-transition, 150ms ease-out);
}
body.blog .page-top .page-title,
body.blog .page-top h1, body.archive:not(.woocommerce) .page-top .page-title,
body.archive:not(.woocommerce) .page-top h1, body.single-post .page-top .page-title,
body.single-post .page-top h1 {
  color: var(--mf-text-primary);
}
body.blog .archive-title, body.archive:not(.woocommerce) .archive-title, body.single-post .archive-title {
  color: var(--mf-text-primary);
}
body.blog, body.archive:not(.woocommerce), body.single-post {
  /* Porto uses .sidebar-content for blog/category/tag/author sidebars. */
}
body.blog .porto-blog-sidebar, body.archive:not(.woocommerce) .porto-blog-sidebar, body.single-post .porto-blog-sidebar {
  color: var(--mf-text-secondary);
}
body.blog .porto-blog-sidebar .widget, body.archive:not(.woocommerce) .porto-blog-sidebar .widget, body.single-post .porto-blog-sidebar .widget {
  margin: 0 0 1rem;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #edf2f7;
  border-radius: var(--mf-radius-lg, 12px);
  box-shadow: 0 2px 8px rgba(26, 32, 44, 0.025);
}
body.blog .porto-blog-sidebar .widget + .widget, body.archive:not(.woocommerce) .porto-blog-sidebar .widget + .widget, body.single-post .porto-blog-sidebar .widget + .widget {
  margin-top: 0;
  padding-top: 1.25rem;
  border-top: 1px solid #edf2f7;
}
body.blog .porto-blog-sidebar .widget-title,
body.blog .porto-blog-sidebar .wp-block-heading, body.archive:not(.woocommerce) .porto-blog-sidebar .widget-title,
body.archive:not(.woocommerce) .porto-blog-sidebar .wp-block-heading, body.single-post .porto-blog-sidebar .widget-title,
body.single-post .porto-blog-sidebar .wp-block-heading {
  margin: 0 0 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--mf-primary);
  color: var(--mf-text-primary);
  font-family: var(--mf-font-display);
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}
body.blog .porto-blog-sidebar ul, body.archive:not(.woocommerce) .porto-blog-sidebar ul, body.single-post .porto-blog-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
body.blog .porto-blog-sidebar li, body.archive:not(.woocommerce) .porto-blog-sidebar li, body.single-post .porto-blog-sidebar li {
  margin: 0;
  padding: 0.55rem 0;
  border: 0;
  color: var(--mf-text-secondary);
  line-height: 1.4;
}
body.blog .porto-blog-sidebar li + li, body.archive:not(.woocommerce) .porto-blog-sidebar li + li, body.single-post .porto-blog-sidebar li + li {
  border-top: 1px solid #edf2f7;
}
body.blog .porto-blog-sidebar a, body.archive:not(.woocommerce) .porto-blog-sidebar a, body.single-post .porto-blog-sidebar a {
  color: var(--mf-text-secondary);
}
body.blog .porto-blog-sidebar a:hover, body.archive:not(.woocommerce) .porto-blog-sidebar a:hover, body.single-post .porto-blog-sidebar a:hover {
  color: var(--mf-primary);
}
body.blog .porto-blog-sidebar .current-cat > a, body.archive:not(.woocommerce) .porto-blog-sidebar .current-cat > a, body.single-post .porto-blog-sidebar .current-cat > a {
  color: var(--mf-primary);
}
body.blog .porto-blog-sidebar .post-date, body.archive:not(.woocommerce) .porto-blog-sidebar .post-date, body.single-post .porto-blog-sidebar .post-date {
  display: block;
  margin-top: 0.2rem;
  color: var(--mf-text-muted);
  font-size: 0.78rem;
}
body.blog .porto-blog-sidebar input[type=search],
body.blog .porto-blog-sidebar input[type=text], body.archive:not(.woocommerce) .porto-blog-sidebar input[type=search],
body.archive:not(.woocommerce) .porto-blog-sidebar input[type=text], body.single-post .porto-blog-sidebar input[type=search],
body.single-post .porto-blog-sidebar input[type=text] {
  min-height: 2.75rem;
  border: 1px solid var(--mf-border);
  border-radius: 7px;
  box-shadow: none;
}
@media (max-width: 991px) {
  body.blog .porto-blog-sidebar, body.archive:not(.woocommerce) .porto-blog-sidebar, body.single-post .porto-blog-sidebar {
    margin-top: 2rem;
  }
}
body.blog .blog-posts.posts-container,
body.blog .posts-container.blog-posts,
body.blog .posts-container:not(.products), body.archive:not(.woocommerce) .blog-posts.posts-container,
body.archive:not(.woocommerce) .posts-container.blog-posts,
body.archive:not(.woocommerce) .posts-container:not(.products) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  /* Porto clearfix overrides */
}
body.blog .blog-posts.posts-container::before, body.blog .blog-posts.posts-container::after,
body.blog .posts-container.blog-posts::before,
body.blog .posts-container.blog-posts::after,
body.blog .posts-container:not(.products)::before,
body.blog .posts-container:not(.products)::after, body.archive:not(.woocommerce) .blog-posts.posts-container::before, body.archive:not(.woocommerce) .blog-posts.posts-container::after,
body.archive:not(.woocommerce) .posts-container.blog-posts::before,
body.archive:not(.woocommerce) .posts-container.blog-posts::after,
body.archive:not(.woocommerce) .posts-container:not(.products)::before,
body.archive:not(.woocommerce) .posts-container:not(.products)::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.blog .blog-posts.posts-container,
body.blog .posts-container.blog-posts,
body.blog .posts-container:not(.products), body.archive:not(.woocommerce) .blog-posts.posts-container,
body.archive:not(.woocommerce) .posts-container.blog-posts,
body.archive:not(.woocommerce) .posts-container:not(.products) {
  /* Optional archive description copy block */
}
body.blog .blog-posts.posts-container > .page-content,
body.blog .posts-container.blog-posts > .page-content,
body.blog .posts-container:not(.products) > .page-content, body.archive:not(.woocommerce) .blog-posts.posts-container > .page-content,
body.archive:not(.woocommerce) .posts-container.blog-posts > .page-content,
body.archive:not(.woocommerce) .posts-container:not(.products) > .page-content {
  grid-column: 1/-1;
  margin: 0 0 0.25rem;
  padding: 0 0 1.25rem;
  border-bottom: 1px solid var(--mf-border);
  color: var(--mf-text-secondary);
  font-size: 1.0625rem;
  line-height: 1.7;
}
body.blog .blog-posts.posts-container > .page-content > :first-child,
body.blog .posts-container.blog-posts > .page-content > :first-child,
body.blog .posts-container:not(.products) > .page-content > :first-child, body.archive:not(.woocommerce) .blog-posts.posts-container > .page-content > :first-child,
body.archive:not(.woocommerce) .posts-container.blog-posts > .page-content > :first-child,
body.archive:not(.woocommerce) .posts-container:not(.products) > .page-content > :first-child {
  margin-top: 0;
}
body.blog .blog-posts.posts-container > .page-content h1,
body.blog .blog-posts.posts-container > .page-content h2,
body.blog .posts-container.blog-posts > .page-content h1,
body.blog .posts-container.blog-posts > .page-content h2,
body.blog .posts-container:not(.products) > .page-content h1,
body.blog .posts-container:not(.products) > .page-content h2, body.archive:not(.woocommerce) .blog-posts.posts-container > .page-content h1,
body.archive:not(.woocommerce) .blog-posts.posts-container > .page-content h2,
body.archive:not(.woocommerce) .posts-container.blog-posts > .page-content h1,
body.archive:not(.woocommerce) .posts-container.blog-posts > .page-content h2,
body.archive:not(.woocommerce) .posts-container:not(.products) > .page-content h1,
body.archive:not(.woocommerce) .posts-container:not(.products) > .page-content h2 {
  margin-bottom: 0.75rem;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-display);
  font-size: clamp(2rem, 3vw, 2.65rem);
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.05;
}
body.blog .blog-posts.posts-container,
body.blog .posts-container.blog-posts,
body.blog .posts-container:not(.products), body.archive:not(.woocommerce) .blog-posts.posts-container,
body.archive:not(.woocommerce) .posts-container.blog-posts,
body.archive:not(.woocommerce) .posts-container:not(.products) {
  /* Grid post cards */
}
body.blog .blog-posts.posts-container > article.post,
body.blog .posts-container.blog-posts > article.post,
body.blog .posts-container:not(.products) > article.post, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding: 0 !important; /* no card inset — media flush to border */
  overflow: hidden;
  background: #fff;
  border: 1px solid #edf2f7;
  border-radius: var(--mf-radius-lg, 12px);
  box-shadow: 0 2px 9px rgba(26, 32, 44, 0.035);
  transition: transform 180ms ease-out, box-shadow 180ms ease-out;
}
body.blog .blog-posts.posts-container > article.post:hover,
body.blog .posts-container.blog-posts > article.post:hover,
body.blog .posts-container:not(.products) > article.post:hover, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post:hover,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post:hover,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post:hover {
  z-index: 1;
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(26, 32, 44, 0.12);
}
body.blog .blog-posts.posts-container > article.post:hover .post-image img,
body.blog .posts-container.blog-posts > article.post:hover .post-image img,
body.blog .posts-container:not(.products) > article.post:hover .post-image img, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post:hover .post-image img,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post:hover .post-image img,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post:hover .post-image img {
  transform: scale(1.045);
}
body.blog .blog-posts.posts-container > article.post:hover .entry-title a,
body.blog .posts-container.blog-posts > article.post:hover .entry-title a,
body.blog .posts-container:not(.products) > article.post:hover .entry-title a, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post:hover .entry-title a,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post:hover .entry-title a,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post:hover .entry-title a {
  color: var(--mf-primary);
}
body.blog .blog-posts.posts-container > article.post,
body.blog .posts-container.blog-posts > article.post,
body.blog .posts-container:not(.products) > article.post, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post {
  /*
   * Featured media flush to card edges (like hover crop).
   * Kill Porto/Bootstrap .img-thumbnail padding/border that insets the image.
   */
}
body.blog .blog-posts.posts-container > article.post .post-image,
body.blog .posts-container.blog-posts > article.post .post-image,
body.blog .posts-container:not(.products) > article.post .post-image, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image {
  position: relative;
  order: 0;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: var(--mf-bg-secondary);
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
}
body.blog .blog-posts.posts-container > article.post .post-image .post-slideshow,
body.blog .blog-posts.posts-container > article.post .post-image .owl-carousel,
body.blog .blog-posts.posts-container > article.post .post-image .owl-stage-outer,
body.blog .blog-posts.posts-container > article.post .post-image .owl-stage,
body.blog .blog-posts.posts-container > article.post .post-image .owl-item,
body.blog .blog-posts.posts-container > article.post .post-image .owl-item > div,
body.blog .blog-posts.posts-container > article.post .post-image a,
body.blog .blog-posts.posts-container > article.post .post-image .img-thumbnail,
body.blog .posts-container.blog-posts > article.post .post-image .post-slideshow,
body.blog .posts-container.blog-posts > article.post .post-image .owl-carousel,
body.blog .posts-container.blog-posts > article.post .post-image .owl-stage-outer,
body.blog .posts-container.blog-posts > article.post .post-image .owl-stage,
body.blog .posts-container.blog-posts > article.post .post-image .owl-item,
body.blog .posts-container.blog-posts > article.post .post-image .owl-item > div,
body.blog .posts-container.blog-posts > article.post .post-image a,
body.blog .posts-container.blog-posts > article.post .post-image .img-thumbnail,
body.blog .posts-container:not(.products) > article.post .post-image .post-slideshow,
body.blog .posts-container:not(.products) > article.post .post-image .owl-carousel,
body.blog .posts-container:not(.products) > article.post .post-image .owl-stage-outer,
body.blog .posts-container:not(.products) > article.post .post-image .owl-stage,
body.blog .posts-container:not(.products) > article.post .post-image .owl-item,
body.blog .posts-container:not(.products) > article.post .post-image .owl-item > div,
body.blog .posts-container:not(.products) > article.post .post-image a,
body.blog .posts-container:not(.products) > article.post .post-image .img-thumbnail, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .post-slideshow,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-carousel,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-stage-outer,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-stage,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-item,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-item > div,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image a,
body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .img-thumbnail,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .post-slideshow,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-carousel,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-stage-outer,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-stage,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-item,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-item > div,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image a,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .img-thumbnail,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .post-slideshow,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-carousel,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-stage-outer,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-stage,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-item,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-item > div,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image a,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .img-thumbnail {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
body.blog .blog-posts.posts-container > article.post .post-image,
body.blog .posts-container.blog-posts > article.post .post-image,
body.blog .posts-container:not(.products) > article.post .post-image, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image {
  /* Owl layout can leave stage non-full-size without absolute fill */
}
body.blog .blog-posts.posts-container > article.post .post-image .owl-stage,
body.blog .posts-container.blog-posts > article.post .post-image .owl-stage,
body.blog .posts-container:not(.products) > article.post .post-image .owl-stage, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-stage,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-stage,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-stage {
  display: flex;
  height: 100% !important;
}
body.blog .blog-posts.posts-container > article.post .post-image .owl-item,
body.blog .posts-container.blog-posts > article.post .post-image .owl-item,
body.blog .posts-container:not(.products) > article.post .post-image .owl-item, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .owl-item,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .owl-item,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .owl-item {
  flex: 0 0 100%;
  max-width: 100%;
}
body.blog .blog-posts.posts-container > article.post .post-image img,
body.blog .posts-container.blog-posts > article.post .post-image img,
body.blog .posts-container:not(.products) > article.post .post-image img, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image img,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image img,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: center;
  transition: transform 350ms ease-out;
}
body.blog .blog-posts.posts-container > article.post .post-image .zoom,
body.blog .posts-container.blog-posts > article.post .post-image .zoom,
body.blog .posts-container:not(.products) > article.post .post-image .zoom, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-image .zoom,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-image .zoom,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-image .zoom {
  display: none !important;
}
body.blog .blog-posts.posts-container > article.post .post-content,
body.blog .posts-container.blog-posts > article.post .post-content,
body.blog .posts-container:not(.products) > article.post .post-content, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-content,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-content,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  order: 1;
  margin: 0;
  padding: 1.2rem 1.25rem 0.4rem;
}
body.blog .blog-posts.posts-container > article.post .entry-title,
body.blog .posts-container.blog-posts > article.post .entry-title,
body.blog .posts-container:not(.products) > article.post .entry-title, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .entry-title,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .entry-title,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .entry-title {
  display: -webkit-box;
  margin: 0 0 0.65rem;
  overflow: hidden;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-body);
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: -0.012em;
  line-height: 1.2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.blog .blog-posts.posts-container > article.post .entry-title a,
body.blog .posts-container.blog-posts > article.post .entry-title a,
body.blog .posts-container:not(.products) > article.post .entry-title a, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .entry-title a,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .entry-title a,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .entry-title a {
  color: inherit;
}
body.blog .blog-posts.posts-container > article.post .post-excerpt,
body.blog .posts-container.blog-posts > article.post .post-excerpt,
body.blog .posts-container:not(.products) > article.post .post-excerpt, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-excerpt,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-excerpt,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-excerpt {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--mf-text-secondary);
  font-size: 0.975rem;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
body.blog .blog-posts.posts-container > article.post .post-meta,
body.blog .posts-container.blog-posts > article.post .post-meta,
body.blog .posts-container:not(.products) > article.post .post-meta, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta {
  display: flex;
  align-items: center;
  order: 2;
  min-height: 1.25rem;
  margin: 0;
  padding: 0.4rem 1.25rem;
  color: var(--mf-text-muted);
  font-size: 0.8rem;
}
body.blog .blog-posts.posts-container > article.post .post-meta > span,
body.blog .posts-container.blog-posts > article.post .post-meta > span,
body.blog .posts-container:not(.products) > article.post .post-meta > span, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > span,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > span,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > span {
  display: none;
  margin: 0;
}
body.blog .blog-posts.posts-container > article.post .post-meta > .meta-date,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-date,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-date, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-date,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-date,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-date {
  display: inline;
}
body.blog .blog-posts.posts-container > article.post .post-meta,
body.blog .posts-container.blog-posts > article.post .post-meta,
body.blog .posts-container:not(.products) > article.post .post-meta, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta {
  /* Category badge pill on card visual */
}
body.blog .blog-posts.posts-container > article.post .post-meta > .meta-cats,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-cats,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-cats, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-cats,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-cats,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-cats {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 1.6rem);
  margin: 0;
  padding: 0.28rem 0.55rem;
  overflow: hidden;
  background: var(--mf-primary);
  border-radius: 5px;
  color: #fff;
  font-size: 0; /* hide commas / raw text nodes */
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
body.blog .blog-posts.posts-container > article.post .post-meta > .meta-cats::before, body.blog .blog-posts.posts-container > article.post .post-meta > .meta-cats::after,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-cats::before,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-cats::after,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-cats::before,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-cats::after, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-cats::before, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-cats::after,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-cats::before,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-cats::after,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-cats::before,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-cats::after {
  content: none !important;
  display: none !important;
}
body.blog .blog-posts.posts-container > article.post .post-meta > .meta-cats a,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-cats a,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-cats a, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-cats a,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-cats a,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-cats a {
  display: none;
  color: #fff;
  text-decoration: none;
}
body.blog .blog-posts.posts-container > article.post .post-meta > .meta-cats a:first-child,
body.blog .posts-container.blog-posts > article.post .post-meta > .meta-cats a:first-child,
body.blog .posts-container:not(.products) > article.post .post-meta > .meta-cats a:first-child, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta > .meta-cats a:first-child,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta > .meta-cats a:first-child,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta > .meta-cats a:first-child {
  display: inline;
  max-width: 100%;
  overflow: hidden;
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.blog .blog-posts.posts-container > article.post .sticky-post,
body.blog .posts-container.blog-posts > article.post .sticky-post,
body.blog .posts-container:not(.products) > article.post .sticky-post, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .sticky-post,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .sticky-post,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .sticky-post {
  display: none !important;
}
body.blog .blog-posts.posts-container > article.post > .clearfix,
body.blog .posts-container.blog-posts > article.post > .clearfix,
body.blog .posts-container:not(.products) > article.post > .clearfix, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post > .clearfix,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post > .clearfix,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post > .clearfix {
  order: 3;
  margin: 0;
  padding: 0.2rem 1.25rem 1.25rem;
}
body.blog .blog-posts.posts-container > article.post .btn-readmore,
body.blog .posts-container.blog-posts > article.post .btn-readmore,
body.blog .posts-container:not(.products) > article.post .btn-readmore, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .btn-readmore,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .btn-readmore,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .btn-readmore {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--mf-primary);
  font-family: var(--mf-font-body);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
  /* Keep Porto’s original “Read more +” — no extra CSS arrow */
}
body.blog .blog-posts.posts-container > article.post .btn-readmore::after,
body.blog .posts-container.blog-posts > article.post .btn-readmore::after,
body.blog .posts-container:not(.products) > article.post .btn-readmore::after, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .btn-readmore::after,
body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .btn-readmore::after,
body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .btn-readmore::after {
  content: none !important;
}
@media (max-width: 991px) {
  body.blog .blog-posts.posts-container,
  body.blog .posts-container.blog-posts,
  body.blog .posts-container:not(.products), body.archive:not(.woocommerce) .blog-posts.posts-container,
  body.archive:not(.woocommerce) .posts-container.blog-posts,
  body.archive:not(.woocommerce) .posts-container:not(.products) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 575px) {
  body.blog .blog-posts.posts-container,
  body.blog .posts-container.blog-posts,
  body.blog .posts-container:not(.products), body.archive:not(.woocommerce) .blog-posts.posts-container,
  body.archive:not(.woocommerce) .posts-container.blog-posts,
  body.archive:not(.woocommerce) .posts-container:not(.products) {
    gap: 1rem;
  }
  body.blog .blog-posts.posts-container > article.post .post-content,
  body.blog .posts-container.blog-posts > article.post .post-content,
  body.blog .posts-container:not(.products) > article.post .post-content, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-content,
  body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-content,
  body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-content {
    padding: 1rem 1rem 0.35rem;
  }
  body.blog .blog-posts.posts-container > article.post .post-meta, body.blog .blog-posts.posts-container > article.post > .clearfix,
  body.blog .posts-container.blog-posts > article.post .post-meta,
  body.blog .posts-container.blog-posts > article.post > .clearfix,
  body.blog .posts-container:not(.products) > article.post .post-meta,
  body.blog .posts-container:not(.products) > article.post > .clearfix, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post .post-meta, body.archive:not(.woocommerce) .blog-posts.posts-container > article.post > .clearfix,
  body.archive:not(.woocommerce) .posts-container.blog-posts > article.post .post-meta,
  body.archive:not(.woocommerce) .posts-container.blog-posts > article.post > .clearfix,
  body.archive:not(.woocommerce) .posts-container:not(.products) > article.post .post-meta,
  body.archive:not(.woocommerce) .posts-container:not(.products) > article.post > .clearfix {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
body.blog .pagination, body.archive:not(.woocommerce) .pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 2rem 0 0;
}
body.blog .pagination > a, body.blog .pagination > span, body.archive:not(.woocommerce) .pagination > a, body.archive:not(.woocommerce) .pagination > span {
  display: inline-grid;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  place-items: center;
  background: #fff;
  border: 1px solid var(--mf-border);
  border-radius: 7px !important;
  color: var(--mf-text-secondary);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
}
body.blog .pagination > a:hover, body.blog .pagination > .current, body.archive:not(.woocommerce) .pagination > a:hover, body.archive:not(.woocommerce) .pagination > .current {
  background: var(--mf-primary);
  border-color: var(--mf-primary);
  color: #fff;
}
body.single-post #content > article.post,
body.single-post #content > article.post-modern {
  max-width: 100%;
  margin: 0;
}
body.single-post #content > article.post .post-image.single,
body.single-post #content > article.post-modern .post-image.single {
  margin: 0 0 1.75rem;
  overflow: hidden;
  background: var(--mf-bg-secondary);
  border-radius: var(--mf-radius-lg, 12px);
}
body.single-post #content > article.post .post-image.single .post-slideshow,
body.single-post #content > article.post .post-image.single .owl-stage-outer,
body.single-post #content > article.post .post-image.single .owl-stage,
body.single-post #content > article.post .post-image.single .owl-item,
body.single-post #content > article.post .post-image.single .owl-item > div,
body.single-post #content > article.post .post-image.single .img-thumbnail,
body.single-post #content > article.post-modern .post-image.single .post-slideshow,
body.single-post #content > article.post-modern .post-image.single .owl-stage-outer,
body.single-post #content > article.post-modern .post-image.single .owl-stage,
body.single-post #content > article.post-modern .post-image.single .owl-item,
body.single-post #content > article.post-modern .post-image.single .owl-item > div,
body.single-post #content > article.post-modern .post-image.single .img-thumbnail {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}
body.single-post #content > article.post .post-image.single img,
body.single-post #content > article.post-modern .post-image.single img {
  display: block;
  width: 100%;
  max-height: 420px;
  object-fit: cover;
}
body.single-post #content > article.post .post-image.single .zoom,
body.single-post #content > article.post-modern .post-image.single .zoom {
  display: none;
}
@media (max-width: 575px) {
  body.single-post #content > article.post .post-image.single,
  body.single-post #content > article.post-modern .post-image.single {
    margin-bottom: 1.25rem;
    border-radius: 9px;
  }
}
body.single-post #content > article.post .post-content,
body.single-post #content > article.post-modern .post-content {
  margin: 0 auto;
}
body.single-post #content > article.post .entry-title,
body.single-post #content > article.post-modern .entry-title {
  margin: 0 0 1rem;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-display);
  font-size: clamp(2.35rem, 4.2vw, 3.6rem);
  font-weight: 700;
  letter-spacing: 0.015em;
  line-height: 0.98;
}
@media (max-width: 575px) {
  body.single-post #content > article.post .entry-title,
  body.single-post #content > article.post-modern .entry-title {
    font-size: 2.25rem;
    line-height: 1;
  }
}
body.single-post #content > article.post .post-meta,
body.single-post #content > article.post-modern .post-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.7rem;
  margin: 0 0 1.75rem;
  color: var(--mf-text-muted);
  font-size: 0.9rem;
  line-height: 1.4;
}
body.single-post #content > article.post .post-meta > span,
body.single-post #content > article.post-modern .post-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
}
body.single-post #content > article.post .post-meta > span + span::before,
body.single-post #content > article.post-modern .post-meta > span + span::before {
  content: "•";
  margin-right: 0.35rem;
  color: var(--mf-border);
}
body.single-post #content > article.post .post-meta a,
body.single-post #content > article.post-modern .post-meta a {
  color: inherit;
}
body.single-post #content > article.post .post-meta a:hover,
body.single-post #content > article.post-modern .post-meta a:hover {
  color: var(--mf-primary);
}
body.single-post #content > article.post .post-meta,
body.single-post #content > article.post-modern .post-meta {
  /* Tag lists style */
}
body.single-post #content > article.post .post-meta .meta-tags,
body.single-post #content > article.post-modern .post-meta .meta-tags {
  display: inline;
  font-size: 0;
}
body.single-post #content > article.post .post-meta .meta-tags::before,
body.single-post #content > article.post-modern .post-meta .meta-tags::before {
  display: none;
}
body.single-post #content > article.post .post-meta .meta-tags a,
body.single-post #content > article.post-modern .post-meta .meta-tags a {
  display: inline-flex;
  margin: 0.1rem 0.25rem 0.1rem 0;
  padding: 0.22rem 0.6rem;
  background: var(--mf-primary-surface);
  border-radius: var(--mf-radius-full, 9999px);
  color: var(--mf-primary-dark);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.25;
}
body.single-post #content > article.post .post-meta .meta-tags a:hover,
body.single-post #content > article.post-modern .post-meta .meta-tags a:hover {
  background: var(--mf-primary);
  color: #fff;
}
@media (max-width: 575px) {
  body.single-post #content > article.post .post-meta,
  body.single-post #content > article.post-modern .post-meta {
    margin-bottom: 1.25rem;
  }
}
body.single-post #content > article.post,
body.single-post #content > article.post-modern {
  /* Editorial rich text layout */
}
body.single-post #content > article.post .entry-content,
body.single-post #content > article.post-modern .entry-content {
  margin: 0;
  padding: 0 0 2rem;
  border-bottom: 1px solid var(--mf-border);
  color: var(--mf-text-secondary);
  font-size: 1.075rem;
  line-height: 1.8;
}
body.single-post #content > article.post .entry-content > :first-child,
body.single-post #content > article.post-modern .entry-content > :first-child {
  margin-top: 0;
}
body.single-post #content > article.post .entry-content p,
body.single-post #content > article.post-modern .entry-content p {
  margin: 0 0 1.35rem;
  color: var(--mf-text-secondary);
  line-height: 1.8;
}
body.single-post #content > article.post .entry-content h2,
body.single-post #content > article.post .entry-content h3,
body.single-post #content > article.post .entry-content h4,
body.single-post #content > article.post-modern .entry-content h2,
body.single-post #content > article.post-modern .entry-content h3,
body.single-post #content > article.post-modern .entry-content h4 {
  color: var(--mf-text-primary);
  font-family: var(--mf-font-body);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
body.single-post #content > article.post .entry-content h2,
body.single-post #content > article.post-modern .entry-content h2 {
  margin: 2.8rem 0 1rem;
  font-size: clamp(1.65rem, 2.7vw, 2.15rem);
}
@media (max-width: 575px) {
  body.single-post #content > article.post .entry-content h2,
  body.single-post #content > article.post-modern .entry-content h2 {
    margin-top: 2.25rem;
  }
}
body.single-post #content > article.post .entry-content h3,
body.single-post #content > article.post-modern .entry-content h3 {
  margin: 2.2rem 0 0.8rem;
  font-size: clamp(1.35rem, 2.25vw, 1.7rem);
}
body.single-post #content > article.post .entry-content h4,
body.single-post #content > article.post-modern .entry-content h4 {
  margin: 1.75rem 0 0.7rem;
  font-size: 1.15rem;
}
body.single-post #content > article.post .entry-content ul,
body.single-post #content > article.post .entry-content ol,
body.single-post #content > article.post-modern .entry-content ul,
body.single-post #content > article.post-modern .entry-content ol {
  margin: 0 0 1.35rem;
  padding-left: 1.45rem;
}
body.single-post #content > article.post .entry-content li,
body.single-post #content > article.post-modern .entry-content li {
  margin-bottom: 0.45rem;
  padding-left: 0.15rem;
  color: var(--mf-text-secondary);
  line-height: 1.7;
}
body.single-post #content > article.post .entry-content blockquote,
body.single-post #content > article.post-modern .entry-content blockquote {
  margin: 1.75rem 0;
  padding: 1rem 1.35rem;
  background: var(--mf-primary-surface);
  border: 0;
  border-left: 4px solid var(--mf-primary);
  border-radius: 0 var(--mf-radius-lg, 12px) var(--mf-radius-lg, 12px) 0;
  color: var(--mf-text-secondary);
  font-size: 1.08em;
  font-style: italic;
  line-height: 1.7;
}
body.single-post #content > article.post .entry-content blockquote > :last-child,
body.single-post #content > article.post-modern .entry-content blockquote > :last-child {
  margin-bottom: 0;
}
@media (max-width: 575px) {
  body.single-post #content > article.post .entry-content blockquote,
  body.single-post #content > article.post-modern .entry-content blockquote {
    margin: 1.4rem 0;
    padding: 0.9rem 1rem;
  }
}
body.single-post #content > article.post .entry-content img,
body.single-post #content > article.post .entry-content figure,
body.single-post #content > article.post .entry-content .wp-caption,
body.single-post #content > article.post-modern .entry-content img,
body.single-post #content > article.post-modern .entry-content figure,
body.single-post #content > article.post-modern .entry-content .wp-caption {
  max-width: 100%;
}
body.single-post #content > article.post .entry-content > img,
body.single-post #content > article.post .entry-content figure,
body.single-post #content > article.post .entry-content .wp-caption,
body.single-post #content > article.post-modern .entry-content > img,
body.single-post #content > article.post-modern .entry-content figure,
body.single-post #content > article.post-modern .entry-content .wp-caption {
  margin: 1.75rem auto;
}
body.single-post #content > article.post .entry-content img,
body.single-post #content > article.post-modern .entry-content img {
  height: auto;
  border-radius: var(--mf-radius-lg, 12px);
}
body.single-post #content > article.post .entry-content figcaption,
body.single-post #content > article.post .entry-content .wp-caption-text,
body.single-post #content > article.post-modern .entry-content figcaption,
body.single-post #content > article.post-modern .entry-content .wp-caption-text {
  margin-top: 0.5rem;
  color: var(--mf-text-muted);
  font-size: 0.85rem;
  font-style: italic;
  line-height: 1.45;
  text-align: center;
}
body.single-post #content > article.post .entry-content a,
body.single-post #content > article.post-modern .entry-content a {
  color: var(--mf-primary);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(27, 122, 61, 0.28);
  text-underline-offset: 0.14em;
}
body.single-post #content > article.post .entry-content a:hover,
body.single-post #content > article.post-modern .entry-content a:hover {
  color: var(--mf-primary-dark);
  text-decoration-color: currentColor;
}
@media (max-width: 575px) {
  body.single-post #content > article.post .entry-content,
  body.single-post #content > article.post-modern .entry-content {
    font-size: 1rem;
    line-height: 1.75;
  }
}
body.single-post .post-navigation,
body.single-post .post-nav,
body.single-post .related-posts {
  max-width: 820px;
  margin: 2rem auto 0;
}
body.single-post .post-navigation a,
body.single-post .post-nav a {
  color: var(--mf-primary);
  font-weight: 700;
}
body.single-post .related-posts h2,
body.single-post .related-posts h3 {
  margin-bottom: 1rem;
  color: var(--mf-text-primary);
  font-family: var(--mf-font-display);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.035em;
}
body.single-post .share-links a,
body.single-post .post-share a {
  border-radius: var(--mf-radius-full, 9999px);
}

/**
 * Contact / store-locator page (lien-he / lien-he-2).
 *
 * Real WPBakery rows/columns with el_class mf-contact__*.
 * Body class mf-has-contact-block from inc/mf-contact.php.
 */
body.mf-has-contact-block #main > .container {
  width: 100%;
  max-width: var(--mf-content-max, 1140px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: var(--mf-content-pad-x, 20px) !important;
  padding-left: var(--mf-content-pad-x, 20px) !important;
  box-sizing: border-box;
}
body.mf-has-contact-block #main > .container > .row.main-content-wrap {
  width: 100% !important;
  max-width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
@media (max-width: 991px) {
  body.mf-has-contact-block #main > .container > .row.main-content-wrap {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  body.mf-has-contact-block #main > .container > .row.main-content-wrap > .main-content {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
body.mf-has-contact-block .main-content-wrap {
  width: 100% !important;
  max-width: 100%;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
body.mf-has-contact-block .page-top {
  background: transparent !important;
  border: 0 !important;
  margin: 0 !important;
  padding-top: 0.5rem !important;
  padding-bottom: 0.25rem !important;
}
body.mf-has-contact-block .page-top .page-title,
body.mf-has-contact-block .page-top h1 {
  display: none;
}
body.mf-has-contact-block .page-top .breadcrumbs-wrap {
  font-family: var(--mf-font-body);
  font-size: 0.8125rem;
  color: var(--mf-text-muted);
}
body.mf-has-contact-block .page-top.page-header-6 {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
body.mf-has-contact-block #main,
body.mf-has-contact-block #content,
body.mf-has-contact-block .main-content,
body.mf-has-contact-block .page-content {
  font-family: var(--mf-font-body);
  color: var(--mf-text-primary);
}
body.mf-has-contact-block .main-content {
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.mf-has-contact-block .page-content {
  padding-bottom: 2.5rem;
}
body.mf-has-contact-block .page-content .vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.mf-has-contact-block .page-content .vc_column_container > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mf-contact,
.mf-contact-wpb,
body.mf-has-contact-block .page-content {
  --mf-contact-amber: #f5a623;
  --mf-contact-amber-dark: #d4901a;
}

.mf-contact__hero {
  position: relative;
  margin: 0 0 1.5rem !important;
  padding: 2rem 1.5rem !important;
  border-radius: var(--mf-radius-lg, 12px);
  background: radial-gradient(120% 140% at 100% 0%, rgba(245, 166, 35, 0.22) 0%, transparent 55%), linear-gradient(135deg, var(--mf-primary-dark, #145c2e) 0%, var(--mf-primary, #1b7a3d) 55%, #2aa052 100%);
  color: #fff;
  overflow: hidden;
}
@media (min-width: 768px) {
  .mf-contact__hero {
    padding: 2.75rem 2.5rem !important;
    margin-bottom: 2rem !important;
  }
}
.mf-contact__hero .wpb_wrapper,
.mf-contact__hero .mf-contact__hero-inner {
  position: relative;
  z-index: 1;
  max-width: 40rem;
}
.mf-contact__hero .wpb_text_column,
.mf-contact__hero .wpb_content_element {
  margin-bottom: 0.75rem !important;
}
.mf-contact__hero .wpb_text_column:last-child,
.mf-contact__hero .wpb_content_element:last-child {
  margin-bottom: 0 !important;
}
.mf-contact__hero p {
  margin: 0;
}

.mf-contact__eyebrow {
  margin: 0 0 0.5rem !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85) !important;
}
.mf-contact__eyebrow p {
  margin: 0;
  color: inherit;
}

.mf-contact__title {
  margin: 0 0 0.75rem !important;
  font-family: var(--mf-font-display) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.35rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #fff !important;
}
.mf-contact__title.vc_custom_heading,
.mf-contact__title h1,
.mf-contact__title h2 {
  color: #fff !important;
  margin: 0 !important;
  font-weight: 800 !important;
}

.mf-contact__lead {
  margin: 0 0 1.25rem !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.92) !important;
  max-width: 36rem;
}
.mf-contact__lead p {
  margin: 0;
  color: inherit;
}

.mf-contact__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0 !important;
}
.mf-contact__hero-actions p {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0;
}

.mf-contact__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.75rem;
  padding: 0.65rem 1.25rem !important;
  border-radius: var(--mf-radius-full, 9999px) !important;
  font-family: var(--mf-font-body) !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  border: 2px solid transparent !important;
  transition: background-color var(--mf-transition, 150ms ease-out), color var(--mf-transition, 150ms ease-out), border-color var(--mf-transition, 150ms ease-out), transform var(--mf-transition, 150ms ease-out);
  cursor: pointer;
  box-shadow: none !important;
}
.mf-contact__btn:hover {
  transform: translateY(-1px);
}
.mf-contact__btn--primary {
  background: #fff !important;
  color: var(--mf-primary-dark, #145c2e) !important;
}
.mf-contact__btn--primary:hover {
  background: var(--mf-primary-surface, #e8f5ec) !important;
  color: var(--mf-primary-dark, #145c2e) !important;
}
.mf-contact__btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}
.mf-contact__btn--ghost:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #fff !important;
  color: #fff !important;
}
.mf-contact__btn--outline {
  background: #fff !important;
  color: var(--mf-primary, #1b7a3d) !important;
  border-color: var(--mf-primary, #1b7a3d) !important;
}
.mf-contact__btn--outline:hover {
  background: var(--mf-primary-surface, #e8f5ec) !important;
  color: var(--mf-primary-dark, #145c2e) !important;
}
.mf-contact__btn--amber {
  background: var(--mf-contact-amber, #f5a623) !important;
  color: #1a202c !important;
  border-color: var(--mf-contact-amber, #f5a623) !important;
}
.mf-contact__btn--amber:hover {
  background: var(--mf-contact-amber-dark, #d4901a) !important;
  border-color: var(--mf-contact-amber-dark, #d4901a) !important;
  color: #1a202c !important;
}
.mf-contact__btn--sm {
  min-height: 2.35rem;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
}

.mf-contact__quick {
  margin: 0 0 2rem !important;
}
.mf-contact__quick.vc_row {
  margin-left: -0.4rem !important;
  margin-right: -0.4rem !important;
}
.mf-contact__quick .mf-contact__quick-col, .mf-contact__quick > .wpb_column {
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
  margin-bottom: 0.8rem;
}
.mf-contact__quick .mf-contact__quick-col > .vc_column-inner, .mf-contact__quick > .wpb_column > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  height: 100%;
}

.mf-contact__quick-card {
  display: flex !important;
  flex-direction: column;
  gap: 0.25rem;
  height: 100%;
  margin-bottom: 0 !important;
  padding: 1.1rem 1.15rem !important;
  background: #fff !important;
  border: 1px solid var(--mf-border, #e2e8f0) !important;
  border-radius: var(--mf-radius-lg, 12px) !important;
  box-shadow: 0 2px 10px rgba(26, 32, 44, 0.04);
  text-decoration: none !important;
  color: inherit !important;
  transition: border-color var(--mf-transition, 150ms ease-out), box-shadow var(--mf-transition, 150ms ease-out);
}
.mf-contact__quick-card:hover {
  border-color: rgba(27, 122, 61, 0.35) !important;
  box-shadow: 0 6px 18px rgba(27, 122, 61, 0.08);
}
.mf-contact__quick-card .wpb_wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  height: 100%;
}
.mf-contact__quick-card p {
  margin: 0 !important;
}
.mf-contact__quick-card a {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: inherit;
}

.mf-contact__quick-label {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mf-text-muted, #718096) !important;
  margin: 0 !important;
}

.mf-contact__quick-value {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--mf-text-primary, #1a202c) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.mf-contact__quick-value a {
  color: var(--mf-text-primary, #1a202c) !important;
  font-weight: 700 !important;
}
.mf-contact__quick-value a:hover {
  color: var(--mf-primary, #1b7a3d) !important;
}

.mf-contact__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.75rem;
  margin: 0.15rem 0 0 !important;
}
.mf-contact__socials a {
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--mf-primary, #1b7a3d) !important;
  text-decoration: none !important;
}
.mf-contact__socials a:hover {
  color: var(--mf-primary-dark, #145c2e) !important;
  text-decoration: underline !important;
}

.mf-contact__stores-head {
  margin: 0 0 0.25rem !important;
}

.mf-contact__section-title {
  margin: 0 0 0.35rem !important;
  font-family: var(--mf-font-display) !important;
  font-size: clamp(1.35rem, 2.2vw, 1.65rem) !important;
  font-weight: 800 !important;
  color: var(--mf-text-primary, #1a202c) !important;
  line-height: 1.25 !important;
}
.mf-contact__section-title.vc_custom_heading,
.mf-contact__section-title h1,
.mf-contact__section-title h2 {
  color: var(--mf-text-primary, #1a202c) !important;
  margin: 0 !important;
  font-weight: 800 !important;
}

.mf-contact__section-desc {
  margin: 0 0 1.25rem !important;
  font-size: 0.9375rem !important;
  color: var(--mf-text-secondary, #4a5568) !important;
  line-height: 1.55 !important;
  max-width: 36rem;
}
.mf-contact__section-desc p {
  margin: 0;
  color: inherit;
}

.mf-contact__store-grid {
  margin: 0 0 2.25rem !important;
}
.mf-contact__store-grid.vc_row {
  margin-left: -0.5rem !important;
  margin-right: -0.5rem !important;
}
.mf-contact__store-grid .mf-contact__store-col, .mf-contact__store-grid > .wpb_column {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
  margin-bottom: 1rem;
}
.mf-contact__store-grid .mf-contact__store-col > .vc_column-inner, .mf-contact__store-grid > .wpb_column > .vc_column-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  height: 100%;
}

.mf-contact__store-card {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  margin-bottom: 0 !important;
  padding: 1.35rem 1.35rem 1.25rem !important;
  background: #fff !important;
  border: 1px solid var(--mf-border, #e2e8f0) !important;
  border-radius: var(--mf-radius-lg, 12px) !important;
  box-shadow: 0 4px 16px rgba(26, 32, 44, 0.045);
  transition: border-color var(--mf-transition, 150ms ease-out), box-shadow var(--mf-transition, 150ms ease-out);
}
.mf-contact__store-card:hover {
  border-color: rgba(27, 122, 61, 0.3) !important;
  box-shadow: 0 10px 28px rgba(27, 122, 61, 0.1);
}
.mf-contact__store-card .wpb_wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.mf-contact__store-card p {
  margin: 0;
}

.mf-contact__store-top {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 0.75rem !important;
}

.mf-contact__store-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.7rem;
  border-radius: var(--mf-radius-full, 9999px);
  background: var(--mf-primary-surface, #e8f5ec);
  color: var(--mf-primary-dark, #145c2e);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.mf-contact__store-index {
  font-family: var(--mf-font-display);
  font-size: 1.25rem;
  font-weight: 800;
  color: rgba(27, 122, 61, 0.18);
  line-height: 1;
}

.mf-contact__store-name {
  margin: 0 0 0.4rem !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--mf-text-primary, #1a202c) !important;
  line-height: 1.3 !important;
}

.mf-contact__store-note {
  margin: 0 0 1rem !important;
  font-size: 0.875rem !important;
  color: var(--mf-text-secondary, #4a5568) !important;
  line-height: 1.5 !important;
}

.mf-contact__store-meta {
  list-style: none !important;
  margin: 0 0 1.15rem !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  flex: 1;
}
.mf-contact__store-meta li {
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--mf-text-secondary, #4a5568);
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.mf-contact__store-meta li::before {
  display: none !important;
}
.mf-contact__store-meta li strong {
  color: var(--mf-text-primary, #1a202c);
  font-weight: 700;
}
.mf-contact__store-meta li a {
  color: var(--mf-primary, #1b7a3d) !important;
  font-weight: 700;
  text-decoration: none !important;
}
.mf-contact__store-meta li a:hover {
  color: var(--mf-primary-dark, #145c2e) !important;
  text-decoration: underline !important;
}

.mf-contact__store-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: auto 0 0 !important;
}

.mf-contact__map {
  margin: 0 0 2rem !important;
}

.mf-contact__map-frame {
  margin: 0 !important;
  border-radius: var(--mf-radius-lg, 12px);
  overflow: hidden;
  border: 1px solid var(--mf-border, #e2e8f0);
  box-shadow: 0 4px 16px rgba(26, 32, 44, 0.05);
  background: var(--mf-bg-secondary, #f7f8fa);
}
.mf-contact__map-frame .wpb_wrapper,
.mf-contact__map-frame .mf-contact__map-embed {
  line-height: 0;
}
.mf-contact__map-frame iframe {
  display: block;
  width: 100%;
  min-height: 320px;
  border: 0 !important;
}
@media (min-width: 768px) {
  .mf-contact__map-frame iframe {
    min-height: 420px;
  }
}
.mf-contact__map-frame p {
  margin: 0 !important;
}

.mf-contact__cta {
  margin: 0 0 0.5rem !important;
}

.mf-contact__cta-inner {
  margin: 0 !important;
  padding: 1.5rem !important;
  border-radius: var(--mf-radius-lg, 12px) !important;
  background: var(--mf-primary-surface, #e8f5ec) !important;
  border: 1px solid rgba(27, 122, 61, 0.12) !important;
}
.mf-contact__cta-inner .wpb_wrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .mf-contact__cta-inner .wpb_wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  .mf-contact__cta-inner {
    padding: 1.75rem 2rem !important;
  }
}

.mf-contact__cta-title {
  margin: 0 0 0.35rem !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--mf-primary-dark, #145c2e) !important;
}

.mf-contact__cta-text {
  margin: 0 !important;
  font-size: 0.9375rem !important;
  color: var(--mf-text-secondary, #4a5568) !important;
  line-height: 1.55 !important;
  max-width: 34rem;
}

.mf-contact__cta-action {
  margin: 0 !important;
  flex-shrink: 0;
}

.mf-contact {
  max-width: 100%;
}
