/* HEMPCITY Frontend 5.1.0 — Commerce */
/* =========================================================
   07 CATEGORY / ARCHIVE HERO
========================================================= */
.ast-archive-entry-banner[data-post-type="product"] {
  display: flex !important;
  align-items: flex-end !important;
  min-height: clamp(360px, 48vw, 620px) !important;
  padding: clamp(58px, 8vw, 112px) var(--hc-gutter) !important;
  background-color: var(--hc-surface-soft) !important;
  background-position: center !important;
  background-size: cover !important;
  border-bottom: 1px solid var(--hc-line);
}

.ast-archive-entry-banner .ast-container {
  width: min(100%, var(--hc-container));
  max-width: var(--hc-container) !important;
  margin: 0 auto;
  padding: 0 !important;
}

.ast-archive-entry-banner .page-title {
  max-width: 900px;
  margin: 0 0 18px !important;
  color: var(--hc-ink) !important;
  font-family: var(--hc-font-display) !important;
  font-size: clamp(48px, 7vw, 92px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
}

.ast-archive-entry-banner .archive-description {
  max-width: 620px;
  color: var(--hc-ink-soft) !important;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.65;
}
/* =========================================================
   08 PRODUCT GRIDS / CARDS
========================================================= */
.woocommerce ul.products {
  display: grid !important;
  gap: clamp(22px, 2.4vw, 34px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 922px) {
  .woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

@media (min-width: 545px) and (max-width: 921px) {
  .woocommerce ul.products,
  .woocommerce ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 544px) {
  .woocommerce ul.products,
  .woocommerce ul.products[class*="columns-"] {
    grid-template-columns: 1fr !important;
  }
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  float: none !important;
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color var(--hc-speed) var(--hc-ease), transform var(--hc-speed) var(--hc-ease), box-shadow var(--hc-speed) var(--hc-ease) !important;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto;
  width: 100%;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap,
.woocommerce ul.products li.product .woocommerce-loop-product__link > img,
.woocommerce ul.products li.product img {
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  object-fit: contain !important;
  background: #fff;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 22px 22px 20px !important;
}

.woocommerce ul.products li.product .ast-woo-product-category {
  min-height: 0 !important;
  margin: 0 0 9px !important;
  color: var(--hc-ink-muted) !important;
  font-size: 10px !important;
  font-weight: 750 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 0 !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: var(--hc-ink) !important;
  font-size: 17px !important;
  font-weight: 550 !important;
  line-height: 1.35 !important;
  letter-spacing: -.015em !important;
}

.woocommerce ul.products li.product .price {
  display: block !important;
  margin: auto 0 18px !important;
  padding-top: 16px !important;
  color: var(--hc-ink) !important;
  font-size: 18px !important;
  font-weight: 650 !important;
}

.woocommerce ul.products li.product .button {
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  border-radius: var(--hc-radius-pill) !important;
}

.woocommerce span.onsale {
  top: 14px !important;
  left: 14px !important;
  min-width: auto !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  background: var(--hc-ink) !important;
  color: #fff !important;
  border-radius: var(--hc-radius-pill) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 30px !important;
}

@media (hover: hover) and (pointer: fine) {
  .woocommerce ul.products li.product:hover {
    border-color: var(--hc-line-strong) !important;
    box-shadow: var(--hc-shadow-soft) !important;
    transform: translateY(-4px) !important;
  }

  .woocommerce ul.products li.product img {
    transition: transform 320ms var(--hc-ease) !important;
  }

  .woocommerce ul.products li.product:hover img {
    transform: scale(1.018);
  }
}

/* Category tiles */
ul.products li.product-category {
  background: var(--hc-surface) !important;
  border: 1px solid var(--hc-line) !important;
}

ul.products li.product-category img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

ul.products li.product-category .woocommerce-loop-category__title {
  margin: 0 !important;
  padding: 22px !important;
  color: var(--hc-ink) !important;
  font-family: var(--hc-font-display) !important;
  font-size: 29px !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}

ul.products li.product-category .count {
  background: transparent !important;
  color: var(--hc-ink-muted) !important;
  font-family: var(--hc-font-sans) !important;
  font-size: 11px !important;
}
/* =========================================================
   09 SINGLE PRODUCT
========================================================= */
.single-product div.product {
  align-items: flex-start !important;
}

.single-product .woocommerce-product-gallery__wrapper {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--hc-line);
}

.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: 700px !important;
  object-fit: contain !important;
  background: #fff;
}

.single-product .flex-control-thumbs {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

.single-product .flex-control-thumbs li {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.single-product .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 1px solid var(--hc-line) !important;
  opacity: .65;
}

.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
  opacity: 1;
  border-color: var(--hc-ink) !important;
}

.single-product div.product .summary {
  padding-left: clamp(0px, 4vw, 64px);
}

.single-product .product_title {
  margin-bottom: 20px !important;
  color: var(--hc-ink) !important;
  font-family: var(--hc-font-display) !important;
  font-size: clamp(42px, 5vw, 70px) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.single-product p.price,
.single-product span.price {
  margin-bottom: 24px !important;
  color: var(--hc-ink) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
}

.single-product .woocommerce-product-details__short-description {
  margin-bottom: 30px;
  color: var(--hc-ink-soft);
  font-size: 17px;
  line-height: 1.75;
}

.single-product form.cart .single_add_to_cart_button {
  min-height: 54px !important;
  padding-inline: 32px !important;
}

.single-product .product_meta {
  margin-top: 30px !important;
  padding-top: 22px !important;
  color: var(--hc-ink-muted) !important;
  border-top: 1px solid var(--hc-line) !important;
  font-size: 13px !important;
}

.single-product .tagged_as { display: none !important; }

.single-product .woocommerce-tabs {
  margin-top: var(--hc-section) !important;
}

.single-product .woocommerce-tabs .tabs {
  margin-bottom: 44px !important;
  border-bottom: 1px solid var(--hc-line) !important;
}

.single-product .woocommerce-tabs .tabs li a {
  padding: 15px 18px !important;
  color: var(--hc-ink-soft) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.single-product .woocommerce-tabs .tabs li.active a {
  color: var(--hc-ink) !important;
}

.single-product .woocommerce-tabs .panel {
  max-width: 860px;
  color: var(--hc-ink-soft) !important;
}

.single-product .woocommerce-tabs .panel p,
.single-product .woocommerce-tabs .panel li {
  color: var(--hc-ink-soft) !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

@media (max-width: 921px) {
  .single-product div.product .summary {
    margin-top: 38px !important;
    padding-left: 0 !important;
  }

  .single-product .flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
/* =========================================================
   11 CART / CHECKOUT BLOCKS
========================================================= */
.wc-block-cart,
.wc-block-checkout {
  color: var(--hc-ink) !important;
}

.wc-block-cart-items,
.wc-block-components-sidebar,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary {
  background: transparent !important;
  color: var(--hc-ink) !important;
}

.wc-block-cart-items__row,
.wc-block-components-totals-wrapper {
  border-color: var(--hc-line) !important;
}

.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  color: var(--hc-ink) !important;
}

.wc-block-formatted-money-amount {
  color: var(--hc-ink) !important;
  font-weight: 650 !important;
}

.wc-block-components-quantity-selector {
  background: #fff !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-radius-pill) !important;
}

.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input {
  background: transparent !important;
  color: var(--hc-ink) !important;
}

.wc-block-components-radio-control__option {
  background: #fff !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-radius-sm) !important;
}

.wc-block-components-radio-control__option-checked {
  border-color: var(--hc-ink) !important;
}


/* Archive hero contrast layer */
.ast-archive-entry-banner[data-post-type="product"] { position: relative !important; isolation: isolate; }
.ast-archive-entry-banner[data-post-type="product"]::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(10,10,12,.82) 0%, rgba(10,10,12,.58) 38%, rgba(10,10,12,.10) 72%, transparent 100%);
  pointer-events:none;
}
.ast-archive-entry-banner[data-post-type="product"] .page-title,
.ast-archive-entry-banner[data-post-type="product"] .archive-description,
.ast-archive-entry-banner[data-post-type="product"] .archive-description p,
.ast-archive-entry-banner[data-post-type="product"] .woocommerce-breadcrumb,
.ast-archive-entry-banner[data-post-type="product"] .woocommerce-breadcrumb a {
  color:#fff !important;
}
.ast-archive-entry-banner[data-post-type="product"] .archive-description { text-shadow:0 1px 14px rgba(0,0,0,.24); }

/* Prevent mixed category/product archives from breaking the grid. */
.woocommerce ul.products li.product-category { overflow:hidden; min-width:0; }
.woocommerce ul.products li.product-category a { display:block; height:100%; text-decoration:none; }
.woocommerce ul.products li.product-category img { aspect-ratio:1/1 !important; object-fit:contain !important; background:var(--hc-surface-soft)!important; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { position:static!important; background:#fff!important; }

/* More premium cards: reduce pill-heavy SaaS look. */
.woocommerce ul.products li.product .button { border-radius:6px !important; }
.single-product form.cart .single_add_to_cart_button { border-radius:6px !important; }

/* Product page spacing and readable content width. */
.single-product .woocommerce-tabs .panel > * { max-width:820px; }
.single-product .related.products > h2 { font-family:var(--hc-font-sans)!important; font-size:clamp(36px,4vw,58px)!important; font-weight:600!important; }

@media (max-width:544px){
 .ast-archive-entry-banner[data-post-type="product"]::before{background:linear-gradient(180deg,rgba(10,10,12,.35),rgba(10,10,12,.82));}
 .woocommerce ul.products li.product .astra-shop-summary-wrap{padding:18px!important;}
}
