@charset "UTF-8";
/**
 * Ekomart WooCommerce Styles
 *
 * Only loaded when WooCommerce is active.
 * All styles scoped under body.ekomart-wc to avoid plugin conflicts.
 *
 * @package ekomart
 */
:root {
  --e-global-color-primary: #629D23;
  --e-global-color-secondary: #2C3C28;
  --e-global-color-text: #3C4144;
  --e-global-color-white: #fff;
  --transition: all .4s ease;
  --title-color: #1a1a1a;
}

body.ekomart-wc {
  /* -----------------------
      Shop — Product Grid
  --------------------------*/
}
body.ekomart-wc.woocommerce ul.products, body.ekomart-wc .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(var(--ekomart-shop-cols, 4), 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.ekomart-wc.woocommerce ul.products::before, body.ekomart-wc.woocommerce ul.products::after, body.ekomart-wc .woocommerce ul.products::before, body.ekomart-wc .woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}
body.ekomart-wc.woocommerce ul.products li.product, body.ekomart-wc .woocommerce ul.products li.product {
  margin: 0 !important;
  width: 100% !important;
  float: none !important;
  background: #f8f9fa;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  overflow: hidden;
  padding: 16px;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
body.ekomart-wc.woocommerce ul.products li.product:hover, body.ekomart-wc .woocommerce ul.products li.product:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
  transform: translateY(-3px);
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-image, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-image {
  position: relative;
  background: #fff;
  border-radius: 8px;
  padding: 20px 14px 20px;
  margin-bottom: 14px;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-image-link, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-image-link {
  display: block;
  text-decoration: none;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-image img, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-image img {
  width: 100%;
  height: 210px;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0 auto;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-badge, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-badge {
  position: absolute;
  top: 0;
  left: 18px;
  z-index: 2;
  background: #f0b431;
  color: #1f2937;
  padding: 9px 11px 18px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  letter-spacing: 0.2px;
  min-width: 44px;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%);
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-badge strong, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-badge strong {
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-badge span, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-badge span {
  display: block;
  font-size: 10px;
  font-weight: 600;
  text-transform: capitalize;
  margin-top: 2px;
}
body.ekomart-wc.woocommerce ul.products li.product .onsale, body.ekomart-wc .woocommerce ul.products li.product .onsale {
  display: none !important;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-body, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.ekomart-wc.woocommerce ul.products li.product .woocommerce-loop-product__title, body.ekomart-wc .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  padding: 0;
  margin: 0;
  line-height: 1.35;
  min-height: 2.7em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
body.ekomart-wc.woocommerce ul.products li.product .woocommerce-loop-product__title a, body.ekomart-wc .woocommerce ul.products li.product .woocommerce-loop-product__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s;
}
body.ekomart-wc.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover, body.ekomart-wc .woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
  color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-pack, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-pack {
  font-size: 13px;
  color: #9ca3af;
  line-height: 1.3;
}
body.ekomart-wc.woocommerce ul.products li.product, body.ekomart-wc .woocommerce ul.products li.product {
  /* Short description: hidden by default; opt-in via body class or in List view */
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-short, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-short {
  display: none;
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
  margin: 0;
}
body.ekomart-wc.woocommerce ul.products li.product .price, body.ekomart-wc .woocommerce ul.products li.product .price {
  padding: 0;
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: #ef4444;
  line-height: 1.2;
}
body.ekomart-wc.woocommerce ul.products li.product .price ins, body.ekomart-wc .woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 800;
  color: #ef4444;
}
body.ekomart-wc.woocommerce ul.products li.product .price del, body.ekomart-wc .woocommerce ul.products li.product .price del {
  color: #9ca3af;
  font-size: 13px;
  font-weight: 400;
  margin-left: 6px;
}
body.ekomart-wc.woocommerce ul.products li.product .star-rating, body.ekomart-wc .woocommerce ul.products li.product .star-rating {
  display: none;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-action, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-action {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin: 8px 0 0;
  justify-content: space-between;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-action--link, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-action--link {
  display: block;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-action, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-action {
  /* Hide WC's default "View Cart" link that appears after add — we morph the button itself. */
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-action .added_to_cart, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-action .added_to_cart {
  display: none !important;
}
body.ekomart-wc.woocommerce ul.products li.product, body.ekomart-wc .woocommerce ul.products li.product {
  /* Quantity edit: mirrors easy-elements-pro product-grid pattern
     (input on left, [- |+] buttons side-by-side on right) */
}
body.ekomart-wc.woocommerce ul.products li.product .quantity-edit, body.ekomart-wc .woocommerce ul.products li.product .quantity-edit {
  max-width: -moz-max-content;
  max-width: max-content;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 17px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(43, 66, 38, 0.12);
  border-radius: 4px;
  padding: 3px 10px;
  background: #fff;
  flex-shrink: 0;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-qty-input, body.ekomart-wc .woocommerce ul.products li.product .ekomart-qty-input {
  max-width: 26px;
  font-weight: 600;
  padding: 0;
  font-size: 14px;
  height: auto;
  line-height: 28px;
  box-shadow: none;
  background: transparent;
  outline: none;
  border: none;
  color: #1f2937;
  text-align: left;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-qty-input::-webkit-outer-spin-button, body.ekomart-wc.woocommerce ul.products li.product .ekomart-qty-input::-webkit-inner-spin-button, body.ekomart-wc .woocommerce ul.products li.product .ekomart-qty-input::-webkit-outer-spin-button, body.ekomart-wc .woocommerce ul.products li.product .ekomart-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action {
  display: flex;
  border: 1px solid rgba(43, 66, 38, 0.12);
  border-radius: 2px;
}
body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action .button, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action .button {
  max-width: -moz-max-content;
  max-width: max-content;
  font-size: 0;
  background-color: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  color: #4b5563;
  line-height: 0;
  transition: color 0.2s;
}
body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action .button:hover, body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action .button:focus, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action .button:hover, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action .button:focus {
  color: #16a34a;
  outline: none;
}
body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action .button svg, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action .button svg {
  width: 10px;
  height: auto;
  padding: 4px 6px;
  fill: currentColor;
  transition: 0.3s;
  display: block;
  box-sizing: content-box;
}
body.ekomart-wc.woocommerce ul.products li.product .button-wrapper-action .button:first-child, body.ekomart-wc .woocommerce ul.products li.product .button-wrapper-action .button:first-child {
  border-block: none !important;
  border-left: none !important;
  border-right: 1px solid rgba(43, 66, 38, 0.12);
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  background: transparent;
  color: #16a34a;
  border: 1px solid #16a34a;
  border-radius: 6px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.18s, color 0.18s, opacity 0.15s;
  white-space: nowrap;
  position: relative;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn:hover, body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn:focus, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn:hover, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn:focus {
  background: #16a34a;
  color: #fff;
  outline: none;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn {
  /* WC AJAX in-flight — hide the label/icon and show a spinner
     until WC fires `added_to_cart` and the button morphs to
     "View Cart" (which removes .loading). */
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.loading, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.loading {
  color: transparent !important;
  /* Force transparent bg so the (green) spinner stays visible
     even while the cursor hovers the button — the hover rule
     turns the background green, which would hide it. */
  background: transparent !important;
  pointer-events: none;
  cursor: wait;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.loading .ekomart-card-btn-icon, body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.loading > span, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.loading .ekomart-card-btn-icon, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.loading > span {
  visibility: hidden;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.loading::after, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(22, 163, 74, 0.35);
  border-top-color: #16a34a;
  border-radius: 50%;
  animation: ekomart-cart-spin 0.6s linear infinite;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn {
  /* After successful add — same look as base button, kept for any future tweaks. */
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added {
  background: #16a34a;
  color: #fff;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added:hover, body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added:focus, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added:hover, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn.ekomart-cart-added:focus {
  background: #15803d;
  color: #fff;
}
body.ekomart-wc.woocommerce ul.products li.product .ekomart-card-btn-icon, body.ekomart-wc .woocommerce ul.products li.product .ekomart-card-btn-icon {
  flex: 0 0 14px;
}
@media (max-width: 991px) {
  body.ekomart-wc.woocommerce ul.products, body.ekomart-wc .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}
@media (max-width: 767px) {
  body.ekomart-wc.woocommerce ul.products, body.ekomart-wc .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}
@media (max-width: 480px) {
  body.ekomart-wc.woocommerce ul.products, body.ekomart-wc .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}
body.ekomart-wc.woocommerce, body.ekomart-wc .woocommerce {
  /* ===========================================
     SHOP FILTER BAR
  =========================================== */
}
body.ekomart-wc.woocommerce .ekomart-filter-bar, body.ekomart-wc .woocommerce .ekomart-filter-bar {
  background: #F3F4F6;
  border: 1px solid #eef0f3;
  border-radius: 10px;
  padding: 18px 22px;
  margin: 0 0 24px;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__top, body.ekomart-wc .woocommerce .ekomart-filter-bar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #e5e7eb;
  flex-wrap: wrap;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__count, body.ekomart-wc .woocommerce .ekomart-filter-bar__count {
  font-size: 14px;
  color: #6b7280;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__actions, body.ekomart-wc .woocommerce .ekomart-filter-bar__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__sort, body.ekomart-wc .woocommerce .ekomart-filter-bar__sort {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #4b5563;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__sort-label, body.ekomart-wc .woocommerce .ekomart-filter-bar__sort-label {
  font-weight: 500;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__sort select.orderby, body.ekomart-wc .woocommerce .ekomart-filter-bar__sort select.orderby {
  border: 0;
  background: transparent;
  padding: 8px 0;
  font-size: 12px;
  font-weight: 400;
  color: #1f2937;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__view, body.ekomart-wc .woocommerce .ekomart-filter-bar__view {
  display: inline-flex;
  gap: 6px;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__bottom, body.ekomart-wc .woocommerce .ekomart-filter-bar__bottom {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  flex-wrap: wrap;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__field, body.ekomart-wc .woocommerce .ekomart-filter-bar__field {
  flex: 1 1 0;
  min-width: 150px;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__select, body.ekomart-wc .woocommerce .ekomart-filter-bar__select {
  width: 100%;
  height: 42px;
  padding: 0 32px 0 14px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 14px;
  color: #1f2937;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 14px;
  transition: border-color 0.15s;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__select:focus, body.ekomart-wc .woocommerce .ekomart-filter-bar__select:focus {
  border-color: #16a34a;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__buttons, body.ekomart-wc .woocommerce .ekomart-filter-bar__buttons {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__btn, body.ekomart-wc .woocommerce .ekomart-filter-bar__btn {
  height: 42px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 600;
  line-height: 42px;
  background: #fff;
  color: #1f2937;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
  white-space: nowrap;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__btn--apply:hover, body.ekomart-wc.woocommerce .ekomart-filter-bar__btn--apply:focus, body.ekomart-wc .woocommerce .ekomart-filter-bar__btn--apply:hover, body.ekomart-wc .woocommerce .ekomart-filter-bar__btn--apply:focus {
  background: #16a34a;
  color: #fff;
  border-color: #16a34a;
  outline: none;
}
body.ekomart-wc.woocommerce .ekomart-filter-bar__btn--reset:hover, body.ekomart-wc.woocommerce .ekomart-filter-bar__btn--reset:focus, body.ekomart-wc .woocommerce .ekomart-filter-bar__btn--reset:hover, body.ekomart-wc .woocommerce .ekomart-filter-bar__btn--reset:focus {
  background: #ef4444;
  color: #fff;
  border-color: #ef4444;
  outline: none;
}
body.ekomart-wc.woocommerce, body.ekomart-wc .woocommerce {
  /* Grid/List view toggle buttons */
}
body.ekomart-wc.woocommerce .ekomart-view-btn, body.ekomart-wc .woocommerce .ekomart-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  color: #6b7280;
  cursor: pointer;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
body.ekomart-wc.woocommerce .ekomart-view-btn svg, body.ekomart-wc .woocommerce .ekomart-view-btn svg {
  width: 16px;
  height: 16px;
  display: block;
}
body.ekomart-wc.woocommerce .ekomart-view-btn:hover, body.ekomart-wc.woocommerce .ekomart-view-btn:focus, body.ekomart-wc .woocommerce .ekomart-view-btn:hover, body.ekomart-wc .woocommerce .ekomart-view-btn:focus {
  color: #16a34a;
  outline: none;
}
body.ekomart-wc.woocommerce .ekomart-view-btn.is-active, body.ekomart-wc .woocommerce .ekomart-view-btn.is-active {
  background: #16a34a;
  border-color: #16a34a;
  color: #fff;
}
body.ekomart-wc.woocommerce, body.ekomart-wc .woocommerce {
  /* ===========================================
     LIST VIEW — horizontal card layout
  =========================================== */
}
body.ekomart-wc.woocommerce ul.products.products-list,
body.ekomart-wc.woocommerce .products-list ul.products, body.ekomart-wc .woocommerce ul.products.products-list,
body.ekomart-wc .woocommerce .products-list ul.products {
  grid-template-columns: repeat(var(--ekomart-shop-list-cols, 1), 1fr);
  gap: 16px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product,
body.ekomart-wc.woocommerce .products-list ul.products li.product, body.ekomart-wc .woocommerce ul.products.products-list li.product,
body.ekomart-wc .woocommerce .products-list ul.products li.product {
  flex-direction: row;
  padding: 14px;
  gap: 18px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-image,
body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-image, body.ekomart-wc .woocommerce ul.products.products-list li.product .ekomart-card-image,
body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-image {
  flex: 0 0 200px;
  margin-bottom: 0;
  padding: 14px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-image img,
body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-image img, body.ekomart-wc .woocommerce ul.products.products-list li.product .ekomart-card-image img,
body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-image img {
  height: 160px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-body,
body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-body, body.ekomart-wc .woocommerce ul.products.products-list li.product .ekomart-card-body,
body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-body {
  flex: 1;
  justify-content: center;
  gap: 8px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .woocommerce-loop-product__title,
body.ekomart-wc.woocommerce .products-list ul.products li.product .woocommerce-loop-product__title, body.ekomart-wc .woocommerce ul.products.products-list li.product .woocommerce-loop-product__title,
body.ekomart-wc .woocommerce .products-list ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px;
  min-height: 0;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .price,
body.ekomart-wc.woocommerce .products-list ul.products li.product .price, body.ekomart-wc .woocommerce ul.products.products-list li.product .price,
body.ekomart-wc .woocommerce .products-list ul.products li.product .price {
  font-size: 20px;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-action,
body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-action, body.ekomart-wc .woocommerce ul.products.products-list li.product .ekomart-card-action,
body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-action {
  margin-top: 4px;
  max-width: none;
  justify-content: space-between;
  align-items: center;
}
body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-btn,
body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-btn, body.ekomart-wc .woocommerce ul.products.products-list li.product .ekomart-card-btn,
body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-btn {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0 28px;
}
@media (max-width: 600px) {
  body.ekomart-wc.woocommerce ul.products.products-list,
  body.ekomart-wc.woocommerce .products-list ul.products, body.ekomart-wc .woocommerce ul.products.products-list,
  body.ekomart-wc .woocommerce .products-list ul.products {
    grid-template-columns: 1fr;
  }
  body.ekomart-wc.woocommerce .products-list ul.products li.product, body.ekomart-wc .woocommerce .products-list ul.products li.product {
    flex-direction: column;
  }
  body.ekomart-wc.woocommerce .products-list ul.products li.product .ekomart-card-image, body.ekomart-wc .woocommerce .products-list ul.products li.product .ekomart-card-image {
    flex: 0 0 auto;
    width: 100%;
  }
}
body.ekomart-wc.woocommerce .woocommerce-result-count,
body.ekomart-wc.woocommerce .woocommerce-ordering, body.ekomart-wc .woocommerce .woocommerce-result-count,
body.ekomart-wc .woocommerce .woocommerce-ordering {
  margin-bottom: 0;
}
body.ekomart-wc.woocommerce .woocommerce-ordering select, body.ekomart-wc .woocommerce .woocommerce-ordering select {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
}
body.ekomart-wc.woocommerce .woocommerce-ordering select:focus, body.ekomart-wc .woocommerce .woocommerce-ordering select:focus {
  border-color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.woocommerce nav.woocommerce-pagination, body.ekomart-wc .woocommerce nav.woocommerce-pagination {
  margin-top: 40px;
  text-align: center;
}
body.ekomart-wc.woocommerce nav.woocommerce-pagination ul, body.ekomart-wc .woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 6px;
  border: none;
  margin: 0;
  padding: 0;
}
body.ekomart-wc.woocommerce nav.woocommerce-pagination ul li, body.ekomart-wc .woocommerce nav.woocommerce-pagination ul li {
  border: none;
  margin: 0;
  padding: 0;
}
body.ekomart-wc.woocommerce nav.woocommerce-pagination ul li a, body.ekomart-wc.woocommerce nav.woocommerce-pagination ul li span, body.ekomart-wc .woocommerce nav.woocommerce-pagination ul li a, body.ekomart-wc .woocommerce nav.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  transition: all 0.2s;
  background: #fff;
}
body.ekomart-wc.woocommerce nav.woocommerce-pagination ul li a:hover,
body.ekomart-wc.woocommerce nav.woocommerce-pagination ul li span.current, body.ekomart-wc .woocommerce nav.woocommerce-pagination ul li a:hover,
body.ekomart-wc .woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
  color: #fff;
}
body.ekomart-wc .star-rating::before,
body.ekomart-wc .star-rating span::before {
  color: #FF9A00;
}
body.ekomart-wc {
  /* ======================================================
      Single Product Page — Elegant Design
      Scoped to ONLY single product page (body.single-product)
  =========================================================*/
}
body.ekomart-wc.single-product {
  background: #F3F4F6;
}
body.ekomart-wc.single-product .twpgy-easy-woo-gallery-image-area span.onsale {
  width: auto;
  height: auto;
  box-shadow: none !important;
}
body.ekomart-wc.single-product .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide {
  border: 1px solid #f1f1f1;
  opacity: 1;
  margin-left: 1px !important;
  margin-right: 11px !important;
}
body.ekomart-wc.single-product .shop-sidebar .widget {
  background: #F3F4F6;
  border: none;
  padding: 30px;
  box-shadow: none;
  border-radius: 6px;
}
body.ekomart-wc.single-product .twpgy-swiper-button-next, body.ekomart-wc.single-product .twpgy-swiper-button-prev {
  background: var(--e-global-color-primary, #629D23) !important;
  width: 32px !important;
  height: 32px !important;
}
body.ekomart-wc.single-product .twpgy-swiper-button-next:hover, body.ekomart-wc.single-product .twpgy-swiper-button-prev:hover {
  background: #1a1a1a !important;
}
body.ekomart-wc.single-product div.product {
  position: relative;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery {
  position: relative;
  margin-bottom: 30px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-viewport {
  border-radius: 16px;
  overflow: hidden;
  background: #f9fafb;
  margin-bottom: 18px !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  border-radius: 16px;
  overflow: hidden;
  background: #f9fafb;
  margin: 0 !important;
  padding: 4px !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
  height: 100%;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: 16px;
  width: 100% !important;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__image:hover img {
  transform: scale(1.04);
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  grid-auto-flow: row;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
  overflow: visible !important;
  width: 100% !important;
  clear: both;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::before, body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::after,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs::before,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs::after,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs::before,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs::after {
  display: none !important;
  content: none !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  cursor: pointer;
  aspect-ratio: 1/1;
  position: relative;
  background: #f9fafb;
  border: 2px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
  display: block;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li:hover,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li:hover {
  border-color: var(--e-global-color-primary, #629D23);
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(99, 102, 241, 0.15);
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active),
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li:has(img.flex-active),
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li:has(img.flex-active) {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 6px 18px rgba(99, 102, 241, 0.22);
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 8px;
  opacity: 0.82;
  transition: opacity 0.3s ease;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li img.flex-active,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active {
  opacity: 1;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li:hover img,
body.ekomart-wc.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs li:hover img {
  opacity: 1;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs {
  grid-template-columns: repeat(3, 1fr) !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs {
  grid-template-columns: repeat(4, 1fr) !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs {
  grid-template-columns: repeat(5, 1fr) !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-6 .flex-control-thumbs {
  grid-template-columns: repeat(6, 1fr) !important;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 50%;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
  text-indent: -9999px;
  overflow: hidden;
  transition: background 0.25s, transform 0.25s;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'></circle><line x1='21' y1='21' x2='16.65' y2='16.65'></line><line x1='11' y1='8' x2='11' y2='14'></line><line x1='8' y1='11' x2='14' y2='11'></line></svg>") center/contain no-repeat;
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
  background: var(--e-global-color-primary, #629D23);
  transform: scale(1.05);
}
body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover::before {
  filter: brightness(0) invert(1);
}
body.ekomart-wc.single-product div.product .product_title {
  font-size: 32px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 14px;
  line-height: 1.25;
  letter-spacing: -0.5px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .star-rating {
  font-size: 14px;
  margin: 0;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .woocommerce-review-link {
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s;
  margin-left: 10px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .woocommerce-review-link:hover {
  color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product p.price,
body.ekomart-wc.single-product div.product span.price {
  font-size: 36px;
  font-weight: 700;
  color: #DC2626;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px dashed #e5e7eb;
  line-height: 1.3;
  letter-spacing: -0.5px;
}
body.ekomart-wc.single-product div.product p.price .woocommerce-Price-currencySymbol,
body.ekomart-wc.single-product div.product span.price .woocommerce-Price-currencySymbol {
  font-size: 22px;
  font-weight: 700;
  margin-right: 2px;
  opacity: 0.85;
}
body.ekomart-wc.single-product div.product p.price del,
body.ekomart-wc.single-product div.product span.price del {
  color: #cfcfcf;
  font-size: 20px;
  font-weight: 600;
  margin-right: 10px;
  opacity: 0.7;
}
body.ekomart-wc.single-product div.product p.price ins,
body.ekomart-wc.single-product div.product span.price ins {
  text-decoration: none;
  background: transparent;
  font-weight: 700;
}
body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description {
  font-size: 15px;
  line-height: 1.75;
  color: #4b5563;
  margin-bottom: 24px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description p {
  margin: 0 0 12px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0;
}
body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description ul, body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description ol {
  margin: 0 0 12px;
  padding-left: 20px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description ul li, body.ekomart-wc.single-product div.product .woocommerce-product-details__short-description ol li {
  margin-bottom: 6px;
}
body.ekomart-wc.single-product div.product .stock {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 18px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 20px;
}
body.ekomart-wc.single-product div.product .stock.in-stock {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
body.ekomart-wc.single-product div.product .stock.in-stock::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}
body.ekomart-wc.single-product div.product .stock.out-of-stock {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
body.ekomart-wc.single-product div.product .stock.out-of-stock::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ef4444;
}
body.ekomart-wc.single-product div.product .easyel-compare-btn {
  margin-right: 20px;
}
body.ekomart-wc.single-product div.product .easyel-wishlist-btn .easyel-wishlist-icon,
body.ekomart-wc.single-product div.product .easyel-compare-btn .easyel-compare-icon {
  width: 35px;
  height: 35px;
  border: 1px solid #ddd;
  padding: 7px;
  border-radius: 4px;
}
body.ekomart-wc.single-product div.product form.cart {
  margin: 0 0 26px;
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}
body.ekomart-wc.single-product div.product form.cart .quantity {
  position: relative;
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  height: 52px;
}
body.ekomart-wc.single-product div.product form.cart .quantity .qty {
  width: 60px;
  height: 100%;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  outline: none;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}
body.ekomart-wc.single-product div.product form.cart .quantity .qty::-webkit-outer-spin-button, body.ekomart-wc.single-product div.product form.cart .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
body.ekomart-wc.single-product div.product form.cart .quantity:focus-within {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button,
body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button {
  height: 52px;
  padding: 0 36px;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s, transform 0.25s, box-shadow 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button:hover,
body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button:hover {
  background: #111827;
  color: #fff;
  box-shadow: 0 12px 28px rgba(99, 102, 241, 0.25);
}
body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button:active,
body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button:active {
  transform: translateY(0);
}
body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button.disabled,
body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button.disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
body.ekomart-wc.single-product div.product form.cart .variations {
  width: 100%;
  border: none;
  margin: 0 0 18px;
  background: #f9fafb;
  border-radius: 12px;
  padding: 16px 18px;
  border: 1px solid #f0f0f0;
}
body.ekomart-wc.single-product div.product form.cart .variations tr {
  border: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 12px;
  gap: 10px;
}
body.ekomart-wc.single-product div.product form.cart .variations tr:last-child {
  margin-bottom: 0;
}
body.ekomart-wc.single-product div.product form.cart .variations th, body.ekomart-wc.single-product div.product form.cart .variations td {
  padding: 0;
  border: none;
  vertical-align: middle;
  background: none;
}
body.ekomart-wc.single-product div.product form.cart .variations th.label {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  width: 100px;
  flex-shrink: 0;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
body.ekomart-wc.single-product div.product form.cart .variations th.label label {
  margin: 0;
  cursor: default;
}
body.ekomart-wc.single-product div.product form.cart .variations td.value {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.ekomart-wc.single-product div.product form.cart .variations select {
  flex: 1;
  min-width: 160px;
  height: 46px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 8px 38px 8px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>") no-repeat right 14px center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: none;
  cursor: pointer;
  transition: border-color 0.25s, box-shadow 0.25s;
}
body.ekomart-wc.single-product div.product form.cart .variations select:hover {
  border-color: #d1d5db;
}
body.ekomart-wc.single-product div.product form.cart .variations select:focus {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
body.ekomart-wc.single-product div.product form.cart .variations .reset_variations {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #ef4444;
  text-decoration: none;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 6px;
  background: rgba(239, 68, 68, 0.08);
  transition: background 0.2s, color 0.2s;
  visibility: visible !important;
}
body.ekomart-wc.single-product div.product form.cart .variations .reset_variations::before {
  content: "×";
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
}
body.ekomart-wc.single-product div.product form.cart .variations .reset_variations:hover {
  background: #ef4444;
  color: #fff;
  text-decoration: none;
}
body.ekomart-wc.single-product div.product form.cart .single_variation_wrap {
  width: 100%;
}
body.ekomart-wc.single-product div.product form.cart .single_variation_wrap .woocommerce-variation {
  margin-bottom: 16px;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-price {
  width: 100%;
  margin: 0 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px dashed #e5e7eb;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-price .price {
  padding: 0;
  border: none;
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  color: var(--e-global-color-primary, #629D23);
  line-height: 1.3;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-price .price .woocommerce-Price-currencySymbol {
  font-size: 18px;
  font-weight: 700;
  margin-right: 2px;
  opacity: 0.85;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-price .price del {
  color: #9ca3af;
  font-size: 16px;
  font-weight: 500;
  margin-right: 8px;
  opacity: 0.7;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-price .price ins {
  text-decoration: none;
  background: transparent;
  font-weight: 800;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-availability {
  width: 100%;
  margin: 0 0 14px;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-availability p {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 20px;
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-availability p::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-availability p.out-of-stock {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-availability p.out-of-stock::before {
  background: #ef4444;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-description {
  width: 100%;
  margin: 0 0 16px;
  padding: 12px 16px;
  background: #f9fafb;
  border-left: 3px solid var(--e-global-color-primary, #629D23);
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.6;
  color: #4b5563;
}
body.ekomart-wc.single-product div.product form.cart .woocommerce-variation-description p {
  margin: 0;
}
body.ekomart-wc.single-product div.product .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
  background: #e5e7eb !important;
  color: #9ca3af !important;
  cursor: not-allowed !important;
  pointer-events: none;
  box-shadow: none !important;
  transform: none !important;
}
body.ekomart-wc.single-product div.product .onsale,
body.ekomart-wc.single-product div.product span.onsale {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 5;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 14px;
  border-radius: 24px;
  line-height: 1.4;
  min-height: auto;
  min-width: auto;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin: 0;
  box-shadow: 0 6px 18px rgba(239, 68, 68, 0.3);
  pointer-events: none;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list,
body.ekomart-wc.single-product div.product table.group_table {
  width: 100%;
  margin: 0 0 22px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list tr,
body.ekomart-wc.single-product div.product table.group_table tr {
  transition: background 0.2s ease;
  border: none;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list tr:hover,
body.ekomart-wc.single-product div.product table.group_table tr:hover {
  background: #f9fafb;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list tr:not(:last-child) td,
body.ekomart-wc.single-product div.product table.group_table tr:not(:last-child) td {
  border-bottom: 1px solid #f0f0f0;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list td,
body.ekomart-wc.single-product div.product table.group_table td {
  padding: 14px 16px;
  vertical-align: middle;
  border: none;
  background: none;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity {
  width: 110px;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity .quantity,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity {
  display: inline-flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  height: 42px;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity .quantity .qty,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity .qty {
  width: 60px;
  height: 100%;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  outline: none;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-outer-spin-button, body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-inner-spin-button,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-outer-spin-button,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__quantity .quantity:focus-within,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__quantity .quantity:focus-within {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label label,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__label label {
  margin: 0;
  font-weight: 600;
  font-size: 15px;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label label a,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__label label a {
  color: #111827;
  text-decoration: none;
  transition: color 0.2s;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__label label a:hover,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__label label a:hover {
  color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price {
  text-align: right;
  width: 130px;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .price,
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .amount,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .price,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .amount {
  font-size: 16px;
  font-weight: 700;
  color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .price del,
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .amount del,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .price del,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .amount del {
  color: #9ca3af;
  font-size: 13px;
  font-weight: 500;
  margin-right: 6px;
  opacity: 0.7;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .price ins,
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .amount ins,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .price ins,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .amount ins {
  text-decoration: none;
  background: transparent;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .stock,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .stock {
  display: block;
  margin-top: 4px;
  padding: 0;
  background: none;
  font-size: 11px;
  font-weight: 600;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .stock.in-stock,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .stock.in-stock {
  color: #059669;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .stock.in-stock::before,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .stock.in-stock::before {
  display: none;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .stock.out-of-stock,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .stock.out-of-stock {
  color: #dc2626;
}
body.ekomart-wc.single-product div.product .woocommerce-grouped-product-list .woocommerce-grouped-product-list-item__price .stock.out-of-stock::before,
body.ekomart-wc.single-product div.product table.group_table .woocommerce-grouped-product-list-item__price .stock.out-of-stock::before {
  display: none;
}
body.ekomart-wc.single-product div.product .single_add_to_cart_button.product_type_external {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.ekomart-wc.single-product div.product .single_add_to_cart_button.product_type_external::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'></path><polyline points='15 3 21 3 21 9'></polyline><line x1='10' y1='14' x2='21' y2='3'></line></svg>") center/contain no-repeat;
  display: inline-block;
}
body.ekomart-wc.single-product div.product .woocommerce-message,
body.ekomart-wc.single-product div.product p.stock.available-on-backorder {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
  border-left: 3px solid #f59e0b;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 16px;
}
body.ekomart-wc.single-product div.product .woocommerce-info {
  background: rgba(99, 102, 241, 0.08);
  color: #629D23;
  border-left: 3px solid var(--e-global-color-primary, #629D23);
  padding: 12px 18px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 18px;
}
body.ekomart-wc.single-product div.product .woocommerce-info a {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 600;
  text-decoration: none;
}
body.ekomart-wc.single-product div.product .woocommerce-info a:hover {
  text-decoration: underline;
}
body.ekomart-wc.single-product div.product.outofstock form.cart .single_add_to_cart_button,
body.ekomart-wc.single-product div.product .product.outofstock form.cart .single_add_to_cart_button {
  background: #e5e7eb !important;
  color: #6b7280 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}
body.ekomart-wc.single-product div.product.outofstock form.cart .single_add_to_cart_button:hover,
body.ekomart-wc.single-product div.product .product.outofstock form.cart .single_add_to_cart_button:hover {
  background: #e5e7eb !important;
  color: #6b7280 !important;
  transform: none !important;
}
body.ekomart-wc.single-product div.product .group-actions {
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}
body.ekomart-wc.single-product div.product .group-actions a, body.ekomart-wc.single-product div.product .group-actions button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.25s;
  cursor: pointer;
}
body.ekomart-wc.single-product div.product .group-actions a:hover, body.ekomart-wc.single-product div.product .group-actions button:hover {
  color: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
  background: #fff;
}
body.ekomart-wc.single-product div.product .product_meta {
  font-size: 14px;
  color: #6E777D;
  padding: 18px 0 0;
  border-top: 1px solid #f0f0f0;
  margin-top: 6px;
}
body.ekomart-wc.single-product div.product .product_meta > span {
  display: block;
  margin-bottom: 8px;
  line-height: 1.6;
}
body.ekomart-wc.single-product div.product .product_meta > span:last-child {
  margin-bottom: 0;
}
body.ekomart-wc.single-product div.product .product_meta > span .posted_in,
body.ekomart-wc.single-product div.product .product_meta > span .tagged_as,
body.ekomart-wc.single-product div.product .product_meta > span .sku_wrapper {
  font-weight: 400;
  color: #6E777D;
  margin-right: 6px;
}
body.ekomart-wc.single-product div.product .product_meta > span a {
  color: #6E777D;
  text-decoration: none;
  font-weight: 400;
  transition: color 0.2s;
}
body.ekomart-wc.single-product div.product .product_meta > span a:hover {
  color: #6E777D;
  text-decoration: underline;
}
body.ekomart-wc.single-product div.product .product_meta > span .sku {
  color: #6E777D;
  font-weight: 400;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs {
  margin-top: 60px;
  clear: both;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0 0 30px;
  padding: 6px;
  background: #f9fafb;
  border: 1px solid #f0f0f0;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs::before, body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  border-radius: 0;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li::before, body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 26px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  border-radius: 6px;
  border-bottom: none;
  margin: 0;
  transition: all 0.25s ease;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li.active a {
  color: #fff;
  background: var(--e-global-color-primary, #629D23);
  border-bottom: none;
  box-shadow: 0 6px 16px rgba(99, 102, 241, 0.25);
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: none;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel h2,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 18px;
  color: #0f172a;
  letter-spacing: -0.3px;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel p,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel p {
  font-size: 15px;
  line-height: 1.8;
  color: #4b5563;
  margin-bottom: 14px;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  overflow: hidden;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes th, body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes td,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes th,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes td {
  padding: 8px 0px !important;
  font-size: 14px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes th,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes th {
  font-weight: 600;
  color: #111827;
  background: none !important;
  width: 30%;
  text-align: left;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes td,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes td {
  color: #4b5563;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes td:nth-child(even),
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes td:nth-child(even) {
  padding-left: 26px !important;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes tr:last-child th, body.ekomart-wc.single-product div.product .woocommerce-tabs .panel .shop_attributes tr:last-child td,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes tr:last-child th,
body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel .shop_attributes tr:last-child td {
  border-bottom: none;
}
body.ekomart-wc.single-product div.product #reviews .commentlist,
body.ekomart-wc.single-product div.product #reviews ol.commentlist {
  list-style: none;
  padding: 0;
  margin: 0 0 30px;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  padding: 20px 22px;
  margin-bottom: 14px;
  list-style: none;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment_container,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment_container,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment_container,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment_container {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review img.avatar,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment img.avatar,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review img.avatar,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment img.avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid #f0f0f0;
  padding: 0;
  position: static;
  float: none;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment-text,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment-text,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment-text,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment-text {
  flex: 1;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment-text .meta,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment-text .meta,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment-text .meta,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment-text .meta {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 6px;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment-text .meta strong,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment-text .meta strong,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment-text .meta strong,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment-text .meta strong {
  color: #111827;
  font-size: 14px;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment-text .star-rating,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment-text .star-rating,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment-text .star-rating,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment-text .star-rating {
  margin-bottom: 8px;
  font-size: 13px;
}
body.ekomart-wc.single-product div.product #reviews .commentlist li.review .comment-text .description p,
body.ekomart-wc.single-product div.product #reviews .commentlist li.comment .comment-text .description p,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.review .comment-text .description p,
body.ekomart-wc.single-product div.product #reviews ol.commentlist li.comment .comment-text .description p {
  font-size: 14px;
  line-height: 1.7;
  color: #4b5563;
  margin: 0;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper {
  background: #f9fafb;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #f0f0f0;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper #reply-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 16px;
  color: #0f172a;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .comment-form-rating label,
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .comment-form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 6px;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .stars {
  margin-bottom: -5px;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .stars a {
  color: #f59e0b;
  font-size: 16px;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper input[type=text],
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper input[type=email],
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper textarea {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
  background: #fff;
  outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
  margin-bottom: 0;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper input[type=text]:focus,
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper input[type=email]:focus,
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper textarea:focus {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper textarea {
  min-height: 110px;
  resize: vertical;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .form-submit input[type=submit] {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 30px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s, transform 0.25s, box-shadow 0.3s;
}
body.ekomart-wc.single-product div.product #reviews #review_form_wrapper .form-submit input[type=submit]:hover {
  background: #111827;
  box-shadow: 0 10px 24px rgba(99, 102, 241, 0.25);
}
body.ekomart-wc.single-product div.product .related.products,
body.ekomart-wc.single-product div.product .upsells.products {
  margin-top: 60px;
  padding-top: 50px;
  border-top: 1px solid #f0f0f0;
  clear: both;
}
body.ekomart-wc.single-product div.product .related.products > h2,
body.ekomart-wc.single-product div.product .upsells.products > h2 {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 28px;
  color: #0f172a;
  letter-spacing: -0.4px;
  position: relative;
  padding-bottom: 12px;
}
body.ekomart-wc.single-product div.product .related.products > h2::after,
body.ekomart-wc.single-product div.product .upsells.products > h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 3px;
  border-radius: 4px;
  background: var(--e-global-color-primary, #629D23);
}
@media (max-width: 991px) {
  body.ekomart-wc.single-product div.product .product_title {
    font-size: 26px;
  }
  body.ekomart-wc.single-product div.product p.price,
  body.ekomart-wc.single-product div.product span.price {
    font-size: 24px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 10px 18px;
    font-size: 13px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
}
@media (max-width: 767px) {
  body.ekomart-wc.single-product div.product .product_title {
    font-size: 22px;
  }
  body.ekomart-wc.single-product div.product p.price, body.ekomart-wc.single-product div.product span.price {
    font-size: 22px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-product-gallery {
    margin-bottom: 24px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px;
  }
  body.ekomart-wc.single-product div.product form.cart {
    gap: 10px;
  }
  body.ekomart-wc.single-product div.product form.cart .quantity {
    height: 48px;
  }
  body.ekomart-wc.single-product div.product form.cart .quantity .qty {
    width: 56px;
  }
  body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button {
    height: 48px;
    padding: 0 24px;
    font-size: 13px;
    flex: 1;
  }
  body.ekomart-wc.single-product div.product .woocommerce-tabs {
    margin-top: 40px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs {
    padding: 4px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li a {
    padding: 9px 16px;
    font-size: 13px;
  }
  body.ekomart-wc.single-product div.product .woocommerce-tabs .panel h2,
  body.ekomart-wc.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    font-size: 18px;
  }
  body.ekomart-wc.single-product div.product .related.products > h2,
  body.ekomart-wc.single-product div.product .upsells.products > h2 {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
body.ekomart-wc {
  /* Short description reveal rules — one per Customizer toggle.
     Selectors include `.woocommerce` so they MATCH the base hide rule's
     specificity (5 classes + 2 elements). Later rule wins on tie. */
}
body.ekomart-wc.ekomart-show-short-grid.woocommerce ul.products:not(.products-list) li.product .ekomart-card-short, body.ekomart-wc.ekomart-show-short-grid .woocommerce ul.products:not(.products-list) li.product .ekomart-card-short {
  display: block;
}
body.ekomart-wc.ekomart-show-short-list.woocommerce ul.products.products-list li.product .ekomart-card-short, body.ekomart-wc.ekomart-show-short-list .woocommerce ul.products.products-list li.product .ekomart-card-short {
  display: block;
}

/* -----------------------
    Shop Sidebar
    (scoped — no conflict)
--------------------------*/
.ekomart-wc .shop-sidebar .widget {
  background: #fff;
  border: 1px solid #e7eaee;
  border-radius: 10px;
  padding: 24px 26px;
  margin-bottom: 22px;
  transition: box-shadow 0.2s ease;
}
.ekomart-wc .shop-sidebar .widget:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
.ekomart-wc .shop-sidebar .widget:last-child {
  margin-bottom: 0;
}
.ekomart-wc .shop-sidebar .widget-title,
.ekomart-wc .shop-sidebar .widgettitle,
.ekomart-wc .shop-sidebar h2.widget-title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #eef0f3;
  color: #1a3d2e;
  line-height: 1.3;
}
.ekomart-wc .shop-sidebar .widget-title::after,
.ekomart-wc .shop-sidebar .widgettitle::after,
.ekomart-wc .shop-sidebar h2.widget-title::after {
  content: none;
}
.ekomart-wc .shop-sidebar ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ekomart-wc .shop-sidebar ul li {
  padding: 6px 0;
  border-bottom: none;
  font-size: 14px;
  line-height: 1.5;
  color: #4b5563;
}
.ekomart-wc .shop-sidebar ul li a {
  color: #4b5563;
  text-decoration: none;
  transition: color 0.2s;
}
.ekomart-wc .shop-sidebar ul li a:hover {
  color: var(--e-global-color-primary, #629D23);
}
.ekomart-wc .shop-sidebar ul li ul {
  padding-left: 18px;
  margin-top: 4px;
}
.ekomart-wc .shop-sidebar input[type=checkbox] {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0 10px 0 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff;
  border: 1.5px solid #d1d5db;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  vertical-align: middle;
  transition: background-color 0.15s, border-color 0.15s;
}
.ekomart-wc .shop-sidebar input[type=checkbox]:hover {
  border-color: #9ca3af;
}
.ekomart-wc .shop-sidebar input[type=checkbox]:checked {
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
}
.ekomart-wc .shop-sidebar input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.ekomart-wc .shop-sidebar input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}
.ekomart-wc .shop-sidebar .woocommerce-widget-layered-nav-list li,
.ekomart-wc .shop-sidebar .wc-block-checkbox-list li,
.ekomart-wc .shop-sidebar .wc-block-product-categories-list li,
.ekomart-wc .shop-sidebar ul.wc-block-components-checkbox-list li {
  display: flex;
  align-items: center;
  padding: 7px 0;
}
.ekomart-wc .shop-sidebar .woocommerce-widget-layered-nav-list li label,
.ekomart-wc .shop-sidebar .woocommerce-widget-layered-nav-list li .wc-block-components-checkbox__label,
.ekomart-wc .shop-sidebar .wc-block-checkbox-list li label,
.ekomart-wc .shop-sidebar .wc-block-checkbox-list li .wc-block-components-checkbox__label,
.ekomart-wc .shop-sidebar .wc-block-product-categories-list li label,
.ekomart-wc .shop-sidebar .wc-block-product-categories-list li .wc-block-components-checkbox__label,
.ekomart-wc .shop-sidebar ul.wc-block-components-checkbox-list li label,
.ekomart-wc .shop-sidebar ul.wc-block-components-checkbox-list li .wc-block-components-checkbox__label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  color: #4b5563;
  font-size: 14px;
  flex: 1;
  margin: 0;
}
.ekomart-wc .shop-sidebar .woocommerce-widget-layered-nav-list li a,
.ekomart-wc .shop-sidebar .wc-block-checkbox-list li a,
.ekomart-wc .shop-sidebar .wc-block-product-categories-list li a,
.ekomart-wc .shop-sidebar ul.wc-block-components-checkbox-list li a {
  display: inline-flex;
  align-items: center;
  flex: 1;
}
.ekomart-wc .shop-sidebar .count,
.ekomart-wc .shop-sidebar .tag-link-count {
  color: #9ca3af;
  font-size: 13px;
  font-weight: 400;
  margin-left: auto;
  padding-left: 8px;
}
.ekomart-wc .shop-sidebar .count::before,
.ekomart-wc .shop-sidebar .tag-link-count::before {
  content: "";
}
.ekomart-wc .shop-sidebar ul.product-categories li a,
.ekomart-wc .shop-sidebar .woocommerce-widget-layered-nav-list li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ekomart-wc .shop-sidebar .widget.brandix-widget .brandix-widget__link:hover .brandix-widget__name,
.ekomart-wc .shop-sidebar .widget.brandix-widget .brandix-widget__link:focus .brandix-widget__name {
  text-decoration: none;
}
.ekomart-wc .shop-sidebar .widget_product_categories ul li,
.ekomart-wc .shop-sidebar .widget_categories ul li,
.ekomart-wc .shop-sidebar .widget_product_brand ul li,
.ekomart-wc .shop-sidebar .widget_layered_nav ul li,
.ekomart-wc .shop-sidebar .widget.brandix-widget ul li {
  position: relative;
  padding-left: 28px;
  display: block;
}
.ekomart-wc .shop-sidebar .widget_product_categories ul li::before,
.ekomart-wc .shop-sidebar .widget_categories ul li::before,
.ekomart-wc .shop-sidebar .widget_product_brand ul li::before,
.ekomart-wc .shop-sidebar .widget_layered_nav ul li::before,
.ekomart-wc .shop-sidebar .widget.brandix-widget ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1.5px solid #d1d5db;
  border-radius: 3px;
  background: #fff;
  transition: background-color 0.15s, border-color 0.15s;
  pointer-events: none;
}
.ekomart-wc .shop-sidebar .widget_product_categories ul li:hover::before,
.ekomart-wc .shop-sidebar .widget_categories ul li:hover::before,
.ekomart-wc .shop-sidebar .widget_product_brand ul li:hover::before,
.ekomart-wc .shop-sidebar .widget_layered_nav ul li:hover::before,
.ekomart-wc .shop-sidebar .widget.brandix-widget ul li:hover::before {
  border-color: #9ca3af;
}
.ekomart-wc .shop-sidebar .widget_product_categories ul li a,
.ekomart-wc .shop-sidebar .widget_categories ul li a,
.ekomart-wc .shop-sidebar .widget_product_brand ul li a,
.ekomart-wc .shop-sidebar .widget_layered_nav ul li a,
.ekomart-wc .shop-sidebar .widget.brandix-widget ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  transition: color 0.15s;
}
.ekomart-wc .shop-sidebar .widget_product_categories ul li.is-active > a,
.ekomart-wc .shop-sidebar .widget_categories ul li.is-active > a,
.ekomart-wc .shop-sidebar .widget_product_brand ul li.is-active > a,
.ekomart-wc .shop-sidebar .widget_layered_nav ul li.is-active > a,
.ekomart-wc .shop-sidebar .widget.brandix-widget ul li.is-active > a {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 600;
}
.ekomart-wc .shop-sidebar .widget_price_filter .price_slider_wrapper {
  padding-top: 8px;
}
.ekomart-wc .shop-sidebar .widget_price_filter .ui-slider {
  background: #e5e7eb;
  border: none;
  border-radius: 4px;
  height: 6px;
}
.ekomart-wc .shop-sidebar .widget_price_filter .ui-slider .ui-slider-range {
  background: var(--e-global-color-primary, #629D23);
  border-radius: 4px;
}
.ekomart-wc .shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--e-global-color-primary, #629D23);
  top: -6px;
  cursor: grab;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.ekomart-wc .shop-sidebar .widget_price_filter .ui-slider .ui-slider-handle:focus {
  outline: none;
}
.ekomart-wc .shop-sidebar .widget_price_filter .price_label {
  font-size: 14px;
  color: #555;
  margin-top: 10px;
}
.ekomart-wc .shop-sidebar .widget_price_filter .button {
  margin-top: 12px;
  font-size: 13px;
}
.ekomart-wc .shop-sidebar .search-form,
.ekomart-wc .shop-sidebar .woocommerce-product-search {
  display: flex;
}
.ekomart-wc .shop-sidebar .search-form input[type=search],
.ekomart-wc .shop-sidebar .search-form .search-field,
.ekomart-wc .shop-sidebar .woocommerce-product-search input[type=search],
.ekomart-wc .shop-sidebar .woocommerce-product-search .search-field {
  flex: 1;
  border: 1px solid #e5e7eb;
  border-right: none;
  border-radius: 6px 0 0 6px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
}
.ekomart-wc .shop-sidebar .search-form input[type=search]:focus,
.ekomart-wc .shop-sidebar .search-form .search-field:focus,
.ekomart-wc .shop-sidebar .woocommerce-product-search input[type=search]:focus,
.ekomart-wc .shop-sidebar .woocommerce-product-search .search-field:focus {
  border-color: var(--e-global-color-primary, #629D23);
}
.ekomart-wc .shop-sidebar .search-form button,
.ekomart-wc .shop-sidebar .search-form .search-submit,
.ekomart-wc .shop-sidebar .woocommerce-product-search button,
.ekomart-wc .shop-sidebar .woocommerce-product-search .search-submit {
  border-radius: 0 6px 6px 0;
  padding: 8px 16px;
  border: none;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  cursor: pointer;
  font-size: 14px;
}
.ekomart-wc .shop-sidebar .search-form button:hover,
.ekomart-wc .shop-sidebar .search-form .search-submit:hover,
.ekomart-wc .shop-sidebar .woocommerce-product-search button:hover,
.ekomart-wc .shop-sidebar .woocommerce-product-search .search-submit:hover {
  opacity: 0.85;
}
.ekomart-wc .shop-sidebar .wc-layered-nav-rating a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  text-decoration: none;
  color: #444;
}
.ekomart-wc .shop-sidebar .wc-layered-nav-rating a:hover {
  color: var(--e-global-color-primary, #629D23);
}
.ekomart-wc .shop-sidebar .wc-layered-nav-rating a .star-rating {
  font-size: 13px;
}
.ekomart-wc .shop-sidebar .tagcloud,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ekomart-wc .shop-sidebar .tagcloud a,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud a {
  position: relative;
  padding: 7px 0 7px 28px;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  color: #4b5563;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.ekomart-wc .shop-sidebar .tagcloud a::before,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1.5px solid #d1d5db;
  border-radius: 3px;
  background: #fff;
  transition: border-color 0.15s;
  pointer-events: none;
}
.ekomart-wc .shop-sidebar .tagcloud a:hover,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud a:hover {
  background: transparent;
  color: #4b5563;
}
.ekomart-wc .shop-sidebar .tagcloud a:hover::before,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud a:hover::before {
  border-color: #9ca3af;
}
.ekomart-wc .shop-sidebar .tagcloud a.is-active,
.ekomart-wc .shop-sidebar .widget_product_tag_cloud .tagcloud a.is-active {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 600;
  background: transparent;
}
.ekomart-wc .shop-sidebar .widget_media_image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.ekomart-wc .shop-sidebar .widget_media_gallery .gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.ekomart-wc .shop-sidebar .widget_media_gallery .gallery .gallery-item {
  margin: 0;
}
.ekomart-wc .shop-sidebar .widget_media_gallery .gallery .gallery-item img {
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.ekomart-wc .shop-sidebar .widget_text p,
.ekomart-wc .shop-sidebar .widget_custom_html p {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
}
.ekomart-wc .shop-sidebar .widget_recent_entries ul li,
.ekomart-wc .shop-sidebar .widget_recent_comments ul li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ekomart-wc .shop-sidebar .widget_recent_entries ul li .post-date,
.ekomart-wc .shop-sidebar .widget_recent_entries ul li .comment-author-link,
.ekomart-wc .shop-sidebar .widget_recent_comments ul li .post-date,
.ekomart-wc .shop-sidebar .widget_recent_comments ul li .comment-author-link {
  font-size: 12px;
  color: #999;
}
.ekomart-wc .shop-sidebar .widget_nav_menu ul li a {
  display: block;
  padding: 2px 0;
}
.ekomart-wc .shop-sidebar .widget_calendar table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.ekomart-wc .shop-sidebar .widget_calendar table caption {
  font-weight: 700;
  padding-bottom: 10px;
  color: #1a1a1a;
}
.ekomart-wc .shop-sidebar .widget_calendar table th, .ekomart-wc .shop-sidebar .widget_calendar table td {
  text-align: center;
  padding: 6px;
}
.ekomart-wc .shop-sidebar .widget_calendar table th {
  font-weight: 600;
  color: #888;
}
.ekomart-wc .shop-sidebar .widget_calendar table td a {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 700;
  text-decoration: none;
}
.ekomart-wc .shop-sidebar .widget_calendar table #today {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border-radius: 4px;
}
.ekomart-wc .shop-sidebar .widget_calendar table #today a {
  color: #fff;
}
.ekomart-wc .shop-sidebar .widget_pages ul li a {
  display: block;
  padding: 2px 0;
}
.ekomart-wc .shop-sidebar .widget_pages ul li .children {
  margin-top: 4px;
}
.ekomart-wc .shop-sidebar .widget_meta ul li a {
  display: block;
  padding: 2px 0;
}
.ekomart-wc .shop-sidebar .button,
.ekomart-wc .shop-sidebar button[type=submit],
.ekomart-wc .shop-sidebar input[type=submit] {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s;
}
.ekomart-wc .shop-sidebar .button:hover,
.ekomart-wc .shop-sidebar button[type=submit]:hover,
.ekomart-wc .shop-sidebar input[type=submit]:hover {
  opacity: 0.85;
}
.ekomart-wc .shop-sidebar select {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
}
.ekomart-wc .shop-sidebar select:focus {
  border-color: var(--e-global-color-primary, #629D23);
}
.ekomart-wc .shop-sidebar input[type=text],
.ekomart-wc .shop-sidebar input[type=email],
.ekomart-wc .shop-sidebar input[type=number],
.ekomart-wc .shop-sidebar textarea {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 14px;
  outline: none;
}
.ekomart-wc .shop-sidebar input[type=text]:focus,
.ekomart-wc .shop-sidebar input[type=email]:focus,
.ekomart-wc .shop-sidebar input[type=number]:focus,
.ekomart-wc .shop-sidebar textarea:focus {
  border-color: var(--e-global-color-primary, #629D23);
}

@media (max-width: 991px) {
  .ekomart-wc .shop-sidebar {
    margin-top: 40px;
  }
}
/* ======================================================
   Single Product — design overrides to match mockup
=========================================================*/
body.ekomart-wc.single-product div.product .ekomart-cat-badge {
  float: left;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 4px;
  text-transform: capitalize;
  letter-spacing: 0.3px;
  text-decoration: none;
  margin-right: 14px;
  line-height: 1.6;
  vertical-align: middle;
  transition: background 0.2s ease;
}
body.ekomart-wc.single-product div.product .ekomart-cat-badge:hover {
  background: #111827;
  color: #fff;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating {
  display: inline-flex;
  margin-bottom: 5px;
  margin-top: 20px;
  vertical-align: middle;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .woocommerce-review-link {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 600;
  font-size: 14px;
  margin-left: 12px;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .woocommerce-review-link:hover {
  color: var(--e-global-color-primary, #629D23);
  text-decoration: underline;
}
body.ekomart-wc.single-product div.product .woocommerce-product-rating .woocommerce-review-link .count {
  font-weight: 700;
  margin-right: 4px;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs {
  background: transparent;
  border: none;
  padding: 0;
  gap: 10px;
  margin-bottom: 28px;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0;
  transition: all 0.2s ease;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  text-decoration: none;
  text-transform: capitalize;
  line-height: 1.2;
  transition: color 0.2s ease;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li:hover {
  border-color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li:hover a {
  color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
}
body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li.active a, body.ekomart-wc.single-product div.product .woocommerce-tabs ul.tabs li.active:hover a {
  color: #fff;
}
body.ekomart-wc.single-product div.product .ekomart-offer-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
body.ekomart-wc.single-product div.product .ekomart-offer-list li {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 25px;
  font-size: 14px;
  padding: 0 0 25px;
  border-bottom: 1px solid #E2E2E2;
}
body.ekomart-wc.single-product div.product .ekomart-offer-list li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
body.ekomart-wc.single-product div.product .ekomart-offer-list li img {
  width: 40px;
  height: 40px;
  border: 1px solid #e2e2e2;
  background: #fff;
  padding: 8px;
  border-radius: 6px;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel,
body.ekomart-wc.single-product div.product .woocommerce-tabs .wc-tab {
  background: transparent;
  border: none;
  padding: 24px 0 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: #4b5563;
  border-top: 1px solid #f0f0f0;
}
body.ekomart-wc.single-product div.product .woocommerce-tabs .panel h2,
body.ekomart-wc.single-product div.product .woocommerce-tabs .wc-tab h2 {
  font-size: 22px;
  color: #0f172a;
  margin: 0 0 16px;
  font-weight: 700;
}
body.ekomart-wc.single-product div.product form.cart .quantity {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
}
body.ekomart-wc.single-product div.product form.cart .quantity .qty {
  width: 70px;
  font-weight: 700;
}

@media (max-width: 575px) {
  body.ekomart-wc.single-product div.product .ekomart-cat-badge {
    margin-bottom: 8px;
    margin-right: 0;
  }
  body.ekomart-wc.single-product div.product .woocommerce-product-rating {
    display: flex;
    width: 100%;
  }
}
/* ======================================================
   Single Product — right-sidebar two-column layout
   `.product` becomes a flex row: [ ekomart-product-main ] [ sidebar ].
   `.ekomart-product-main` wraps gallery + summary + tabs;
   `.single-product-sidebar` sits as a fixed-width column on the right.
=========================================================*/
body.ekomart-product-right-sidebar.single-product div.product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
  background: #fff;
  padding: 60px;
  border-radius: 6px;
}
body.ekomart-product-right-sidebar.single-product div.product > .ekomart-product-main {
  flex: 1 1 0;
  min-width: 0;
}
body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar {
  flex: 0 0 400px;
  width: 400px;
  margin: 0;
  position: sticky;
  top: 30px;
  align-self: flex-start;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
}
body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar .widget {
  margin-bottom: 24px;
}
body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar .widget:last-child {
  margin-bottom: 0;
}
body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar .widget-title {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 10px;
  border: none;
}

/* Stack vertically on tablets/mobile */
@media (max-width: 991px) {
  body.ekomart-product-right-sidebar.single-product div.product {
    flex-direction: column;
  }
  body.ekomart-product-right-sidebar.single-product div.product > .ekomart-product-main,
  body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar {
    flex: 1 1 100%;
    width: 100%;
  }
  body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar {
    position: static;
    max-height: none;
    overflow-y: visible;
  }
}
/* ======================================================
   Customer Reviews tab — 2-column layout
   Left: rating summary (avg, distribution, recommended).
   Right: "Submit Your Review" form.
=========================================================*/
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 50px;
  padding: 10px 0 30px;
  align-items: start;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-summary {
  margin: 0;
  padding: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-num {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: #0f172a;
  letter-spacing: -1px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-label {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-meta .star-rating {
  font-size: 16px;
  margin: 2px 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-counts {
  font-size: 13px;
  color: #6b7280;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-recommended {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-recommended-num {
  font-size: 32px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.1;
  letter-spacing: -0.5px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-recommended-label {
  font-size: 14px;
  color: #4b5563;
  font-weight: 500;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar {
  display: grid;
  grid-template-columns: 90px 1fr 44px;
  align-items: center;
  gap: 12px;
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar-stars .star-rating {
  font-size: 13px;
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar-track {
  height: 6px;
  background: #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar-fill {
  display: block;
  height: 100%;
  background: var(--e-global-color-primary, #629D23);
  border-radius: 6px;
  transition: width 0.4s ease;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar-pct {
  font-size: 13px;
  color: #111827;
  font-weight: 600;
  text-align: right;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area {
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-title,
body.ekomart-wc.single-product .ekomart-reviews #review_form #reply-title.ekomart-reviews-form-title {
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 22px;
  display: block;
  line-height: 1.3;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area #respond {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-rating {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-rating label {
  font-size: 14px;
  color: #111827;
  font-weight: 600;
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form > * {
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-author {
  grid-column: 1/2;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-email {
  grid-column: 2/3;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-rating,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-comment,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .form-submit,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-notes,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-cookies-consent {
  grid-column: 1/-1;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-notes,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-cookies-consent {
  display: none;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=text],
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=email],
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 14px 16px;
  font-size: 14px;
  color: #111827;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=text]::-moz-placeholder, body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=email]::-moz-placeholder, body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form textarea::-moz-placeholder {
  color: #9ca3af;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=text]::placeholder,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=email]::placeholder,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form textarea::placeholder {
  color: #9ca3af;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=text]:focus,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form input[type=email]:focus,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form textarea:focus {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(98, 157, 35, 0.12);
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form textarea {
  min-height: 130px;
  resize: vertical;
  line-height: 1.55;
  font-family: inherit;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-author,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-email,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form-comment {
  margin: 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .form-submit {
  margin: 6px 0 0;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .form-submit input[type=submit],
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .submit,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .ekomart-reviews-submit {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 14px 28px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .form-submit input[type=submit]:hover,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .submit:hover,
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .ekomart-reviews-submit:hover {
  background: #111827;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12);
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-list {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #e5e7eb;
}
body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-list .woocommerce-Reviews-title {
  font-size: 18px;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 18px;
}

/* Spinner used by the shop card Add-to-Cart button while WC's AJAX add is in flight. */
@keyframes ekomart-cart-spin {
  to {
    transform: rotate(360deg);
  }
}
.money__back.widget_media_image img {
  margin-left: -7px;
  margin-top: -10px;
}

@media (max-width: 767px) {
  body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-form-area .comment-form {
    grid-template-columns: 1fr;
  }
  body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-avg-num {
    font-size: 44px;
  }
  body.ekomart-wc.single-product .ekomart-reviews .ekomart-reviews-bar {
    grid-template-columns: 80px 1fr 40px;
  }
  body.ekomart-product-right-sidebar.single-product div.product {
    padding: 20px;
  }
}
/* ======================================================
   Additional Information tab — short description + attributes
   table + return policy + red note.
=========================================================*/
body.ekomart-wc.single-product .ekomart-additional-info h2 {
  display: none;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__desc {
  font-size: 15px;
  line-height: 1.75;
  color: #6b7280;
  margin: 0 0 20px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__desc p {
  margin: 0 0 10px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__desc p:last-child {
  margin-bottom: 0;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-collapse: collapse;
  margin: 0 0 22px;
  font-size: 14px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes th, body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes td,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes th,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes td {
  border: 1px solid #e5e7eb;
  padding: 16px 22px;
  vertical-align: middle;
  background: #fff;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes th,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes th {
  text-align: left;
  font-weight: 700;
  color: #0f172a;
  width: 50%;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  font-size: 13px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes th p,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes th p {
  margin: 0;
  padding: 0;
  font-weight: inherit;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes td,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes td {
  text-align: left;
  color: #4b5563;
  font-weight: 500;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes td p,
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes td p {
  margin: 0;
  padding: 0;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__return {
  font-size: 14px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0 0 14px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__return strong {
  color: #0f172a;
  font-weight: 700;
  margin-right: 4px;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__note {
  font-size: 14px;
  line-height: 1.7;
  color: #dc2626;
  margin: 0;
  font-weight: 500;
}
body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__note strong {
  color: #dc2626;
  font-weight: 700;
  margin-right: 4px;
}

@media (max-width: 575px) {
  body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes th, body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes td,
  body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes th,
  body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes td {
    padding: 12px 14px;
  }
  body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table table.shop_attributes th,
  body.ekomart-wc.single-product .ekomart-additional-info .ekomart-additional-info__table .shop_attributes th {
    font-size: 12px;
  }
}
body.ekomart-wc.woocommerce .related.products ul.products li.product .ekomart-card-image, body.ekomart-wc .woocommerce .related.products ul.products li.product .ekomart-card-image {
  border: 1px solid #EAEAEA;
}

body.ekomart-wc.woocommerce .related.products ul.products li.product, body.ekomart-wc .woocommerce .related.products ul.products li.product {
  background: #fff;
}

.related.products > h2 {
  font-size: 30px;
  margin-bottom: 50px;
  font-weight: 700;
}

.easy-currency-switcher:hover .easy_currency_switcher_form .easy-currency-switcher-select {
  animation: growOut 260ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transform-origin: top center;
  align-content: center;
  line-height: normal;
  display: block;
  z-index: 99;
}

.eccw-switcher-design1 .easy_currency_switcher_form .easy-currency-switcher-select {
  margin-top: 0px;
}

.easy-currency-switcher:hover .easy_currency_switcher_form .dropdown-icon::before {
  left: -2px;
  transform: rotate(45deg);
}

.easy-currency-switcher:hover .easy_currency_switcher_form .dropdown-icon::after {
  left: 3px;
  transform: rotate(-45deg);
}

:root :where(.wp-element-button, .wp-block-button__link) {
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
  color: #fff;
  outline: none;
  border-radius: 6px;
  padding: 10px 22px;
  transition: all 0.3s ease;
}
:root :where(.wp-element-button, .wp-block-button__link):hover {
  background: #111827;
  border-color: #111827;
  color: #fff;
}

.eel-vertical-menu-wrap .menu > .menu-item > a .submenu-parent-icon {
  display: none !important;
}

.eel-vertical-menu-area .eel-vertical-menu-wrap ul.eel-vertical-verticalmenu .menu-item-has-children .sub-menu:not(.eel_click) {
  top: 100%;
  left: 0;
  box-shadow: 0px 7px 18px rgba(24, 16, 16, 0.0509803922);
}

.wc-block-components-main.wc-block-cart__main tr.wc-block-cart-items__row:nth-child(even) {
  background: #efefef;
}

/* ============================================================
   SHOP CARD STYLE VARIANTS — elegant edition
   Default style (no body class) is untouched.
============================================================ */
/* ---- 1. MINIMAL — refined editorial, soft & elegant ---- */
body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products {
  gap: 46px 32px;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product:hover,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product:hover {
  background: transparent;
  box-shadow: none;
  transform: translateY(-6px);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-image {
  background: #f6f5f2;
  border-radius: 18px;
  margin-bottom: 22px;
  padding: 30px 26px;
  overflow: hidden;
  position: relative;
  transition: background 0.4s ease, box-shadow 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product:hover .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product:hover .ekomart-card-image {
  background: #f1efe9;
  box-shadow: 0 22px 44px -26px rgba(15, 23, 42, 0.38);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-image img {
  height: 160px;
  -o-object-fit: contain;
     object-fit: contain;
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product:hover .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product:hover .ekomart-card-image img {
  transform: scale(1.07);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-badge,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-badge {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(4px);
  color: #0f172a;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 13px;
  clip-path: none;
  text-align: center;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  min-width: auto;
  border-radius: 100px;
  box-shadow: 0 4px 14px -6px rgba(15, 23, 42, 0.25);
  top: 14px;
  left: 14px;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-badge strong,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-badge strong {
  font-size: 11px;
  display: inline;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-badge span,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-badge span {
  display: none;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  letter-spacing: 0.2px;
  transition: color 0.3s ease;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .price,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .price {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .price del,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .price del {
  color: #9ca3af;
  font-weight: 500;
  opacity: 0.85;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .price ins,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .price ins {
  color: #ef4444;
  text-decoration: none;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-action {
  margin-top: 16px;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-btn,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-btn {
  background: transparent;
  border: none;
  color: #111827;
  padding: 5px 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  border-radius: 0;
  border-bottom: 1.5px solid rgba(17, 24, 39, 0.18);
  height: auto;
  transition: color 0.3s ease, border-color 0.3s ease;
}

body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-btn:hover,
body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-btn:hover {
  background: transparent;
  color: var(--e-global-color-primary, #629D23);
  border-bottom-color: var(--e-global-color-primary, #629D23);
}

/* ---- 2. HOVER REVEAL — quiet card, action panel slides up ---- */
body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 16px;
  box-shadow: none;
  transition: box-shadow 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease;
  overflow: hidden;
  position: relative;
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product:hover,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product:hover {
  box-shadow: 0 24px 56px -14px rgba(15, 23, 42, 0.16);
  transform: translateY(-6px);
  border-color: transparent;
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product .ekomart-card-image {
  background: #fafafa;
  overflow: hidden;
  border-radius: 6px;
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product .ekomart-card-image img {
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product:hover .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product:hover .ekomart-card-image img {
  transform: scale(1.08);
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product .ekomart-card-action {
  opacity: 0;
  max-height: 0;
  margin-top: 0;
  transform: translateY(8px);
  overflow: hidden;
  transition: opacity 0.4s ease, max-height 0.4s ease, transform 0.4s ease, margin-top 0.4s ease;
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product:hover .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product:hover .ekomart-card-action {
  opacity: 1;
  max-height: 60px;
  margin-top: 10px;
  transform: translateY(0);
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product .woocommerce-loop-product__title {
  transition: color 0.25s ease;
}

body.ekomart-wc.ekomart-shop-style-hover.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a,
body.ekomart-wc.ekomart-shop-style-hover .woocommerce ul.products li.product:hover .woocommerce-loop-product__title a {
  color: var(--e-global-color-primary, #629D23);
}

/* ---- 3. BORDERED — refined dark frame, offset hover shadow ---- */
body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 0;
  padding: 24px 20px;
  box-shadow: none;
  text-align: center;
  transition: border-color 0.4s cubic-bezier(0.4, 0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product:hover,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product:hover {
  border-color: #0f172a;
  transform: translate(-4px, -4px);
  box-shadow: 6px 6px 0 -1px #0f172a;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-image {
  background: transparent;
  padding: 16px 0 22px;
  border-radius: 0;
  margin-bottom: 18px;
  border-bottom: 1px solid #f0f0f0;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-image img {
  height: 200px;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .price,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .price {
  text-align: center;
  font-size: 19px;
  font-weight: 800;
  color: #0f172a;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-action {
  justify-content: center;
  margin-top: 14px;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-btn,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-btn {
  background: transparent;
  color: #0f172a;
  border-color: #0f172a;
  border-width: 1.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-size: 11px;
  border-radius: 0;
  padding: 10px 22px;
}

body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-btn:hover,
body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-btn:hover {
  background: #0f172a;
  color: #fff;
}

/* ---- 4. IMAGE FOCUS (overlay) — photography hero, dark CTA ---- */
body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product {
  background: #fff;
  padding: 0;
  border: none;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product:hover,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product:hover {
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.2);
  transform: translateY(-5px);
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-image {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: #f4f6f9;
  overflow: hidden;
  position: relative;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-image img {
  height: 320px;
  padding: 28px;
  box-sizing: border-box;
  transition: transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product:hover .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product:hover .ekomart-card-image img {
  transform: scale(1.1);
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-body,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-body {
  padding: 24px 26px 26px;
  background: #fff;
  text-align: center;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  min-height: 0;
  color: #0f172a;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .price,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .price {
  text-align: center;
  font-size: 19px;
  font-weight: 800;
  margin-top: 2px;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-action {
  justify-content: center;
  margin-top: 16px;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-btn,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-btn {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 11px;
  padding: 11px 26px;
  height: auto;
  border-radius: 0;
}

body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-btn:hover,
body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-btn:hover {
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
}

/* ---- 5. SHOWCASE — editorial magazine, large gallery hero ---- */
body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products {
  gap: 50px 32px;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product {
  background: #fff;
  border: none;
  border-radius: 2px;
  padding: 0;
  box-shadow: none;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product:hover,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product:hover {
  box-shadow: 0 40px 100px -24px rgba(15, 23, 42, 0.22);
  transform: translateY(-10px);
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-image,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-image {
  margin: 0;
  border-radius: 0;
  padding: 0;
  background: #f7f5f2;
  overflow: hidden;
  position: relative;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-image img {
  height: 260px;
  padding: 32px;
  box-sizing: border-box;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product:hover .ekomart-card-image img,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product:hover .ekomart-card-image img {
  transform: scale(1.12);
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-badge,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-badge {
  background: #0f172a;
  color: #fff;
  border-radius: 50%;
  clip-path: none;
  width: 58px;
  height: 58px;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 18px;
  left: 18px;
  min-width: auto;
  font-weight: 700;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-badge strong,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-badge strong {
  font-size: 14px;
  line-height: 1;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-badge span,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-badge span {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-body,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-body {
  padding: 24px 26px 26px;
  text-align: center;
  background: #fff;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: -0.3px;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .price,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .price {
  text-align: center;
  font-size: 19px;
  font-weight: 700;
  color: var(--e-global-color-primary, #629D23);
  margin-top: 4px;
}

body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-action,
body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-action {
  justify-content: center;
  margin-top: 16px;
}

/* ============================================================
   PRODUCT SINGLE STYLE VARIANTS — elegant edition
============================================================ */
/* ---- 1. STICKY SUMMARY — pinned info panel ---- */
@media (min-width: 992px) {
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 60px;
    align-items: flex-start;
  }
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .woocommerce-product-gallery {
    flex: 1 1 calc(55% - 30px);
    max-width: calc(55% - 30px);
    margin: 0;
  }
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .summary.entry-summary {
    flex: 1 1 calc(45% - 30px);
    max-width: calc(45% - 30px);
    margin: 0;
    position: sticky;
    top: 40px;
    padding: 8px 0;
  }
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .woocommerce-tabs,
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .related,
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .upsells {
    flex: 1 1 100%;
    width: 100%;
  }
}
/* ---- 2. FULL WIDTH GALLERY — hero magazine ---- */
body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product {
  display: block;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery {
  width: 100%;
  float: none;
  max-width: 1200px;
  margin: 0 auto 60px;
  padding: 30px;
  background: #fafafa;
  border-radius: 16px;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .summary.entry-summary {
  width: 100%;
  float: none;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .product_title {
  font-size: 36px;
  font-weight: 800;
  letter-spacing: -0.5px;
  line-height: 1.15;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .summary .woocommerce-product-rating,
body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .summary form.cart {
  justify-content: center;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product p.price,
body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product span.price {
  font-size: 32px;
  border-bottom: none;
  text-align: center;
  padding-bottom: 16px;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  grid-template-columns: repeat(6, 1fr);
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .product_meta {
  text-align: center;
}

body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .product_meta > span {
  display: inline-block;
  margin: 0 10px;
}

/* ---- 3. CENTERED BOUTIQUE — elevated card ---- */
body.ekomart-wc.ekomart-product-style-centered.single-product div.product {
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  padding: 60px;
  border-radius: 16px;
  box-shadow: 0 30px 80px -20px rgba(15, 23, 42, 0.1);
  border: 1px solid #f1f5f9;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: flex-start;
}

body.ekomart-wc.ekomart-product-style-centered.single-product div.product .woocommerce-product-gallery {
  flex: 1 1 calc(50% - 25px);
  max-width: calc(50% - 25px);
  margin: 0;
}

body.ekomart-wc.ekomart-product-style-centered.single-product div.product .summary.entry-summary {
  flex: 1 1 calc(50% - 25px);
  max-width: calc(50% - 25px);
  margin: 0;
}

body.ekomart-wc.ekomart-product-style-centered.single-product div.product .product_title {
  font-size: 28px;
  font-weight: 700;
}

body.ekomart-wc.ekomart-product-style-centered.single-product div.product p.price,
body.ekomart-wc.ekomart-product-style-centered.single-product div.product span.price {
  font-size: 30px;
  font-weight: 700;
}

body.ekomart-wc.ekomart-product-style-centered.single-product div.product .woocommerce-tabs,
body.ekomart-wc.ekomart-product-style-centered.single-product div.product .related,
body.ekomart-wc.ekomart-product-style-centered.single-product div.product .upsells {
  flex: 1 1 100%;
  width: 100%;
}

@media (max-width: 767px) {
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product {
    padding: 30px;
    flex-direction: column;
  }
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product .woocommerce-product-gallery,
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product .summary.entry-summary {
    flex: 1 1 100%;
    max-width: 100%;
  }
  body.ekomart-wc.woocommerce ul.products li.product, body.ekomart-wc .woocommerce ul.products li.product {
    display: block;
  }
  .theme-content-area, .shop__custom_page_products {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}
.easyel-asw-load-more {
  background-color: var(--e-global-color-primary, #629D23);
}

/* ---- 4. CARD PANEL — sophisticated elevated summary, gradient CTA ---- */
body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: flex-start;
}

body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .woocommerce-product-gallery {
  flex: 1 1 calc(55% - 25px);
  max-width: calc(55% - 25px);
  margin: 0;
  background: linear-gradient(180deg, #f8f9fa 0%, #fff 100%);
  padding: 30px;
  border-radius: 20px;
  border: 1px solid #f1f5f9;
}

body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary {
  flex: 1 1 calc(45% - 25px);
  max-width: calc(45% - 25px);
  margin: 0;
  background: #fff;
  padding: 40px 36px;
  border-radius: 20px;
  box-shadow: 0 30px 80px -20px rgba(15, 23, 42, 0.12);
  border: 1px solid #f1f5f9;
}

body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary .product_title {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.4px;
}

body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary form.cart .single_add_to_cart_button {
  background: linear-gradient(135deg, var(--e-global-color-primary, #629D23) 0%, #4a7a1a 100%);
  box-shadow: 0 12px 28px -8px rgba(98, 157, 35, 0.5);
}

body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .woocommerce-tabs,
body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .related,
body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .upsells {
  flex: 1 1 100%;
  width: 100%;
}

@media (max-width: 991px) {
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .woocommerce-product-gallery,
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
/* ---- 5. SPLIT HERO — bold monochrome editorial ---- */
@media (min-width: 992px) {
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
    align-items: flex-start;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .woocommerce-product-gallery {
    flex: 1 1 calc(55% - 40px);
    max-width: calc(55% - 40px);
    margin: 0;
    position: sticky;
    top: 40px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .summary.entry-summary {
    flex: 1 1 calc(45% - 40px);
    max-width: calc(45% - 40px);
    margin: 0;
    padding: 20px 0;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .woocommerce-tabs,
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .related,
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .upsells {
    flex: 1 1 100%;
    width: 100%;
  }
}
body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .product_title {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: -1.5px;
  line-height: 1.05;
  color: #0f172a;
  margin-bottom: 20px;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .woocommerce-product-rating {
  margin-bottom: 24px;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product p.price,
body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product span.price {
  font-size: 48px;
  font-weight: 900;
  color: #0f172a;
  padding-bottom: 28px;
  border-bottom: 3px solid #0f172a;
  letter-spacing: -2px;
  line-height: 1;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product p.price .woocommerce-Price-currencySymbol,
body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product span.price .woocommerce-Price-currencySymbol {
  font-size: 30px;
  font-weight: 700;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product form.cart .single_add_to_cart_button {
  background: #0f172a;
  border-radius: 0;
  height: 64px;
  padding: 0 64px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 800;
  font-size: 13px;
  box-shadow: none;
  border: 2px solid #0f172a;
  transition: background 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product form.cart .single_add_to_cart_button:hover {
  background: transparent;
  color: #0f172a;
  box-shadow: none;
  transform: none;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product form.cart .quantity {
  height: 64px;
  border-radius: 0;
  border-width: 2px;
  border-color: #0f172a;
}

body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .product_meta {
  border-top: 2px solid #0f172a;
  padding-top: 24px;
  margin-top: 24px;
}

@media (max-width: 767px) {
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .product_title {
    font-size: 32px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product p.price,
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product span.price {
    font-size: 36px;
  }
}
/* ====================================================================
   STYLE VARIANTS — RESPONSIVE
   Tablet / mobile tuning for the shop-card and product-single style
   variants above (their large fixed image heights and big headings).
   Scoped to each variant's body class so the default look and the other
   variants stay untouched.
==================================================================== */
/* ---- Tablet (max-width: 991px) ---- */
@media (max-width: 991px) {
  /* Shop card variants — trim oversized image heights / gaps */
  body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-image img {
    height: 260px;
  }
  body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products,
  body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products,
  body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products,
  body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products {
    gap: 32px 24px;
  }
  /* Full Width Gallery single product */
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery {
    padding: 20px;
    margin-bottom: 40px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .product_title {
    font-size: 30px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product p.price,
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product span.price {
    font-size: 28px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(5, 1fr);
  }
  /* Centered Boutique — reduce padding before it stacks at 767px */
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product {
    padding: 40px;
    gap: 36px;
  }
}
/* ---- Mobile (max-width: 767px) ---- */
@media (max-width: 767px) {
  /* Shop card variants — compact image heights & paddings */
  body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-image img {
    height: 220px;
    padding: 20px;
  }
  body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-image img {
    height: 210px;
    padding: 22px;
  }
  body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product,
  body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product {
    padding: 18px 14px;
  }
  body.ekomart-wc.ekomart-shop-style-bordered.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-bordered .woocommerce ul.products li.product .ekomart-card-image img {
    height: 170px;
  }
  body.ekomart-wc.ekomart-shop-style-minimal.woocommerce ul.products li.product .ekomart-card-image,
  body.ekomart-wc.ekomart-shop-style-minimal .woocommerce ul.products li.product .ekomart-card-image {
    padding: 22px 18px;
  }
  /* Full Width Gallery */
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery {
    padding: 14px;
    margin-bottom: 30px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .product_title {
    font-size: 24px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product p.price,
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product span.price {
    font-size: 24px;
  }
  body.ekomart-wc.ekomart-product-style-full_gallery.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* ---- Small mobile (max-width: 480px) — single-column grids ---- */
@media (max-width: 480px) {
  body.ekomart-wc.ekomart-shop-style-overlay.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-overlay .woocommerce ul.products li.product .ekomart-card-image img {
    height: 260px;
  }
  body.ekomart-wc.ekomart-shop-style-showcase.woocommerce ul.products li.product .ekomart-card-image img,
  body.ekomart-wc.ekomart-shop-style-showcase .woocommerce ul.products li.product .ekomart-card-image img {
    height: 240px;
  }
}
/* ====================================================================
   WooCommerce — Cart / Checkout / My Account (default pages)
   Elegant styling that matches the shop/single design language:
   green primary, white cards, soft borders, rounded corners.
   Everything is scoped to each page's body class so it never leaks.
==================================================================== */
body.ekomart-wc.woocommerce-cart,
body.ekomart-wc.woocommerce-checkout,
body.ekomart-wc.woocommerce-account {
  background: #f3f4f6;
}

/* ---- Shared: inputs / textareas / selects ---- */
body.ekomart-wc.woocommerce-cart .woocommerce input.input-text,
body.ekomart-wc.woocommerce-cart .woocommerce textarea,
body.ekomart-wc.woocommerce-cart .woocommerce select,
body.ekomart-wc.woocommerce-checkout .woocommerce input.input-text,
body.ekomart-wc.woocommerce-checkout .woocommerce textarea,
body.ekomart-wc.woocommerce-checkout .woocommerce select,
body.ekomart-wc.woocommerce-account .woocommerce input.input-text,
body.ekomart-wc.woocommerce-account .woocommerce textarea,
body.ekomart-wc.woocommerce-account .woocommerce select {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.4;
  color: #111827;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

body.ekomart-wc.woocommerce-cart .woocommerce input.input-text:focus,
body.ekomart-wc.woocommerce-cart .woocommerce textarea:focus,
body.ekomart-wc.woocommerce-cart .woocommerce select:focus,
body.ekomart-wc.woocommerce-checkout .woocommerce input.input-text:focus,
body.ekomart-wc.woocommerce-checkout .woocommerce textarea:focus,
body.ekomart-wc.woocommerce-checkout .woocommerce select:focus,
body.ekomart-wc.woocommerce-account .woocommerce input.input-text:focus,
body.ekomart-wc.woocommerce-account .woocommerce textarea:focus,
body.ekomart-wc.woocommerce-account .woocommerce select:focus {
  border-color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.woocommerce-cart .woocommerce form .form-row label,
body.ekomart-wc.woocommerce-checkout .woocommerce form .form-row label,
body.ekomart-wc.woocommerce-account .woocommerce form .form-row label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 6px;
  display: inline-block;
}

/* ---- Shared: primary buttons ---- */
body.ekomart-wc.woocommerce-cart .woocommerce a.button,
body.ekomart-wc.woocommerce-cart .woocommerce button.button,
body.ekomart-wc.woocommerce-cart .woocommerce input.button,
body.ekomart-wc.woocommerce-checkout .woocommerce a.button,
body.ekomart-wc.woocommerce-checkout .woocommerce button.button,
body.ekomart-wc.woocommerce-checkout .woocommerce input.button,
body.ekomart-wc.woocommerce-checkout #place_order,
body.ekomart-wc.woocommerce-account .woocommerce a.button,
body.ekomart-wc.woocommerce-account .woocommerce button.button,
body.ekomart-wc.woocommerce-account .woocommerce input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: 1px solid var(--e-global-color-primary, #629D23);
  border-radius: 8px;
  padding: 12px 26px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: capitalize;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}

body.ekomart-wc.woocommerce-cart .woocommerce a.button:hover,
body.ekomart-wc.woocommerce-cart .woocommerce button.button:hover,
body.ekomart-wc.woocommerce-cart .woocommerce input.button:hover,
body.ekomart-wc.woocommerce-checkout .woocommerce a.button:hover,
body.ekomart-wc.woocommerce-checkout .woocommerce button.button:hover,
body.ekomart-wc.woocommerce-checkout .woocommerce input.button:hover,
body.ekomart-wc.woocommerce-checkout #place_order:hover,
body.ekomart-wc.woocommerce-account .woocommerce a.button:hover,
body.ekomart-wc.woocommerce-account .woocommerce button.button:hover,
body.ekomart-wc.woocommerce-account .woocommerce input.button:hover {
  background: #111827;
  border-color: #111827;
  color: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
}

/* ---- Shared: WC notices ---- */
body.ekomart-wc.woocommerce-cart .woocommerce-message,
body.ekomart-wc.woocommerce-cart .woocommerce-info,
body.ekomart-wc.woocommerce-checkout .woocommerce-message,
body.ekomart-wc.woocommerce-checkout .woocommerce-info,
body.ekomart-wc.woocommerce-account .woocommerce-message,
body.ekomart-wc.woocommerce-account .woocommerce-info {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--e-global-color-primary, #629D23);
  border-radius: 10px;
  padding: 16px 20px;
  font-size: 14px;
  color: #374151;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.woocommerce-cart .woocommerce-error,
body.ekomart-wc.woocommerce-checkout .woocommerce-error,
body.ekomart-wc.woocommerce-account .woocommerce-error {
  background: #fff;
  border: 1px solid #fecaca;
  border-top: 3px solid #ef4444;
  border-radius: 10px;
  padding: 16px 20px;
  list-style: none;
}

/* ====================================================================
   CART PAGE
==================================================================== */
body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 6px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin-bottom: 28px;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table thead th {
  background: #f9fafb;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 16px 18px;
  border: none;
  border-bottom: 1px solid #eef0f3;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td {
  padding: 18px;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
  color: #374151;
  font-size: 14px;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.product-thumbnail img {
  width: 72px;
  height: 72px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  border: 1px solid #eef0f3;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.product-name a {
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s;
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.product-name a:hover {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.product-price,
body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.product-subtotal {
  font-weight: 700;
  color: #0f172a;
}

body.ekomart-wc.woocommerce-cart .woocommerce td.product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f3f4f6;
  color: #ef4444 !important;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

body.ekomart-wc.woocommerce-cart .woocommerce td.product-remove a.remove:hover {
  background: #ef4444;
  color: #fff !important;
}

body.ekomart-wc.woocommerce-cart .woocommerce .quantity {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

body.ekomart-wc.woocommerce-cart .woocommerce .quantity input.qty {
  width: 56px;
  border: none;
  text-align: center;
  font-weight: 700;
  color: #111827;
  padding: 10px 4px;
  background: transparent;
}

/* Coupon + actions row */
body.ekomart-wc.woocommerce-cart .woocommerce table.shop_table td.actions {
  padding: 18px;
}

body.ekomart-wc.woocommerce-cart .woocommerce td.actions .coupon {
  display: inline-flex;
  gap: 8px;
}

body.ekomart-wc.woocommerce-cart .woocommerce td.actions .coupon input.input-text {
  width: auto;
  min-width: 200px;
}

/* Cart totals card */
body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 26px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals h2 {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 10px;
  text-transform: capitalize;
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals table {
  border: none;
  margin: 0 0 18px;
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals table th,
body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals table td {
  border: none;
  border-bottom: 1px solid #e5e7eb;
  padding: 12px 0;
  font-size: 14px;
  color: #374151;
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
  border-bottom: none;
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  padding: 15px 26px;
  font-size: 15px;
  border-radius: 10px;
}

/* ====================================================================
   CHECKOUT PAGE
==================================================================== */
body.ekomart-wc.woocommerce-checkout .woocommerce-billing-fields h3,
body.ekomart-wc.woocommerce-checkout .woocommerce-shipping-fields h3,
body.ekomart-wc.woocommerce-checkout #order_review_heading {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 18px;
}

body.ekomart-wc.woocommerce-checkout #customer_details .col-1,
body.ekomart-wc.woocommerce-checkout #customer_details .col-2 {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 26px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.woocommerce-checkout form.checkout .form-row {
  margin-bottom: 16px;
}

body.ekomart-wc.woocommerce-checkout #order_review {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 26px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.woocommerce-checkout #order_review table.shop_table {
  border: none;
  margin: 0 0 18px;
}

body.ekomart-wc.woocommerce-checkout #order_review table.shop_table th,
body.ekomart-wc.woocommerce-checkout #order_review table.shop_table td {
  border: none;
  border-bottom: 1px solid #f0f0f0;
  padding: 12px 0;
  font-size: 14px;
  color: #374151;
}

body.ekomart-wc.woocommerce-checkout #order_review table.shop_table .order-total th,
body.ekomart-wc.woocommerce-checkout #order_review table.shop_table .order-total td {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
  border-bottom: none;
}

body.ekomart-wc.woocommerce-checkout #payment {
  background: #f9fafb;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  padding: 8px 20px 20px;
}

body.ekomart-wc.woocommerce-checkout #payment ul.payment_methods {
  border: none;
  padding: 12px 0;
  margin: 0;
}

body.ekomart-wc.woocommerce-checkout #payment ul.payment_methods li {
  margin: 0 0 8px;
  font-size: 14px;
  color: #374151;
}

body.ekomart-wc.woocommerce-checkout #payment div.payment_box {
  background: #fff;
  border-radius: 8px;
  font-size: 13px;
  color: #6b7280;
}

body.ekomart-wc.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #fff;
}

body.ekomart-wc.woocommerce-checkout #place_order {
  width: 100%;
  padding: 16px 26px;
  font-size: 15px;
  border-radius: 10px;
  margin-top: 8px;
}

/* ====================================================================
   MY ACCOUNT PAGE
==================================================================== */
/* Login / Register cards */
body.ekomart-wc.woocommerce-account:not(.logged-in) .woocommerce .col2-set,
body.ekomart-wc.woocommerce-account .woocommerce > .u-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

body.ekomart-wc.woocommerce-account .woocommerce form.woocommerce-form-login,
body.ekomart-wc.woocommerce-account .woocommerce form.woocommerce-form-register {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

body.ekomart-wc.woocommerce-account .woocommerce h2 {
  font-size: 22px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 20px;
}

/* Dashboard: navigation + content */
body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
  border-bottom: 1px solid #f0f0f0;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
  border-bottom: none;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 600;
  color: #4b5563;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #f9fafb;
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  color: #374151;
  font-size: 14px;
  line-height: 1.7;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: var(--e-global-color-primary, #629D23);
  text-decoration: none;
  font-weight: 600;
}

/* Orders / tables / address cards */
body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content table.shop_table,
body.ekomart-wc.woocommerce-account .woocommerce-orders-table {
  border: 1px solid #eef0f3;
  border-radius: 10px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content table.shop_table th {
  background: #f9fafb;
  color: #0f172a;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 14px 16px;
  border: none;
  border-bottom: 1px solid #eef0f3;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
  padding: 14px 16px;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #374151;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
  border-bottom: none;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content .addresses .woocommerce-Address {
  background: #f9fafb;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 22px;
}

body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
  body.ekomart-wc.woocommerce-checkout #customer_details .col-1,
  body.ekomart-wc.woocommerce-checkout #customer_details .col-2 {
    padding: 20px;
  }
}
@media (max-width: 767px) {
  body.ekomart-wc.woocommerce-cart .woocommerce td.actions .coupon {
    flex-direction: column;
    width: 100%;
  }
  body.ekomart-wc.woocommerce-cart .woocommerce td.actions .coupon input.input-text {
    min-width: 0;
    width: 100%;
  }
  body.ekomart-wc.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 24px;
  }
}
/* ---- Empty cart — friendly centered card + button. Keyed on the .ekomart-wc
   body class (+ cart-only classes) so it also styles a custom cart page that
   isn't the assigned WC Cart page (where the woocommerce-cart class is absent). */
body.ekomart-wc.woocommerce-cart .cart-empty,
body.ekomart-wc .woocommerce .cart-empty,
body.ekomart-wc .wc-empty-cart-message {
  text-align: center;
  background: #fff;
  border: 1px solid #eef0f3;
  border-top: 3px solid var(--e-global-color-primary, #629D23);
  border-radius: 12px;
  padding: 44px 30px;
  margin: 0 auto 22px;
  max-width: 640px;
  font-size: 18px;
  font-weight: 600;
  color: #0f172a;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc .return-to-shop {
  text-align: center;
  margin: 0;
}

body.ekomart-wc .return-to-shop a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: 1px solid var(--e-global-color-primary, #629D23);
  border-radius: 8px;
  padding: 13px 30px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s, box-shadow 0.2s;
}

body.ekomart-wc .return-to-shop a.button:hover {
  background: #111827;
  border-color: #111827;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
}

/* ====================================================================
   WooCommerce Blocks product grid (.wc-block-grid__products)
   e.g. the "New in store" cross-sell grid on the cart page, or the
   All Products block. Styled to match the theme's product cards.
==================================================================== */
body.ekomart-wc .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product {
  margin: 0;
  padding: 16px;
  /* Override WooCommerce Blocks' flex max-width (~23%) which, inside our CSS
     grid, would shrink each card to a fraction of its column width. */
  width: 100%;
  max-width: 100%;
  flex: none;
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  text-align: left;
  position: relative;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
  transform: translateY(-3px);
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-link {
  display: block;
  text-decoration: none;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-image {
  background: #fff;
  margin-bottom: 30px;
}

body.ekomart-wc table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  font-size: 18px;
  color: #0a0a0a;
  font-weight: 600;
}
body.ekomart-wc table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:hover {
  color: var(--e-global-color-primary, #629D23);
}

/* Sale badge — same yellow clip-shape as the shop product cards. */
body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-onsale {
  position: absolute;
  top: 16px;
  left: 30px;
  z-index: 2;
  background: #f0b431;
  color: #1f2937;
  padding: 9px 11px 18px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  width: 60px;
  min-height: auto;
  margin: 0;
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 78%, 0 100%);
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-title {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.35;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.2s;
  text-align: center;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-link:hover .wc-block-grid__product-title {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-price {
  font-size: 22px;
  font-weight: 700;
  color: #ef4444;
  line-height: 1.2;
  margin: 0 0 30px;
  text-align: center;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-price del {
  color: #9ca3af;
  font-size: 17px;
  font-weight: 400;
  margin-right: 6px;
  opacity: 0.9;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-price ins {
  text-decoration: none;
  font-weight: 800;
  color: #ef4444;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-add-to-cart {
  margin-top: auto;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-add-to-cart a.wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 36px;
  background: transparent;
  color: #16a34a;
  border: 1px solid #16a34a;
  border-radius: 6px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  text-transform: capitalize;
  transition: background-color 0.18s, color 0.18s;
}

body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-add-to-cart a.wp-block-button__link:hover {
  background: #16a34a;
  color: #fff;
}

/* Cart icon after the label, tinted to the button text colour (like the shop card). */
body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-add-to-cart a.wp-block-button__link::before {
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;
}

body.ekomart-wc .wc-block-grid__products a.wp-block-button__link.loading::before {
  display: none;
}

/* AJAX loading spinner (WC adds .loading during the add request) */
body.ekomart-wc .wc-block-grid__products a.wp-block-button__link.loading {
  color: transparent !important;
  background: transparent !important;
  pointer-events: none;
}

body.ekomart-wc .wc-block-grid__products a.wp-block-button__link.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid rgba(22, 163, 74, 0.35);
  border-top-color: #16a34a;
  border-radius: 50%;
  animation: ekomart-cart-spin 0.6s linear infinite;
}

body.ekomart-wc .wc-block-grid__products .added_to_cart {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 700;
  color: #16a34a;
  text-decoration: none;
}

@media (max-width: 991px) {
  body.ekomart-wc .wc-block-grid__products {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}
@media (max-width: 767px) {
  body.ekomart-wc .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  body.ekomart-wc .wc-block-grid__products .wc-block-grid__product-image img {
    height: 150px;
  }
}
@media (max-width: 480px) {
  body.ekomart-wc .wc-block-grid__products {
    grid-template-columns: 1fr;
  }
}
/* ---- Cart removing — loading overlay (added by ekomart-cart-loader JS while a
   product is being removed; cleared when the cart updates). ---- */
body.ekomart-wc .ekomart-cart-busy {
  position: relative;
  pointer-events: none;
}

body.ekomart-wc .ekomart-cart-busy::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 12px;
}

body.ekomart-wc .ekomart-cart-busy::after {
  content: "";
  position: absolute;
  top: 120px;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  z-index: 21;
  border: 3px solid rgba(98, 157, 35, 0.25);
  border-top-color: var(--e-global-color-primary, #629D23);
  border-radius: 50%;
  animation: ekomart-cart-spin 0.7s linear infinite;
}

/* ====================================================================
   CART PAGE STYLE — "Minimal / Flat" (Customizer: Cart > Cart Page Style)
   Active only when body has .ekomart-cart-style-minimal. Targets the
   WooCommerce Cart Block so it overrides the default block look: no card
   chrome, thin dividers, more whitespace, flat buttons.
==================================================================== */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart,
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart-items,
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart__sidebar,
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-sidebar {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Item rows — thin divider, airy spacing, no boxed chrome */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart-items__row {
  border: none;
  border-bottom: 1px solid #ececec;
  padding: 22px 0;
  background: transparent;
}

body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart-items__header {
  background: transparent;
  border: none;
  border-bottom: 1px solid #ececec;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 12px;
  color: #9ca3af;
}

body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart-item__image img {
  border-radius: 4px;
}

/* Totals — flat list, no card; bold separated grand total */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-totals-item {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-totals-footer-item {
  border-top: 1px solid #111827;
  border-bottom: none;
  padding-top: 16px;
  margin-top: 4px;
}

/* Coupon / panels — flat */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-panel {
  border: none;
  border-top: 1px solid #ececec;
  border-radius: 0;
}

/* Quantity selector — minimal radius */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-quantity-selector {
  border-radius: 4px;
  border-color: #e5e7eb;
}

/* Buttons — flat primary, square-ish, uppercase */
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart__submit-button,
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-button.contained {
  background: var(--e-global-color-primary, #629D23);
  border-radius: 4px;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 700;
}

body.ekomart-wc.ekomart-cart-style-minimal .wc-block-cart__submit-button:hover,
body.ekomart-wc.ekomart-cart-style-minimal .wc-block-components-button.contained:hover {
  background: #111827;
}

/* Page background — clean white for the minimal look */
body.ekomart-wc.ekomart-cart-style-minimal {
  background: #ffffff;
}

/* Minimal also renders the cart via the classic PHP template (cart/cart.php);
   flatten that markup the same way (kept alongside the block rules above so the
   style holds whether the cart renders as a block or the classic template). */
body.ekomart-wc.ekomart-cart-style-minimal .woocommerce table.shop_table {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.ekomart-wc.ekomart-cart-style-minimal .woocommerce table.shop_table thead th {
  background: transparent;
  border-bottom: 1px solid #ececec;
  color: #9ca3af;
  font-size: 12px;
}

body.ekomart-wc.ekomart-cart-style-minimal .woocommerce table.shop_table td {
  border-bottom: 1px solid #ececec;
  padding: 22px 12px;
}

body.ekomart-wc.ekomart-cart-style-minimal .woocommerce table.shop_table td.actions {
  background: transparent;
  padding: 22px 0;
}

body.ekomart-wc.ekomart-cart-style-minimal .cart-collaterals .cart_totals {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 18px 0 0;
  border-top: 2px solid #111827;
}

body.ekomart-wc.ekomart-cart-style-minimal .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* +/- quantity stepper injected into the classic cart's number input. */
body.ekomart-wc.ekomart-cart-custom .quantity.ekomart-qty-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
}

body.ekomart-wc.ekomart-cart-custom .quantity.ekomart-qty-stepper input.qty {
  width: 46px;
  height: 38px;
  border: none;
  text-align: center;
  font-weight: 700;
  color: #111827;
  background: transparent;
  box-shadow: none;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

body.ekomart-wc.ekomart-cart-custom .quantity.ekomart-qty-stepper input.qty::-webkit-outer-spin-button,
body.ekomart-wc.ekomart-cart-custom .quantity.ekomart-qty-stepper input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-custom .ekomart-qty-btn {
  width: 34px;
  height: 38px;
  border: none;
  background: #f3f4f6;
  color: #111827;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background 0.15s, color 0.15s;
}

body.ekomart-wc.ekomart-cart-custom .ekomart-qty-btn:hover {
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
}

/* ====================================================================
   CART PAGE STYLE — Boxed (Elevated Cards)
==================================================================== */
body.ekomart-wc.ekomart-cart-style-boxed {
  background: #f3f4f6;
}

body.ekomart-wc.ekomart-cart-style-boxed .woocommerce table.shop_table {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07);
  overflow: hidden;
}

body.ekomart-wc.ekomart-cart-style-boxed .cart-collaterals .cart_totals {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.07);
  padding: 30px;
}

body.ekomart-wc.ekomart-cart-style-boxed .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  border-radius: 10px;
}

body.ekomart-wc.ekomart-cart-style-boxed .woocommerce .cart-collaterals table.shop_table {
  box-shadow: none;
  border: none;
}

body.ekomart-wc.ekomart-cart-style-dark .woocommerce .cart-collaterals table.shop_table {
  background: transparent;
  border: none;
  box-shadow: none;
}
body.ekomart-wc.ekomart-cart-style-dark .woocommerce .cart-collaterals table.shop_table th {
  color: #ffffff;
}

/* ====================================================================
   CART PAGE STYLE — Dark Summary (items light, totals panel dark)
==================================================================== */
body.ekomart-wc.ekomart-cart-style-dark {
  background: #f3f4f6;
}

body.ekomart-wc.ekomart-cart-style-dark .woocommerce table.shop_table {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 14px;
  overflow: hidden;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals {
  background: #0f172a;
  border: none;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.25);
  padding: 30px;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals h2,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals th,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals td,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals .amount,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals .order-total th,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals .order-total td {
  color: #ffffff;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals .order-total .amount {
  color: #ffffff;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals table th,
body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals table td {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .cart_totals table td {
  text-align: right;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  background: #ffffff;
  color: #0f172a;
  border-radius: 10px;
  border: none;
}

body.ekomart-wc.ekomart-cart-style-dark .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--e-global-color-primary, #629D23);
  color: #ffffff;
}

/* ====================================================================
   CART PAGE STYLE — Bordered (Compact)
==================================================================== */
body.ekomart-wc.ekomart-cart-style-bordered {
  background: #ffffff;
}

body.ekomart-wc.ekomart-cart-style-bordered .woocommerce table.shop_table {
  box-shadow: none;
}

body.ekomart-wc.ekomart-cart-style-bordered .woocommerce table.shop_table thead th {
  background: #f7f8fa;
  border-bottom: 1px solid #d7dbe0;
}

body.ekomart-wc.ekomart-cart-style-bordered .woocommerce table.shop_table td {
  border-bottom: 1px solid #e6e8eb;
  padding: 14px 12px;
}

body.ekomart-wc.ekomart-cart-style-bordered .cart-collaterals .cart_totals {
  background: #fff;
  border: 2px solid var(--e-global-color-primary, #629D23);
  border-radius: 6px;
  box-shadow: none;
  padding: 22px;
}

body.ekomart-wc.ekomart-cart-style-bordered .cart-collaterals .cart_totals table th,
body.ekomart-wc.ekomart-cart-style-bordered .cart-collaterals .cart_totals table td {
  border-bottom: 1px solid #e6e8eb;
}

body.ekomart-wc.ekomart-cart-style-bordered .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
  border-radius: 6px;
  text-transform: uppercase;
  margin-bottom: 0;
}

body.ekomart-wc.ekomart-cart-style-bordered .cart-collaterals .wc-proceed-to-checkout {
  padding-bottom: 0;
}

body.ekomart-wc.ekomart-cart-style-bordered .quantity.ekomart-qty-stepper,
body.ekomart-wc.ekomart-cart-style-bordered .ekomart-qty-btn {
  border-radius: 6px;
}

/* ====================================================================
   CART PAGE STYLE — "Sidebar" (totals aside) + free-shipping bar
   Two-column cart: items table left, green-framed Cart Totals card
   right; the free-shipping progress bar spans the full width on top.
==================================================================== */
body.ekomart-wc.ekomart-cart-style-sidebar {
  background: #f3f4f6;
}

/* ---- Two-column layout ---- */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 388px;
  grid-template-areas: "notice notice" "bar    totals" "table  totals";
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 30px;
  align-items: start;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce > .woocommerce-notices-wrapper {
  grid-area: notice;
}

body.ekomart-wc.ekomart-cart-style-sidebar .ekomart-free-ship-bar {
  grid-area: bar;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-cart-form {
  grid-area: table;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart-collaterals {
  grid-area: totals;
  align-self: start;
  width: 100%;
  float: none;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart-collaterals .cart_totals {
  width: 100%;
  float: none;
}

/* ---- Free-shipping progress bar (shown on every cart style) ---- */
body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 6px;
  padding: 22px 26px;
  margin-bottom: 30px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.ekomart-cart-style-sidebar .ekomart-free-ship-bar {
  margin-bottom: 0;
}

body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar__text {
  font-size: 15px;
  color: #374151;
  margin-bottom: 14px;
}

body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar__text strong,
body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar__amount {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 700;
}

body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar__track {
  height: 8px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
}

body.ekomart-wc.woocommerce-cart .ekomart-free-ship-bar__fill {
  display: block;
  height: 100%;
  background: var(--e-global-color-primary, #629D23);
  border-radius: 999px;
  transition: width 0.5s ease;
}

/* ---- Items table card ---- */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce table.shop_table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin: 0;
  background: #fff;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .cart-collaterals table.shop_table {
  background: transparent;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce table.shop_table thead th {
  background: #fff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  padding: 20px 14px;
  border: none;
  border-bottom: 1px solid #eef0f3;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce table.shop_table td {
  padding: 22px 14px;
  border: none;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: middle;
  color: #374151;
  font-size: 14px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .cart-collaterals table.shop_table td {
  padding: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce table.shop_table tr:last-child td {
  border-bottom: none;
}

/* Remove — red circle */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-remove {
  width: 56px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-remove a.remove {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ef4444;
  color: #fff !important;
  font-size: 20px;
  font-weight: 400;
  text-decoration: none;
  transition: background 0.2s;
  line-height: unset;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-remove a.remove:hover {
  background: #dc2626;
  color: #fff !important;
}

/* Thumbnail */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-thumbnail {
  width: 90px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-thumbnail img {
  width: 64px;
  height: 64px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  border: 1px solid #eef0f3;
}

/* Name + SKU */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-name {
  text-align: left;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-name a {
  color: #0f172a;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  line-height: 1.4;
  transition: color 0.2s;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-name a:hover {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-name .ekomart-cart-sku {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 500;
  color: #9ca3af;
}

/* Price / subtotal */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-price,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-subtotal {
  font-weight: 700;
  color: #0f172a;
}

/* Quantity stepper — number left, down/up chevrons right */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.product-quantity .quantity.ekomart-qty-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 auto;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper input.qty {
  order: 0;
  width: 34px;
  height: 36px;
  border: none;
  text-align: center;
  font-weight: 700;
  color: #111827;
  background: transparent;
  box-shadow: none;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper input.qty::-webkit-outer-spin-button,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-btn {
  position: relative;
  width: 26px;
  height: 36px;
  border: none;
  border-left: 1px solid #e5e7eb;
  background: #fff;
  color: #6b7280;
  font-size: 0;
  cursor: pointer;
  padding: 0;
  transition: background 0.15s, color 0.15s;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-btn:hover {
  background: #f3f4f6;
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-minus {
  order: 1;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-plus {
  order: 2;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-minus::before {
  border-top: 5px solid currentColor;
  transform: translate(-50%, -25%);
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce .ekomart-qty-stepper .ekomart-qty-plus::before {
  border-bottom: 5px solid currentColor;
  transform: translate(-50%, -75%);
}

/* Actions row — coupon + Clear All; hide native update button */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions {
  padding: 22px 18px;
  background: #fff;
  border-top: 1px solid #f0f0f0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .coupon {
  display: inline-flex;
  gap: 10px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .coupon input.input-text {
  width: auto;
  min-width: 220px;
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions button[name=update_cart] {
  display: none !important;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .ekomart-clear-cart {
  float: right;
}

/* ---- Cart Totals — green-framed sidebar card ---- */
body.ekomart-wc.ekomart-cart-style-sidebar .cart-collaterals .cart_totals {
  background: transparent;
  border: 2px solid var(--e-global-color-primary, #629D23);
  border-radius: 6px;
  padding: 30px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals h2 {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  margin: 0;
  padding: 0 0 30px;
  border-bottom: 1px solid #e5e7eb;
  text-transform: none;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals table {
  border: none;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals table th,
body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals table td {
  border: none;
  border-bottom: 1px solid #e5e7eb;
  padding: 18px 24px;
  font-size: 14px;
  color: #374151;
  vertical-align: top;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals table th {
  font-weight: 500;
  color: #6b7280;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart-collaterals .cart_totals .wc-proceed-to-checkout {
  padding-top: 40px;
  padding-bottom: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .order-total th,
body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .order-total td {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .order-total .amount {
  color: #0f172a;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals #shipping_method li {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals #shipping_method li:last-child {
  margin-bottom: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals #shipping_method input[type=radio] {
  accent-color: var(--e-global-color-primary, #629D23);
  width: 16px;
  height: 16px;
  margin: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals #shipping_method label {
  margin: 0;
  font-size: 14px;
  color: #374151;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .woocommerce-shipping-destination {
  font-size: 13px;
  color: #9ca3af;
  margin: 10px 0 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .shipping-calculator-button {
  display: inline-block;
  margin-top: 10px;
  color: #0f172a;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .shipping-calculator-button:hover {
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  padding: 16px 26px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 6px;
  background: var(--e-global-color-primary, #629D23);
  border-color: var(--e-global-color-primary, #629D23);
  text-transform: none;
  margin-bottom: 0;
}

body.ekomart-wc.ekomart-cart-style-sidebar .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background: #111827;
  border-color: #111827;
}

/* ---- Responsive — stack ---- */
@media (max-width: 991px) {
  body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce {
    grid-template-columns: 1fr;
    grid-template-areas: "notice" "bar" "table" "totals";
  }
}
@media (max-width: 767px) {
  body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .coupon {
    flex-direction: column;
    width: 100%;
  }
  body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .coupon input.input-text {
    min-width: 0;
    width: 100%;
  }
  body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce td.actions .ekomart-clear-cart {
    float: none;
    display: block;
    margin-top: 10px;
  }
}
/* ---- Notice (e.g. "removed. Undo?") — clean card, icon aligned ---- */
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-message,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-info,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-error {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 18px 24px 18px 52px;
  min-height: 0;
  line-height: 1.5;
  font-size: 14px;
  flex-wrap: wrap;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-message::before,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-info::before,
body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-error::before {
  top: 50%;
  left: 22px;
  transform: translateY(-50%);
  margin: 0;
  color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-message a {
  color: var(--e-global-color-primary, #629D23);
  font-weight: 600;
  text-decoration: none;
}

body.ekomart-wc.ekomart-cart-style-sidebar .woocommerce-message a:hover {
  text-decoration: underline;
}

/* ---- Hide WooCommerce's default AJAX loader on the cart (the theme shows
   its own ekomart-cart-busy overlay instead). ---- */
body.ekomart-wc.woocommerce-cart .blockUI.blockOverlay {
  background: transparent !important;
}

body.ekomart-wc.woocommerce-cart .blockUI.blockOverlay::before {
  display: none !important;
}

/* ---- Checkout & other WooCommerce pages — replace WooCommerce's default
   blockUI loader (the small SVG spinner) with the ekomart green spinner.
   The cart keeps its own ekomart-cart-busy overlay via the more-specific
   rule above; everywhere else (checkout order review, single product
   add-to-cart, etc.) the default overlay is restyled to our loader. ---- */
body.ekomart-wc .blockUI.blockOverlay {
  background: rgba(255, 255, 255, 0.6) !important;
}

body.ekomart-wc .blockUI.blockOverlay::before {
  width: 40px !important;
  height: 40px !important;
  margin-top: -20px !important;
  margin-left: -20px !important;
  background: none !important;
  border: 3px solid rgba(98, 157, 35, 0.25) !important;
  border-top-color: var(--e-global-color-primary, #629D23) !important;
  border-radius: 50% !important;
  font-size: inherit !important;
  animation: ekomart-cart-spin 0.7s linear infinite !important;
}

/* ---- Wider content container on Cart & Checkout (1400px). Scoped to the
   main content container only, so header/footer containers are unchanged. */
body.ekomart-wc.woocommerce-cart .main-contain > .container,
body.ekomart-wc.woocommerce-checkout .main-contain > .container {
  max-width: 1400px;
}

/* ---- Checkout coupon prompt ("Have a coupon?") — clean rounded corners.
   The previous look used a 3px solid top border + 1px side borders + radius,
   which left a broken-looking top-left corner where the thick green border
   met the thin grey one. Use an inset top accent that follows the radius and
   drop WooCommerce's notice icon so the corner stays clean. */
body.ekomart-wc.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: inset 0 3px 0 0 var(--e-global-color-primary, #629D23), 0 4px 16px rgba(0, 0, 0, 0.04);
  padding: 18px 22px;
}

body.ekomart-wc.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none;
}

/* ---- Select fields styled exactly like text inputs (so they don't look
   different). Hide the native dropdown arrow and add a matching subtle
   chevron; also bring WooCommerce's select2 country/state boxes in line. */
body.ekomart-wc.woocommerce-cart .woocommerce select,
body.ekomart-wc.woocommerce-checkout .woocommerce select,
body.ekomart-wc.woocommerce-account .woocommerce select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
  cursor: pointer;
}

/* select2 single (country / state) — match the input look. */
body.ekomart-wc.woocommerce-checkout .select2-container--default .select2-selection--single,
body.ekomart-wc.woocommerce-account .select2-container--default .select2-selection--single {
  height: 46px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background-color: #fff;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

body.ekomart-wc.woocommerce-checkout .select2-container--default.select2-container--open .select2-selection--single,
body.ekomart-wc.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single,
body.ekomart-wc.woocommerce-account .select2-container--default.select2-container--open .select2-selection--single,
body.ekomart-wc.woocommerce-account .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: var(--e-global-color-primary, #629D23);
}

body.ekomart-wc.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
body.ekomart-wc.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
  padding-left: 14px;
  padding-right: 32px;
  color: #111827;
  font-size: 14px;
}

body.ekomart-wc.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
body.ekomart-wc.woocommerce-account .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
  right: 10px;
}

/* ====================================================================
   CHECKOUT PAGE STYLES (Customizer: Checkout > Checkout Page Style)
   Each variant renders the classic checkout template and is scoped to
   its body class, so the default block checkout stays untouched.
==================================================================== */
/* ---- 1. STICKY SUMMARY — billing left, order review pinned on the right ----
   Float layout (not grid): the order summary sits in its own right column so
   its height is independent of the billing column. (A grid with #customer_details
   spanning both rows stretched the rows to the billing height and pushed the
   order card far down.) Billing details and Additional information are stacked
   vertically in the left column. */
@media (min-width: 992px) {
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout::after {
    content: "";
    display: block;
    clear: both;
  }
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #customer_details {
    float: left;
    width: calc(100% - 420px);
  }
  /* #customer_details IS the .col2-set element, so target its .col-1 / .col-2
     children directly to stack Billing then Additional information. */
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #customer_details .col-1,
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #customer_details .col-2,
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #customer_details .woocommerce-additional-fields {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
  }
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #order_review_heading {
    float: right;
    width: 380px;
    margin: 0 0 18px;
    clear: right;
  }
  body.ekomart-wc.ekomart-checkout-style-sticky form.checkout #order_review {
    float: right;
    width: 380px;
    clear: right;
    position: sticky;
    top: 30px;
  }
}
/* ---- 2. MINIMAL — flat, borderless, thin dividers ---- */
body.ekomart-wc.ekomart-checkout-style-minimal {
  background: #ffffff;
}

body.ekomart-wc.ekomart-checkout-style-minimal #customer_details .col-1,
body.ekomart-wc.ekomart-checkout-style-minimal #customer_details .col-2,
body.ekomart-wc.ekomart-checkout-style-minimal #order_review {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

body.ekomart-wc.ekomart-checkout-style-minimal #order_review {
  border-top: 2px solid #111827;
  padding-top: 20px;
}

body.ekomart-wc.ekomart-checkout-style-minimal #payment {
  background: transparent;
  border: none;
  border-top: 1px solid #ececec;
  border-radius: 0;
  padding: 12px 0 0;
}

body.ekomart-wc.ekomart-checkout-style-minimal #payment ul.payment_methods {
  border-bottom: 1px solid #ececec;
}

body.ekomart-wc.ekomart-checkout-style-minimal #place_order {
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ---- 3. BOXED — elevated rounded cards ---- */
body.ekomart-wc.ekomart-checkout-style-boxed {
  background: #f3f4f6;
}

body.ekomart-wc.ekomart-checkout-style-boxed #customer_details .col-1,
body.ekomart-wc.ekomart-checkout-style-boxed #customer_details .col-2,
body.ekomart-wc.ekomart-checkout-style-boxed #order_review {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 16px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.08);
  padding: 30px;
}

body.ekomart-wc.ekomart-checkout-style-boxed #payment {
  background: #f9fafb;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
}

body.ekomart-wc.ekomart-checkout-style-boxed #place_order {
  border-radius: 10px;
}

/* ---- 4. DARK SUMMARY — order review panel goes dark ---- */
body.ekomart-wc.ekomart-checkout-style-dark {
  background: #f3f4f6;
}

body.ekomart-wc.ekomart-checkout-style-dark #customer_details .col-1,
body.ekomart-wc.ekomart-checkout-style-dark #customer_details .col-2 {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
  padding: 26px;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review_heading {
  color: #0f172a;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review {
  background: #0f172a;
  border: none;
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.25);
  padding: 26px;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review table.shop_table th,
body.ekomart-wc.ekomart-checkout-style-dark #order_review table.shop_table td,
body.ekomart-wc.ekomart-checkout-style-dark #order_review .amount,
body.ekomart-wc.ekomart-checkout-style-dark #order_review .product-name,
body.ekomart-wc.ekomart-checkout-style-dark #order_review .order-total th,
body.ekomart-wc.ekomart-checkout-style-dark #order_review .order-total td {
  color: #ffffff;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review table.shop_table th,
body.ekomart-wc.ekomart-checkout-style-dark #order_review table.shop_table td {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review a {
  color: #a3e635;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review #payment {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review #payment ul.payment_methods li,
body.ekomart-wc.ekomart-checkout-style-dark #order_review #payment label {
  color: #e5e7eb;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review #payment div.payment_box {
  background: #fff;
  color: #374151;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review #place_order {
  background: #ffffff;
  color: #0f172a;
  border-color: #ffffff;
}

body.ekomart-wc.ekomart-checkout-style-dark #order_review #place_order:hover {
  background: var(--e-global-color-primary, #629D23);
  color: #ffffff;
  border-color: var(--e-global-color-primary, #629D23);
}

/* ====================================================================
   ORDER TRACKING FORM  ([woocommerce_order_tracking] shortcode)
   Full-width stacked fields, bold labels, themed inputs and a green
   Track button — matching the checkout form styling.
==================================================================== */
body form.woocommerce-form.woocommerce-form-track-order.track_order {
  margin: 0;
}

/* Intro paragraph above the fields. */
body form.woocommerce-form.woocommerce-form-track-order.track_order > p:first-child {
  font-size: 15px;
  line-height: 1.7;
  color: #6b7280;
  margin: 0 0 28px;
}

/* Stack the two fields full width (WooCommerce floats them 50/50 by default). */
body form.woocommerce-form.woocommerce-form-track-order.track_order .form-row {
  float: none;
  width: 100%;
  margin: 0 0 22px;
  padding: 0;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .form-row label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #374151;
  margin: 0 0 8px;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .input-text {
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.4;
  color: #111827;
  background: #fff;
  box-shadow: none;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .input-text::-moz-placeholder {
  color: #9ca3af;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .input-text::placeholder {
  color: #9ca3af;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .input-text:focus {
  border-color: var(--e-global-color-primary, #629D23);
  box-shadow: 0 0 0 3px rgba(98, 157, 35, 0.12);
}

body form.woocommerce-form.woocommerce-form-track-order.track_order .clear {
  clear: both;
}

/* Track button row. */
body form.woocommerce-form.woocommerce-form-track-order.track_order .form-row:last-child {
  margin-bottom: 0;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--e-global-color-primary, #629D23);
  color: #fff;
  border: 1px solid var(--e-global-color-primary, #629D23);
  border-radius: 8px;
  padding: 13px 32px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: capitalize;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}

body form.woocommerce-form.woocommerce-form-track-order.track_order button.button:hover {
  background: #111827;
  border-color: #111827;
  color: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.15);
}

/* ====================================================================
   ORDER DETAILS / TRACKING RESULT
   The order summary line, order-details table and customer (billing)
   details shown after placing an order or tracking one. Renders on the
   order-received page and the [woocommerce_order_tracking] result.
==================================================================== */
/* Order status summary line */
body .woocommerce p.order-info {
  background: #fff;
  border: 1px solid #eef0f3;
  border-left: 4px solid var(--e-global-color-primary, #629D23);
  border-radius: 10px;
  padding: 18px 22px;
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body .woocommerce p.order-info mark {
  background: rgba(98, 157, 35, 0.1);
  color: var(--e-global-color-primary, #629D23);
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
}

body .woocommerce p.order-info mark.order-status {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
}

/* Section cards */
body .woocommerce-order-details,
body .woocommerce-customer-details {
  background: #fff;
  border: 1px solid #eef0f3;
  border-radius: 12px;
  padding: 26px;
  margin: 0 0 28px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}

body .woocommerce-order-details__title,
body .woocommerce-customer-details .woocommerce-column__title,
body .woocommerce-customer-details h2 {
  font-size: 20px;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 18px;
}

/* Order details table */
body .woocommerce-order-details table.order_details {
  width: 100%;
  border: 1px solid #eef0f3;
  border-radius: 10px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin: 0;
}

body .woocommerce-order-details table.order_details th,
body .woocommerce-order-details table.order_details td {
  padding: 14px 18px;
  font-size: 14px;
  text-align: left;
  border: none;
  border-bottom: 1px solid #f0f0f0;
  color: #374151;
  vertical-align: top;
}

body .woocommerce-order-details table.order_details thead th {
  background: #f9fafb;
  color: #0f172a;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

body .woocommerce-order-details table.order_details th.product-total,
body .woocommerce-order-details table.order_details td.product-total,
body .woocommerce-order-details table.order_details tfoot td {
  text-align: right;
}

body .woocommerce-order-details table.order_details td.product-name {
  color: #0f172a;
  font-weight: 600;
}

body .woocommerce-order-details table.order_details td.product-name a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s;
}

body .woocommerce-order-details table.order_details td.product-name a:hover {
  color: var(--e-global-color-primary, #629D23);
}

body .woocommerce-order-details table.order_details .product-quantity {
  color: #6b7280;
  font-weight: 600;
}

body .woocommerce-order-details table.order_details tfoot th {
  font-weight: 600;
  color: #4b5563;
  background: #fff;
}

body .woocommerce-order-details table.order_details tfoot td {
  font-weight: 700;
  color: #0f172a;
}

body .woocommerce-order-details table.order_details tfoot tr:last-child th,
body .woocommerce-order-details table.order_details tfoot tr:last-child td,
body .woocommerce-order-details table.order_details tbody tr:last-child th,
body .woocommerce-order-details table.order_details tbody tr:last-child td {
  border-bottom: none;
}

/* Grand total row stands out */
body .woocommerce-order-details table.order_details tfoot tr:nth-last-child(2) th,
body .woocommerce-order-details table.order_details tfoot tr:nth-last-child(2) td {
  font-size: 16px;
  font-weight: 800;
}

body .woocommerce-order-details table.order_details tfoot tr:nth-last-child(2) td .woocommerce-Price-amount {
  color: var(--e-global-color-primary, #629D23);
}

/* Customer / billing address */
body .woocommerce-customer-details address {
  font-style: normal;
  font-size: 14px;
  line-height: 1.9;
  color: #374151;
  background: #f9fafb;
  border: 1px solid #f0f0f0;
  border-radius: 10px;
  padding: 20px 22px;
}

body .woocommerce-customer-details--phone,
body .woocommerce-customer-details--email {
  position: relative;
  margin: 10px 0 0;
  padding-left: 26px;
  color: #4b5563;
  word-break: break-word;
}

/* Two-column on wider screens: order details beside customer details. */
@media (min-width: 992px) {
  body .woocommerce-order-details + .woocommerce-customer-details {
    margin-top: 0;
  }
}
/* My Account notices — hide WooCommerce's icon-font glyph (it renders as a
   broken box when the WC icon font isn't loaded). The themed card needs no icon. */
body.ekomart-wc.woocommerce-account .woocommerce-info::before,
body.ekomart-wc.woocommerce-account .woocommerce-message::before,
body.ekomart-wc.woocommerce-account .woocommerce-error::before {
  display: none;
}

body.ekomart-wc.woocommerce-account .woocommerce-info,
body.ekomart-wc.woocommerce-account .woocommerce-message,
body.ekomart-wc.woocommerce-account .woocommerce-error {
  padding-left: 20px;
}

body .eel-menu-text-inner > img {
  margin-right: 10px;
  margin-bottom: 2px;
  transition: all 0.3s;
}

.eel-vertical-menu-area ul.eel-vertical-verticalmenu > .menu-item .menu-link:hover img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(0%) hue-rotate(46deg) brightness(111%) contrast(101%);
}

body.woocommerce.ekomart-product-style-full_gallery .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
  height: 200px;
}

body.ekomart-product-right-sidebar.single-product.ekomart-product-style-full_gallery div.product > .single-product-sidebar {
  width: 100%;
  margin-top: 25px;
}

body.single.woocommerce.ekomart-product-style-centered .container.ekomart-related-wrapper {
  max-width: 1200px;
}

body.single.woocommerce.ekomart-product-style-centered .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
  height: 60px;
}

body.ekomart-wc.single-product.ekomart-product-style-centered div.product .woocommerce-tabs ul.tabs {
  padding-top: 20px;
}

body.single.woocommerce.ekomart-product-style-centered .easyel-product-country-info span {
  font-size: 14px;
}

/* screen only 1366px to 1200px */
@media (max-width: 1366px) and (min-width: 1200px) {
  body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-image {
    flex: 0 0 130px;
  }
  body.ekomart-wc.ekomart-product-style-sticky.single-product div.product .summary.entry-summary {
    max-width: calc(52% - 30px);
  }
}
/* screen 1366px */
@media (max-width: 1366px) {
  .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 80px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary {
    max-width: calc(50% - 25px);
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product {
    display: block;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .woocommerce-tabs {
    padding-top: 20px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .product_title {
    font-size: 35px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product {
    display: block;
  }
}
/* screen 1200px */
@media (max-width: 1200px) {
  body.woocommerce .container.shop__custom_page_products, body.woocommerce.single .container.ekomart-related-wrapper {
    max-width: 100%;
  }
  body.ekomart-wc.woocommerce ul.products, body.ekomart-wc .woocommerce ul.products {
    display: block;
  }
  body.ekomart-wc.woocommerce ul.products.products-list li.product {
    margin-bottom: 20px !important;
  }
  body.ekomart-wc.woocommerce .related.products ul.products li.product {
    margin-bottom: 20px !important;
  }
  body.ekomart-product-right-sidebar.single-product div.product, body.ekomart-wc.ekomart-product-style-sticky.single-product div.product, body.ekomart-wc.ekomart-product-style-centered.single-product div.product {
    display: block;
  }
  body.ekomart-product-right-sidebar.single-product div.product > .single-product-sidebar {
    width: 100%;
    margin-top: 20px;
  }
}
/* screen 991px */
@media (max-width: 991px) {
  body.woocommerce.ekomart-product-style-full_gallery .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 120px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .woocommerce-product-gallery, body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary, body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary {
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 120px;
  }
  body.woocommerce-page.ekomart-product-style-split_hero div.product div.images, body.woocommerce-page.ekomart-product-style-split_hero div.product .summary {
    width: 100%;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product form.cart .single_add_to_cart_button {
    height: 45px;
    padding: 0 20px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product form.cart .quantity {
    height: 45px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 140px;
  }
}
/* screen 767px */
@media (max-width: 767px) {
  .bg_overlay_mobile .hero-slide-background::before {
    content: "";
    background: rgba(0, 0, 0, 0.3490196078);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
  }
  body.ekomart-wc.woocommerce ul.products.products-list li.product .ekomart-card-image {
    margin-bottom: 15px;
  }
  .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img, body.woocommerce.ekomart-product-style-full_gallery .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 120px;
  }
  .easyel-product-country-info span {
    font-size: 12px;
    margin-left: 8px;
  }
  body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button {
    flex: none;
  }
  body.single.woocommerce.ekomart-product-style-centered .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 120px;
  }
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product {
    padding: 30px;
  }
  body.ekomart-wc.ekomart-product-style-centered.single-product div.product .summary.entry-summary {
    margin-top: 30px;
  }
  body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button, body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button {
    padding: 0 20px;
    font-size: 12px;
  }
  body.ekomart-wc.single-product div.product form.cart .single_add_to_cart_button, body.ekomart-wc.single-product div.product form.cart button.single_add_to_cart_button, body.ekomart-wc.single-product div.product form.cart .quantity {
    height: 40px;
  }
  body.ekomart-wc.ekomart-product-style-split_hero.single-product div.product .product_title {
    font-size: 24px;
  }
}
/* screen 575px */
@media (max-width: 600px) {
  .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img, body.woocommerce.ekomart-product-style-full_gallery .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img, body.ekomart-wc.ekomart-product-style-split_hero.single-product div .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 70px;
  }
  body.ekomart-wc .wc-block-grid__products .wc-block-grid__product {
    margin-bottom: 10px;
  }
  body.single.woocommerce.ekomart-product-style-centered .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img,
  body.ekomart-wc.ekomart-product-style-card_panel.single-product .twpgy-easy-woo-gallery-image-area .twpgy-thumb-slider-container .twpgy-swiper .twpgy-swiper-wrapper .twpgy-swiper-slide img {
    height: 60px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary.entry-summary {
    padding: 40px 25px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .summary .product_title {
    font-size: 18px;
  }
  body.ekomart-wc.ekomart-product-style-card_panel.single-product div.product .easyel-product-country-info span {
    font-size: 10px;
    margin-left: 7px;
  }
}