.woocommerce div.product { padding: 2rem 0 4rem; position: relative; }
.woocommerce div.product div.images { margin-bottom: 1.5rem; }
.woocommerce div.product .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.woocommerce div.product .flex-control-thumbs img { border-radius: 8px; }
.woocommerce-variation-add-to-cart,
form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.quantity input.qty {
  width: 4rem;
  height: var(--hn-input-height);
  border: 1px solid var(--hn-line);
  border-radius: var(--hn-radius);
  text-align: center;
  font: inherit;
}

.hn-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-block: 0.35rem;
}
.hn-swatch {
  min-width: 2rem;
  min-height: 2rem;
  border: 1px solid var(--hn-line);
  background: var(--hn-color-surface);
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  padding: 0 0.6rem;
}
.hn-swatch.is-selected { outline: 2px solid var(--hn-color-navy); outline-offset: 2px; }
.hn-swatch--color { padding: 0; width: 1.75rem; height: 1.75rem; }
.hn-has-swatches .hn-swatch-source { margin-top: 0.25rem; }

.woocommerce div.product .product_title { color: #0a1a3d; }
.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .sku {
  display: none !important;
}
body.hn-reviews-disabled .woocommerce-tabs li.reviews_tab,
body.hn-reviews-disabled #reviews,
body.hn-reviews-disabled .woocommerce-Reviews,
body.hn-reviews-disabled #review_form_wrapper,
body.hn-reviews-disabled #review_form {
  display: none !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce div.product p.price .amount,
.woocommerce div.product span.price .amount,
.woocommerce div.product p.price bdi,
.woocommerce div.product span.price bdi,
.woocommerce div.product .woocommerce-variation-price .price,
.woocommerce div.product .woocommerce-variation-price .price ins,
.woocommerce div.product .woocommerce-variation-price .price .amount,
.woocommerce div.product .woocommerce-variation-price .price bdi {
  color: #a03161;
  background: none;
  text-decoration: none;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del,
.woocommerce div.product p.price del .amount,
.woocommerce div.product span.price del .amount,
.woocommerce div.product .woocommerce-variation-price .price del,
.woocommerce div.product .woocommerce-variation-price .price del .amount {
  color: var(--hn-muted);
  font-weight: 400;
  text-decoration: line-through;
}

.hn-sticky-atc {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
  background: color-mix(in srgb, var(--hn-color-surface) 94%, transparent);
  border-top: 1px solid var(--hn-line);
  backdrop-filter: blur(8px);
}
.hn-sticky-atc[hidden] { display: none !important; }
.hn-sticky-atc__title { display: none; font-size: 0.8rem; }
.hn-sticky-atc__msg { font-size: 0.8rem; color: var(--hn-color-burgundy); }

.woocommerce div.product .hn-sale--single {
  position: absolute;
  top: calc(2rem + 10px);
  inset-inline-start: 10px;
  z-index: 4;
  margin: 0;
  background: #a03161;
  color: #fff;
  font-size: 11px;
  padding: 2px 8px;
  border-radius: 4px;
  line-height: 1.4;
}

@media (min-width: 1024px) {
  .woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
  }
  .hn-sticky-atc { display: none !important; }
  body.hn-sticky-atc-desktop .hn-sticky-atc {
    display: flex !important;
    inset-inline: auto 0;
    width: min(28rem, 40vw);
    border-inline-start: 1px solid var(--hn-line);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hn-sticky-atc { transition: none; }
}
