/**
 * HEMPCITY Frontend v6.5.0 — Premium Consistency Update
 * Loaded last by design. Narrowly scoped to HEMPCITY/WooCommerce surfaces.
 */

:root {
  --hc-v65-radius-sm: 6px;
  --hc-v65-radius: 10px;
  --hc-v65-radius-lg: 18px;
  --hc-v65-shadow: 0 22px 56px rgba(17,17,17,.07);
  --hc-v65-shadow-hover: 0 30px 76px rgba(17,17,17,.12);
}

/* Remove the remaining visual seam between header and first content surface. */
.hc-frontend-active .site-header,
.hc-frontend-active .ast-primary-header-bar,
.hc-frontend-active .main-header-bar,
.hc-frontend-active #masthead,
.hc-frontend-active .site-header-primary-section-left,
.hc-frontend-active .site-header-primary-section-right {
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}
.hc-frontend-active #content,
.hc-frontend-active .site-content,
.hc-frontend-active .ast-container,
.hc-frontend-active .content-area { border-top: 0 !important; }

/* Homepage trust banner: visible, legible and materially connected to the hero. */
.home .hc-v6-trust,
.home .hc-v6-trust-bar {
  margin-top: 0 !important;
  min-height: 126px !important;
  padding-block: 22px !important;
  border-top: 1px solid var(--hc-line) !important;
  border-bottom: 1px solid var(--hc-line) !important;
}
.home .hc-v6-trust svg,
.home .hc-v6-trust-bar svg { width: 30px !important; height: 30px !important; }
.home .hc-v6-trust strong { font-size: 14px !important; }
.home .hc-v6-trust small { font-size: 12px !important; line-height: 1.55 !important; }

/* Consistent section rhythm. */
.home .hc-v6-categories,
.home .hc-v6-products,
.home .hc-v6-story { padding-block: clamp(76px, 8vw, 126px) !important; }
.home .hc-v6-section-heading { margin-bottom: clamp(34px, 4vw, 56px) !important; }

/* Homepage category cards. */
.home .hc-v6-category {
  border-radius: var(--hc-v65-radius) !important;
  box-shadow: 0 18px 48px rgba(17,17,17,.06) !important;
  transform: translateZ(0);
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}
.home .hc-v6-category:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--hc-v65-shadow-hover) !important;
  filter: brightness(1.035);
}

/* One global product-card language. */
.hc-frontend-active.woocommerce ul.products,
.hc-frontend-active .woocommerce ul.products,
.hc-frontend-active .wc-block-grid__products {
  gap: clamp(18px, 2vw, 28px) !important;
}
.hc-frontend-active.woocommerce ul.products li.product,
.hc-frontend-active .woocommerce ul.products li.product,
.hc-frontend-active .wc-block-grid__product {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-v65-radius-sm) !important;
  box-shadow: none !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}
.hc-frontend-active.woocommerce ul.products li.product:hover,
.hc-frontend-active .woocommerce ul.products li.product:hover,
.hc-frontend-active .wc-block-grid__product:hover {
  transform: translateY(-4px) !important;
  border-color: var(--hc-line-strong) !important;
  box-shadow: var(--hc-v65-shadow) !important;
}
.hc-frontend-active.woocommerce ul.products li.product a img,
.hc-frontend-active .woocommerce ul.products li.product a img,
.hc-frontend-active .wc-block-grid__product-image img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: clamp(18px, 2.4vw, 34px) !important;
  background: #fff !important;
}
.hc-frontend-active.woocommerce ul.products li.product .woocommerce-loop-product__title,
.hc-frontend-active .woocommerce ul.products li.product .woocommerce-loop-product__title,
.hc-frontend-active .wc-block-grid__product-title {
  min-height: 3.1em !important;
  margin: 0 !important;
  padding: 20px 24px 0 !important;
  color: var(--hc-ink) !important;
  font-size: clamp(16px, 1.2vw, 19px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.hc-frontend-active.woocommerce ul.products li.product .price,
.hc-frontend-active .woocommerce ul.products li.product .price,
.hc-frontend-active .wc-block-grid__product-price {
  margin-top: auto !important;
  padding: 30px 24px 16px !important;
  color: var(--hc-ink) !important;
  font-size: 21px !important;
  font-weight: 760 !important;
}
.hc-frontend-active.woocommerce ul.products li.product .button,
.hc-frontend-active .woocommerce ul.products li.product .button,
.hc-frontend-active .wc-block-grid__product-add-to-cart .wp-block-button__link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(100% - 48px) !important;
  min-height: 52px !important;
  margin: 0 24px 24px !important;
  padding: 14px 48px 14px 22px !important;
  border: 1px solid #111 !important;
  border-radius: var(--hc-v65-radius-sm) !important;
  background: #111 !important;
  color: #fff !important;
  font-weight: 720 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
}
.hc-frontend-active.woocommerce ul.products li.product .button::after,
.hc-frontend-active .woocommerce ul.products li.product .button::after,
.hc-frontend-active .wc-block-grid__product-add-to-cart .wp-block-button__link::after {
  content: "" !important;
  position: absolute !important;
  right: 19px !important;
  top: 50% !important;
  width: 17px !important;
  height: 17px !important;
  transform: translateY(-50%) !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M6 8h12l-1 12H7L6 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M6 8h12l-1 12H7L6 8Z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
.hc-frontend-active.woocommerce ul.products li.product .button:hover,
.hc-frontend-active .woocommerce ul.products li.product .button:hover { background: var(--hc-accent) !important; border-color: var(--hc-accent) !important; }
.hc-frontend-active .added_to_cart { margin: -14px 24px 22px !important; color: var(--hc-ink) !important; font-weight: 650 !important; }

/* Category archive: full-bleed image, aligned copy, calm transition into commerce. */
body.tax-product_cat .site-main,
body.post-type-archive-product .site-main { overflow: visible !important; }
body.tax-product_cat .hc-category-hero,
body.post-type-archive-product .hc-category-hero {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  max-width: var(--hc-container, 1440px) !important;
  min-height: clamp(520px, 46vw, 680px) !important;
  margin: 0 auto clamp(52px, 6vw, 88px) !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.tax-product_cat .hc-category-hero__inner,
body.post-type-archive-product .hc-category-hero__inner {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(56px, 6vw, 92px) clamp(42px, 5vw, 78px) !important;
}
body.tax-product_cat .hc-category-hero__inner > *,
body.post-type-archive-product .hc-category-hero__inner > * { max-width: min(540px, 46%) !important; }
body.tax-product_cat .hc-category-hero h1,
body.post-type-archive-product .hc-category-hero h1 {
  margin: 20px 0 22px !important;
  font-size: clamp(54px, 6.2vw, 92px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
}
body.tax-product_cat .hc-category-hero__description,
body.post-type-archive-product .hc-category-hero__description {
  font-size: clamp(17px, 1.4vw, 21px) !important;
  line-height: 1.65 !important;
}
body.tax-product_cat .hc-category-hero__overlay,
body.post-type-archive-product .hc-category-hero__overlay {
  background: linear-gradient(90deg, rgba(245,239,230,.98) 0%, rgba(245,239,230,.91) 34%, rgba(245,239,230,.42) 53%, rgba(245,239,230,.04) 76%) !important;
}
body.tax-product_cat .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat ul.products,
body.post-type-archive-product ul.products,
.hc-archive-subcategories,
.hc-archive-assurance {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  max-width: var(--hc-container, 1440px) !important;
  margin-inline: auto !important;
}

/* Headshop subcategory journey. */
.hc-archive-subcategories { margin-bottom: clamp(56px, 7vw, 96px) !important; }
.hc-archive-subcategories__heading p {
  margin: 0 0 10px !important;
  color: var(--hc-accent) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}
.hc-archive-subcategories__heading h2 {
  margin: 0 0 32px !important;
  font-size: clamp(36px, 4vw, 62px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}
.hc-archive-subcategories__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.hc-archive-subcategory {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 310px;
  padding: 24px;
  overflow: hidden;
  border-radius: var(--hc-v65-radius);
  background: #111 var(--hc-subcat-image) center/cover no-repeat;
  color: #fff !important;
  text-decoration: none !important;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
}
.hc-archive-subcategory::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82)); }
.hc-archive-subcategory:hover { transform: translateY(-4px); box-shadow: var(--hc-v65-shadow-hover); }
.hc-archive-subcategory__count { position:absolute; top:22px; left:24px; font-size:11px; font-weight:760; letter-spacing:.13em; text-transform:uppercase; }
.hc-archive-subcategory__copy { display:flex; flex-direction:column; gap:6px; margin-right:auto; }
.hc-archive-subcategory__copy strong { font-size:25px; line-height:1.05; }
.hc-archive-subcategory__copy small { font-size:13px; }
.hc-archive-subcategory > span:last-child { font-size:28px; line-height:1; }

/* Product detail: remove theme residue, strengthen hierarchy, unify cards. */
body.single-product div.product {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  margin-inline: auto !important;
  padding-block: clamp(62px, 7vw, 110px) !important;
}
body.single-product div.product .summary { padding-left: clamp(28px, 4vw, 76px) !important; }
body.single-product div.product .product_title {
  font-size: clamp(42px, 5vw, 74px) !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
}
body.single-product div.product .price { font-size: 29px !important; font-weight: 780 !important; color: var(--hc-ink) !important; }
body.single-product div.product .woocommerce-product-details__short-description { max-width: 620px; font-size: 17px !important; line-height: 1.75 !important; color: var(--hc-ink-soft) !important; }
body.single-product .woocommerce-tabs ul.tabs::before { border-color: var(--hc-line) !important; }
body.single-product .woocommerce-tabs ul.tabs li { border: 0 !important; background: transparent !important; }
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after { display:none !important; }
body.single-product .woocommerce-tabs ul.tabs li.active { border-top: 3px solid var(--hc-accent) !important; }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--hc-ink) !important; }
body.single-product .woocommerce-Tabs-panel { max-width: 980px !important; font-size: 17px !important; line-height: 1.8 !important; color: var(--hc-ink-soft) !important; }
body.single-product .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-Tabs-panel h3 { color: var(--hc-ink) !important; letter-spacing: -.025em !important; }
body.single-product .related.products > h2 { font-size: clamp(40px, 5vw, 68px) !important; line-height: 1 !important; letter-spacing: -.05em !important; }

/* Cart — remove default-Woo visual language. */
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  max-width: var(--hc-container, 1440px) !important;
  margin-inline: auto !important;
}
body.woocommerce-cart .entry-content { padding-block: clamp(72px, 8vw, 120px) !important; }
body.woocommerce-cart .wc-block-cart { gap: clamp(34px, 4vw, 64px) !important; }
body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-v65-radius) !important;
  background: #fff !important;
}
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { padding: 28px !important; box-shadow: var(--hc-v65-shadow) !important; }
body.woocommerce-cart .wc-block-cart__submit-button { min-height: 58px !important; border-radius: var(--hc-v65-radius-sm) !important; background:#111 !important; color:#fff !important; font-weight:760 !important; }
body.woocommerce-cart .wc-block-components-quantity-selector { border-radius: 999px !important; }
body.woocommerce-cart .wc-block-cart-item__image img { border-radius: var(--hc-v65-radius-sm) !important; }

/* Empty cart recommendations: prevent narrow columns and broken circular buttons. */
body.woocommerce-cart .hc-cart-recommendations ul.products { align-items: stretch !important; }
body.woocommerce-cart .hc-cart-recommendations ul.products li.product { min-height: 100% !important; }
body.woocommerce-cart .hc-cart-recommendations ul.products li.product .button {
  width: calc(100% - 48px) !important;
  min-width: 0 !important;
  border-radius: var(--hc-v65-radius-sm) !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Checkout premium shell and field fixes. */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  width: min(calc(100% - 64px), 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}
body.woocommerce-checkout .entry-content { padding-block: clamp(70px, 8vw, 120px) !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout { gap: clamp(34px, 5vw, 76px) !important; }
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-v65-radius) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step { margin-bottom: 22px !important; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading h2 { font-size: clamp(26px,3vw,38px) !important; letter-spacing:-.035em !important; }
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea {
  min-height: 58px !important;
  padding: 20px 16px 8px !important;
  border: 1px solid var(--hc-line-strong) !important;
  border-radius: var(--hc-v65-radius-sm) !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label {
  top: 8px !important;
  left: 16px !important;
  transform: none !important;
  font-size: 11px !important;
  color: var(--hc-ink-muted) !important;
}
body.woocommerce-checkout .wc-block-components-sidebar { position: sticky !important; top: 118px !important; align-self: start !important; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { min-height: 60px !important; border-radius: var(--hc-v65-radius-sm) !important; background:#111 !important; color:#fff !important; font-weight:780 !important; }

/* Account: all subpages use one calm dashboard language. */
body.woocommerce-account .woocommerce {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  margin-inline:auto !important;
  padding-block: clamp(72px, 8vw, 118px) !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
  border: 1px solid var(--hc-line) !important;
  border-radius: var(--hc-v65-radius) !important;
  background:#fff !important;
}
body.woocommerce-account .woocommerce-MyAccount-content { padding: clamp(28px,4vw,58px) !important; }
body.woocommerce-account table.shop_table { border-color:var(--hc-line) !important; border-radius:var(--hc-v65-radius-sm) !important; }
body.woocommerce-account .woocommerce-button,
body.woocommerce-account button.button { border-radius:var(--hc-v65-radius-sm) !important; background:#111 !important; color:#fff !important; }

/* Newsletter: fewer competing elements, better line length and rhythm. */
.home .hc-v6-newsletter,
.home .hc-newsletter { padding: clamp(68px,7vw,108px) !important; }
.home .hc-v6-newsletter__inner,
.home .hc-newsletter__inner { gap: clamp(46px,6vw,92px) !important; align-items:center !important; }
.home .hc-v6-newsletter h2,
.home .hc-newsletter h2 { max-width: 720px !important; font-size: clamp(46px,5.3vw,76px) !important; line-height:.98 !important; letter-spacing:-.052em !important; }
.home .hc-v6-newsletter__intro,
.home .hc-newsletter__intro { max-width: 620px !important; font-size:16px !important; line-height:1.65 !important; color:#c6c6c2 !important; }
.home .hc-v6-newsletter__benefits,
.home .hc-newsletter__benefits { margin-block:24px 20px !important; gap:10px 24px !important; font-size:13px !important; }
.home .hc-v6-newsletter form,
.home .hc-newsletter form { margin-top:18px !important; }
.home .hc-v6-newsletter input[type="email"],
.home .hc-newsletter input[type="email"] { min-height:58px !important; border-radius:var(--hc-v65-radius-sm) !important; }
.home .hc-v6-newsletter button,
.home .hc-newsletter button { min-height:58px !important; border-radius:999px !important; padding-inline:28px !important; }
.home .hc-v6-newsletter__legal,
.home .hc-newsletter__legal { max-width:700px !important; margin-top:16px !important; font-size:11px !important; line-height:1.55 !important; color:#aaa !important; }

/* Footer security row is truly centered. */
.hc-frontend-active .site-footer .hc-footer-bottom,
.hc-frontend-active .site-footer .ast-footer-copyright,
.hc-frontend-active .site-footer .site-below-footer-wrap,
.hc-frontend-active .site-footer .ast-builder-grid-row-container-inner {
  text-align: center !important;
}
.hc-frontend-active .site-footer .hc-footer-security,
.hc-frontend-active .site-footer [class*="ssl" i] {
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
  margin-inline:auto !important;
  text-align:center !important;
}

@media (max-width: 980px) {
  .hc-archive-subcategories__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.single-product div.product .summary { padding-left: 0 !important; }
  body.woocommerce-checkout .wc-block-components-sidebar { position: static !important; }
}
@media (max-width: 680px) {
  body.tax-product_cat .hc-category-hero,
  body.post-type-archive-product .hc-category-hero,
  body.tax-product_cat .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count,
  body.tax-product_cat .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  .hc-archive-subcategories,
  .hc-archive-assurance,
  body.single-product div.product,
  body.woocommerce-cart .entry-content,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-checkout .entry-content,
  body.woocommerce-checkout .wp-block-woocommerce-checkout,
  body.woocommerce-account .woocommerce { width: calc(100% - 32px) !important; }
  body.tax-product_cat .hc-category-hero,
  body.post-type-archive-product .hc-category-hero { min-height: 620px !important; background-position: 64% center !important; }
  body.tax-product_cat .hc-category-hero__inner,
  body.post-type-archive-product .hc-category-hero__inner { padding: 42px 22px 48px !important; }
  body.tax-product_cat .hc-category-hero__inner > *,
  body.post-type-archive-product .hc-category-hero__inner > * { max-width: 86% !important; }
  body.tax-product_cat .hc-category-hero__overlay,
  body.post-type-archive-product .hc-category-hero__overlay { background:linear-gradient(180deg,rgba(245,239,230,.94),rgba(245,239,230,.68) 58%,rgba(245,239,230,.18)) !important; }
  .hc-archive-subcategories__grid { grid-template-columns:1fr; }
  .hc-archive-subcategory { min-height:260px; }
  .home .hc-v6-newsletter,
  .home .hc-newsletter { padding:56px 22px !important; }
  .home .hc-v6-newsletter h2,
  .home .hc-newsletter h2 { font-size:clamp(38px,12vw,56px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .home .hc-v6-category,
  .hc-frontend-active.woocommerce ul.products li.product,
  .hc-frontend-active .woocommerce ul.products li.product,
  .hc-archive-subcategory { transition:none !important; transform:none !important; }
}

/* =========================================================
   v6.5.1 HOTFIX — archive consistency + cart repair
   ========================================================= */

/* Keep every product-category archive on the same master layout. */
body.tax-product_cat .hc-archive-subcategories {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.tax-product_cat .hc-archive-subcategories__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .term-description { display: none !important; }
body.tax-product_cat .woocommerce-result-count {
  float: none !important;
  display: block !important;
  margin: 0 auto 20px !important;
  color: var(--hc-ink-muted) !important;
}
body.tax-product_cat .woocommerce-ordering {
  float: none !important;
  display: block !important;
  margin: 0 auto 28px !important;
}
body.tax-product_cat .woocommerce-ordering select {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 16px !important;
  border: 1px solid var(--hc-line-strong) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--hc-ink) !important;
  font-weight: 650 !important;
}

/* Do not render WooCommerce's default subcategory cards beside the custom journey. */
body.tax-product_cat ul.products li.product-category { display: none !important; }

/* CART: restore a real two-column Woo Blocks layout. */
body.woocommerce-cart .entry-content,
body.woocommerce-cart .wp-site-blocks,
body.woocommerce-cart main,
body.woocommerce-cart .site-main {
  overflow: visible !important;
}
body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-cart {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  max-width: var(--hc-container, 1440px) !important;
  margin: 0 auto !important;
  padding: clamp(54px, 7vw, 96px) 0 clamp(72px, 8vw, 112px) !important;
}
body.woocommerce-cart .wc-block-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1.9fr) minmax(340px, .85fr) !important;
  align-items: start !important;
  column-gap: clamp(28px, 4vw, 64px) !important;
  row-gap: 28px !important;
}
body.woocommerce-cart .wc-block-cart__main {
  width: auto !important;
  max-width: none !important;
  padding-right: 0 !important;
  grid-column: 1 !important;
}
body.woocommerce-cart .wc-block-cart__sidebar {
  position: sticky !important;
  top: 112px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: 2 !important;
  align-self: start !important;
}
body.woocommerce-cart .wc-block-cart-items {
  width: 100% !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}
body.woocommerce-cart .wc-block-cart-items__header {
  padding: 16px 22px !important;
  background: var(--hc-surface-soft) !important;
}
body.woocommerce-cart .wc-block-cart-items__row {
  display: grid !important;
  grid-template-columns: 112px minmax(0,1fr) auto !important;
  gap: 22px !important;
  padding: 24px !important;
  border-top: 1px solid var(--hc-line) !important;
}
body.woocommerce-cart .wc-block-cart-item__image {
  width: 112px !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-cart-item__image img {
  width: 100% !important;
  aspect-ratio: 1 !important;
  object-fit: contain !important;
}
body.woocommerce-cart .wc-block-cart-item__product {
  min-width: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-cart-item__total {
  min-width: 90px !important;
  padding: 0 !important;
  text-align: right !important;
}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: auto !important;
  padding: 0 !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-cart__submit-container {
  border-color: var(--hc-line) !important;
}
body.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:first-child,
body.woocommerce-cart .wc-block-cart__sidebar {
  background: var(--hc-surface-soft) !important;
  border: 1px solid var(--hc-line) !important;
  border-radius: 12px !important;
}
body.woocommerce-cart .wc-block-cart__sidebar > * { padding-inline: 28px !important; }
body.woocommerce-cart .wc-block-cart__submit { padding: 0 28px 28px !important; }
body.woocommerce-cart .wc-block-cart__submit-button {
  min-height: 58px !important;
  border-radius: 7px !important;
  background: #111 !important;
  color: #fff !important;
  font-weight: 750 !important;
}

/* Recommendations belong to a full-width row below the cart. */
body.woocommerce-cart .hc-cart-recommendations {
  width: min(calc(100% - 64px), var(--hc-container, 1440px)) !important;
  max-width: var(--hc-container, 1440px) !important;
  margin: 0 auto !important;
  padding: clamp(64px, 7vw, 104px) 0 0 !important;
  border-top: 1px solid var(--hc-line) !important;
}
body.woocommerce-cart .hc-cart-recommendations ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
}
body.woocommerce-cart .hc-cart-recommendations ul.products li.product {
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 1024px) {
  body.tax-product_cat .hc-archive-subcategories__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  body.woocommerce-cart .wc-block-cart {
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-cart .wc-block-cart__main,
  body.woocommerce-cart .wc-block-cart__sidebar { grid-column: 1 !important; }
  body.woocommerce-cart .wc-block-cart__sidebar { position: static !important; top: auto !important; }
  body.woocommerce-cart .hc-cart-recommendations ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 640px) {
  body.tax-product_cat .hc-archive-subcategories__grid { grid-template-columns: 1fr !important; }
  body.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .hc-cart-recommendations { width: calc(100% - 32px) !important; }
  body.woocommerce-cart .wc-block-cart-items__row {
    grid-template-columns: 82px minmax(0,1fr) !important;
    gap: 14px !important;
    padding: 18px !important;
  }
  body.woocommerce-cart .wc-block-cart-item__image { width: 82px !important; }
  body.woocommerce-cart .wc-block-cart-item__total { grid-column: 2 !important; text-align: left !important; }
  body.woocommerce-cart .hc-cart-recommendations ul.products { grid-template-columns: 1fr !important; }
}
