/* ========================================
   MOBIELE ADD-TO-CART BALK
======================================== */
@media (max-width: 768px) {
  .mobile-add-to-cart {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
    padding: 8px 12px calc(env(safe-area-inset-bottom)+4px);
  }
  .mobile-add-to-cart table.variations,
  .mobile-add-to-cart table.variations tbody,
  .mobile-add-to-cart table.variations tr,
  .mobile-add-to-cart table.variations td {
    display: block;
    width: 100%;
  }
  .mobile-add-to-cart table.variations th {
    display: none;
  }
  .mobile-add-to-cart select {
    width: 100%;
    height: 40px;
    font-size: 16px;
    border-radius: 12px;
    padding: 0 14px;
  }
  .mobile-add-to-cart .reset_variations {
    display: inline-block;
    margin-top: 4px;
    font-size: 14px;
  }
  .mobile-add-to-cart .woocommerce-variation-price {
    margin: 4px 0 0;
    font-size: 18px;
    font-weight: 600;
  }
  .mobile-add-to-cart .woocommerce-variation-availability {
    margin: 2px 0 6px;
    font-size: 14px;
    opacity: 0.7;
  }
  .mobile-add-to-cart .woocommerce-variation-availability {
    position: absolute;
    width: 75px;
    right: 0;
    bottom: 0;
    line-height: 1;
    font-size: 12px;
  }
  .mobile-add-to-cart .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .mobile-add-to-cart .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 12px;
    overflow: hidden;
    min-width: 104px;
    height: 40px;
  }
  .mobile-add-to-cart .qty-btn {
    width: 36px;
    font-size: 18px;
    background: #f5f5f5;
    border: none;
    padding: 0;
  }
  .mobile-add-to-cart .quantity input.qty {
    width: 32px;
    text-align: center;
    border: none;
    font-size: 16px;
    padding: 0;
  }
  .mobile-add-to-cart .single_add_to_cart_button {
    flex: 1;
    height: 40px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
  }
  body {
    padding-bottom: 78px;
  }
}
/* ========================================
   CART MODAL & VARIATIES
======================================== */
#cart-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.cart-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.cart-modal-content {
  position: relative;
  max-width: 420px;
  margin: 15% auto;
  background: #fff;
  padding: 30px;
  text-align: center;
  border-radius: 6px;
}
.variations,
.variations tbody,
.variations tr,
.variations th,
.variations td {
  display: block;
  width: 100%;
}
.variations tr {
  margin-bottom: 1rem;
}
.variations th {
  margin-bottom: 0.25rem;
  font-weight: 600;
}
.variations td select {
  width: 100%;
}
.variations_form.cart {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.woocommerce-variation-price {
  font-size: 1.1rem;
}
.cart-modal-content h4 {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: 600;
}
.single_add_to_cart_button.atc-loading {
  position: relative;
  pointer-events: none;
  overflow: visible !important;
}
.single_add_to_cart_button.atc-loading .atc-label {
  opacity: 0;
}
.single_add_to_cart_button .atc-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.single_add_to_cart_button .atc-spinner svg {
  width: 20px;
  height: 20px;
  display: block;
}
#cart-modal .cart-modal-actions a.button::before {
  background: #fff !important;
}
#cart-modal .cart-modal-actions a.button {
  border: 1px solid black;
}
#cart-modal .cart-modal-actions a.button:hover {
  border-color: #c7e4fe;
}
#cart-modal .cart-modal-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}
#cart-modal .cart-modal-actions a.button,
#cart-modal .cart-modal-actions button.button {
  display: inline-flex !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  margin: 0 !important;
  font-size: 14px;
}
#cart-modal .cart-modal-actions a.button::before,
#cart-modal .cart-modal-actions a.button::after,
#cart-modal .cart-modal-actions button.button::before,
#cart-modal .cart-modal-actions button.button::after {
  content: none !important;
}
#cart-modal a.button {
  display: inline-flex !important;
}
button.close-cart-modal.button.button-secondary {
  background: #fcda98;
}
/* ========================================
   PRODUCTPAGINA: HOEVEELHEID + CTA
======================================== */
.woocommerce form.cart {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
}
.woocommerce form.cart .quantity {
  display: inline-flex !important;
  align-items: center !important;
  height: 42px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin: 0 !important;
}
.woocommerce form.cart .quantity .qty-btn {
  width: 20px !important;
  height: 42px !important;
  background: #ffffff !important;
  border: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #b5b5b5 !important;
  text-indent: 0 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 2 !important;
  border-radius: 0;
  margin-inline-start: 0 !important;
}
.woocommerce form.cart .quantity .qty-btn:before,
.woocommerce form.cart .quantity .qty-btn::before,
.woocommerce form.cart .quantity .qty-btn:after,
.woocommerce form.cart .quantity .qty-btn::after {
  content: none !important;
  display: none !important;
}
.woocommerce form.cart .quantity input.qty {
  width: 46px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-weight: 500 !important;
  -webkit-appearance: none !important;
  appearance: textfield !important;
}
.woocommerce form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}/*
.woocommerce form.cart .single_add_to_cart_button {
  height: 42px !important;
  padding: 0 15px !important;
  border: 0 !important;
  border-radius: 0 20px 20px 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-inline-start: 0 !important;
  margin: 0 !important;
}*/
.woocommerce form.cart .single_add_to_cart_button:hover {
  background: #c7e4fe !important;
}
.single_add_to_cart_button,
.single_add_to_cart_button.atc-loading {
  border-radius: 0 20px 20px 0 !important;
}
.elementor-widget-cmsmasters-nav-menu__container-inner li.current-menu-parent a,
.elementor-widget-cmsmasters-nav-menu__container-inner
  li.current-product-parent
  a {
  color: var(--e-global-color-secondary) !important;
  border-color: var(--e-global-color-secondary) !important;
}
button.ff-btn.ff-btn-submit.ff-btn-md.ff_btn_no_style {
  background-color: unset !important;
  color: unset !important;
}
label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox {
  font-size: 15px;
  text-transform: none;
  letter-spacing: normal;
}
a.added_to_cart,
.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart {
  display: none !important;
}
.zoomImg {
  display: none !important;
}
.woocommerce-product-gallery__image img {
  cursor: pointer;
}
.woocommerce-variation-description,
.woocommerce-variation-price,
a.reset_variations,
.reset_variations_alert {
  display: none !important;
}
.woocommerce
  .product
  .elementor-widget-cmsmasters-woo-product-add-to-cart
  form.cart
  table
  td {
  padding: 0 0 20px 0;
}
.woocommerce
  .product
  .elementor-widget-cmsmasters-woo-product-add-to-cart
  form.cart
  table.variations {
  margin-bottom: 0 !important;
}
button.cmsmasters-add-to-cart-button.single_add_to_cart_button.button.alt.variable {
  width: 100%;
}
.woocommerce
  .product
  .elementor-widget-cmsmasters-woo-product-add-to-cart
  form.cart
  table.variations
  .label
  label {
  font-family: "Literata";
  font-weight: 500;
}
.woocommerce
  .product
  .elementor-widget-cmsmasters-woo-product-add-to-cart
  p.stock.available-on-backorder {
  font-style: italic;
  text-align: right;
}
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  background: #fff;
  border: none;
  border-radius: 25px;
  padding: 50px 0 50px 70px;
}
/* ========================================
   PRODUCTGALERIJ
======================================== */
.woocommerce-product-gallery {
  display: flex;
  gap: 24px;
  background: #fff;
  padding: 24px;
  border-radius: 18px;
  align-items: stretch;
}
.woocommerce-product-gallery .flex-viewport {
  order: 1;
  flex: 1 1 auto;
  height: 350px !important;
  overflow: hidden;
  border-radius: 14px;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image {
  height: 350px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 20px 0 0 20px;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}
.woocommerce-product-gallery .zoomImg {
  display: none !important;
}
.woocommerce-product-gallery__trigger {
  left: 15px !important;
  right: auto !important;
  top: 20px !important;
  z-index: 5;
}
.woocommerce-product-gallery .flex-control-nav {
  order: 2;
  width: 160px !important;
  height: 350px;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 10px 10px 0 !important;
}
.woocommerce-product-gallery .flex-control-nav li {
  width: 100% !important;
  flex: 1 1 0;
  display: flex;
}
.woocommerce-product-gallery .flex-control-nav img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
  padding: 0;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.woocommerce-product-gallery .flex-control-nav img:hover,
.woocommerce-product-gallery .flex-control-nav .flex-active {
  border-color: #fcda98;
}
p.stock.in-stock {
  font-size: 12px !important;
  font-weight: 400;
}
.stock.in-stock {
  position: relative;
  padding-left: 20px;
  letter-spacing: -0.1px;
}
.stock.in-stock::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 14px;
  height: 24px;
  background-color: #02bb6c;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 122.88 101.6'%3E%3Cpath d='M4.67 67.27c-14.45-15.53 7.77-38.7 23.81-24C34.13 48.4 42.32 55.9 48 61L93.69 5.3c15.33-15.86 39.53 7.42 24.4 23.36L61.14 96.29a17 17 0 0 1-12.31 5.31h-.2a16.24 16.24 0 0 1-11-4.26c-9.49-8.8-23.09-21.71-32.91-30z'/%3E%3C/svg%3E")
    no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 122.88 101.6'%3E%3Cpath d='M4.67 67.27c-14.45-15.53 7.77-38.7 23.81-24C34.13 48.4 42.32 55.9 48 61L93.69 5.3c15.33-15.86 39.53 7.42 24.4 23.36L61.14 96.29a17 17 0 0 1-12.31 5.31h-.2a16.24 16.24 0 0 1-11-4.26c-9.49-8.8-23.09-21.71-32.91-30z'/%3E%3C/svg%3E")
    no-repeat center / contain;
}
/* ========================================
   FF EHBO SINGLE PRODUCT (MOBILE-FIRST)
======================================== */
.single-product .ffehbo-product-page {
  --ffehbo-card-bg: var(--e-global-color-background, #ffffff);
  --ffehbo-card-border: var(--e-global-color-border, #dad9d9);
  --ffehbo-heading: var(--cmsmasters-colors-heading, var(--e-global-color-secondary, #190d39));
  --ffehbo-text: var(--cmsmasters-colors-text, var(--e-global-color-text, #67656e));
  --ffehbo-muted: var(--e-global-color-tertiary, #95949c);
  --ffehbo-accent: var(--e-global-color-primary, #fcda98);
  --ffehbo-accent-soft: var(--e-global-color-accent, #c7e4fe);
  --ffehbo-soft-bg: var(--e-global-color-alternate, #fafaf8);
  --ffehbo-in-stock: #0a9f38;
  --ffehbo-out-stock: #de3631;
  --ffehbo-backorder: #b7791f;
  --ffehbo-card-shadow: 0 14px 35px rgba(25, 13, 57, 0.07);
  color: var(--ffehbo-heading);
}
.single-product .ffehbo-product-shell {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 14px 14px 44px;
}
.single-product .ffehbo-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  color: var(--ffehbo-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.single-product .ffehbo-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}
.single-product .ffehbo-breadcrumb__item:not(:last-child)::after {
  content: "›";
  color: var(--ffehbo-muted);
  font-size: 16px;
  line-height: 1;
}
.single-product .ffehbo-breadcrumb__link,
.single-product .ffehbo-breadcrumb__current {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
.single-product .ffehbo-breadcrumb__link:hover,
.single-product .ffehbo-breadcrumb__link:focus-visible {
  color: var(--ffehbo-heading);
  outline: none;
}
.single-product .ffehbo-breadcrumb__home-icon {
  width: 14px;
  height: 14px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M2.25 7.05 8 2.3l5.75 4.75v6.2a.75.75 0 0 1-.75.75H9.75a.75.75 0 0 1-.75-.75V10H7v3.25a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75v-6.2Zm1.5.7v4.75H5.5V9.25A.75.75 0 0 1 6.25 8.5h3.5a.75.75 0 0 1 .75.75v3.25h1.75V7.75L8 4.24 3.75 7.75Z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M2.25 7.05 8 2.3l5.75 4.75v6.2a.75.75 0 0 1-.75.75H9.75a.75.75 0 0 1-.75-.75V10H7v3.25a.75.75 0 0 1-.75.75H3a.75.75 0 0 1-.75-.75v-6.2Zm1.5.7v4.75H5.5V9.25A.75.75 0 0 1 6.25 8.5h3.5a.75.75 0 0 1 .75.75v3.25h1.75V7.75L8 4.24 3.75 7.75Z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.single-product .ffehbo-breadcrumb__label,
.single-product .ffehbo-breadcrumb__current {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.single-product .ffehbo-product-breadcrumbs {
  margin: 0 0 10px;
  overflow: hidden;
}
.single-product .ffehbo-product-hero {
  display: grid;
  gap: 18px;
}
.single-product .ffehbo-product-media-card,
.single-product .ffehbo-product-buy-card,
.single-product .ffehbo-product-details .woocommerce-tabs,
.single-product .ffehbo-product-related .related {
  background: var(--ffehbo-card-bg);
  border: 1px solid var(--ffehbo-card-border);
  border-radius: 26px;
  box-shadow: var(--ffehbo-card-shadow);
}
.single-product .ffehbo-product-media-card {
  padding: 12px;
  overflow: hidden;
}
.single-product .ffehbo-product-media-card .woocommerce-product-gallery {
  width: 100% !important;
  display: block;
  padding: 0;
  margin: 0 !important;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}
.single-product .ffehbo-product-media-card .woocommerce-product-gallery .flex-viewport {
  height: auto !important;
  min-height: 300px;
  border-radius: 22px;
  background: var(--ffehbo-card-bg);
}
.single-product .ffehbo-product-media-card .woocommerce-product-gallery__image {
  height: auto !important;
  min-height: 300px;
  border-radius: 22px;
  background: var(--ffehbo-card-bg);
}
.single-product .ffehbo-product-media-card .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: contain !important;
}
.single-product .ffehbo-product-media-card .flex-control-nav {
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 10px;
  margin: 12px 0 0 !important;
  padding: 0 2px 4px !important;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.single-product .ffehbo-product-media-card .flex-control-nav li {
  flex: 0 0 76px !important;
  width: 76px !important;
  scroll-snap-align: start;
}
.single-product .ffehbo-product-media-card .flex-control-nav img {
  width: 76px !important;
  height: 76px !important;
  padding: 6px;
  object-fit: contain;
  border: 1px solid var(--ffehbo-card-border);
  border-radius: 18px;
  background: var(--ffehbo-card-bg);
}
.single-product .ffehbo-product-media-card .flex-control-nav img.flex-active,
.single-product .ffehbo-product-media-card .flex-control-nav img:hover {
  border-color: var(--ffehbo-accent);
  box-shadow: 0 0 0 3px rgba(247, 200, 106, 0.22);
}
.single-product .ffehbo-product-summary {
  float: none !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.single-product .ffehbo-product-stock-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(10, 159, 56, 0.12);
  color: var(--ffehbo-in-stock);
  font-size: 12px;
  font-weight: 700;
}
.single-product .ffehbo-product-stock-badge.is-limited {
  background: rgba(183, 121, 31, 0.14);
  color: var(--ffehbo-backorder);
}
.single-product .ffehbo-product-stock-badge.is-outofstock {
  background: rgba(180, 35, 24, 0.1);
  color: var(--ffehbo-out-stock);
}
.single-product .ffehbo-product-stock-badge.is-backorder {
  background: rgba(183, 121, 31, 0.14);
  color: var(--ffehbo-backorder);
}
.single-product .ffehbo-product-stock-badge.is-limited::before,
.single-product .ffehbo-product-stock-badge.is-backorder::before {
  background: #ff8400;
}
.single-product .ffehbo-product-stock-badge::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.single-product .ffehbo-product-summary .product_title {
  margin: 0;
  color: var(--ffehbo-heading);
  font-family: var(--cmsmasters-h1-font-family, var(--cmsmasters-primary-font-family));
  font-size: clamp(30px, 8vw, var(--cmsmasters-h2-font-size, 48px));
  line-height: 1.05;
  letter-spacing: -0.04em;
}
.single-product .ffehbo-product-short-description,
.single-product .ffehbo-product-short-description p {
  margin: 0;
  color: var(--ffehbo-text);
  font-size: 15px;
  line-height: 1.65;
}
.single-product .ffehbo-product-usps {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.single-product .ffehbo-product-usps span {
  position: relative;
  padding: 11px 12px 11px 34px;
  border: 1px solid var(--ffehbo-card-border);
  border-radius: 18px;
  background: var(--ffehbo-card-bg);
  color: var(--ffehbo-heading);
  font-size: 13px;
  font-weight: 700;
}
.single-product .ffehbo-product-usps span::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ffehbo-in-stock);
}
.single-product .ffehbo-product-buy-card {
  padding: 18px;
}
.single-product .ffehbo-product-price-label {
  display: block;
  margin-bottom: 3px;
  color: var(--ffehbo-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.single-product .ffehbo-product-buy-card .price {
  display: block;
  margin: 0 0 14px;
  color: var(--ffehbo-heading);
  font-size: 30px;
  line-height: 1.15;
  font-weight: 800;
  text-align: left;
}
.single-product .ffehbo-product-buy-card .price del {
  color: var(--ffehbo-muted);
  font-size: 18px;
  font-weight: 500;
}
.single-product .ffehbo-product-buy-card .price ins {
  color: var(--ffehbo-heading);
  text-decoration: none;
}
.single-product .ffehbo-product-buy-card form.cart {
  width: 100%;
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
}
.single-product .ffehbo-product-buy-card form.cart .quantity {
  height: 48px !important;
  border-radius: 16px !important;
  border-color: var(--ffehbo-card-border) !important;
}
.single-product .ffehbo-product-buy-card form.cart .quantity input.qty,
.single-product .ffehbo-product-buy-card form.cart .quantity .qty-btn {
  height: 48px !important;
}
.single-product .ffehbo-product-buy-card form.cart .single_add_to_cart_button {
  flex: 1 1 190px;
  min-height: 48px;
  height: auto !important;
  border-radius: 18px !important;
  background: var(--ffehbo-accent) !important;
  color: var(--ffehbo-heading) !important;
  font-weight: 800 !important;
}
.single-product .ffehbo-product-buy-card form.cart .single_add_to_cart_button::before,
.single-product .ffehbo-product-buy-card form.cart .single_add_to_cart_button:before,
.single-product .ffehbo-product-buy-card form.cart .single_add_to_cart_button::after,
.single-product .ffehbo-product-buy-card form.cart .single_add_to_cart_button:after {
  content: none !important;
  display: none !important;
}
.single-product .ffehbo-product-buy-card form.cart .variations,
.single-product .ffehbo-product-buy-card form.cart .single_variation_wrap {
  flex: 1 0 100%;
}
.single-product .ffehbo-product-buy-card form.cart .variations select {
  min-height: 46px;
  border-radius: 14px;
  border-color: var(--ffehbo-card-border);
}
.single-product .ffehbo-product-delivery-note {
  margin: 12px 0 0;
  color: var(--ffehbo-text);
  font-size: 13px;
  line-height: 1.5;
}
.single-product .ffehbo-product-details,
.single-product .ffehbo-product-related {
  margin-top: 18px;
}
.single-product .ffehbo-product-details .woocommerce-tabs {
  padding: 18px;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 8px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  overflow-x: auto;
  border: 0;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs::before,
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li::before,
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ffehbo-soft-bg) !important;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li.active {
  background: var(--ffehbo-heading) !important;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li a {
  padding: 10px 14px !important;
  color: var(--ffehbo-heading) !important;
  font-size: 13px;
  font-weight: 800;
}
.single-product .ffehbo-product-details .woocommerce-tabs ul.tabs li.active a {
  color: var(--ffehbo-card-bg) !important;
}
.single-product .ffehbo-product-details .woocommerce-Tabs-panel {
  color: var(--ffehbo-text);
  font-size: 15px;
  line-height: 1.7;
}
.single-product .ffehbo-product-details .woocommerce-Tabs-panel h2 {
  color: var(--ffehbo-heading);
  font-size: 22px;
  line-height: 1.2;
}
.single-product .ffehbo-product-related .related {
  padding: 18px 0 18px 18px;
  overflow: hidden;
}
.single-product .ffehbo-product-related .related > h2 {
  margin: 0 18px 14px 0;
  color: var(--ffehbo-heading);
  font-size: 22px;
  line-height: 1.2;
}
.single-product .ffehbo-product-related ul.products {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 12px;
  margin: 0 !important;
  padding: 0 18px 8px 0 !important;
  overflow-x: auto !important;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.single-product .ffehbo-product-related ul.products li.product {
  flex: 0 0 72%;
  max-width: 240px;
  scroll-snap-align: start;
}

@media (min-width: 700px) {
  .single-product .ffehbo-product-shell {
    padding: 24px 24px 60px;
  }
  .single-product .ffehbo-product-hero {
    grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
    align-items: start;
  }
  .single-product .ffehbo-product-usps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .single-product .ffehbo-product-related ul.products li.product {
    flex-basis: 220px;
  }
}

/* FF EHBO single product refinements: mobile product info blocks and robust variable forms. */
.single-product .ffehbo-product-buy-card form.cart.grouped_form,
.single-product .ffehbo-product-buy-card form.cart.variations_form {
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
}
.single-product .ffehbo-product-buy-card form.cart .woocommerce-variation-add-to-cart {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
}
.single-product .ffehbo-product-buy-card form.cart .woocommerce-variation.single_variation {
  margin: 0 0 10px;
  color: var(--ffehbo-text);
}
.single-product .ffehbo-product-buy-card form.cart .woocommerce-variation-price {
  display: block !important;
  margin: 0 0 8px;
}
.single-product .ffehbo-product-buy-card form.cart .woocommerce-variation-price .price {
  margin-bottom: 0;
  font-size: 24px;
}
.single-product .ffehbo-product-buy-card form.cart .woocommerce-variation-availability p.stock {
  margin: 0 0 8px;
  color: var(--ffehbo-text);
  font-size: 13px;
}
.single-product .ffehbo-product-buy-card form.cart .reset_variations {
  display: inline-block !important;
  margin-top: 8px;
  color: var(--ffehbo-text);
  font-size: 13px;
}
.single-product .ffehbo-product-buy-card form.cart table.variations td,
.single-product .ffehbo-product-buy-card form.cart table.variations th {
  padding: 0 0 10px !important;
}
.single-product .ffehbo-product-buy-card form.cart table.variations label {
  color: var(--ffehbo-heading);
  font-size: 14px;
  font-weight: 800;
}
.single-product .ffehbo-product-buy-card form.cart table.group_table {
  width: 100%;
  margin: 0 0 12px;
}
.single-product .ffehbo-product-buy-card form.cart table.group_table td {
  padding: 8px 0;
  vertical-align: middle;
}
.single-product .ffehbo-product-details .woocommerce-Tabs-panel table.shop_attributes {
  border: 0;
  margin: 0;
}
.single-product .ffehbo-product-details .woocommerce-Tabs-panel table.shop_attributes th,
.single-product .ffehbo-product-details .woocommerce-Tabs-panel table.shop_attributes td {
  display: block;
  width: 100%;
  padding: 10px 0;
  border-color: var(--ffehbo-card-border);
  background: transparent !important;
}
.single-product .ffehbo-product-details .woocommerce-Tabs-panel table.shop_attributes th {
  padding-bottom: 2px;
  color: var(--ffehbo-heading);
}
.single-product .ffehbo-product-related ul.products li.product .price {
  color: var(--ffehbo-heading);
  font-weight: 800;
}

@media (max-width: 699px) {
  .single-product .ffehbo-product-shell {
    max-width: 430px;
  }
  .single-product .ffehbo-product-details .woocommerce-tabs {
    display: grid;
    gap: 12px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .single-product .ffehbo-product-details .woocommerce-tabs ul.tabs {
    display: none !important;
  }
  .single-product .ffehbo-product-details .woocommerce-Tabs-panel {
    display: block !important;
    margin: 0 !important;
    padding: 18px;
    border: 1px solid var(--ffehbo-card-border);
    border-radius: 22px;
    background: var(--ffehbo-card-bg);
    box-shadow: var(--ffehbo-card-shadow);
  }
  .single-product .ffehbo-product-details .woocommerce-Tabs-panel h2 {
    margin-top: 0;
    font-size: 19px;
  }
  .single-product .ffehbo-product-buy-card form.cart .woocommerce-variation-add-to-cart {
    align-items: stretch;
  }
  .single-product .ffehbo-product-buy-card form.cart .quantity {
    flex: 0 0 104px;
  }
}

