/**
 * WooCommerce – premium shop grid, single product, tabs, checkout.
 * Shopify-inspired: cards, luft, bløde skygger, store CTAs.
 * Scoped til .site og .woocommerce.
 */
.site .woocommerce,
.site .ast-woocommerce-container {
  --wc-card-radius: var(--radius-lg);
  --wc-card-shadow: var(--shadow-sm);
  --wc-card-shadow-hover: var(--shadow-hover);
}

/* ========== Shop / archive grid – varer + reklame-slots (li.product / li.sk-ad-slot) ========== */
.site .woocommerce ul.products {
  display: grid;
  gap: var(--grid-gap);
  margin: 0 0 var(--space-4);
  padding: 0;
  list-style: none;
}

.site .woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  box-shadow: var(--wc-card-shadow);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.site .woocommerce ul.products li.product:hover {
  box-shadow: var(--wc-card-shadow-hover);
  transform: translateY(-6px);
  border-color: var(--border);
}

/* Billede – zoom på hover */
.site .woocommerce ul.products li.product .woocommerce-loop-product__link {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  aspect-ratio: 1;
}

.site .woocommerce ul.products li.product .woocommerce-loop-product__link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--space-2);
  box-sizing: border-box;
  transition: transform var(--transition);
}

.site .woocommerce ul.products li.product:hover .woocommerce-loop-product__link img {
  transform: scale(1.03);
}

.site .woocommerce ul.products li.product .astra-shop-summary-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: var(--card-padding);
}

/* Produkt titel – 18px, medium */
.site .woocommerce ul.products li.product .woocommerce-loop-product__title,
.site .woocommerce ul.products li.product h2 {
  margin: 0 0 var(--space-1);
  font-size: var(--font-size-product-title);
  font-weight: var(--font-weight-product-title);
  color: var(--heading);
  line-height: 1.35;
}

/* Pris – større og tydelig */
.site .woocommerce ul.products li.product .price {
  margin: 0 0 var(--space-2);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--brand-dark);
}

/* Add to cart – pill, full width, brand */
.site .woocommerce ul.products li.product .button,
.site .woocommerce ul.products li.product .added_to_cart {
  margin-top: auto;
  width: 100%;
  justify-content: center;
  border-radius: 0;
  background-color: var(--brand);
  border: 2px solid var(--brand);
  color: var(--surface);
  font-weight: 600;
  padding: 14px var(--space-2);
}
.site .woocommerce ul.products li.product .button:hover {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--surface);
}

/* Badge / på lager */
.site .woocommerce ul.products li.product .onsale {
  background: var(--brand);
  color: var(--surface);
  border-radius: var(--radius-sm);
  padding: 4px 10px;
  font-size: 0.75rem;
  font-weight: 600;
}
.site .woocommerce ul.products li.product .stock {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

/* ========== Single product – cards, spacing, stor CTA ========== */
.site .woocommerce div.product {
  margin-bottom: var(--space-6);
}

.site .woocommerce div.product .summary,
.site .woocommerce div.product .images {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  box-shadow: var(--wc-card-shadow);
  padding: var(--card-padding);
  margin-bottom: var(--space-4);
}

.site .woocommerce div.product .images .woocommerce-product-gallery__image img {
  border-radius: var(--radius-md);
}

.site .woocommerce div.product .summary .product_title {
  margin: 0 0 var(--space-2);
  font-size: 1.75rem;
  font-weight: 600;
  color: var(--heading);
}

.site .woocommerce div.product .summary .price {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--brand-dark);
  margin-bottom: var(--space-2);
}

/* Single product CTA – stor og bred */
.site .woocommerce div.product .single_add_to_cart_button,
.site .woocommerce div.product .cart .button {
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  padding: 16px var(--space-3);
  font-size: 1rem;
  font-weight: 600;
  background-color: var(--brand);
  border: 2px solid var(--brand);
  color: var(--surface);
}
.site .woocommerce div.product .single_add_to_cart_button:hover,
.site .woocommerce div.product .cart .button:hover {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--surface);
}

/* ========== Tabs – aktiv brand underline, inaktiv muted, mere spacing ========== */
.site .woocommerce div.product .woocommerce-tabs {
  margin-top: var(--space-4);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  box-shadow: var(--wc-card-shadow);
  overflow: hidden;
}

.site .woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0 var(--space-2);
  list-style: none;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}

.site .woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
}

.site .woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--space-2) var(--space-2);
  margin-bottom: -1px;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 3px solid transparent;
  transition: color var(--transition), border-color var(--transition);
}

.site .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.site .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--heading);
}

.site .woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  border-bottom-color: var(--brand);
  color: var(--brand-dark);
}

.site .woocommerce div.product .woocommerce-tabs .panel {
  margin: 0;
  padding: var(--card-padding);
}

/* ========== Related / upsells – samme kortdesign ========== */
.site .woocommerce .related.products ul.products,
.site .woocommerce .upsells.products ul.products {
  gap: var(--grid-gap);
}

.site .woocommerce .related.products h2,
.site .woocommerce .upsells.products h2 {
  margin-bottom: var(--space-3);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-h2);
  color: var(--heading);
}

/* ========== Cart – kort-overflade ========== */
.site .woocommerce table.shop_table {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  box-shadow: var(--wc-card-shadow);
}

.site .woocommerce .cart_totals,
.site .woocommerce .woocommerce-MyAccount-content {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  padding: var(--card-padding);
  box-shadow: var(--wc-card-shadow);
}

/* ========== Checkout – clean conversion mode ========== */
.site .woocommerce-checkout .woocommerce-billing-fields,
.site .woocommerce-checkout .woocommerce-shipping-fields,
.site .woocommerce-checkout #order_review,
.site .woocommerce-checkout #order_review_heading {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--wc-card-radius);
  padding: var(--card-padding);
  margin-bottom: var(--space-3);
  box-shadow: var(--wc-card-shadow);
}

.site .woocommerce-checkout .form-row input.input-text,
.site .woocommerce-checkout .form-row textarea,
.site .woocommerce-checkout .form-row select {
  border-radius: 10px;
  border: 1px solid var(--border);
  padding: 12px 16px;
  font-size: var(--font-size-body);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.site .woocommerce-checkout .form-row input.input-text:focus,
.site .woocommerce-checkout .form-row textarea:focus,
.site .woocommerce-checkout .form-row select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-tint);
}

/* Place order – full width, stor, pill, brand */
.site .woocommerce-checkout #place_order {
  width: 100%;
  border-radius: var(--radius-pill);
  padding: 18px var(--space-4);
  font-size: 1.125rem;
  font-weight: 600;
  background-color: var(--brand);
  border: 2px solid var(--brand);
  color: var(--surface);
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}
.site .woocommerce-checkout #place_order:hover {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--surface);
}

/* ========== Mini-cart – thumbnails scoped (ingen global img) ========== */
.site .woocommerce-mini-cart .cart_list li img,
.site .widget_shopping_cart .cart_list li img,
.site .wc-block-mini-cart .cart_list li img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border-radius: var(--radius-sm);
}

.site .woocommerce-mini-cart,
.site .widget_shopping_cart {
  padding: var(--space-2);
}

.site .woocommerce-mini-cart .woocommerce-mini-cart__buttons .button {
  margin-top: var(--space-1);
}

/* Mini-cart: checkout ("Kasse") skal altid have synlig hvid, fed tekst */
.site .woocommerce-mini-cart .woocommerce-mini-cart__buttons .button.checkout,
.site .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout,
.site .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout,
.site .ast-site-header-cart .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

.site .woocommerce-mini-cart .woocommerce-mini-cart__buttons .button.checkout:hover,
.site .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout:hover,
.site .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button.checkout:hover,
.site .ast-site-header-cart .woocommerce-mini-cart__buttons .button.checkout:hover {
  background: var(--brand-dark) !important;
  border-color: var(--brand-dark) !important;
  color: #ffffff !important;
}

/* Tilføj til kurv-knapper skal være rektangulære på hele shoppen */
.site .woocommerce a.button.add_to_cart_button,
.site .woocommerce a.added_to_cart,
.site .woocommerce ul.products li.product .button,
.site .woocommerce ul.products li.product .added_to_cart,
.site .woocommerce div.product form.cart .single_add_to_cart_button,
.site .woocommerce div.product form.cart .button {
  border-radius: 0 !important;
}

/* =========================
   Warm Commerce Skin
   Matcher forsidens farver/kort (kategori + produkt)
   ========================= */

body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.single-product {
  --brand: #ee705a;
  --brand-dark: #d96543;
  --brand-tint: #fff1e8;
  --heading: #554732;
  --text: #64685f;
  --text-muted: #7a756a;
  --bg: #f8f4ee;
  --surface: #ffffff;
  --border: #efe4d4;
  --shadow-sm: 0 10px 20px rgba(90, 62, 27, 0.08);
  --shadow: 0 16px 32px rgba(90, 62, 27, 0.12);
  --shadow-hover: 0 22px 44px rgba(90, 62, 27, 0.16);
}

body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content {
  background:
    radial-gradient(1100px 420px at 10% -10%, rgba(244, 179, 95, 0.16), transparent 64%),
    radial-gradient(960px 420px at 95% 16%, rgba(133, 207, 161, 0.16), transparent 66%),
    linear-gradient(180deg, #fffdf8 0%, #f6f1e7 46%, #f4f9f2 100%);
}

body.post-type-archive-product .ast-woocommerce-container,
body.tax-product_cat .ast-woocommerce-container,
body.tax-product_tag .ast-woocommerce-container {
  max-width: min(1240px, 94vw);
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #eadcc8;
  border-radius: 24px;
  background: linear-gradient(165deg, #fffef8 0%, #ffffff 46%, #f8fcf5 100%);
  box-shadow: 0 14px 34px rgba(84, 65, 39, 0.11);
  padding: clamp(0.95rem, 2.2vw, 1.5rem) !important;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
  margin-bottom: 0.85rem;
  border: 1px solid #efe1cd;
  border-radius: 16px;
  background: linear-gradient(150deg, #fff8ec 0%, #fffdf7 70%);
  padding: clamp(0.8rem, 2vw, 1.05rem);
  box-shadow: 0 10px 20px rgba(89, 61, 29, 0.08);
}

body.post-type-archive-product .woocommerce-products-header .page-title,
body.tax-product_cat .woocommerce-products-header .page-title,
body.tax-product_tag .woocommerce-products-header .page-title {
  margin: 0;
  color: #53462f;
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  line-height: 1.1;
  text-transform: none;
  letter-spacing: 0;
}

body.post-type-archive-product .woocommerce-products-header .term-description,
body.tax-product_cat .woocommerce-products-header .term-description,
body.tax-product_tag .woocommerce-products-header .term-description {
  margin-top: 0.45rem;
  color: #666b61;
}

body.post-type-archive-product .skoleudstyr-category-intro,
body.tax-product_cat .skoleudstyr-category-intro,
body.tax-product_tag .skoleudstyr-category-intro,
body.post-type-archive-product .skoleudstyr-category-description-bottom,
body.tax-product_cat .skoleudstyr-category-description-bottom,
body.tax-product_tag .skoleudstyr-category-description-bottom {
  max-width: 100%;
  margin: 0.85rem 0 0;
  border: 1px solid #eddcc3;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 8px 18px rgba(84, 65, 39, 0.06);
  padding: 0.8rem 0.9rem;
  color: #656d64;
  text-align: left;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  color: #7a7165;
  font-size: 0.88rem;
}

body.post-type-archive-product .woocommerce-ordering select.orderby,
body.tax-product_cat .woocommerce-ordering select.orderby,
body.tax-product_tag .woocommerce-ordering select.orderby {
  border: 1px solid #ecdcc5;
  border-radius: 12px;
  background-color: #ffffff;
  color: #5c6259;
  min-height: 40px;
  box-shadow: 0 6px 16px rgba(84, 65, 39, 0.06);
}

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product,
body.single-product .woocommerce .related.products ul.products li.product,
body.single-product .woocommerce .upsells.products ul.products li.product {
  border: 1px solid #efe4d4;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(84, 65, 39, 0.1);
}

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button,
body.single-product .woocommerce .related.products ul.products li.product .button,
body.single-product .woocommerce .upsells.products ul.products li.product .button {
  border-color: transparent;
  background: linear-gradient(135deg, #f2a34d 0%, #ee705a 100%);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(120, 56, 31, 0.22);
}

body.post-type-archive-product .woocommerce ul.products li.product .button:hover,
body.tax-product_cat .woocommerce ul.products li.product .button:hover,
body.tax-product_tag .woocommerce ul.products li.product .button:hover,
body.single-product .woocommerce .related.products ul.products li.product .button:hover,
body.single-product .woocommerce .upsells.products ul.products li.product .button:hover {
  background: linear-gradient(135deg, #ea9343 0%, #df5f4f 100%);
  color: #ffffff;
}

body.post-type-archive-product .woocommerce ul.products li.product .onsale,
body.tax-product_cat .woocommerce ul.products li.product .onsale,
body.tax-product_tag .woocommerce ul.products li.product .onsale {
  background: linear-gradient(135deg, #f5b35f 0%, #ea6f5b 100%);
  color: #ffffff;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li {
  border-color: #eddfc9;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span {
  color: #6f6d65;
}

body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a:hover,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a:hover,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span.current,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a:hover,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span.current {
  background: #fff5e6;
  color: #7a4a2a;
}

/* =========================
   Homepage Harmony Layer
   Ensartet kategori/shop stil med forsidens varme hero-univers
   ========================= */

body.post-type-archive-product h1,
body.post-type-archive-product h2,
body.post-type-archive-product h3,
body.post-type-archive-product h4,
body.tax-product_cat h1,
body.tax-product_cat h2,
body.tax-product_cat h3,
body.tax-product_cat h4,
body.tax-product_tag h1,
body.tax-product_tag h2,
body.tax-product_tag h3,
body.tax-product_tag h4 {
  text-transform: none;
  letter-spacing: 0;
}

/* Woo renderer ofte tom woocommerce-products-header på kategorier/shop.
   Vi bruger egen titel+intro, så den tomme boks skjules. */
body.post-type-archive-product .ast-woocommerce-container > .woocommerce-products-header,
body.tax-product_cat .ast-woocommerce-container > .woocommerce-products-header,
body.tax-product_tag .ast-woocommerce-container > .woocommerce-products-header {
  display: none;
}

body.post-type-archive-product .ast-woocommerce-container,
body.tax-product_cat .ast-woocommerce-container,
body.tax-product_tag .ast-woocommerce-container {
  position: relative;
  overflow: hidden;
}

body.post-type-archive-product .ast-woocommerce-container::before,
body.tax-product_cat .ast-woocommerce-container::before,
body.tax-product_tag .ast-woocommerce-container::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: min(340px, 32vw);
  height: min(340px, 32vw);
  border-radius: 999px;
  background: radial-gradient(circle, rgba(249, 188, 102, 0.18) 0%, rgba(249, 188, 102, 0) 74%);
  pointer-events: none;
  z-index: 0;
}

body.post-type-archive-product .ast-woocommerce-container > *,
body.tax-product_cat .ast-woocommerce-container > *,
body.tax-product_tag .ast-woocommerce-container > * {
  position: relative;
  z-index: 1;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
  position: relative;
  overflow: hidden;
}

body.post-type-archive-product .woocommerce-products-header::before,
body.tax-product_cat .woocommerce-products-header::before,
body.tax-product_tag .woocommerce-products-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(150deg, rgba(255, 245, 230, 0.84) 0%, rgba(255, 255, 255, 0.94) 62%),
    radial-gradient(280px 170px at 90% 12%, rgba(132, 206, 162, 0.2), transparent 72%);
  pointer-events: none;
}

body.post-type-archive-product .woocommerce-products-header > *,
body.tax-product_cat .woocommerce-products-header > *,
body.tax-product_tag .woocommerce-products-header > * {
  position: relative;
  z-index: 1;
}

body.post-type-archive-product .woocommerce-products-header .page-title,
body.tax-product_cat .woocommerce-products-header .page-title,
body.tax-product_tag .woocommerce-products-header .page-title {
  font-weight: 700;
}

body.post-type-archive-product .woocommerce-products-header .term-description p:last-child,
body.tax-product_cat .woocommerce-products-header .term-description p:last-child,
body.tax-product_tag .woocommerce-products-header .term-description p:last-child {
  margin-bottom: 0;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.15rem 0 0.8rem;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  border: 1px solid #eddcc6;
  background: rgba(255, 255, 255, 0.9);
}

body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering,
body.tax-product_tag .woocommerce-ordering {
  margin: 0 0 0.8rem;
}

body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
  gap: clamp(0.95rem, 1.7vw, 1.25rem);
}

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
  border-radius: 18px;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover,
body.tax-product_tag .woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: #ead8be;
  box-shadow: 0 16px 30px rgba(84, 65, 39, 0.12);
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link {
  background: linear-gradient(180deg, #fff8ee 0%, #ffffff 68%);
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__link img,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__link img,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__link img {
  padding: clamp(0.55rem, 1.3vw, 0.9rem);
}

body.post-type-archive-product .woocommerce ul.products li.product .astra-shop-summary-wrap,
body.tax-product_cat .woocommerce ul.products li.product .astra-shop-summary-wrap,
body.tax-product_tag .woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.42rem;
}

body.post-type-archive-product .woocommerce ul.products li.product .ast-woo-product-category,
body.tax-product_cat .woocommerce ul.products li.product .ast-woo-product-category,
body.tax-product_tag .woocommerce ul.products li.product .ast-woo-product-category {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 0.2rem 0.62rem;
  border-radius: 999px;
  border: 1px solid #f1debf;
  background: #fff6e7;
  color: #8a6142;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.2;
}

body.post-type-archive-product .woocommerce ul.products li.product .ast-loop-product__link,
body.tax-product_cat .woocommerce ul.products li.product .ast-loop-product__link,
body.tax-product_tag .woocommerce ul.products li.product .ast-loop-product__link {
  text-decoration: none;
}

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 0;
  min-height: calc(1.32em * 2);
  font-size: clamp(0.96rem, 1.2vw, 1.08rem);
  line-height: 1.32;
  text-transform: none;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
  margin: 0 0 0.2rem;
  color: #a25337;
  font-size: 1.02rem;
}

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
body.tax-product_tag .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .added_to_cart {
  margin-top: auto !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  align-self: stretch;
}

body.post-type-archive-product .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
body.tax-product_cat .woocommerce ul.products li.product .ast-shop-product-out-of-stock,
body.tax-product_tag .woocommerce ul.products li.product .ast-shop-product-out-of-stock {
  top: 10px;
  left: 10px;
  border: 1px solid rgba(111, 74, 45, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #744929;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  padding: 0.24rem 0.56rem;
}

@media (max-width: 921px) {
  body.post-type-archive-product .ast-woocommerce-container,
  body.tax-product_cat .ast-woocommerce-container,
  body.tax-product_tag .ast-woocommerce-container {
    border-radius: 18px;
    padding: 0.75rem !important;
  }

  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header {
    border-radius: 14px;
    padding: 0.75rem;
  }
}

@media (max-width: 544px) {
  body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.93rem;
    min-height: calc(1.35em * 2);
  }

  body.post-type-archive-product .woocommerce ul.products li.product .button,
  body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
  body.tax-product_cat .woocommerce ul.products li.product .button,
  body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
  body.tax-product_tag .woocommerce ul.products li.product .button,
  body.tax-product_tag .woocommerce ul.products li.product .added_to_cart {
    min-height: 42px;
    padding: 11px 12px;
    font-size: 0.82rem;
  }
}
