:root {
  --casf-primary:#1B9C85;
  --casf-primary-dark:#147A69;
  --casf-primary-deep:#0F5F53;
  --casf-bg:#F6FAF7;
  --casf-card:#FFFFFF;
  --casf-card-soft:#F9FCFA;
  --casf-text:#111827;
  --casf-muted:#6B7280;
  --casf-border:#E5E7EB;
  --casf-warning:#F59E0B;
  --casf-error:#DC2626;
  --casf-radius:18px;
  --casf-radius-lg:24px;
  --casf-pill:999px;
  --casf-shadow:0 14px 34px rgba(15,23,42,.08);
}

body.casf-shop-page {
  background: #fff !important;
}

body.casf-shop-page .site-content,
body.casf-shop-page .content-area,
body.casf-shop-page .entry-content,
body.casf-shop-page .woocommerce {
  width: 100%;
}

body.casf-shop-page .ast-container,
body.casf-shop-page .site-content > .ast-container,
body.casf-shop-page #primary {
  width: 100% !important;
  max-width: 1240px !important;
}

body.casf-shop-page .woocommerce-products-header,
body.casf-shop-page .woocommerce-result-count,
body.casf-shop-page .woocommerce-ordering {
  color: var(--casf-text);
}

body.casf-shop-page .woocommerce-products-header {
  margin-bottom: 18px !important;
}

body.casf-shop-page .woocommerce-products-header__title,
body.casf-shop-page .page-title {
  color: var(--casf-text) !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
}

body.casf-shop-page .woocommerce-result-count {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--casf-muted) !important;
}

body.casf-shop-page .woocommerce-ordering select {
  min-height: 42px !important;
  border-radius: var(--casf-pill) !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
  color: var(--casf-text) !important;
  font-weight: 800 !important;
  padding: 0 42px 0 16px !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.04) !important;
}

body.casf-shop-page ul.products,
body.casf-shop-page .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

body.casf-shop-page ul.products::before,
body.casf-shop-page ul.products::after,
body.casf-shop-page .woocommerce ul.products::before,
body.casf-shop-page .woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}

body.casf-shop-page ul.products li.product,
body.casf-shop-page .woocommerce ul.products li.product,
body.casf-shop-page .woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  background: var(--casf-card) !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: var(--casf-radius-lg) !important;
  box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  position: relative !important;
}

body.casf-shop-page ul.products li.product:hover,
body.casf-shop-page .woocommerce ul.products li.product:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(27,156,133,.28) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.10) !important;
}

body.casf-shop-page ul.products li.product .astra-shop-thumbnail-wrap,
body.casf-shop-page ul.products li.product a.woocommerce-LoopProduct-link,
body.casf-shop-page .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  display: block !important;
  position: relative !important;
}

body.casf-shop-page ul.products li.product a img,
body.casf-shop-page .woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 230px !important;
  max-height: 230px !important;
  object-fit: contain !important;
  object-position: center !important;
  background:
    radial-gradient(circle at 82% 18%, rgba(27,156,133,.10) 0%, rgba(27,156,133,0) 32%),
    linear-gradient(135deg, #ECFDF5 0%, #F3FCF8 42%, #FFFFFF 100%) !important;
  border: 1px solid #D8F3EC !important;
  border-radius: 20px !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  margin: 0 0 12px !important;
}

body.casf-shop-page ul.products li.product .onsale,
body.casf-shop-page .woocommerce span.onsale,
body.casf-shop-page .woocommerce ul.products li.product .onsale {
  top: 22px !important;
  right: 22px !important;
  left: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
  border-radius: var(--casf-pill) !important;
  padding: 8px 12px !important;
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 42%, #FDBA74 100%) !important;
  border: 1px solid #FB923C !important;
  color: #7C2D12 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 18px rgba(245,158,11,.20) !important;
  z-index: 4 !important;
}

body.casf-shop-page ul.products li.product .onsale::before,
body.casf-shop-page .woocommerce ul.products li.product .onsale::before {
  content: "🔥 ";
}

body.casf-shop-page ul.products li.product .astra-shop-summary-wrap,
body.casf-shop-page .woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
}

body.casf-shop-page .casf-loop-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 2px 0 0 !important;
  order: -1;
}

body.casf-shop-page .casf-loop-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  border-radius: var(--casf-pill) !important;
  padding: 6px 9px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  border: 1px solid var(--casf-border) !important;
  white-space: nowrap !important;
}

body.casf-shop-page .casf-loop-badge-stock-in {
  background: #ECFDF5 !important;
  color: var(--casf-primary-deep) !important;
  border-color: #BDEBE3 !important;
}

body.casf-shop-page .casf-loop-badge-stock-in::before {
  content: "✓";
}

body.casf-shop-page .casf-loop-badge-stock-out {
  background: #FEF2F2 !important;
  color: #991B1B !important;
  border-color: #FECACA !important;
}

body.casf-shop-page .casf-loop-badge-stock-out::before {
  content: "×";
}

body.casf-shop-page .casf-loop-badge-type-physical {
  background: #F9FAFB !important;
  color: #475569 !important;
  border-color: #E5E7EB !important;
}

body.casf-shop-page .casf-loop-badge-type-physical::before {
  content: "📦";
}

body.casf-shop-page .casf-loop-badge-type-virtual {
  background: #EEF2FF !important;
  color: #3730A3 !important;
  border-color: #C7D2FE !important;
}

body.casf-shop-page .casf-loop-badge-type-virtual::before {
  content: "☁️";
}

body.casf-shop-page .casf-loop-badge-type-downloadable {
  background: #ECFDF5 !important;
  color: var(--casf-primary-deep) !important;
  border-color: #BDEBE3 !important;
}

body.casf-shop-page .casf-loop-badge-type-downloadable::before {
  content: "⬇️";
}

body.casf-shop-page ul.products li.product .woocommerce-loop-product__title,
body.casf-shop-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.casf-shop-page ul.products li.product h2,
body.casf-shop-page ul.products li.product h3 {
  color: var(--casf-text) !important;
  font-size: 17px !important;
  line-height: 1.18 !important;
  letter-spacing: -0.035em !important;
  font-weight: 950 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 42px !important;
}

body.casf-shop-page ul.products li.product .star-rating,
body.casf-shop-page .woocommerce ul.products li.product .star-rating {
  margin: 0 !important;
  font-size: 12px !important;
  color: #F59E0B !important;
}

body.casf-shop-page ul.products li.product .price,
body.casf-shop-page .woocommerce ul.products li.product .price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 10px 12px !important;
  min-height: 46px !important;
  background: #F9FCFA !important;
  border: 1px solid var(--casf-border) !important;
  border-radius: 16px !important;
  color: var(--casf-text) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

body.casf-shop-page ul.products li.product .price del,
body.casf-shop-page .woocommerce ul.products li.product .price del {
  color: var(--casf-muted) !important;
  opacity: .78 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.casf-shop-page ul.products li.product .price ins,
body.casf-shop-page .woocommerce ul.products li.product .price ins {
  color: var(--casf-primary-deep) !important;
  text-decoration: none !important;
  font-weight: 950 !important;
}

body.casf-shop-page ul.products li.product .button,
body.casf-shop-page .woocommerce ul.products li.product .button,
body.casf-shop-page ul.products li.product a.added_to_cart,
body.casf-shop-page .woocommerce ul.products li.product a.added_to_cart {
  width: 100% !important;
  min-height: 44px !important;
  border-radius: var(--casf-pill) !important;
  background: linear-gradient(135deg, var(--casf-primary), var(--casf-primary-dark)) !important;
  color: #fff !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  padding: 0 16px !important;
  margin-top: auto !important;
  box-shadow: 0 12px 24px rgba(27,156,133,.20) !important;
  text-decoration: none !important;
}

body.casf-shop-page ul.products li.product .button:hover,
body.casf-shop-page .woocommerce ul.products li.product .button:hover,
body.casf-shop-page ul.products li.product a.added_to_cart:hover {
  background: linear-gradient(135deg, var(--casf-primary-dark), var(--casf-primary-deep)) !important;
  transform: translateY(-1px) !important;
}

body.casf-shop-page ul.products li.product .button.loading {
  opacity: .7 !important;
}

body.casf-shop-page ul.products li.product.outofstock .button,
body.casf-shop-page .woocommerce ul.products li.product.outofstock .button {
  background: #F3F4F6 !important;
  color: #6B7280 !important;
  box-shadow: none !important;
}

body.casf-shop-page nav.woocommerce-pagination ul,
body.casf-shop-page .woocommerce-pagination ul {
  border: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.casf-shop-page nav.woocommerce-pagination ul li,
body.casf-shop-page .woocommerce-pagination ul li {
  border: 0 !important;
}

body.casf-shop-page nav.woocommerce-pagination ul li a,
body.casf-shop-page nav.woocommerce-pagination ul li span,
body.casf-shop-page .woocommerce-pagination ul li a,
body.casf-shop-page .woocommerce-pagination ul li span {
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: var(--casf-pill) !important;
  border: 1px solid var(--casf-border) !important;
  background: #fff !important;
  color: var(--casf-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
}

body.casf-shop-page nav.woocommerce-pagination ul li span.current,
body.casf-shop-page .woocommerce-pagination ul li span.current {
  background: var(--casf-primary) !important;
  color: #fff !important;
  border-color: var(--casf-primary) !important;
}

@media (max-width: 1180px) {
  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.casf-shop-page .ast-container,
  body.casf-shop-page .site-content > .ast-container,
  body.casf-shop-page #primary {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.casf-shop-page ul.products li.product,
  body.casf-shop-page .woocommerce ul.products li.product,
  body.casf-shop-page .woocommerce-page ul.products li.product {
    padding: 10px !important;
    border-radius: 20px !important;
  }

  body.casf-shop-page ul.products li.product a img,
  body.casf-shop-page .woocommerce ul.products li.product a img {
    height: 150px !important;
    max-height: 150px !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  body.casf-shop-page ul.products li.product .onsale,
  body.casf-shop-page .woocommerce ul.products li.product .onsale {
    top: 16px !important;
    right: 16px !important;
    padding: 7px 9px !important;
    font-size: 10px !important;
  }

  body.casf-shop-page .casf-loop-badges {
    gap: 5px !important;
  }

  body.casf-shop-page .casf-loop-badge {
    padding: 5px 7px !important;
    font-size: 10px !important;
  }

  body.casf-shop-page ul.products li.product .woocommerce-loop-product__title,
  body.casf-shop-page .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.casf-shop-page ul.products li.product h2,
  body.casf-shop-page ul.products li.product h3 {
    font-size: 14px !important;
    line-height: 1.18 !important;
    min-height: 48px !important;
  }

  body.casf-shop-page ul.products li.product .price,
  body.casf-shop-page .woocommerce ul.products li.product .price {
    min-height: 40px !important;
    padding: 8px 9px !important;
    font-size: 15px !important;
    border-radius: 14px !important;
  }

  body.casf-shop-page ul.products li.product .button,
  body.casf-shop-page .woocommerce ul.products li.product .button,
  body.casf-shop-page ul.products li.product a.added_to_cart,
  body.casf-shop-page .woocommerce ul.products li.product a.added_to_cart {
    min-height: 40px !important;
    font-size: 11px !important;
    padding: 0 10px !important;
  }
}

@media (max-width: 360px) {
  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  body.casf-shop-page ul.products li.product a img,
  body.casf-shop-page .woocommerce ul.products li.product a img {
    height: 210px !important;
    max-height: 210px !important;
  }
}


/* v1.0.90 — category archive width + 24-products-per-page / 4-per-row compatibility */
body.casf-shop-page .site,
body.casf-shop-page .site-content,
body.casf-shop-page .ast-woo-shop-archive,
body.casf-shop-page .ast-woocommerce-container,
body.casf-shop-page .content-area,
body.casf-shop-page .site-main,
body.casf-shop-page .woocommerce,
body.casf-shop-page .woocommerce-page,
body.casf-shop-page .archive.woocommerce-page {
  width: 100% !important;
  max-width: none !important;
}

body.casf-shop-page .ast-container {
  display: block !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.casf-shop-page #primary,
body.casf-shop-page .content-area,
body.casf-shop-page .ast-woo-shop-archive,
body.casf-shop-page .site-main {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.casf-shop-page #secondary,
body.casf-shop-page .widget-area,
body.casf-shop-page aside.widget-area,
body.casf-shop-page .ast-left-sidebar #secondary,
body.casf-shop-page .ast-right-sidebar #secondary {
  display: none !important;
}

body.casf-shop-page ul.products,
body.casf-shop-page .woocommerce ul.products {
  width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

body.casf-shop-page .woocommerce-loop-category__title,
body.casf-shop-page .term-description,
body.casf-shop-page .archive-description {
  max-width: 100% !important;
}

body.casf-shop-page .woocommerce-ordering,
body.casf-shop-page .woocommerce-result-count {
  margin-bottom: 16px !important;
}

body.casf-shop-page .woocommerce-notices-wrapper,
body.casf-shop-page .woocommerce-products-header,
body.casf-shop-page .woocommerce-result-count,
body.casf-shop-page .woocommerce-ordering,
body.casf-shop-page .woocommerce-pagination {
  width: 100% !important;
}

@media (max-width: 1180px) {
  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 360px) {
  body.casf-shop-page ul.products,
  body.casf-shop-page .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}
