/* ==== AH SHOP + CATEGORY ARCHIVE STYLES ==== */

/* ---------- 1. PAGE TOP SPACING (was lost when archive-header got hidden) ---------- */
body.woocommerce #content.site-content,
body.woocommerce-page #content.site-content,
body.post-type-archive-product #content.site-content,
body.tax-product_cat #content.site-content {
  padding-top: 40px !important;
  padding-bottom: 80px !important;
  background: #fff !important;
}
@media (max-width: 768px) {
  body.woocommerce #content.site-content,
  body.woocommerce-page #content.site-content,
  body.tax-product_cat #content.site-content {
    padding-top: 24px !important;
    padding-bottom: 56px !important;
  }
}

/* ---------- 2. LAYOUT: sidebar left + products right ---------- */
body.woocommerce-shop .shoptimizer-archive > .col-full,
body.post-type-archive-product .shoptimizer-archive > .col-full,
body.tax-product_cat .shoptimizer-archive > .col-full,
body.tax-product_tag .shoptimizer-archive > .col-full {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 40px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
body.woocommerce-shop .shoptimizer-archive > .col-full > #primary.content-area,
body.post-type-archive-product .shoptimizer-archive > .col-full > #primary.content-area,
body.tax-product_cat .shoptimizer-archive > .col-full > #primary.content-area,
body.tax-product_tag .shoptimizer-archive > .col-full > #primary.content-area {
  order: 2 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
body.woocommerce-shop .shoptimizer-archive > .col-full > .secondary-wrapper,
body.post-type-archive-product .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_cat .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_tag .shoptimizer-archive > .col-full > .secondary-wrapper {
  order: 1 !important;
  flex: 0 0 240px !important;
  width: 240px !important;
  max-width: 240px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* ---------- 3. SIDEBAR: professional card ---------- */
body #secondary.widget-area {
  position: sticky !important;
  top: 96px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: 'Manrope', -apple-system, sans-serif !important;
}
body #secondary.widget-area .widget {
  background: #F8FAFC !important;
  border: 1px solid #EEF2F7 !important;
  border-radius: 16px !important;
  padding: 22px 20px !important;
  margin: 0 0 16px !important;
}
body #secondary.widget-area .widget-title,
body #secondary.widget-area .gamma.widget-title {
  display: block !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
  color: #64748B !important;
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

/* Category list */
body #secondary.widget-area ul.product-categories {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #secondary.widget-area ul.product-categories li.cat-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
body #secondary.widget-area ul.product-categories li.cat-item > a {
  display: block !important;
  padding: 8px 10px !important;
  margin: 1px 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: #334155 !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: background 0.18s ease, color 0.18s ease !important;
}
body #secondary.widget-area ul.product-categories li.cat-item > a:hover {
  background: #E8EFF7 !important;
  color: #406BA9 !important;
}
body #secondary.widget-area ul.product-categories li.current-cat > a,
body #secondary.widget-area ul.product-categories li.current-cat-parent > a {
  background: #406BA9 !important;
  color: #fff !important;
}

/* Sub-categories (children) */
body #secondary.widget-area ul.product-categories ul.children {
  list-style: none !important;
  margin: 2px 0 8px 10px !important;
  padding: 0 0 0 12px !important;
  border-left: 1px solid #E2E8F0 !important;
}
body #secondary.widget-area ul.product-categories ul.children li.cat-item > a {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748B !important;
  padding: 6px 10px !important;
}
body #secondary.widget-area ul.product-categories ul.children li.cat-item > a:hover {
  color: #406BA9 !important;
  background: #EEF3F9 !important;
}

/* Sidebar count bubbles if present */
body #secondary.widget-area ul.product-categories .count {
  float: right !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #94A3B8 !important;
  background: transparent !important;
}

/* Price filter / other widgets inside sidebar */
body #secondary.widget-area .widget ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ---------- 4. ARCHIVE TITLE ---------- */
body .woocommerce-products-header {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: none !important;
}
body h1.woocommerce-products-header__title,
body .woocommerce-products-header .page-title {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(26px, 3.2vw, 38px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  color: #151A25 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  text-align: left !important;
}
body .term-description,
body .taxonomy-description {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #64748B !important;
  max-width: 680px !important;
  margin: 0 0 4px !important;
}
body .term-description p, body .taxonomy-description p { margin: 0 !important; font-size: 15px !important; color: #64748B !important; }

/* ---------- 5. SORTING / RESULT BAR ---------- */
body .shoptimizer-sorting {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  margin: 0 0 24px !important;
  border-top: 1px solid #EEF2F7 !important;
  border-bottom: 1px solid #EEF2F7 !important;
  font-family: 'Manrope', sans-serif !important;
}
body .shoptimizer-sorting .woocommerce-notices-wrapper { width: 100% !important; order: -1 !important; }
body .shoptimizer-sorting .woocommerce-notices-wrapper:empty { display: none !important; }

body form.woocommerce-ordering {
  margin: 0 !important;
  order: 1 !important;
  float: none !important;
}
body form.woocommerce-ordering select.orderby {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #151A25 !important;
  padding: 9px 34px 9px 14px !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 999px !important;
  background-color: #fff !important;
  background-image: 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='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 13px center !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 100% !important;
}
body form.woocommerce-ordering select.orderby:focus {
  border-color: #406BA9 !important;
  box-shadow: 0 0 0 3px rgba(64,107,169,0.12) !important;
}

body p.woocommerce-result-count {
  margin: 0 !important;
  padding: 0 !important;
  order: 2 !important;
  float: none !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #64748B !important;
  line-height: 1.4 !important;
}

/* Pagination pushed to the right of the bar */
body .shoptimizer-sorting nav.woocommerce-pagination {
  order: 3 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  text-align: right !important;
}
body nav.woocommerce-pagination ul.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
body nav.woocommerce-pagination ul.page-numbers li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
  overflow: visible !important;
}
body nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
body nav.woocommerce-pagination ul.page-numbers li span.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 9px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  background: #fff !important;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 9px !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
  line-height: 1 !important;
}
body nav.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
  border-color: #406BA9 !important;
  color: #406BA9 !important;
}
body nav.woocommerce-pagination ul.page-numbers li span.page-numbers.current {
  background: #406BA9 !important;
  border-color: #406BA9 !important;
  color: #fff !important;
}
body nav.woocommerce-pagination ul.page-numbers li span.page-numbers.dots {
  border-color: transparent !important;
  background: transparent !important;
  min-width: 20px !important;
  padding: 0 2px !important;
}

/* Bottom pagination (outside the sorting bar) */
body #primary nav.woocommerce-pagination:not(.shoptimizer-sorting nav) {
  margin-top: 36px !important;
  text-align: center !important;
}

/* ---------- 6. PRODUCT GRID ---------- */
body #primary ul.products,
body ul.products.columns-3,
body ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
body #primary .columns-3, body #primary .columns-4 { width: 100% !important; }

body #primary ul.products li.product {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  list-style: none !important;
  background: #fff !important;
  border: 1px solid #EEF2F7 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s cubic-bezier(0.16,1,0.3,1), border-color 0.3s !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  font-family: 'Manrope', sans-serif !important;
}
body #primary ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 34px rgba(15,23,42,0.09) !important;
  border-color: #E8EFF7 !important;
}
body #primary ul.products li.product::before,
body #primary ul.products li.product::after { display: none !important; }

/* Product image */
body #primary ul.products li.product .woocommerce-image__wrapper {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #F8FAFC !important;
  overflow: hidden !important;
}
body #primary ul.products li.product .woocommerce-image__wrapper img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  border-radius: 0 !important;
  transition: transform 0.45s cubic-bezier(0.16,1,0.3,1) !important;
}
body #primary ul.products li.product:hover .woocommerce-image__wrapper img { transform: scale(1.04) !important; }

/* Sale badge */
body #primary ul.products li.product span.onsale {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
  margin: 0 !important;
  padding: 4px 10px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  line-height: 1.35 !important;
  border-radius: 7px !important;
  background: #DC2626 !important;
  color: #fff !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  z-index: 3 !important;
}

/* Card body */
body #primary ul.products li.product .woocommerce-card__header {
  padding: 16px 16px 6px !important;
  margin: 0 !important;
  display: block !important;
  flex: 1 1 auto !important;
}
body #primary ul.products li.product .product__categories {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.9px !important;
  text-transform: uppercase !important;
  color: #94A3B8 !important;
  margin: 0 0 6px !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body #primary ul.products li.product .product__categories a { color: #94A3B8 !important; text-decoration: none !important; }
body #primary ul.products li.product .product__categories a:hover { color: #406BA9 !important; }

body #primary ul.products li.product .woocommerce-loop-product__title,
body #primary ul.products li.product h2.woocommerce-loop-product__title {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: #151A25 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body #primary ul.products li.product .woocommerce-loop-product__title a { color: #151A25 !important; text-decoration: none !important; }

/* Star rating */
body #primary ul.products li.product .star-rating {
  font-size: 12px !important;
  margin: 0 0 8px !important;
  color: #F59E0B !important;
  float: none !important;
}

/* Price */
body #primary ul.products li.product .price {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #151A25 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  letter-spacing: -0.01em !important;
}
body #primary ul.products li.product .price del {
  color: #94A3B8 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  opacity: 1 !important;
  margin-right: 6px !important;
}
body #primary ul.products li.product .price ins {
  text-decoration: none !important;
  color: #151A25 !important;
  font-weight: 800 !important;
  background: transparent !important;
}

/* Add to cart button */
body #primary ul.products li.product .button,
body #primary ul.products li.product a.add_to_cart_button,
body #primary ul.products li.product a.product_type_variable,
body #primary ul.products li.product a.product_type_simple {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 16px 16px !important;
  padding: 10px 18px !important;
  width: calc(100% - 32px) !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  border-radius: 999px !important;
  background: #F1F5F9 !important;
  color: #151A25 !important;
  border: none !important;
  text-decoration: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  min-height: 0 !important;
  height: auto !important;
}
body #primary ul.products li.product .button:hover,
body #primary ul.products li.product a.add_to_cart_button:hover {
  background: #406BA9 !important;
  color: #fff !important;
}

/* Colour / variation swatches inside cards */
body #primary ul.products li.product .cgkit-attribute-swatches,
body #primary ul.products li.product .cgkit-swatches { padding: 0 16px 12px !important; margin: 0 !important; }

/* ---------- 7. HIDE Shoptimizer mobile filter button (sidebar is inline now) ---------- */
body button.mobile-filter,
body .shoptimizer-mobile-toggle { display: none !important; }

/* ---------- 8. RESPONSIVE ---------- */

/* Tablet: narrower sidebar, 2-col products */
@media (max-width: 1024px) {
  body.woocommerce-shop .shoptimizer-archive > .col-full,
  body.post-type-archive-product .shoptimizer-archive > .col-full,
  body.tax-product_cat .shoptimizer-archive > .col-full { gap: 28px !important; padding: 0 20px !important; }
  body.woocommerce-shop .shoptimizer-archive > .col-full > .secondary-wrapper,
body.post-type-archive-product .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_cat .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_tag .shoptimizer-archive > .col-full > .secondary-wrapper { flex: 0 0 220px !important; width: 220px !important; max-width: 220px !important; }
  body #primary ul.products,
  body ul.products.columns-3,
  body ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
}

/* Mobile: stack, sidebar above products as a compact scrollable card */
@media (max-width: 900px) {
  body.woocommerce-shop .shoptimizer-archive > .col-full,
  body.post-type-archive-product .shoptimizer-archive > .col-full,
  body.tax-product_cat .shoptimizer-archive > .col-full {
    flex-direction: column !important;
    gap: 20px !important;
    padding: 0 16px !important;
  }
  body.woocommerce-shop .shoptimizer-archive > .col-full > .secondary-wrapper,
body.post-type-archive-product .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_cat .shoptimizer-archive > .col-full > .secondary-wrapper,
body.tax-product_tag .shoptimizer-archive > .col-full > .secondary-wrapper {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.woocommerce-shop .shoptimizer-archive > .col-full > #primary.content-area,
body.post-type-archive-product .shoptimizer-archive > .col-full > #primary.content-area,
body.tax-product_cat .shoptimizer-archive > .col-full > #primary.content-area,
body.tax-product_tag .shoptimizer-archive > .col-full > #primary.content-area { order: 1 !important; width: 100% !important; }
  body #secondary.widget-area { position: static !important; top: auto !important; }
  body #secondary.widget-area .widget { padding: 18px 16px !important; border-radius: 14px !important; }
  body #secondary.widget-area ul.product-categories {
    max-height: 320px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body .shoptimizer-sorting { gap: 10px !important; padding: 12px 0 !important; margin-bottom: 18px !important; }
  body .shoptimizer-sorting nav.woocommerce-pagination { order: 3 !important; margin: 4px 0 0 !important; width: 100% !important; text-align: left !important; }
  body p.woocommerce-result-count { order: 2 !important; }
}

/* Small phones: keep 2 columns, tighten card padding */
@media (max-width: 560px) {
  body #primary ul.products,
  body ul.products.columns-3,
  body ul.products.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  body #primary ul.products li.product { border-radius: 13px !important; }
  body #primary ul.products li.product .woocommerce-card__header { padding: 12px 11px 4px !important; }
  body #primary ul.products li.product .woocommerce-loop-product__title { font-size: 13.5px !important; margin-bottom: 6px !important; }
  body #primary ul.products li.product .product__categories { font-size: 9.5px !important; -webkit-line-clamp: 1 !important; margin-bottom: 4px !important; }
  body #primary ul.products li.product .price { font-size: 14.5px !important; }
  body #primary ul.products li.product .button,
  body #primary ul.products li.product a.add_to_cart_button {
    margin: 0 11px 11px !important;
    width: calc(100% - 22px) !important;
    padding: 9px 12px !important;
    font-size: 12px !important;
  }
  body h1.woocommerce-products-header__title { font-size: 24px !important; }
  body form.woocommerce-ordering select.orderby { font-size: 12px !important; padding: 8px 30px 8px 12px !important; }
  body nav.woocommerce-pagination ul.page-numbers li a.page-numbers,
  body nav.woocommerce-pagination ul.page-numbers li span.page-numbers { min-width: 30px !important; height: 30px !important; font-size: 12px !important; }
}

/* (single product styling removed - reverted to Shoptimizer default) */
/* ---------- 10. CART / CHECKOUT / ACCOUNT top spacing ---------- */
body.woocommerce-cart #content.site-content,
body.woocommerce-checkout #content.site-content,
body.woocommerce-account #content.site-content { padding-top: 40px !important; padding-bottom: 72px !important; }
body.woocommerce-cart .site-content .col-full,
body.woocommerce-checkout .site-content .col-full,
body.woocommerce-account .site-content .col-full { max-width: 1240px !important; margin: 0 auto !important; padding: 0 20px !important; }

/* ---------- 11. NO-PRODUCTS STATE ---------- */
body .woocommerce-info,
body .woocommerce-no-products-found .woocommerce-info {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  background: #F8FAFC !important;
  border: 1px solid #EEF2F7 !important;
  border-top: 3px solid #406BA9 !important;
  border-radius: 12px !important;
  color: #334155 !important;
  padding: 16px 20px !important;
}

/* ==== CARD CLEANUP v2: image + name + price + button only, equal heights ==== */

/* 1. HIDE everything except image, title, price, button */
body #primary ul.products li.product .product__categories,
body #primary ul.products li.product .star-rating,
body #primary ul.products li.product .cgkit-attribute-swatches,
body #primary ul.products li.product .cgkit-swatches,
body #primary ul.products li.product .cgkit-attribute-swatches-wrapper,
body #primary ul.products li.product .shoptimizer-plp-carousel-nav,
body #primary ul.products li.product .product-short-description,
body #primary ul.products li.product .woocommerce-product-details__short-description,
body #primary ul.products li.product .shoptimizer-quickview,
body #primary ul.products li.product .quick-view {
  display: none !important;
}
body #primary ul.products li.product .screen-reader-text {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  overflow: hidden !important; clip: rect(0 0 0 0) !important;
  white-space: nowrap !important; margin: 0 !important; padding: 0 !important;
}

/* 2. EQUAL HEIGHT for every card in every row */
body #primary ul.products,
body ul.products.columns-3,
body ul.products.columns-4 {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}
body #primary ul.products li.product {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 3. Image block fixed, never grows */
body #primary ul.products li.product .woocommerce-image__wrapper {
  flex: 0 0 auto !important;
}

/* 4. Card body fills remaining space, button pinned to the bottom */
body #primary ul.products li.product .woocommerce-card__header {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 16px !important;
  margin: 0 !important;
  min-height: 0 !important;
}

body #primary ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #151A25 !important;
  margin: 0 0 10px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 40px !important;
}

body #primary ul.products li.product .cgkit-as-variation-price,
body #primary ul.products li.product .price {
  margin: 0 0 14px !important;
  padding: 0 !important;
  display: block !important;
}
body #primary ul.products li.product .price {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #151A25 !important;
  letter-spacing: -0.01em !important;
}

/* 5. ADD TO CART BUTTON — always visible, always at the bottom */
body #primary ul.products li.product a.button,
body #primary ul.products li.product .button,
body #primary ul.products li.product a.add_to_cart_button,
body #primary ul.products li.product a.product_type_variable,
body #primary ul.products li.product a.product_type_simple,
body #primary ul.products li.product a.product_type_grouped,
body #primary ul.products li.product a.product_type_external {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  align-items: center !important;
  justify-content: center !important;
  margin: auto 0 0 !important;
  padding: 11px 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.01em !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 999px !important;
  background: #406BA9 !important;
  color: #fff !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  min-height: 0 !important;
  height: auto !important;
  transform: none !important;
}
body #primary ul.products li.product a.button:hover,
body #primary ul.products li.product a.add_to_cart_button:hover {
  background: #35578D !important;
  color: #fff !important;
}
body #primary ul.products li.product a.added_to_cart {
  display: none !important;
}
body #primary ul.products li.product a.button.loading {
  opacity: 0.75 !important;
}

/* 6. Mobile sizing */
@media (max-width: 560px) {
  body #primary ul.products li.product .woocommerce-card__header { padding: 11px !important; }
  body #primary ul.products li.product .woocommerce-loop-product__title {
    font-size: 13px !important;
    margin-bottom: 7px !important;
    min-height: 35px !important;
  }
  body #primary ul.products li.product .price { font-size: 14.5px !important; }
  body #primary ul.products li.product .cgkit-as-variation-price,
  body #primary ul.products li.product .price { margin-bottom: 10px !important; }
  body #primary ul.products li.product a.button,
  body #primary ul.products li.product a.add_to_cart_button {
    padding: 9px 10px !important;
    font-size: 12px !important;
    margin: auto 0 0 !important;
    width: 100% !important;
  }
}
/* ==== LOAD MORE v1 ==== */
body.woocommerce form.woocommerce-ordering, body.tax-product_cat form.woocommerce-ordering, body.post-type-archive-product form.woocommerce-ordering { display:none !important; }
body.woocommerce nav.woocommerce-pagination, body.tax-product_cat nav.woocommerce-pagination, body.post-type-archive-product nav.woocommerce-pagination { display:none !important; }
body .shoptimizer-sorting { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:10px !important; padding:14px 0 !important; margin:0 0 24px !important; border-top:1px solid #EEF2F7 !important; border-bottom:1px solid #EEF2F7 !important; }
body .shoptimizer-sorting p.woocommerce-result-count { margin:0 !important; order:1 !important; }
.ah-loadmore-wrap { display:flex !important; flex-direction:column !important; align-items:center !important; gap:14px !important; margin:40px 0 0 !important; width:100% !important; }
.ah-loadmore-btn { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:9px !important; min-width:220px !important; max-width:100% !important; padding:14px 34px !important; font-family:'Manrope',sans-serif !important; font-size:14px !important; font-weight:700 !important; color:#fff !important; background:#406BA9 !important; border:none !important; border-radius:999px !important; cursor:pointer !important; box-shadow:0 6px 20px rgba(64,107,169,0.28) !important; transition:background .2s,transform .2s,box-shadow .2s !important; }
.ah-loadmore-btn:hover:not(:disabled) { background:#35578D !important; transform:translateY(-1px) !important; box-shadow:0 10px 28px rgba(64,107,169,0.36) !important; }
.ah-loadmore-btn:disabled { opacity:.6 !important; cursor:default !important; }
.ah-loadmore-btn .ah-lm-spinner { width:16px !important; height:16px !important; border:2px solid rgba(255,255,255,.4) !important; border-top-color:#fff !important; border-radius:50% !important; animation:ah-lm-spin .7s linear infinite !important; display:none !important; }
.ah-loadmore-btn.is-loading .ah-lm-spinner { display:inline-block !important; }
@keyframes ah-lm-spin { to { transform:rotate(360deg); } }
.ah-loadmore-count { font-family:'Manrope',sans-serif !important; font-size:13px !important; font-weight:500 !important; color:#94A3B8 !important; }
.ah-loadmore-wrap.is-done .ah-loadmore-btn { display:none !important; }
@media (max-width:600px){ body .shoptimizer-sorting{ padding:12px 0 !important; margin-bottom:18px !important; } .ah-loadmore-wrap{ margin-top:28px !important; } .ah-loadmore-btn{ width:100% !important; min-width:0 !important; padding:13px 24px !important; } }

/* Hide bottom sorting bar (duplicate count + divider) — Load More replaces it */
body .shoptimizer-sorting.sorting-end { display:none !important; }

/* ==== EMPTY CART ==== */
body.woocommerce-cart.woocommerce-page #content.site-content { padding-top:56px !important; padding-bottom:88px !important; }
body.woocommerce-cart .entry-content > .woocommerce:has(.wc-empty-cart-message) { max-width:560px !important; margin:0 auto !important; padding:0 20px !important; box-sizing:border-box !important; }
body.woocommerce-cart .wc-empty-cart-message { margin:0 0 28px !important; padding:0 !important; }
body.woocommerce-cart .cart-empty.woocommerce-info { font-family:'Manrope',sans-serif !important; font-size:16px !important; font-weight:600 !important; color:#151A25 !important; text-align:center !important; background:#F8FAFC !important; border:1px solid #EEF2F7 !important; border-top:1px solid #EEF2F7 !important; border-radius:16px !important; padding:52px 24px 32px !important; margin:0 !important; position:relative !important; line-height:1.5 !important; }
body.woocommerce-cart p.return-to-shop { text-align:center !important; margin:0 !important; padding:0 !important; }
body.woocommerce-cart p.return-to-shop a.button.wc-backward { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:200px !important; max-width:100% !important; padding:14px 34px !important; font-family:'Manrope',sans-serif !important; font-size:14px !important; font-weight:700 !important; letter-spacing:0.01em !important; color:#fff !important; background:#406BA9 !important; border:none !important; border-radius:999px !important; text-decoration:none !important; box-shadow:0 6px 20px rgba(64,107,169,0.28) !important; transition:background .2s,transform .2s,box-shadow .2s !important; }
body.woocommerce-cart p.return-to-shop a.button.wc-backward:hover { background:#35578D !important; transform:translateY(-1px) !important; box-shadow:0 10px 28px rgba(64,107,169,0.36) !important; color:#fff !important; }
@media (max-width:600px){ body.woocommerce-cart.woocommerce-page #content.site-content { padding-top:36px !important; padding-bottom:60px !important; } body.woocommerce-cart .entry-content > .woocommerce { padding:0 16px !important; } body.woocommerce-cart .cart-empty.woocommerce-info { font-size:15px !important; padding:44px 20px 28px !important; } body.woocommerce-cart p.return-to-shop a.button.wc-backward { width:100% !important; min-width:0 !important; } }
body.woocommerce-cart .cart-empty.woocommerce-info::before { position:static !important; display:block !important; width:44px !important; height:44px !important; margin:0 auto 16px !important; left:auto !important; top:auto !important; transform:none !important; -webkit-mask-size:contain !important; mask-size:contain !important; -webkit-mask-repeat:no-repeat !important; mask-repeat:no-repeat !important; -webkit-mask-position:center !important; mask-position:center !important; background-color:#406BA9 !important; opacity:1 !important; }
body.woocommerce-cart .cart-empty.woocommerce-info::after { content:'Looks like you haven’t added anything yet.' !important; display:block !important; margin:8px auto 0 !important; font-size:14px !important; font-weight:500 !important; color:#64748B !important; position:static !important; }

/* ==== CART BUTTONS (brand colour, keep Shoptimizer layout) ==== */
body.woocommerce-cart a.checkout-button.button, body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:#406BA9 !important; color:#fff !important; border:none !important; }
body.woocommerce-cart a.checkout-button.button:hover { background:#35578D !important; color:#fff !important; }
body.woocommerce-cart .coupon button.button, body.woocommerce-cart button[name='apply_coupon'] { background:#406BA9 !important; color:#fff !important; border:none !important; }
body.woocommerce-cart .coupon button.button:hover, body.woocommerce-cart button[name='apply_coupon']:hover { background:#35578D !important; color:#fff !important; }
body.woocommerce-cart button[name='update_cart']:not(:disabled) { background:#406BA9 !important; color:#fff !important; border:none !important; }
body.woocommerce-cart button[name='update_cart']:not(:disabled):hover { background:#35578D !important; color:#fff !important; }

/* ==== CHECKOUT COLOURS (colour only, layout untouched) ==== */
body.woocommerce-checkout #place_order, body.woocommerce-checkout button#place_order[type='submit'], body.woocommerce-checkout #payment #place_order { background:#406BA9 !important; border-color:#406BA9 !important; color:#fff !important; }
body.woocommerce-checkout #place_order:hover, body.woocommerce-checkout button#place_order[type='submit']:hover { background:#35578D !important; border-color:#35578D !important; color:#fff !important; }
body.woocommerce-checkout .button.alt, body.woocommerce-checkout input#submit.alt, body.woocommerce-checkout button.button.alt { background:#406BA9 !important; border-color:#406BA9 !important; color:#fff !important; }
body.woocommerce-checkout .button.alt:hover, body.woocommerce-checkout button.button.alt:hover { background:#35578D !important; border-color:#35578D !important; color:#fff !important; }
body.woocommerce-checkout .woocommerce-info a, body.woocommerce-checkout .showcoupon, body.woocommerce-checkout .showlogin, body.woocommerce-checkout a { color:#406BA9 !important; }
body.woocommerce-checkout .woocommerce-info a:hover, body.woocommerce-checkout a:hover { color:#35578D !important; }
body.woocommerce-checkout .woocommerce-info { border-top-color:#406BA9 !important; }
body.woocommerce-checkout .woocommerce-info::before { color:#406BA9 !important; }
body.woocommerce-checkout .input-text:focus, body.woocommerce-checkout input:focus, body.woocommerce-checkout textarea:focus, body.woocommerce-checkout select:focus { border-color:#406BA9 !important; box-shadow:0 0 0 2px rgba(64,107,169,0.15) !important; outline:none !important; }
body.woocommerce-checkout #payment ul.payment_methods input[type='radio']:checked, body.woocommerce-checkout input[type='radio']:checked, body.woocommerce-checkout input[type='checkbox']:checked { accent-color:#406BA9 !important; }
body.woocommerce-checkout .checkout_coupon button.button, body.woocommerce-checkout form.checkout_coupon button[name='apply_coupon'] { background:#406BA9 !important; border-color:#406BA9 !important; color:#fff !important; }
body.woocommerce-checkout .checkout_coupon button.button:hover { background:#35578D !important; color:#fff !important; }



/* ==== LOADMORE SPACING (definitive) ==== */
body.woocommerce-shop .col-full, body.tax-product_cat .col-full, body.post-type-archive-product .col-full { margin-bottom:0 !important; }
body.woocommerce-shop #content.site-content, body.tax-product_cat #content.site-content, body.post-type-archive-product #content.site-content { padding-bottom:0 !important; }
.ah-loadmore-wrap { margin:40px 0 48px !important; }
@media (max-width:600px){
  .ah-loadmore-wrap { margin:16px 0 20px !important; }
}

/* MOBILE: sidebar above products so Load More is the last element */
@media (max-width:900px){ body.woocommerce-shop .shoptimizer-archive > .col-full > #primary.content-area, body.tax-product_cat .shoptimizer-archive > .col-full > #primary.content-area, body.post-type-archive-product .shoptimizer-archive > .col-full > #primary.content-area { order:2 !important; } }

/* MOBILE HIDE SIDEBAR */
@media (max-width:900px){ body.woocommerce-shop .shoptimizer-archive > .col-full > .secondary-wrapper, body.tax-product_cat .shoptimizer-archive > .col-full > .secondary-wrapper, body.post-type-archive-product .shoptimizer-archive > .col-full > .secondary-wrapper, body.tax-product_tag .shoptimizer-archive > .col-full > .secondary-wrapper { display:none !important; } }

/* ==== SINGLE PRODUCT COLOURS ONLY (Shoptimizer layout kept) ==== */
body.single-product button.single_add_to_cart_button, body.single-product .single_add_to_cart_button, body.single-product form.cart button.button, body.single-product .woocommerce-variation-add-to-cart button.button { background:#406BA9 !important; border-color:#406BA9 !important; color:#fff !important; }
body.single-product button.single_add_to_cart_button:hover, body.single-product .single_add_to_cart_button:hover, body.single-product form.cart button.button:hover { background:#35578D !important; border-color:#35578D !important; color:#fff !important; }
body.single-product li.variable-item.selected .variable-item-span-button, body.single-product li.variable-item.selected, body.single-product .variable-items-wrapper .variable-item.selected { border-color:#406BA9 !important; box-shadow:0 0 0 1px #406BA9 !important; }
body.single-product li.button-variable-item.selected .variable-item-span { background:#406BA9 !important; color:#fff !important; border-color:#406BA9 !important; }
body.single-product .onsale, body.single-product .price .amount ins { color:inherit !important; }
body.single-product .reset_variations, body.single-product .product_meta a, body.single-product .woocommerce-breadcrumb a, body.single-product a.added_to_cart { color:#406BA9 !important; }
body.single-product .reset_variations:hover, body.single-product .woocommerce-breadcrumb a:hover { color:#35578D !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color:#406BA9 !important; }
body.single-product .woocommerce-Tabs-panel a { color:#406BA9 !important; }
body.single-product input:focus, body.single-product textarea:focus, body.single-product select:focus { border-color:#406BA9 !important; box-shadow:0 0 0 2px rgba(64,107,169,0.15) !important; }
body.single-product .related.products a.button, body.single-product .related.products .button { background:#406BA9 !important; border-color:#406BA9 !important; color:#fff !important; }
body.single-product .related.products a.button:hover { background:#35578D !important; color:#fff !important; }
body.single-product .button.alt { background:#406BA9 !important; border-color:#406BA9 !important; }
body.single-product .button.alt:hover { background:#35578D !important; border-color:#35578D !important; }

/* ==== HOME PRODUCTS GRID (real shop cards on homepage) ==== */
ul.products.ah-home-products { display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; grid-auto-rows:1fr !important; gap:22px !important; list-style:none !important; margin:0 !important; padding:0 !important; width:100% !important; }
ul.products.ah-home-products::before, ul.products.ah-home-products::after { display:none !important; content:none !important; }
ul.products.ah-home-products li.product { float:none !important; width:100% !important; max-width:none !important; height:100% !important; margin:0 !important; padding:0 !important; display:flex !important; flex-direction:column !important; background:#fff !important; border:1px solid #EEF2F7 !important; border-radius:16px !important; overflow:hidden !important; transition:transform .3s cubic-bezier(0.16,1,0.3,1), box-shadow .3s, border-color .3s !important; }
ul.products.ah-home-products li.product:hover { transform:translateY(-4px) !important; box-shadow:0 16px 34px rgba(15,23,42,0.09) !important; }
ul.products.ah-home-products li.product .woocommerce-image__wrapper { background:#F8FAFC !important; overflow:hidden !important; }
ul.products.ah-home-products li.product img { width:100% !important; height:auto !important; aspect-ratio:1/1 !important; object-fit:cover !important; display:block !important; margin:0 !important; }
ul.products.ah-home-products li.product .product__categories, ul.products.ah-home-products li.product .star-rating, ul.products.ah-home-products li.product .cgkit-attribute-swatches { display:none !important; }
ul.products.ah-home-products li.product .woocommerce-card__header { display:flex !important; flex-direction:column !important; flex:1 1 auto !important; padding:14px !important; }
ul.products.ah-home-products li.product .woocommerce-loop-product__title { font-family:'Manrope',sans-serif !important; font-size:14px !important; font-weight:700 !important; line-height:1.35 !important; color:#151A25 !important; margin:0 0 8px !important; display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important; overflow:hidden !important; min-height:38px !important; }
ul.products.ah-home-products li.product .woocommerce-loop-product__title a { color:inherit !important; text-decoration:none !important; }
ul.products.ah-home-products li.product .price { font-family:'Manrope',sans-serif !important; font-size:15px !important; font-weight:800 !important; color:#151A25 !important; margin:0 0 12px !important; }
ul.products.ah-home-products li.product .button, ul.products.ah-home-products li.product a.add_to_cart_button { display:flex !important; align-items:center !important; justify-content:center !important; margin:auto 0 0 !important; padding:10px 14px !important; width:100% !important; box-sizing:border-box !important; font-family:'Manrope',sans-serif !important; font-size:12.5px !important; font-weight:700 !important; border-radius:999px !important; background:#406BA9 !important; color:#fff !important; border:none !important; text-decoration:none !important; }
ul.products.ah-home-products li.product .button:hover { background:#35578D !important; }
ul.products.ah-home-products li.product .added_to_cart { display:none !important; }
@media (max-width:1024px){ ul.products.ah-home-products { grid-template-columns:repeat(3, minmax(0,1fr)) !important; } }
@media (max-width:768px){ ul.products.ah-home-products { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:14px !important; } }
@media (max-width:480px){ ul.products.ah-home-products { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important; } ul.products.ah-home-products li.product .woocommerce-card__header { padding:11px !important; } ul.products.ah-home-products li.product .woocommerce-loop-product__title { font-size:13px !important; min-height:35px !important; } ul.products.ah-home-products li.product .price { font-size:14px !important; } ul.products.ah-home-products li.product .button { font-size:12px !important; padding:9px 10px !important; } }

/* ==== HOME GRID WRAPPER FIX ==== */
.ah-bestsellers__grid.ah-bestsellers__grid--real { display:block !important; grid-template-columns:none !important; gap:0 !important; }
.ah-bestsellers__grid--real ul.products.ah-home-products { display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; gap:22px !important; width:100% !important; margin:0 !important; padding:0 !important; }
@media (max-width:1024px){ .ah-bestsellers__grid--real ul.products.ah-home-products { grid-template-columns:repeat(3, minmax(0,1fr)) !important; } }
@media (max-width:768px){ .ah-bestsellers__grid--real ul.products.ah-home-products { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:14px !important; } }
@media (max-width:480px){ .ah-bestsellers__grid--real ul.products.ah-home-products { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:12px !important; } }

/* ==== HOME CARD BUTTON ALWAYS VISIBLE ==== */
ul.products.ah-home-products li.product .button,
ul.products.ah-home-products li.product a.add_to_cart_button,
ul.products.ah-home-products li.product a.product_type_variable,
ul.products.ah-home-products li.product a.product_type_simple {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  visibility:visible !important;
  position:static !important;
  transform:none !important;
  pointer-events:auto !important;
  margin:auto 0 0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:11px 14px !important;
  font-family:'Manrope',sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  border-radius:999px !important;
  background:#406BA9 !important;
  color:#fff !important;
  border:none !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  min-height:40px !important;
  height:auto !important;
}
ul.products.ah-home-products li.product .button:hover,
ul.products.ah-home-products li.product a.add_to_cart_button:hover { background:#35578D !important; color:#fff !important; }
ul.products.ah-home-products li.product .woocommerce-card__header { display:flex !important; flex-direction:column !important; flex:1 1 auto !important; }
ul.products.ah-home-products li.product a.added_to_cart { display:none !important; }
ul.products.ah-home-products li.product .add_to_cart_button:after { display:none !important; content:none !important; }
@media (max-width:480px){ ul.products.ah-home-products li.product .button { font-size:12px !important; padding:10px 8px !important; min-height:36px !important; } }
