/* Rizz Trendz — shop/category archive only. Safely scoped to WooCommerce's classic loop. */
body.woocommerce-shop,
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag { background: #f4f6f9; }

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) #primary,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container { width: 100%; max-width: none; }

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-container {
  max-width: 1560px;
  width: 100%;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container {
  padding: 24px 0 65px;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-breadcrumb {
  font-size: 13px; color: #627186; margin: 0 0 14px;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-products-header {
  padding: 0 0 6px;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-products-header__title {
  color: #17243c; font-weight: 800; font-size: clamp(29px,3vw,40px);
  line-height: 1.2; margin: 4px 0 24px;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-result-count,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-ordering {
  margin: 0 0 18px; font-size: 14px; color: #5d6879;
}

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-ordering select {
  appearance: auto; background: #fff; border: 1px solid #d7dfea; border-radius: 10px;
  min-height: 43px; color: #17243c; font-size: 14px; padding: 7px 13px;
  box-shadow: 0 2px 8px rgba(20,35,55,.03);
}

.rt-shop-categories { clear: both; padding: 16px 18px; background: #fff; border: 1px solid #e0e6ef;
  border-radius: 15px; margin: 16px 0 25px; }
.rt-shop-categories__label { display: block; font-size: 12px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .065em; color: #68778a; margin: 0 0 12px; }
.rt-shop-categories__links { display: flex; flex-wrap: wrap; gap: 9px; }
.rt-shop-category { text-decoration: none !important; font-size: 13px; font-weight: 650;
  color: #273c5c !important; padding: 8px 13px; border: 1px solid #dce4ef;
  border-radius: 999px; line-height: 1.35; background: #fff; transition: background .2s, border-color .2s; }
.rt-shop-category:hover, .rt-shop-category.is-current { color: #fff !important; background: #175fea; border-color: #175fea; }

/* Astra shop grid: reset floating widths and grid placement from classic Woo styles. */
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products {
  display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  align-items: stretch; gap: 21px !important; clear: both;
  margin: 0 0 28px !important; padding: 0 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products::before,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products::after {
  display: none !important; content: none !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products > li.product {
  display: flex !important; flex-direction: column; width: 100% !important;
  float: none !important; clear: none !important; max-width: none !important;
  min-width: 0; margin: 0 !important; padding: 0 !important; background: #fff;
  border: 1px solid #e0e6ed; border-radius: 15px; overflow: hidden;
  box-shadow: 0 3px 12px rgba(25,45,65,.045);
  transition: box-shadow .2s ease, transform .2s ease;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products > li.product:hover {
  transform: translateY(-2px); box-shadow: 0 10px 26px rgba(25,45,65,.10);
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-thumbnail-wrap {
  position: relative; background: #f8fafc; padding: 13px;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-thumbnail-wrap > a.woocommerce-LoopProduct-link {
  display: block; position: relative;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-thumbnail-wrap img {
  width: 100% !important; height: auto !important; aspect-ratio: 1 / 1;
  object-fit: contain; border-radius: 9px; background: #fff; margin: 0 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-shop-product-out-of-stock {
  position: absolute; inset: auto 10px 10px; width: auto; text-transform: none;
  border-radius: 8px; background: rgba(255,255,255,.96); color: #b42318;
  font-size: 12px; font-weight: 800; letter-spacing: .02em; padding: 10px;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap {
  display: flex; flex-direction: column; flex: 1; gap: 8px;
  padding: 17px 17px 19px; min-height: 190px;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap .ast-woo-product-category {
  color: #64748b !important; font-size: 12px; font-weight: 600; line-height: 1.45; margin: 0;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap h2.woocommerce-loop-product__title {
  color: #16243c; font-size: 15px !important; line-height: 1.45 !important;
  font-weight: 650; margin: 0 !important; padding: 0 !important;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap .review-rating,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap .star-rating {
  color: #f59e0b; margin: 0; line-height: 1.4;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap .price {
  display: block; font-size: 22px !important; font-weight: 800 !important;
  color: #14233c !important; margin: 3px 0 6px !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap > a.button {
  margin-top: auto !important; border: 1px solid #e1aa16 !important;
  background: #ffd24f !important; color: #15243d !important;
  min-height: 43px; width: 100%; display: inline-flex !important;
  justify-content: center; align-items: center;
  border-radius: 999px !important; padding: 10px 16px !important;
  font-size: 14px !important; font-weight: 750 !important;
  text-align: center !important; box-shadow: none;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap > a.button:hover {
  background: #ffbd2e !important;
}
/* Suppress Astra's redundant floating image overlay action, preserve primary CTA below. */
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-thumbnail-wrap .ast-on-card-button { display: none !important; }

:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .woocommerce-pagination { margin: 25px 0; }

@media (max-width: 1100px) {
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width: 800px) {
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 13px !important;
  }
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container {
    padding: 16px 0 45px;
  }
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap {
    padding: 12px !important;
  }
}
@media (max-width: 460px) {
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .ast-woocommerce-container ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important;
  }
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap h2.woocommerce-loop-product__title {
    font-size: 13px !important;
  }
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap .price {
    font-size: 19px !important;
  }
  :is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .astra-shop-summary-wrap > a.button {
    font-size: 12px !important; padding: 9px !important;
  }
}

/* v1.0.1 — enforce natural information hierarchy in Astra shop cards.
   Astra and review plugins can assign flex order, which previously placed stars
   after the purchase button. This targets only WooCommerce archive cards. */
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .ast-woo-product-category {
  order: 1 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .ast-loop-product__link {
  order: 2 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .review-rating,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .woocommerce-product-rating,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .star-rating {
  order: 3 !important;
  display: block !important;
  width: 100%;
  height: auto;
  min-height: 18px;
  margin: 0 !important;
  float: none !important;
  clear: both;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap .review-rating .star-rating,
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap .woocommerce-product-rating .star-rating {
  float: none !important;
  display: block;
  margin: 0 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .price {
  order: 4 !important;
}
:is(body.woocommerce-shop,body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > a.button {
  order: 5 !important;
}


/* v1.0.2 — fix excessive shop top gap and cramped/clipped ratings.
   Only affects shop and WooCommerce archive pages; homepage, single products,
   checkout and cart remain untouched. */
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) #content,
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) #content.site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) #content > .ast-container,
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) #primary,
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) #main,
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .ast-woocommerce-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .ast-woocommerce-container {
  padding-top: 18px !important;
}
/* Keep stars comfortably above price and away from card CTA. */
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .review-rating {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 27px !important;
  line-height: 27px !important;
  overflow: visible !important;
  padding: 3px 0 !important;
  margin: 2px 0 5px !important;
}
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap .review-rating .star-rating {
  float: none !important;
  display: block !important;
  font-size: 16px !important;
  line-height: 1.45em !important;
  height: 1.45em !important;
  width: 5.8em !important;
  max-width: none !important;
  overflow: hidden !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap .review-rating .star-rating span {
  height: 1.45em !important;
  line-height: 1.45em !important;
  overflow: hidden !important;
}
:is(body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag)
.ast-woocommerce-container ul.products li.product .astra-shop-summary-wrap > .price {
  flex: 0 0 auto !important;
  margin-top: 3px !important;
}


/* v1.0.3 — shop landing header, scoped exclusively to /shop/. */
body.woocommerce-shop .ast-woocommerce-container > .woocommerce-products-header,
body.post-type-archive-product .ast-woocommerce-container > .woocommerce-products-header {
  position: relative;
  overflow: hidden;
  padding: 24px 30px 4px !important;
  border: 1px solid #dfe7f4;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(110deg, #fff 0%, #f5f8ff 63%, #edf4ff 100%);
}
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title {
  color: #13223b !important;
  font-size: clamp(27px, 2.7vw, 39px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em;
  font-weight: 800 !important;
  margin: 0 0 6px !important;
  max-width: 850px;
}
body.woocommerce-shop .rt-shop-intro,
body.post-type-archive-product .rt-shop-intro {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 30px 22px;
  margin: 0 0 20px !important;
  background: linear-gradient(110deg, #fff 0%, #f5f8ff 63%, #edf4ff 100%);
  border: 1px solid #dfe7f4;
  border-top: 0;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 5px 18px rgba(23,50,100,.04);
}
body.woocommerce-shop .rt-shop-intro__eyebrow,
body.post-type-archive-product .rt-shop-intro__eyebrow {
  display: inline-block;
  width: fit-content;
  color: #175fea;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: .12em;
}
body.woocommerce-shop .rt-shop-intro p,
body.post-type-archive-product .rt-shop-intro p {
  color: #58677b;
  font-size: clamp(13px, 1vw, 15px);
  line-height: 1.55;
  margin: 0 !important;
}
@media (max-width: 600px) {
  body.woocommerce-shop .ast-woocommerce-container > .woocommerce-products-header,
  body.post-type-archive-product .ast-woocommerce-container > .woocommerce-products-header {
    padding: 19px 17px 2px !important;
  }
  body.woocommerce-shop .rt-shop-intro,
  body.post-type-archive-product .rt-shop-intro {
    padding: 2px 17px 19px !important;
  }
}
