/* OCE product pages — Mugatu v2. Scoped to body.oce-product-v2 only. */

body.oce-product-v2 {
  font-family: Poppins, sans-serif;
  color: #212121;
}

/* ---- Buy-box Elementor layout ---- */
body.oce-product-v2 .elementor-187 .elementor-element-1a1044f {
  --padding-block-start: 40px !important;
  --padding-block-end: 48px !important;
  --gap: 0 56px !important;
  padding-top: 40px !important;
  padding-bottom: 48px !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-ee54e32 {
  --flex-direction: column !important;
  flex-direction: column !important;
  --gap: 0 !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-449b638.elementor-element,
body.oce-product-v2 .elementor-187 .elementor-element-30b4896.elementor-element {
  --align-self: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-30b4896 {
  text-align: left !important;
}
@media (min-width: 768px) {
  body.oce-product-v2 .elementor-187 .elementor-element-7f92373 {
    --width: 54% !important;
    width: 54% !important;
  }
  body.oce-product-v2 .elementor-187 .elementor-element-ee54e32 {
    --width: 46% !important;
    width: 46% !important;
  }
}

/* Hide leftover buy-box chrome that is not in the v2 mock */
body.oce-product-v2 .elementor-element-cecdfb7,
body.oce-product-v2 .elementor-element-29c005d,
body.oce-product-v2 .elementor-element-d639378,
body.oce-product-v2 .elementor-add-to-cart .stock,
body.oce-product-v2 .elementor-element-dfe30ad {
  display: none !important;
}

/* Swapped shipping line (widget 2ed56b7) */
body.oce-product-v2 .elementor-element-2ed56b7,
body.oce-product-v2 .elementor-element-2ed56b7 > .elementor-widget-container {
  margin: 12px 0 0 !important;
  padding: 0 !important;
}
body.oce-product-v2 .elementor-element-2ed56b7 h5,
body.oce-product-v2 .elementor-element-2ed56b7 .ast-heading,
body.oce-product-v2 .elementor-element-2ed56b7 strong,
body.oce-product-v2 .elementor-element-2ed56b7 p {
  margin: 0 !important;
  font-family: Poppins, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #4B5563 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* ---- Gallery ---- */
body.oce-product-v2 .woocommerce-product-gallery {
  opacity: 1 !important;
  position: relative;
}
body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images .onsale,
body.oce-product-v2 .woocommerce-product-gallery .onsale,
body.oce-product-v2 span.onsale {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  z-index: 3;
  min-width: 56px !important;
  width: auto !important;
  height: 56px !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #0E5A30 !important;
  color: #fff !important;
  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .01em;
  border-radius: 50% !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

@media (min-width: 768px) {
  body.oce-product-v2 .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs,
  body.oce-product-v2 .woocommerce-product-gallery ol.flex-control-nav {
    order: -1;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    width: 72px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    overflow: visible !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: 72px !important;
    height: 72px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #E5E7EB;
    background: #F4F5F7;
    opacity: 1 !important;
    cursor: pointer;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li img:hover {
    border: 2px solid #232862;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport,
  body.oce-product-v2 .woocommerce-product-gallery__wrapper {
    flex: 1 1 auto;
    min-width: 0;
    background: #F4F5F7;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    margin: 0 !important;
    position: relative;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery__image img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery__image a {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    display: block;
  }
  body.oce-product-v2 .woocommerce-product-gallery__image a {
    height: 100% !important;
  }
}

/* ---- Typography: title, crumbs, price, short description ---- */
body.oce-product-v2 .woocommerce-breadcrumb,
body.oce-product-v2 .elementor-widget-twbb_woocommerce-breadcrumb {
  font-family: Poppins, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #4B5563 !important;
  line-height: 1.4 !important;
  margin: 0 0 14px !important;
}
body.oce-product-v2 .woocommerce-breadcrumb a {
  color: #4B5563 !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-449b638 .elementor-heading-title,
body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-title .product_title,
body.oce-product-v2 .product_title {
  font-family: Poppins, sans-serif !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  color: #212121 !important;
  margin: 0 !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-30b4896 .price,
body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-price .price {
  font-family: Poppins, sans-serif !important;
  margin: 18px 0 0 !important;
  display: flex !important;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
  text-align: left !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #212121 !important;
  line-height: 1 !important;
}
body.oce-product-v2 .price del {
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #4B5563 !important;
  text-decoration: line-through !important;
  order: 2;
}
body.oce-product-v2 .price ins {
  text-decoration: none !important;
  background: none !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  color: #212121 !important;
  order: 1;
}
body.oce-product-v2 .woocommerce-product-details__short-description,
body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-short-description {
  font-family: Poppins, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #4B5563 !important;
  margin-top: 12px !important;
}
body.oce-product-v2 .elementor-187 .elementor-element-6596b1a > .elementor-widget-container {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

/* ---- Add to cart, quantity, variations ---- */
body.oce-product-v2 .elementor-187 .elementor-element-ea2b83a > .elementor-widget-container {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
body.oce-product-v2 form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.oce-product-v2 form.variations_form.cart {
  display: block;
}
body.oce-product-v2 form.variations_form.cart .woocommerce-variation-add-to-cart,
body.oce-product-v2 form.variations_form.cart .single_variation_wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}
body.oce-product-v2 form.cart table.variations {
  width: 100%;
  margin: 0 0 16px !important;
  border: 0;
}
body.oce-product-v2 form.cart table.variations th,
body.oce-product-v2 form.cart table.variations td {
  padding: 6px 0 !important;
  border: 0 !important;
  background: none !important;
  vertical-align: middle;
}
body.oce-product-v2 form.cart table.variations label {
  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #212121 !important;
}
body.oce-product-v2 form.cart table.variations select {
  font-family: Poppins, sans-serif !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 8px 12px !important;
  min-height: 44px;
  width: 100%;
}
body.oce-product-v2 form.cart .reset_variations {
  font-size: 13px;
  color: #1D4ED8;
}
body.oce-product-v2 .oce-qty,
body.oce-product-v2 form.cart .quantity.oce-qty {
  display: flex !important;
  align-items: center;
  width: 124px;
  height: 52px;
  border: 1px solid #D1D5DB;
  border-radius: 100px;
  background: #fff;
  flex: 0 0 auto;
  overflow: hidden;
  margin: 0 !important;
}
body.oce-product-v2 .oce-qty .oce-qty-btn {
  width: 40px;
  height: 52px;
  border: 0;
  background: none;
  color: #212121;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}
body.oce-product-v2 .oce-qty input.qty {
  flex: 1;
  width: auto !important;
  min-width: 0 !important;
  height: 52px !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center;
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #212121 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  -moz-appearance: textfield;
}
body.oce-product-v2 .oce-qty input.qty::-webkit-outer-spin-button,
body.oce-product-v2 .oce-qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
body.oce-product-v2 form.cart .single_add_to_cart_button.button,
body.oce-product-v2 form.cart button.single_add_to_cart_button,
body.oce-product-v2 .oce-sticky-atc__btn {
  flex: 1 1 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  background: #2270E2 !important;
  color: #fff !important;
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  border-radius: 100px !important;
  line-height: 1 !important;
  border: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.oce-product-v2 form.cart .single_add_to_cart_button.button:hover,
body.oce-product-v2 .oce-sticky-atc__btn:hover {
  background: #1b5fc4 !important;
  color: #fff !important;
}
body.oce-product-v2 form.cart .single_add_to_cart_button.disabled,
body.oce-product-v2 .oce-sticky-atc__btn:disabled,
body.oce-product-v2 .oce-sticky-atc__btn.disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* Heavy-item note */
body.oce-product-v2 .oce-ship-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 16px;
  max-width: 520px;
}
body.oce-product-v2 .oce-ship-note svg {
  width: 18px;
  height: 18px;
  color: #4B5563;
  flex: 0 0 auto;
  margin-top: 2px;
}
body.oce-product-v2 .oce-ship-note p {
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #4B5563;
  margin: 0;
}


/* Visible 48-hour cancellation badge (Elementor icon-list cecdfb7 stays hidden as leftover chrome) */
body.oce-product-v2 .oce-trust-badge {
  margin-top: 16px;
  max-width: 520px;
}
body.oce-product-v2 .oce-trust-badge__title {
  margin: 0;
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  color: #212121;
}
body.oce-product-v2 .oce-trust-badge__sub {
  margin: 4px 0 0;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #4B5563;
}

/* ---- Description tabs / accordions ---- */
body.oce-product-v2 .elementor-187 .elementor-element-679c6dd {
  padding-top: 8px;
}
body.oce-product-v2 .woocommerce-tabs {
  font-family: Poppins, sans-serif;
  max-width: 1184px;
  margin: 0 auto;
  padding: 32px 0 72px;
  border-top: 1px solid #E5E7EB;
}
body.oce-product-v2 .oce-product-details-title {
  font-family: Poppins, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  color: #212121 !important;
  margin: 0 0 20px !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  margin: 0 0 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #E5E7EB !important;
  background: none !important;
  overflow: visible !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li {
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li a {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 48px;
  padding: 0 16px !important;
  font-family: Poppins, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4B5563 !important;
  background: transparent !important;
  white-space: nowrap;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li.active a,
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li a:hover {
  color: #232862 !important;
  font-weight: 600 !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li.active a::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -1px;
  height: 2px;
  background: #2270E2;
}
body.oce-product-v2 .woocommerce-tabs .woocommerce-Tabs-panel {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  max-width: 800px;
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #212121 !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel .oce-hide-panel-title,
body.oce-product-v2 .woocommerce-Tabs-panel > h2:first-child {
  display: none !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel h3,
body.oce-product-v2 .woocommerce-Tabs-panel h4 {
  font-family: Poppins, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #212121 !important;
  margin: 22px 0 10px !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel h3:first-child,
body.oce-product-v2 .woocommerce-Tabs-panel h4:first-child {
  margin-top: 0 !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel p {
  font-size: 16px;
  line-height: 1.65;
  color: #212121;
  margin: 0 0 12px;
}
body.oce-product-v2 .woocommerce-Tabs-panel ul {
  margin: 8px 0 16px;
  padding: 0;
  list-style: none;
}
body.oce-product-v2 .woocommerce-Tabs-panel li {
  position: relative;
  padding: 0 0 10px 18px;
  font-size: 16px;
  line-height: 1.55;
}
body.oce-product-v2 .woocommerce-Tabs-panel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #232862;
}
body.oce-product-v2 .woocommerce-Tabs-panel table,
body.oce-product-v2 .woocommerce-Tabs-panel table.shop_attributes,
body.oce-product-v2 .woocommerce-Tabs-panel table.woocommerce-product-attributes {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0 16px;
  border: 0 !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel table th,
body.oce-product-v2 .woocommerce-Tabs-panel table td {
  text-align: left;
  padding: 12px 16px 12px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #E5E7EB !important;
  font-size: 15px;
  vertical-align: top;
  background: none !important;
}
body.oce-product-v2 .woocommerce-Tabs-panel table th {
  font-weight: 500 !important;
  color: #4B5563 !important;
  width: 42%;
}
body.oce-product-v2 .woocommerce-Tabs-panel table td {
  font-weight: 500 !important;
  color: #212121 !important;
}
body.oce-product-v2 .oce-ship-policy {
  max-width: 720px;
}
body.oce-product-v2 .oce-ship-policy .oce-ship-rule {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #212121 !important;
  line-height: 1.4;
  margin: 0 0 14px !important;
}
body.oce-product-v2 .oce-ship-policy p {
  font-size: 16px;
  line-height: 1.65;
  color: #374151;
  margin: 0 0 14px;
}
body.oce-product-v2 .oce-ship-policy a {
  color: #1D4ED8;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Accordion triggers are desktop-hidden */
body.oce-product-v2 .oce-acc-trigger {
  display: none;
}

/* ---- Sticky add to cart ---- */
body.oce-product-v2 .oce-sticky-atc {
  display: none;
}
body.oce-product-v2.oce-sticky-desk .oce-sticky-atc--top {
  display: flex;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 9990;
  height: 72px;
  background: #fff;
  border-bottom: 1px solid #E5E7EB;
  box-shadow: 0 4px 16px rgba(17, 24, 39, .06);
  padding: 0 40px;
  align-items: center;
  gap: 20px;
}
body.oce-product-v2 .oce-sticky-atc__meta {
  flex: 1;
  min-width: 0;
}
body.oce-product-v2 .oce-sticky-atc__name {
  font-size: 15px;
  font-weight: 600;
  color: #212121;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.oce-product-v2 .oce-sticky-atc__price,
body.oce-product-v2 .oce-sticky-atc__price .amount,
body.oce-product-v2 .oce-sticky-atc__price ins {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #212121 !important;
  background: none !important;
  text-decoration: none !important;
}
body.oce-product-v2 .oce-sticky-atc__price del {
  display: none;
}
body.oce-product-v2.oce-sticky-desk .oce-sticky-atc--top .oce-sticky-atc__btn {
  flex: 0 0 auto;
  width: 200px;
  height: 52px;
}
body.oce-product-v2.oce-sticky-mob {
  padding-bottom: 80px;
}
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot {
  display: flex;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9990;
  background: #fff;
  border-top: 1px solid #E5E7EB;
  box-shadow: 0 -6px 20px rgba(17, 24, 39, .08);
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  align-items: center;
  gap: 12px;
}
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot .oce-sticky-atc__name {
  font-size: 13px;
}
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot .oce-sticky-atc__price,
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot .oce-sticky-atc__price .amount,
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot .oce-sticky-atc__price ins {
  font-size: 15px !important;
}
body.oce-product-v2.oce-sticky-mob .oce-sticky-atc--bot .oce-sticky-atc__btn {
  flex: 0 0 auto;
  width: 150px;
  height: 52px;
  padding: 0 14px !important;
  font-size: 15px !important;
}

/* ---- Mobile ---- */
@media (max-width: 767px) {
  body.oce-product-v2 .elementor-187 .elementor-element-1a1044f {
    --padding-block-start: 0 !important;
    --padding-block-end: 24px !important;
    padding-top: 0 !important;
    padding-bottom: 24px !important;
    --gap: 0 !important;
  }
  body.oce-product-v2 .elementor-187 .elementor-element-1a1044f > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-breadcrumb,
  body.oce-product-v2 .woocommerce-breadcrumb,
  body.oce-product-v2 .elementor-element-6c25493 {
    display: none !important;
  }
  /* Keep title + price + ATC on the first screen; short description follows */
  body.oce-product-v2 .elementor-187 .elementor-element-ee54e32 {
    display: flex !important;
    flex-direction: column !important;
  }
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-short-description {
    order: 8;
  }
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-add-to-cart {
    order: 4;
  }
  body.oce-product-v2 .elementor-element-2ed56b7 {
    order: 6;
  }
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-notices {
    order: 5;
  }

  /* Full-bleed 4:3 gallery */
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery {
    display: flex;
    flex-direction: column;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport,
  body.oce-product-v2 .woocommerce-product-gallery__wrapper {
    order: -1;
    border-radius: 0 !important;
    width: 100% !important;
    aspect-ratio: 4 / 3;
    background: #111;
    overflow: hidden;
    margin: 0 !important;
    position: relative;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .onsale,
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images .onsale {
    top: 12px !important;
    left: 12px !important;
    min-width: 52px !important;
    height: 52px !important;
    font-size: 13px !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs,
  body.oce-product-v2 .woocommerce-product-gallery ol.flex-control-nav {
    display: flex !important;
    flex-direction: row;
    gap: 8px;
    margin: 8px 16px 0 !important;
    padding: 0 !important;
    width: auto !important;
    overflow-x: auto;
    float: none !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li {
    float: none !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: 0 0 auto;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li img {
    width: 52px !important;
    height: 52px !important;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #E5E7EB;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    border: 2px solid #232862;
  }
  /* hide flexslider directional arrows if present so thumbs stay clean */
  body.oce-product-v2 .woocommerce-product-gallery .flex-direction-nav {
    display: none !important;
  }

  body.oce-product-v2 .elementor-187 .elementor-element-449b638 .elementor-heading-title,
  body.oce-product-v2 .product_title {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  body.oce-product-v2 .elementor-187 .elementor-element-30b4896 > .elementor-widget-container,
  body.oce-product-v2 .elementor-187 .elementor-element-30b4896 .price {
    margin-top: 8px !important;
    padding: 0 !important;
  }
  body.oce-product-v2 .elementor-187 .elementor-element-30b4896 .price,
  body.oce-product-v2 .price ins {
    font-size: 24px !important;
  }
  body.oce-product-v2 form.cart .quantity,
  body.oce-product-v2 .oce-qty {
    display: none !important;
  }
  body.oce-product-v2 form.cart,
  body.oce-product-v2 form.variations_form.cart .woocommerce-variation-add-to-cart {
    margin-top: 10px;
  }
  body.oce-product-v2 form.cart .single_add_to_cart_button.button {
    flex: 1 1 100%;
    width: 100% !important;
  }
  body.oce-product-v2 .oce-ship-note {
    margin-top: 12px;
    max-width: 100%;
  }

  /* Mobile accordions */
  body.oce-product-v2 .woocommerce-tabs {
    padding: 8px 0 72px;
    border-top: 0;
  }
  body.oce-product-v2 .oce-product-details-title {
    font-size: 20px !important;
    margin: 16px 0 8px !important;
  }
  body.oce-product-v2 .woocommerce-tabs ul.wc-tabs {
    display: none !important;
  }
  body.oce-product-v2 .oce-acc-trigger {
    display: flex;
    width: 100%;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    font-family: Poppins, sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #212121;
    padding: 12px 0;
    background: none;
    border: 0;
    border-top: 1px solid #E5E7EB;
    cursor: pointer;
  }
  body.oce-product-v2 .oce-acc-trigger .oce-acc-chev {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
    color: #4B5563;
    transition: transform .2s ease;
  }
  body.oce-product-v2 .oce-acc-trigger.is-open .oce-acc-chev {
    transform: rotate(180deg);
  }
  body.oce-product-v2 .woocommerce-tabs .woocommerce-Tabs-panel {
    display: none !important;
    padding: 0 0 20px !important;
    max-width: none;
  }
  body.oce-product-v2 .woocommerce-tabs .woocommerce-Tabs-panel.oce-acc-open {
    display: block !important;
  }
}

/* Don't let Photoswipe sit under the sticky bar issue; pswp is higher by default */
.pswp {
  z-index: 100000 !important;
}


/* ---- v2 fixes (later rules win inside 10Web aggregate) ---- */

/* Horizontal description tabs, not a left rail */
body.oce-product-v2 .woocommerce-tabs,
body.oce-product-v2 .woocommerce-tabs.wc-tabs-wrapper,
body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-data-tabs .woocommerce-tabs {
  display: block !important;
}
body.oce-product-v2 .woocommerce-tabs::before,
body.oce-product-v2 .woocommerce-tabs::after {
  content: none !important;
  display: none !important;
}
body.oce-product-v2 .woocommerce-tabs ul.tabs,
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  clear: both !important;
}
body.oce-product-v2 .woocommerce-tabs ul.wc-tabs li a {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.oce-product-v2 .woocommerce-tabs .woocommerce-Tabs-panel,
body.oce-product-v2 .woocommerce-tabs .panel {
  float: none !important;
  width: 100% !important;
  max-width: 800px !important;
  clear: both !important;
}

/* Gallery main image contained in the 4:3 stage; hide slider arrows */
body.oce-product-v2 .woocommerce-product-gallery .flex-direction-nav,
body.oce-product-v2 .woocommerce-product-gallery .flex-nav-prev,
body.oce-product-v2 .woocommerce-product-gallery .flex-nav-next {
  display: none !important;
}
body.oce-product-v2 .woocommerce-product-gallery img:not(.zoomImg) {
  opacity: 1 !important;
}
@media (min-width: 768px) {
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport {
    overflow: hidden !important;
    background: #F4F5F7;
    border-radius: 12px;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
    height: 100% !important;
    text-align: center;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }
}

/* Quantity stepper: do not inherit the primary Add to cart style */
@media (min-width: 768px) {
body.oce-product-v2 form.cart .oce-qty,
body.oce-product-v2 form.cart .quantity.oce-qty,
body.oce-product-v2 .elementor-element-ea2b83a form.cart .quantity.oce-qty {
  display: flex !important;
  align-items: center !important;
  width: 124px !important;
  min-width: 124px !important;
  height: 52px !important;
  border: 1px solid #D1D5DB !important;
  border-radius: 100px !important;
  background: #fff !important;
  overflow: hidden !important;
}
body.oce-product-v2 form.cart .oce-qty-btn,
body.oce-product-v2 form.cart button.oce-qty-btn,
body.oce-product-v2 .elementor-element-ea2b83a .cart button.oce-qty-btn,
body.oce-product-v2 .elementor-element-ea2b83a form.cart .oce-qty-btn {
  background: transparent !important;
  background-color: transparent !important;
  color: #212121 !important;
  width: 40px !important;
  min-width: 40px !important;
  flex: 0 0 40px !important;
  height: 52px !important;
  min-height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}
body.oce-product-v2 form.cart .oce-qty input.qty,
body.oce-product-v2 form.cart .quantity.oce-qty input.qty,
body.oce-product-v2 .elementor-element-ea2b83a .oce-qty input.qty {
  display: block !important;
  flex: 1 1 auto !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 52px !important;
  height: 52px !important;
  border: 0 !important;
  background: transparent !important;
  color: #212121 !important;
  text-align: center !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}
}

@media (max-width: 767px) {
  body.oce-product-v2 form.cart .quantity,
  body.oce-product-v2 form.cart .quantity.oce-qty,
  body.oce-product-v2 form.cart .oce-qty,
  body.oce-product-v2 .elementor-add-to-cart .quantity,
  body.oce-product-v2 .elementor-element-ea2b83a .quantity,
  body.oce-product-v2 form.cart .quantity[hidden] {
    display: none !important;
  }
  /* Full-bleed photo: drop side padding on the top product container */
  body.oce-product-v2 .elementor-187 .elementor-element-1a1044f > .e-con-inner,
  body.oce-product-v2 .elementor-187 .elementor-element-7f92373,
  body.oce-product-v2 .elementor-187 .elementor-element-7f92373 > .elementor-widget-container,
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images,
  body.oce-product-v2 .elementor-widget-twbb_woocommerce-product-images > .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
  }
  body.oce-product-v2 .elementor-187 .elementor-element-ee54e32,
  body.oce-product-v2 .elementor-187 .elementor-element-ee54e32 > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport,
  body.oce-product-v2 .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery__image img:not(.zoomImg) {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-thumbs,
  body.oce-product-v2 .woocommerce-product-gallery ol.flex-control-nav {
    margin: 8px 16px 0 !important;
  }
  body.oce-product-v2 form.cart .single_add_to_cart_button.button {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
}


/* ---- v2 mobile gallery leftovers: clip 4:3 stage, hide thumb chevrons ---- */
@media (max-width: 767px) {
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport,
  body.oce-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    overflow: hidden !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport,
  body.oce-product-v2 .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    width: 100% !important;
    max-width: 100vw !important;
    aspect-ratio: 4 / 3 !important;
    height: auto !important;
    max-height: calc(100vw * 3 / 4) !important;
    border-radius: 0 !important;
    position: relative !important;
  }
  /* Fill the 4:3 crop so a shorter first image cannot leave a gap for the next slide */
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a,
  body.oce-product-v2 .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child,
  body.oce-product-v2 .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child a,
  body.oce-product-v2 .woocommerce-product-gallery .flex-active-slide,
  body.oce-product-v2 .woocommerce-product-gallery .flex-active-slide a {
    height: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child img:not(.zoomImg),
  body.oce-product-v2 .woocommerce-product-gallery .flex-active-slide img:not(.zoomImg) {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  /* Hide leftover FlexSlider / theme chevrons on the thumbnail row */
  body.oce-product-v2 .woocommerce-product-gallery .flex-direction-nav,
  body.oce-product-v2 .woocommerce-product-gallery .flex-direction-nav li,
  body.oce-product-v2 .woocommerce-product-gallery .flex-direction-nav a,
  body.oce-product-v2 .woocommerce-product-gallery .flex-nav-prev,
  body.oce-product-v2 .woocommerce-product-gallery .flex-nav-next,
  body.oce-product-v2 .woocommerce-product-gallery a.flex-prev,
  body.oce-product-v2 .woocommerce-product-gallery a.flex-next,
  body.oce-product-v2 .flex-direction-nav,
  body.oce-product-v2 .flex-direction-nav a,
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-nav a.flex-prev,
  body.oce-product-v2 .woocommerce-product-gallery .flex-control-nav a.flex-next,
  body.oce-product-v2 .woocommerce-product-gallery .swiper-button-prev,
  body.oce-product-v2 .woocommerce-product-gallery .swiper-button-next,
  body.oce-product-v2 .swiper-button-prev.twbb-swiper-last,
  body.oce-product-v2 .swiper-button-next.twbb-swiper-last {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* FlexSlider's slide track is not the 4:3 stage. Keep aspect-ratio on the
   viewport only, otherwise a 2800% wrapper becomes thousands of pixels tall. */
body.oce-product-v2 .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper {
  aspect-ratio: auto !important;
  height: auto !important;
  max-height: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
