/* =========================================================
   HonarChob – WooCommerce styles (theme-only, WC CSS disabled)
   ========================================================= */

/* Reset leftover WC structural defaults */
.woocommerce,
.woocommerce-page {
  font-family: 'IranSans', Tahoma, sans-serif;
}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  list-style: none;
  margin: 0 0 16px;
  padding: 14px 18px;
  border-radius: 12px;
  border: none;
  background: #f7f3ed;
  color: #333;
  font-size: 14px;
}
.woocommerce-error { background: #ffebee !important; color: #c62828 !important; }
.woocommerce-message { background: #e8f5e9 !important; color: #2e7d32 !important; }
.woocommerce-info { background: #e3f2fd !important; color: #1565c0 !important; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family: 'IranSans', Tahoma, sans-serif !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 12px 22px !important;
  font-weight: 700 !important;
  cursor: pointer;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  line-height: 1.4 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  filter: brightness(0.95);
  color: #1a1a1a !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: #1a1a1a !important;
  color: #fff !important;
}
.woocommerce form .form-row {
  margin-bottom: 14px;
  padding: 0;
}
.woocommerce form .form-row label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .input-text,
.woocommerce-input-wrapper input,
.woocommerce-input-wrapper select,
.woocommerce-input-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  font-family: 'IranSans', Tahoma, sans-serif;
  font-size: 14px;
  background: #fff;
  box-sizing: border-box;
  box-shadow: none !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: #c9a87c;
}
.woocommerce table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border: none;
  background: transparent;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  border: none;
  border-bottom: 1px solid #f0f0f0;
  padding: 12px 10px;
  text-align: right;
  font-size: 13px;
}
.woocommerce-breadcrumb,
.hc-breadcrumb {
  font-size: 13px;
  color: #888;
  margin-bottom: 18px;
}
.woocommerce-breadcrumb a,
.hc-breadcrumb a { color: #8b7355; text-decoration: none; }
.woocommerce span.onsale {
  background: #e53935 !important;
  color: #fff !important;
  border-radius: 8px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.3 !important;
  padding: 4px 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.woocommerce .quantity .qty {
  font-family: 'IranSans', Tahoma, sans-serif;
}
.woocommerce ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}
.woocommerce ul.products li.product {
  list-style: none;
  margin: 0;
  padding: 0;
  float: none !important;
  width: auto !important;
}
.woocommerce-result-count,
.woocommerce-ordering {
  font-size: 13px;
  margin-bottom: 16px;
}
.woocommerce nav.woocommerce-pagination ul {
  list-style: none;
  display: flex;
  gap: 6px;
  justify-content: center;
  padding: 0;
  border: none;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: none;
  overflow: visible;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 8px;
  background: #f5f0e8;
  color: #333;
  text-decoration: none;
  min-width: auto;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #c9a87c;
  font-weight: 700;
}

/* ============================================================
   WooCommerce Professional Styles - Digikala inspired
   ============================================================ */

/* ---------- Breadcrumb ---------- */
.hc-breadcrumb {
  padding: 14px 0 20px;
  font-size: 13px;
  color: #888;
}
.hc-breadcrumb a { color: #888; transition: color .2s; }
.hc-breadcrumb a:hover { color: #c9a87c; }
.breadcrumb-sep { margin: 0 6px; color: #ccc; }

/* ============================================================
   SHOP PAGE LAYOUT
   ============================================================ */
.hc-shop-page {
  padding-bottom: 60px;
  background: #f7f5f2;
  min-height: 60vh;
}
.hc-shop-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
  align-items: start;
}

/* ---------- Sidebar ---------- */
.hc-shop-sidebar {
  position: sticky;
  top: 90px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 16px rgba(0,0,0,.05);
  overflow: hidden;
}
.hc-sidebar-inner {
  padding: 20px;
}
.hc-sidebar-close {
  display: none;
  position: absolute;
  top: 12px;
  left: 12px;
  background: #f5f5f5;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.hc-filter-block {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
}
.hc-filter-block:last-of-type { border-bottom: none; }

.hc-filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 14px;
}
.hc-filter-title svg { color: #c9a87c; }

.hc-filter-cats,
.hc-filter-subcats {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hc-filter-subcats {
  padding-right: 22px;
  margin-top: 4px;
}
.hc-filter-cats > li { margin-bottom: 2px; }

.hc-filter-check {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 4px;
  cursor: pointer;
  border-radius: 8px;
  transition: background .15s;
  font-size: 13px;
  color: #444;
}
.hc-filter-check:hover { background: #faf8f5; }

.hc-filter-check input { display: none; }

.hc-checkmark {
  width: 18px;
  height: 18px;
  border: 1.5px solid #d0d0d0;
  border-radius: 5px;
  flex-shrink: 0;
  position: relative;
  transition: all .15s;
}
.hc-filter-check input:checked + .hc-checkmark {
  background: #c9a87c;
  border-color: #c9a87c;
}
.hc-filter-check input:checked + .hc-checkmark::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.hc-filter-label { flex: 1; }
.hc-filter-count {
  font-size: 11px;
  color: #aaa;
  background: #f5f5f5;
  padding: 2px 8px;
  border-radius: 10px;
}

/* Price filter */
.hc-price-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.hc-price-input {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  text-align: center;
}
.hc-price-input:focus { outline: none; border-color: #c9a87c; }
.hc-price-sep { font-size: 12px; color: #999; flex-shrink: 0; }

.hc-btn-filter {
  width: 100%;
  padding: 10px;
  background: #1a1a1a;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.hc-btn-filter:hover { background: #333; }

.hc-btn-reset {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px;
  background: transparent;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  color: #666;
  cursor: pointer;
  transition: all .2s;
}
.hc-btn-reset:hover {
  border-color: #c9a87c;
  color: #c9a87c;
}

/* ---------- Toolbar ---------- */
.hc-shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 12px;
  padding: 12px 18px;
  margin-bottom: 18px;
  box-shadow: 0 1px 8px rgba(0,0,0,.04);
  flex-wrap: wrap;
  gap: 12px;
}
.hc-toolbar-right,
.hc-toolbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hc-filter-toggle {
  display: none;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #f5f5f5;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  color: #333;
}
.hc-result-count { font-size: 13px; color: #777; margin: 0; }

.hc-view-toggle {
  display: flex;
  gap: 4px;
  background: #f5f5f5;
  border-radius: 8px;
  padding: 3px;
}
.hc-view-btn {
  width: 34px;
  height: 34px;
  border: none;
  background: transparent;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  transition: all .15s;
}
.hc-view-btn.active {
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}

.woocommerce-ordering select {
  padding: 8px 32px 8px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
  background: #fff;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 10px center;
}

/* Active filter tags */
.hc-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.hc-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: #f7f3ed;
  color: #8b7355;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}
.hc-tag i {
  cursor: pointer;
  font-style: normal;
  font-size: 14px;
  opacity: .7;
}
.hc-tag i:hover { opacity: 1; }

/* ---------- Products Grid ---------- */
.hc-products-wrap {
  position: relative;
  min-height: 300px;
  transition: opacity .25s;
}
.hc-products-wrap ul.products {
  display: grid !important;
  grid-template-columns: repeat(var(--hc-shop-cols, 3), 1fr) !important;
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.hc-products-wrap ul.products::before,
.hc-products-wrap ul.products::after { display: none !important; }
.hc-products-wrap ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
}

/* List view */
.hc-products-wrap.view-list ul.products {
  grid-template-columns: 1fr;
}
.hc-products-wrap.view-list .hc-card-inner {
  flex-direction: row;
}
.hc-products-wrap.view-list .hc-card-image {
  width: 200px;
  flex-shrink: 0;
  aspect-ratio: 1;
}
.hc-products-wrap.view-list .hc-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Product Card */
.hc-product-card {
  list-style: none;
}
.hc-card-inner {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  transition: transform .25s, box-shadow .25s;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.hc-card-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0,0,0,.1);
}

.hc-card-image {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: #f8f8f8;
}
.hc-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.hc-card-inner:hover .hc-card-img { transform: scale(1.06); }

.hc-badge-sale {
  position: absolute;
  top: 12px;
  right: 12px;
  background: linear-gradient(135deg, #e53935, #c62828);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(229,57,53,.3);
}
.hc-badge-stock {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #757575;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 8px;
  z-index: 2;
}

.hc-card-quick {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  transition: all .25s;
  z-index: 2;
}
.hc-card-inner:hover .hc-card-quick {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.hc-quick-view {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  color: #333;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.hc-quick-view:hover {
  background: #c9a87c;
  color: #fff;
}

.hc-card-body {
  padding: 14px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.hc-card-cats {
  font-size: 11px;
  color: #aaa;
  margin-bottom: 6px;
}
.hc-card-cats a { color: #aaa; }
.hc-card-cats a:hover { color: #c9a87c; }

.hc-card-title {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 8px;
  line-height: 1.5;
  flex: 1;
}
.hc-card-title a {
  color: #333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hc-card-title a:hover { color: #c9a87c; }

.hc-card-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.hc-card-rating .star-rating { font-size: 12px; }
.hc-rating-count { font-size: 11px; color: #aaa; }

.hc-card-price {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 12px;
}
.hc-card-price del {
  color: #bbb;
  font-weight: 400;
  font-size: 12px;
  margin-left: 6px;
}
.hc-card-price ins {
  text-decoration: none;
  color: #e53935;
}

.hc-add-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 10px;
  background: #f7f3ed;
  color: #8b7355;
  border: none;
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all .2s;
}
.hc-add-cart:hover {
  background: #c9a87c;
  color: #1a1a1a;
}
.hc-add-cart.loading { opacity: .6; pointer-events: none; }

/* No products */
.hc-no-products {
  text-align: center;
  padding: 60px 20px;
  color: #999;
}
.hc-no-products svg { margin-bottom: 16px; opacity: .4; }
.hc-no-products h3 { font-size: 18px; color: #555; margin-bottom: 8px; }

/* Loading */
.hc-loading {
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.7);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  z-index: 10;
  border-radius: 14px;
}
.hc-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid #eee;
  border-top-color: #c9a87c;
  border-radius: 50%;
  animation: spin .7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Pagination */
.hc-pagination { margin-top: 32px; }
.woocommerce-pagination ul {
  display: flex;
  gap: 6px;
  list-style: none;
  padding: 0;
  border: none;
  justify-content: center;
  margin: 0;
}
.woocommerce-pagination ul li { border: none; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  font-size: 14px;
  color: #555;
  background: #fff;
  transition: all .15s;
}
.woocommerce-pagination ul li a:hover {
  border-color: #c9a87c;
  color: #c9a87c;
}
.woocommerce-pagination ul li span.current {
  background: #c9a87c;
  border-color: #c9a87c;
  color: #1a1a1a;
  font-weight: 700;
}

/* Sidebar overlay mobile */
.hc-sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 200;
}
.hc-sidebar-overlay.open { display: block; }
body.sidebar-open { overflow: hidden; }

/* ============================================================
   SINGLE PRODUCT - Digikala Style
   ============================================================ */
.hc-single-page {
  padding-bottom: 60px;
  background: #f7f5f2;
}

/* Gallery */
.hc-single-gallery {
  position: sticky;
  top: 90px;
  align-self: start;
}
.hc-single-gallery .woocommerce-product-gallery {
  width: 100% !important;
}
.hc-single-gallery .woocommerce-product-gallery__wrapper {
  border-radius: 12px;
  overflow: hidden;
  background: #fafafa;
}
.hc-single-gallery .woocommerce-product-gallery__image img {
  border-radius: 12px;
  width: 100%;
}
.hc-single-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  list-style: none;
  padding: 0;
  flex-wrap: wrap;
}
.hc-single-gallery .flex-control-thumbs li {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: border-color .2s;
}
.hc-single-gallery .flex-control-thumbs li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hc-single-gallery .flex-control-thumbs li.flex-active,
.hc-single-gallery .flex-control-thumbs li:hover {
  border-color: #c9a87c;
}
.hc-single-gallery .onsale {
  position: absolute;
  top: 16px;
  right: 16px;
  background: linear-gradient(135deg, #e53935, #c62828);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 10px;
  z-index: 5;
  box-shadow: 0 2px 10px rgba(229,57,53,.3);
}

/* Summary */
.hc-single-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #1a1a1a;
  margin: 0 0 14px;
}

.hc-single-meta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  font-size: 13px;
  color: #777;
}
.hc-single-rating {
  display: flex;
  align-items: center;
  gap: 4px;
}
.hc-rating-link { color: #c9a87c; }
.hc-meta-sep { color: #ddd; }
.hc-stock {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 600;
}
.hc-stock.in-stock { color: #2e7d32; }
.hc-stock.out-of-stock { color: #c62828; }

/* Price box */
.hc-price-box {
  background: #faf8f5;
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 20px;
}
.hc-price-discount {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.hc-old-price {
  font-size: 14px;
  color: #aaa;
  text-decoration: line-through;
}
.hc-discount-badge {
  background: #e53935;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 6px;
}
.hc-current-price {
  font-size: 26px;
  font-weight: 800;
  color: #1a1a1a;
}
.hc-current-price del { display: none; }
.hc-current-price ins { text-decoration: none; color: #e53935; }
.hc-current-price .woocommerce-Price-amount { color: inherit; }

.hc-short-desc {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #f0f0f0;
}

/* Attributes */
.hc-attrs-quick {
  margin-bottom: 22px;
}
.hc-attrs-quick h4 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #1a1a1a;
}
.hc-attrs-quick ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hc-attrs-quick li {
  display: flex;
  gap: 8px;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px dashed #f0f0f0;
}
.hc-attrs-quick li:last-child { border-bottom: none; }
.hc-attr-name { color: #999; min-width: 100px; }
.hc-attr-val { color: #333; font-weight: 500; }

/* Add to cart box */
.hc-add-to-cart-box {
  margin-bottom: 24px;
}
.hc-add-to-cart-box form.cart {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.hc-add-to-cart-box .quantity {
  display: flex;
  align-items: center;
  border: 1.5px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
}
.hc-add-to-cart-box .quantity input.qty {
  width: 56px;
  height: 48px;
  border: none;
  text-align: center;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  background: #fff;
  -moz-appearance: textfield;
}
.hc-add-to-cart-box .quantity input.qty::-webkit-inner-spin-button,
.hc-add-to-cart-box .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.hc-add-to-cart-box .single_add_to_cart_button {
  flex: 1;
  min-width: 180px;
  height: 48px;
  background: linear-gradient(135deg, #c9a87c, #b8976a);
  color: #1a1a1a;
  border: none;
  border-radius: 12px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: all .25s;
  box-shadow: 0 4px 14px rgba(201,168,124,.35);
}
.hc-add-to-cart-box .single_add_to_cart_button:hover {
  background: linear-gradient(135deg, #b8976a, #a68659);
  box-shadow: 0 6px 20px rgba(201,168,124,.45);
  transform: translateY(-1px);
}

/* Variations */
.hc-add-to-cart-box table.variations {
  width: 100%;
  margin-bottom: 16px;
}
.hc-add-to-cart-box table.variations td {
  padding: 6px 0;
  vertical-align: middle;
}
.hc-add-to-cart-box table.variations label {
  font-size: 13px;
  font-weight: 600;
  color: #555;
}
.hc-add-to-cart-box table.variations select {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #e0e0e0;
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  background: #fff;
}

/* Trust badges */
.hc-trust-badges {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 20px;
  padding: 16px;
  background: #fafafa;
  border-radius: 12px;
}
.hc-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #666;
}
.hc-trust-item svg { color: #c9a87c; flex-shrink: 0; }

.hc-single-cats {
  font-size: 13px;
  color: #888;
}
.hc-single-cats a { color: #c9a87c; }
.hc-single-cats a:hover { text-decoration: underline; }

/* ---------- Tabs ---------- */
.hc-single-tabs {
  background: #fff;
  border-radius: 16px;
  padding: 8px 28px 28px;
  box-shadow: 0 2px 16px rgba(0,0,0,.04);
  margin-bottom: 28px;
}
.hc-single-tabs .woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  gap: 0;
  border-bottom: 2px solid #f0f0f0;
}
.hc-single-tabs .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  border-radius: 0;
}
.hc-single-tabs .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 14px 22px;
  font-size: 14px;
  font-weight: 600;
  color: #888;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  transition: color .2s;
}
.hc-single-tabs .woocommerce-tabs ul.tabs li a:hover { color: #333; }
.hc-single-tabs .woocommerce-tabs ul.tabs li.active a {
  color: #c9a87c;
  border-bottom-color: #c9a87c;
}
.hc-single-tabs .woocommerce-tabs .panel {
  padding: 8px 0;
  font-size: 14px;
  line-height: 2;
  color: #555;
}
.hc-single-tabs .woocommerce-tabs .panel h2 {
  font-size: 18px;
  margin-bottom: 14px;
}

/* Related products */
.related.products {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 16px rgba(0,0,0,.04);
}
.related.products > h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 22px;
  text-align: center;
}
.related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.related.products ul.products::before,
.related.products ul.products::after { display: none !important; }
.related.products ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

/* Cart / Checkout basic polish */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 16px rgba(0,0,0,.04);
}
.woocommerce-cart table.cart img { width: 64px; border-radius: 8px; }
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review {
  background: #faf8f5;
  border-radius: 12px;
  padding: 24px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .hc-shop-layout {
    grid-template-columns: 240px 1fr;
  }
  .hc-products-wrap ul.products {
    grid-template-columns: repeat(var(--hc-shop-cols-tab, 2), 1fr) !important;
  }
  .related.products ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .hc-single-layout {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .hc-single-gallery {
    position: static;
  }
  .hc-trust-badges {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .hc-shop-layout {
    grid-template-columns: 1fr;
  }

  /* Mobile sidebar as drawer */
  .hc-shop-sidebar {
    position: fixed;
    top: 0;
    right: -320px;
    width: 300px;
    height: 100%;
    z-index: 300;
    border-radius: 0;
    transition: right .3s ease;
    overflow-y: auto;
  }
  .hc-shop-sidebar.open {
    right: 0;
  }
  .hc-sidebar-close {
    display: flex;
  }
  .hc-filter-toggle {
    display: flex;
  }

  .hc-products-wrap ul.products {
    grid-template-columns: repeat(var(--hc-shop-cols-tab, 2), 1fr) !important;
    gap: 12px;
  }
  .hc-card-title { font-size: 12px; }
  .hc-card-price { font-size: 13px; }
  .hc-add-cart span { display: none; }
  .hc-add-cart { padding: 10px; }

  .hc-view-toggle { display: none; }

  .related.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }

  .hc-single-title { font-size: 18px; }
  .hc-current-price { font-size: 22px; }
  .hc-single-tabs { padding: 8px 16px 20px; }
  .hc-add-to-cart-box form.cart {
    flex-direction: column;
  }
  .hc-add-to-cart-box .single_add_to_cart_button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .hc-shop-toolbar {
    padding: 10px 12px;
  }
  .hc-products-wrap ul.products {
    gap: 8px;
  }
  .hc-card-body { padding: 10px 12px 12px; }
  .hc-trust-badges {
    grid-template-columns: 1fr;
  }
  .related.products {
    padding: 20px 12px;
  }
}

.hc-related {
  margin-top: 40px;
  background: #fff;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 2px 16px rgba(0,0,0,.04);
}
.hc-related-title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 24px;
}
.hc-related ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.hc-related ul.products::before,
.hc-related ul.products::after { display: none !important; }
.hc-related ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  padding: 0 !important;
  list-style: none;
}
@media (max-width: 1024px) {
  .hc-related ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .hc-related ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ===== Custom Product Gallery ===== */
.hc-single-gallery .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.hc-gallery {
  position: relative;
  background: #fff;
  border-radius: 16px;
  padding: 12px;
}
.hc-gallery-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 5;
  background: linear-gradient(135deg, #e53935, #c62828);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 8px;
}
.hc-gallery-main {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.hc-gallery-viewport {
  flex: 1;
  overflow: hidden;
  border-radius: 12px;
  background: #f8f6f3;
  aspect-ratio: 1 / 1;
  position: relative;
}
.hc-gallery-track {
  position: relative;
  width: 100%;
  height: 100%;
}
.hc-gallery-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hc-gallery-slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.hc-gallery-img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  cursor: zoom-in;
  user-select: none;
}
.hc-gallery-zoom {
  position: absolute;
  bottom: 12px;
  left: 12px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.92);
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333;
  z-index: 3;
  transition: transform .2s, background .2s;
}
.hc-gallery-zoom:hover {
  background: #c9a87c;
  color: #1a1a1a;
  transform: scale(1.08);
}
.hc-gallery-nav {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border: none;
  border-radius: 50%;
  background: #f5f0e8;
  color: #5c4a32;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, transform .2s;
  z-index: 2;
}
.hc-gallery-nav:hover {
  background: #c9a87c;
  color: #1a1a1a;
  transform: scale(1.05);
}
.hc-gallery-nav[hidden] { display: none; }

.hc-gallery-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  overflow-x: auto;
  padding: 4px 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.hc-gallery-thumb {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 10px;
  border: 2px solid transparent;
  padding: 0;
  overflow: hidden;
  background: #f5f0e8;
  cursor: pointer;
  transition: border-color .2s, transform .2s;
}
.hc-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hc-gallery-thumb:hover { border-color: #d4b896; }
.hc-gallery-thumb.is-active {
  border-color: #c9a87c;
  box-shadow: 0 0 0 1px #c9a87c;
  transform: translateY(-2px);
}

/* Lightbox */
.hc-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.hc-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}
.hc-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, .88);
  backdrop-filter: blur(6px);
}
.hc-lightbox-inner {
  position: relative;
  z-index: 1;
  width: min(92vw, 960px);
  height: min(88vh, 900px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.hc-lightbox-stage {
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hc-lightbox-img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 12px 48px rgba(0,0,0,.4);
  animation: hcLbIn .35s ease;
}
@keyframes hcLbIn {
  from { opacity: 0; transform: scale(.94); }
  to { opacity: 1; transform: scale(1); }
}
.hc-lightbox-close {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.15);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  z-index: 3;
}
.hc-lightbox-close:hover { background: #c9a87c; color: #1a1a1a; }
.hc-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.12);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
  z-index: 3;
}
.hc-lightbox-nav:hover { background: #c9a87c; color: #1a1a1a; }
.hc-lightbox-prev { right: -8px; }
.hc-lightbox-next { left: -8px; }
.hc-lightbox-counter {
  position: absolute;
  bottom: -36px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.85);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .5px;
}
body.hc-lightbox-open { overflow: hidden; }

@media (max-width: 768px) {
  .hc-gallery { padding: 8px; border-radius: 12px; }
  .hc-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,.9);
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
  }
  .hc-gallery-prev { right: 8px; }
  .hc-gallery-next { left: 8px; }
  .hc-gallery-thumb { flex: 0 0 60px; width: 60px; height: 60px; }
  .hc-lightbox-prev { right: 4px; }
  .hc-lightbox-next { left: 4px; }
  .hc-lightbox-close { top: 8px; left: 8px; }
}

/* Card mini gallery */
.hc-card-image-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  background: #f8f6f3;
}
.hc-card-gallery {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
}
.hc-card-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hc-card-slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.hc-card-slide .hc-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hc-card-gprev,
.hc-card-gnext {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  color: #333;
}
.hc-card-image-wrap.has-gallery:hover .hc-card-gprev,
.hc-card-image-wrap.has-gallery:hover .hc-card-gnext {
  display: flex;
}
.hc-card-gprev { right: 8px; }
.hc-card-gnext { left: 8px; }
.hc-card-dots {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 4px;
}
.hc-card-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(0,0,0,.25);
  cursor: pointer;
}
.hc-card-dot.is-active { background: #c9a87c; }
.hc-card-thumbs {
  display: flex;
  gap: 4px;
  padding: 6px 8px 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.hc-card-thumbs::-webkit-scrollbar { display: none; }
.hc-card-thumb {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1.5px solid transparent;
  border-radius: 6px;
  padding: 0;
  overflow: hidden;
  background: #eee;
  cursor: pointer;
}
.hc-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hc-card-thumb.is-active { border-color: #c9a87c; }

/* Related as slider */
.hc-related-slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.hc-related-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  flex: 1;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.hc-related-track::-webkit-scrollbar { display: none; }
.hc-related-track .product,
.hc-related-track .hc-related-slide {
  flex: 0 0 calc(100% / var(--hc-rel-desk, 4) - 12px);
  scroll-snap-align: start;
  list-style: none;
  margin: 0 !important;
  width: auto !important;
  float: none !important;
}
@media (max-width: 1024px) {
  .hc-related-track .product,
  .hc-related-track .hc-related-slide {
    flex-basis: calc(100% / var(--hc-rel-tab, 3) - 12px);
  }
}
@media (max-width: 768px) {
  .hc-related-track .product,
  .hc-related-track .hc-related-slide {
    flex-basis: calc(100% / var(--hc-rel-mob, 2) - 10px);
  }
}


/* Hide WC "View cart" link after add */
a.added_to_cart,
.added_to_cart.wc-forward {
  display: none !important;
}

/* List view card layout */
.hc-products-wrap.view-list .hc-card-inner {
  display: flex !important;
  flex-direction: row;
  align-items: stretch;
}
.hc-products-wrap.view-list .hc-card-image-wrap {
  width: 200px;
  flex-shrink: 0;
  border-radius: 12px 0 0 12px;
}
.hc-products-wrap.view-list .hc-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 20px;
}
.hc-products-wrap.view-list .hc-card-thumbs { display: none; }
@media (max-width: 576px) {
  .hc-products-wrap.view-list .hc-card-inner { flex-direction: column; }
  .hc-products-wrap.view-list .hc-card-image-wrap {
    width: 100%;
    border-radius: 12px 12px 0 0;
  }
}

/* Single product qty +/- */
.hc-qty-wrap {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  height: 48px;
  width: 120px;
  flex-shrink: 0;
}
.hc-qty-wrap .hc-qty-btn {
  width: 36px;
  height: 48px;
  border: none;
  background: #f5f0e8;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  color: #333;
  line-height: 1;
  font-family: inherit;
}
.hc-qty-wrap .hc-qty-btn:hover { background: #c9a87c; color: #1a1a1a; }
.hc-qty-wrap .qty,
.hc-qty-wrap input.qty {
  width: 48px !important;
  height: 48px !important;
  border: none !important;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  background: #fff;
  margin: 0 !important;
  padding: 0 !important;
  -moz-appearance: textfield;
}
.hc-qty-wrap .qty::-webkit-outer-spin-button,
.hc-qty-wrap .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
form.cart .single_add_to_cart_button {
  height: 48px;
  padding: 0 28px !important;
  border-radius: 10px !important;
}

/* List view - fixed overflow */
.hc-products-wrap.view-list {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}
.hc-products-wrap.view-list ul.products {
  grid-template-columns: 1fr !important;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.hc-products-wrap.view-list ul.products li.product,
.hc-products-wrap.view-list .hc-product-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.hc-products-wrap.view-list .hc-card-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.hc-products-wrap.view-list .hc-card-image-wrap {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  flex: 0 0 180px !important;
  border-radius: 12px 0 0 12px;
  overflow: hidden;
}
.hc-products-wrap.view-list .hc-card-gallery {
  aspect-ratio: 1;
  width: 100%;
}
.hc-products-wrap.view-list .hc-card-body {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 100%;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  overflow: hidden;
}
.hc-products-wrap.view-list .hc-card-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hc-products-wrap.view-list .hc-card-thumbs,
.hc-products-wrap.view-list .hc-card-dots,
.hc-products-wrap.view-list .hc-card-gprev,
.hc-products-wrap.view-list .hc-card-gnext {
  display: none !important;
}
.hc-products-wrap.view-list .hc-card-actions {
  margin-top: 8px;
}
@media (max-width: 640px) {
  .hc-products-wrap.view-list .hc-card-inner {
    flex-direction: column !important;
  }
  .hc-products-wrap.view-list .hc-card-image-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: none !important;
    border-radius: 12px 12px 0 0;
  }
}

/* Single product qty reveal animation */
form.cart .hc-qty-wrap {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  width: 0;
  margin: 0;
  border-width: 0;
  transition: max-width .35s cubic-bezier(.4,0,.2,1), opacity .3s ease, margin .3s ease, border-width .3s;
  pointer-events: none;
}
form.cart.hc-qty-open .hc-qty-wrap {
  max-width: 140px;
  width: 120px;
  opacity: 1;
  margin-left: 10px;
  border-width: 1.5px;
  pointer-events: auto;
}
form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}

/* Qty box: no gap, buttons flush */
form.cart .hc-qty-wrap {
  display: inline-flex !important;
  align-items: stretch;
  box-sizing: border-box;
  padding: 0 !important;
  gap: 0 !important;
}
form.cart .hc-qty-wrap .hc-qty-btn {
  flex: 0 0 36px;
  width: 36px !important;
  min-width: 36px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  border: none;
}
form.cart .hc-qty-wrap .qty,
form.cart .hc-qty-wrap input.qty {
  flex: 1 1 auto;
  width: 48px !important;
  min-width: 40px;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
form.cart.hc-qty-open .hc-qty-wrap {
  max-width: 120px !important;
  width: 120px !important;
  margin-left: 10px !important;
  margin-right: 0 !important;
}

/* Equal height product cards */
.hc-products-wrap ul.products,
.lp-track,
.hc-sale-track,
.hc-related-track {
  align-items: stretch;
}
.hc-product-card,
li.product.hc-product-card {
  height: 100%;
  display: flex !important;
  flex-direction: column;
}
.hc-product-card .hc-card-inner {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  flex: 1;
}
.hc-product-card .hc-card-image-wrap {
  flex-shrink: 0;
}
.hc-product-card .hc-card-body {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.hc-product-card .hc-card-title {
  min-height: 2.6em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
}
.hc-product-card .hc-card-price {
  min-height: 1.6em;
}
.hc-product-card .hc-card-actions {
  margin-top: auto !important;
  padding-top: 8px;
}
.lp-slide,
.hc-sale-slide,
.hc-related-slide {
  display: flex;
  flex-direction: column;
}
.lp-slide .hc-product-card,
.hc-sale-slide .hc-product-card,
.hc-related-slide .hc-product-card {
  flex: 1;
  width: 100%;
}

/* Single product mobile: price + add to cart row */
@media (max-width: 768px) {
  .single-product div.product .summary {
    position: relative;
  }
  .single-product form.cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100%;
  }
  .single-product form.cart .hc-qty-wrap {
    flex-shrink: 0;
  }
  .single-product form.cart .single_add_to_cart_button {
    flex: 1 !important;
    height: 48px !important;
    white-space: nowrap;
    font-size: 14px !important;
    padding: 0 16px !important;
  }
  .single-product .summary .price {
    font-size: 18px !important;
    margin-bottom: 12px !important;
  }
  /* sticky bottom bar style optional */
  .single-product .summary form.cart.hc-qty-open {
    position: sticky;
    bottom: 70px;
    background: #fff;
    padding: 10px 0;
    z-index: 20;
    border-top: 1px solid #f0f0f0;
  }
}

/* ========== Checkout professional design ========== */
.woocommerce-checkout {
  padding-bottom: 40px;
}
.woocommerce-checkout .hc-checkout-form,
.woocommerce-checkout form.checkout {
  margin-top: 8px;
}
.hc-checkout-layout {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr !important;
  gap: 28px !important;
  align-items: start;
}
.hc-checkout-billing,
.hc-checkout-shipping,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  background: #fff;
  border: 1px solid #f0ebe3;
  border-radius: 16px;
  padding: 24px 22px;
  margin-bottom: 16px;
  box-shadow: 0 2px 14px rgba(0,0,0,.04);
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading,
.hc-checkout-order h3 {
  font-size: 17px !important;
  font-weight: 800 !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #c9a87c;
  color: #1a1a1a;
}
.woocommerce-checkout .form-row {
  margin-bottom: 14px !important;
  padding: 0 !important;
  width: 100% !important;
}
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  width: 48% !important;
  float: right !important;
}
.woocommerce-checkout .form-row-first {
  margin-left: 4% !important;
}
.woocommerce-checkout .form-row-wide {
  width: 100% !important;
  clear: both;
}
.woocommerce-checkout .form-row label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 7px !important;
  color: #333 !important;
}
.woocommerce-checkout .form-row label .required {
  color: #e53935;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 48px !important;
  padding: 11px 14px !important;
  border: 1.5px solid #e5e5e5 !important;
  border-radius: 11px !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: #222 !important;
  transition: border-color .2s, box-shadow .2s;
}
.woocommerce-checkout .form-row textarea {
  min-height: 100px !important;
  resize: vertical;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  outline: none !important;
  border-color: #c9a87c !important;
  box-shadow: 0 0 0 3px rgba(201,168,124,.18) !important;
}
.woocommerce-checkout .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center;
  padding: 0 10px !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px !important;
  padding: 0 !important;
  color: #222 !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 46px !important;
}

/* Order review sidebar */
.hc-checkout-order,
.woocommerce-checkout-review-order {
  background: #faf8f5 !important;
  border-radius: 16px !important;
  padding: 22px !important;
  border: 1px solid #f0ebe3;
  position: sticky;
  top: 100px;
}
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 8px !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  font-size: 13px !important;
  text-align: right !important;
  background: transparent !important;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
  font-weight: 700;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
  font-size: 16px !important;
  color: #1a1a1a;
  border-bottom: none !important;
  padding-top: 16px !important;
}

/* Payment methods */
.woocommerce-checkout #payment {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 16px !important;
  border: 1px solid #f0ebe3;
}
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  background: #faf8f5;
  border-radius: 10px;
  border: 1.5px solid transparent;
  transition: border-color .2s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover,
.woocommerce-checkout #payment ul.payment_methods li input:checked + label {
  border-color: #c9a87c;
}
.woocommerce-checkout #payment div.payment_box {
  background: #f5f0e8 !important;
  border-radius: 8px;
  padding: 12px !important;
  margin-top: 10px;
  font-size: 13px;
  color: #555;
}
.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}
.woocommerce-checkout #place_order {
  width: 100% !important;
  height: 52px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  border: none !important;
  margin-top: 12px !important;
  cursor: pointer;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: 13px;
  margin: 12px 0;
}
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
  border-radius: 12px !important;
  padding: 14px 18px !important;
}

@media (max-width: 900px) {
  .hc-checkout-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-checkout-order {
    position: static;
  }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
  }
}

/* Add to cart button states */
form.cart .single_add_to_cart_button,
.single_add_to_cart_button {
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}
form.cart .single_add_to_cart_button.added,
.single_add_to_cart_button.added,
form.cart .single_add_to_cart_button.loading,
.single_add_to_cart_button.loading {
  font-size: 14px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
a.added_to_cart {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  font-size: 0 !important;
}
/* toast text */
.hc-toast {
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.hc-toast-text,
.hc-toast .hc-toast-msg {
  font-size: 13px !important;
  color: #333 !important;
}

/* Unified product action buttons */
.hc-add-cart,
.hc-view-product,
.hc-go-cart,
a.hc-add-cart,
button.hc-add-cart,
.single_add_to_cart_button,
form.cart .single_add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 16px !important;
  background: #f7f3ed !important;
  color: #8b7355 !important;
  border: 1.5px solid #e8e0d5 !important;
  border-radius: 10px !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background .2s, color .2s, border-color .2s !important;
  box-sizing: border-box !important;
}
.hc-add-cart:hover,
.hc-view-product:hover,
.hc-go-cart:hover,
.single_add_to_cart_button:hover,
form.cart .single_add_to_cart_button:hover {
  background: #c9a87c !important;
  color: #1a1a1a !important;
  border-color: #c9a87c !important;
}
.hc-go-cart.added,
.single_add_to_cart_button.added,
.hc-add-cart.added {
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  border-color: transparent !important;
}
.hc-card-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Filter lists fixed height + scroll */
.hc-filter-cats,
.hc-filter-block .hc-filter-scroll {
  max-height: 240px;
  overflow-y: auto;
  padding-left: 4px;
  margin: 0;
  scrollbar-width: thin;
  scrollbar-color: #d4c4a8 transparent;
}
.hc-filter-cats::-webkit-scrollbar {
  width: 5px;
}
.hc-filter-cats::-webkit-scrollbar-thumb {
  background: #d4c4a8;
  border-radius: 4px;
}
.hc-filter-block .hc-filter-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  cursor: pointer;
  font-size: 13px;
}

/* Mobile shop: always 2 columns, no overflow */
@media (max-width: 768px) {
  .hc-shop-page .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .hc-shop-main,
  .hc-products-wrap,
  .hc-products-wrap ul.products {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .hc-products-wrap ul.products,
  .hc-shop-page ul.products,
  .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  .hc-products-wrap ul.products li.product,
  .hc-shop-page ul.products li.product,
  .woocommerce ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
  }
  .hc-product-card,
  .hc-card-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .hc-card-image-wrap,
  .hc-card-gallery {
    width: 100% !important;
    max-width: 100% !important;
  }
  .hc-card-body {
    padding: 8px 10px 10px !important;
  }
  .hc-card-title {
    font-size: 12px !important;
    min-height: 2.4em;
  }
  .hc-card-actions .hc-add-cart,
  .hc-card-actions .hc-view-product {
    min-height: 38px !important;
    font-size: 11px !important;
    padding: 8px 6px !important;
  }
  .hc-products-wrap.view-list ul.products {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 480px) {
  .hc-products-wrap ul.products,
  .hc-shop-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* Product description clamp + bottom sheet */
.hc-desc-clamp-wrap {
  position: relative;
  margin: 12px 0 16px;
}
.hc-desc-clamp {
  font-size: 14px;
  line-height: 1.9;
  color: #555;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  max-height: calc(1.9em * 5);
}
.hc-desc-clamp.is-expanded {
  -webkit-line-clamp: unset;
  line-clamp: unset;
  max-height: none;
  overflow: visible;
}
.hc-desc-more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  border: none;
  background: linear-gradient(to top, #fff 35%, rgba(255,255,255,0.92) 55%, rgba(255,255,255,0));
  padding: 36px 0 8px;
  cursor: pointer;
  font-family: 'IranSans', Tahoma, sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #c9a87c;
  text-align: center;
  z-index: 2;
}
.hc-desc-more span {
  display: inline-block;
  background: #fff;
  padding: 6px 16px;
  border-radius: 20px;
  border: 1px solid #f0ebe3;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  color: #8b7355;
}
.hc-desc-more:hover span {
  background: #c9a87c;
  color: #1a1a1a;
  border-color: #c9a87c;
}

/* Bottom sheet popup */
.hc-desc-sheet {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.hc-desc-sheet[hidden] {
  display: none !important;
}
.hc-desc-sheet-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  animation: hcFadeIn .25s ease;
}
.hc-desc-sheet-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 640px;
  max-height: 78vh;
  background: #fff;
  border-radius: 20px 20px 0 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 40px rgba(0,0,0,.15);
  animation: hcSheetUp .35s cubic-bezier(.4,0,.2,1);
}
.hc-desc-sheet-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.hc-desc-sheet-head h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  flex: 1;
  text-align: center;
  padding-left: 36px; /* balance close btn on left in RTL visual */
}
.hc-desc-sheet-close {
  position: absolute;
	z-index: 2;
	left: 20px;
  order: -1; /* right side in LTR; in RTL this is left-ish depending on flex */
  width: 40px;
  height: 40px;
  border: none;
  background: #f5f0e8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #333;
  flex-shrink: 0;
  margin-inline-start: 0;
  margin-inline-end: auto;
}
.hc-desc-sheet-close:hover {
  background: #e8e0d5;
}
/* Force close to top-left in RTL layout */
html[dir="rtl"] .hc-desc-sheet-head {
  flex-direction: row;
}
html[dir="rtl"] .hc-desc-sheet-close {
  order: 0;
  margin-right: auto;
  margin-left: 0;
}
html[dir="rtl"] .hc-desc-sheet-head h3 {
  padding-left: 0;
  padding-right: 0;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  pointer-events: none;
}
.hc-desc-sheet-body {
  padding: 20px 22px 32px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-size: 14px;
  line-height: 2;
  color: #444;
  flex: 1;
}
.hc-desc-sheet-body p {
  margin-bottom: 1em;
}
@keyframes hcSheetUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}
@keyframes hcFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
body.hc-desc-sheet-open {
  overflow: hidden;
}

/* Force description more button visibility */
.hc-desc-clamp-wrap {
  position: relative !important;
  margin: 12px 0 18px !important;
  padding-bottom: 8px;
}
.hc-desc-clamp {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  overflow: hidden !important;
  max-height: 9.5em !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #555 !important;
}
.hc-desc-more {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  border: none !important;
  background: linear-gradient(to top, #ffffff 40%, rgba(255,255,255,0.95) 65%, rgba(255,255,255,0)) !important;
  padding: 40px 0 6px !important;
  cursor: pointer !important;
  z-index: 5 !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
}
.hc-desc-more span {
  display: inline-block !important;
  background: #fff !important;
  padding: 7px 18px !important;
  border-radius: 20px !important;
  border: 1px solid #e8e0d5 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
  color: #8b7355 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.hc-desc-sheet.is-open,
.hc-desc-sheet:not([hidden]) {
  display: flex !important;
}
/* Close button top-left (visual left in RTL page) */
.hc-desc-sheet-head {
  position: relative;
  justify-content: flex-start;
}

/* Description inside woocommerce-tabs */
.woocommerce-Tabs-panel--description .hc-tab-desc-wrap,
#tab-description .hc-tab-desc-wrap {
  position: relative !important;
  margin: 0 0 8px !important;
}
.woocommerce-Tabs-panel--description .hc-tab-desc-clamp,
#tab-description .hc-tab-desc-clamp {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  overflow: hidden !important;
  max-height: 9.5em !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #555 !important;
}
.woocommerce-Tabs-panel--description .hc-tab-desc-more,
#tab-description .hc-tab-desc-more {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  border: none !important;
  background: linear-gradient(to top, #fff 40%, rgba(255,255,255,.95) 60%, rgba(255,255,255,0)) !important;
  padding: 42px 0 8px !important;
  cursor: pointer !important;
  z-index: 5 !important;
  text-align: center !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
}
.woocommerce-Tabs-panel--description .hc-tab-desc-more span,
#tab-description .hc-tab-desc-more span {
  display: inline-block !important;
  background: #fff !important;
  padding: 7px 18px !important;
  border-radius: 20px !important;
  border: 1px solid #e8e0d5 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.08) !important;
  color: #8b7355 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* Stop WC tabs default scroll margin issues */
.woocommerce-tabs .tabs a,
.woocommerce-tabs .panel {
  scroll-margin-top: 0 !important;
}
#reviews,
#tab-reviews,
#tab-description {
  scroll-margin-top: 0 !important;
}

/* Description more: desktop accordion + mobile sheet */
.hc-tab-desc-more,
#hcTabDescMore {
  display: block !important;
}
@media (min-width: 769px) {
  .hc-tab-desc-wrap {
    position: relative !important;
  }
  .hc-tab-desc-clamp {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    line-clamp: 5 !important;
    overflow: hidden !important;
    max-height: 9.5em !important;
    transition: max-height .35s ease;
  }
  .hc-tab-desc-clamp.is-open {
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    max-height: 2000px !important;
    overflow: visible !important;
    display: block !important;
  }
  .hc-tab-desc-more {
    position: static !important;
    background: none !important;
    padding: 12px 0 0 !important;
    text-align: center !important;
  }
  .hc-tab-desc-more span {
    background: #f7f3ed !important;
    border: 1px solid #e8e0d5 !important;
  }
  /* No bottom sheet on desktop – accordion only */
  #hcTabDescSheet {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .hc-tab-desc-more {
    position: absolute !important;
    background: linear-gradient(to top, #fff 40%, rgba(255,255,255,.95) 60%, rgba(255,255,255,0)) !important;
    padding: 42px 0 8px !important;
  }
}

/* Desktop accordion open – force expand */
@media (min-width: 769px) {
  #hcTabDescClamp.is-open,
  .hc-tab-desc-clamp.is-open {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    max-height: none !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
  }
  .hc-tab-desc-more.is-less span,
  #hcTabDescMore span {
    cursor: pointer;
  }
}
.hc-rating-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0 4px;
  color: #8b7355;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
}
.hc-rating-link:hover {
  color: #c9a87c;
}

/* Product tools on gallery */
.hc-single-gallery {
  position: relative;
}
.hc-product-tools {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hc-tool-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #333;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: transform .2s, background .2s, color .2s;
}
.hc-tool-btn:hover {
  background: #c9a87c;
  color: #1a1a1a;
  transform: scale(1.06);
}
.hc-tool-btn.is-active {
  background: #e53935;
  color: #fff;
}
.hc-tool-btn.is-active.hc-tool-compare {
  background: #fff;
  color: #333;
}

/* Compare / price sheets */
.hc-compare-sheet,
.hc-price-sheet {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.hc-compare-sheet[hidden],
.hc-price-sheet[hidden] { display: none !important; }
.hc-compare-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}
.hc-compare-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 900px;
  max-height: 80vh;
  background: #fff;
  border-radius: 20px 20px 0 0;
  display: flex;
  flex-direction: column;
  box-shadow: 0 -8px 40px rgba(0,0,0,.15);
  animation: hcSheetUp .3s ease;
}
.hc-compare-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid #eee;
  flex-shrink: 0;
}
.hc-compare-head h3 {
  margin: 0;
  flex: 1;
  text-align: center;
  font-size: 16px;
}
.hc-compare-body {
  padding: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  gap: 14px;
  min-height: 180px;
  -webkit-overflow-scrolling: touch;
}
.hc-compare-body.has-many {
  overflow-y: auto;
  max-height: 55vh;
  flex-wrap: wrap;
}
.hc-compare-card {
  flex: 0 0 160px;
  width: 160px;
  background: #faf8f5;
  border-radius: 12px;
  padding: 12px;
  text-align: center;
  border: 1px solid #f0ebe3;
  position: relative;
}
.hc-compare-card img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 8px;
}
.hc-compare-card h4 {
  font-size: 13px;
  margin: 0 0 6px;
  line-height: 1.4;
}
.hc-compare-card .price {
  font-size: 12px;
  font-weight: 700;
  color: #8b7355;
}
.hc-compare-remove {
  position: absolute;
  top: 6px;
  left: 6px;
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 1px 6px rgba(0,0,0,.1);
}
.hc-compare-empty {
  width: 100%;
  text-align: center;
  color: #999;
  padding: 40px 20px;
}
.hc-price-body {
  padding: 16px 20px 24px;
  overflow-y: auto;
}
#hcPriceCanvas {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  background: #faf8f5;
  border-radius: 12px;
}
.hc-price-legend {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  max-height: 160px;
  overflow-y: auto;
  font-size: 12px;
}
.hc-price-legend li {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px solid #f0f0f0;
}
@media (min-width: 769px) {
  .hc-compare-sheet,
  .hc-price-sheet {
    align-items: center;
  }
  .hc-compare-panel {
    border-radius: 16px;
    max-height: 85vh;
  }
}

/* Gallery position & 800x800 */
.hc-single-gallery {
  position: relative !important;
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  align-self: start;
}
.hc-single-gallery .woocommerce-product-gallery__image img,
.hc-single-gallery .wp-post-image,
.hc-single-gallery .woocommerce-product-gallery__image a img {
  width: 800px !important;
  height: 800px !important;
  max-width: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1;
}
@media (max-width: 900px) {
  .hc-single-gallery .woocommerce-product-gallery__image img,
  .hc-single-gallery .wp-post-image {
    width: 100% !important;
    height: auto !important;
    max-height: 100vw !important;
    aspect-ratio: 1 / 1;
  }
}

/* Compare foot + picker */
.hc-compare-foot {
  padding: 12px 16px 18px;
  border-top: 1px solid #eee;
  flex-shrink: 0;
}
.hc-compare-add-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  border: 1.5px dashed #c9a87c;
  background: #faf8f5;
  border-radius: 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  color: #8b7355;
  cursor: pointer;
}
.hc-compare-add-btn .hc-plus {
  display: inline-flex;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #c9a87c;
  color: #1a1a1a;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
}
.hc-compare-add-btn:hover {
  background: #c9a87c;
  color: #1a1a1a;
  border-style: solid;
}
.hc-picker-search {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
}
.hc-picker-search input {
  width: 100%;
  height: 44px;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 14px;
  box-sizing: border-box;
}
.hc-picker-list {
  padding: 12px 16px 24px;
  overflow-y: auto;
  max-height: 55vh;
}
.hc-picker-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #f0ebe3;
  margin-bottom: 8px;
  background: #faf8f5;
}
.hc-picker-thumb img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
}
.hc-picker-meta {
  flex: 1;
  min-width: 0;
}
.hc-picker-meta strong {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}
.hc-picker-add {
  border: none;
  background: #c9a87c;
  color: #1a1a1a;
  border-radius: 8px;
  padding: 8px 12px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

/* Wishlist page */
.hc-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.hc-wish-card {
  background: #fff;
  border: 1px solid #f0ebe3;
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.hc-wish-thumb img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
.hc-wish-info {
  padding: 14px;
}
.hc-wish-info h3 {
  font-size: 14px;
  margin: 0 0 8px;
}
.hc-wish-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.hc-wish-actions .button {
  flex: 1;
  text-align: center;
  font-size: 12px;
  padding: 8px;
}
@media (max-width: 768px) {
  .hc-wishlist-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* Compare attributes under product */
.hc-compare-card {
  flex: 0 0 200px !important;
  width: 200px !important;
  text-align: right !important;
}
.hc-compare-attrs {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  font-size: 11px;
  line-height: 1.7;
  color: #555;
  border-top: 1px solid #eee;
  padding-top: 8px;
  max-height: 140px;
  overflow-y: auto;
}
.hc-compare-attrs li span {
  font-weight: 700;
  color: #333;
}
.hc-compare-desc {
  font-size: 11px;
  color: #777;
  line-height: 1.6;
  margin: 8px 0 0;
  max-height: 80px;
  overflow-y: auto;
}
.hc-compare-body.has-many {
  overflow-y: auto !important;
  max-height: 60vh !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
}

/* Call for price */
.hc-call-price-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
}
.hc-call-price-btn .hc-call-num {
  font-size: 13px;
  opacity: .85;
  direction: ltr;
}

/* Mini cart variations */
.hc-mini-vars {
  font-size: 11px;
  color: #777;
  margin: 4px 0 6px;
  line-height: 1.6;
}
.hc-mini-vars .variation,
.hc-mini-vars ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hc-mini-vars .variation dt,
.hc-mini-vars .hc-var-label {
  font-weight: 600;
  color: #555;
  display: inline;
}
.hc-mini-vars .variation dd {
  display: inline;
  margin: 0 0 0 4px;
}
.woocommerce-cart-form .variation {
  font-size: 12px;
  color: #666;
  margin-top: 6px;
}
.woocommerce-cart-form .variation dt {
  float: none;
  font-weight: 600;
  display: inline;
}
.woocommerce-cart-form .variation dd {
  float: none;
  display: inline;
  margin: 0 0 0 4px;
  padding: 0;
}

/* Compare specs table */
.hc-compare-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
  font-size: 12px;
}
.hc-compare-table th,
.hc-compare-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #f0ebe3;
  text-align: right;
  vertical-align: top;
}
.hc-compare-table th {
  width: 40%;
  background: #faf8f5;
  font-weight: 700;
  color: #333;
}
.hc-compare-table td {
  color: #555;
}
.hc-compare-empty-attrs {
  font-size: 12px;
  color: #999;
  margin-top: 10px;
}
.hc-compare-card .hc-compare-img img {
  width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 10px;
  margin: 0 auto 8px;
  display: block;
}
.hc-compare-card h4 {
  text-align: center;
}
.hc-compare-card .price {
  text-align: center;
  margin-bottom: 8px;
}

/* Full desc when open */
#tab-description .hc-tab-desc-clamp.is-open,
#hcTabDescClamp.is-open {
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-box-orient: initial !important;
}
#tab-description .hc-tab-desc-wrap {
  overflow: visible !important;
}

/* Reviews tab */
.hc-review-item {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.hc-review-card {
  display: flex;
  gap: 14px;
  background: #faf8f5;
  border: 1px solid #f0ebe3;
  border-radius: 14px;
  padding: 16px;
}
.hc-review-avatar img {
  border-radius: 50%;
  width: 56px;
  height: 56px;
}
.hc-review-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.hc-review-pros-cons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.hc-review-pros-cons .hc-pros,
.hc-review-pros-cons .hc-cons {
  background: #fff;
  border-radius: 10px;
  padding: 12px;
  border: 1px solid #f0ebe3;
  font-size: 13px;
}
.hc-review-pros-cons .hc-pros {
  border-right: 3px solid #43a047;
}
.hc-review-pros-cons .hc-cons {
  border-right: 3px solid #e53935;
}
.hc-review-pros-cons strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
}
#review_form .hc-review-pros textarea,
#review_form .hc-review-cons textarea,
.comment-form-pros textarea,
.comment-form-cons textarea {
  width: 100%;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 13px;
  min-height: 80px;
  box-sizing: border-box;
}
#review_form label,
.comment-form-pros label,
.comment-form-cons label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 13px;
}
@media (max-width: 600px) {
  .hc-review-pros-cons {
    grid-template-columns: 1fr;
  }
}

/* Reviews layout: form left, list right (RTL: form on left visually) */
@media (min-width: 900px) {
  #reviews.woocommerce-Reviews {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: start;
  }
  #reviews #review_form_wrapper,
  #reviews .woocommerce-ReviewForm,
  #reviews #review_form {
    grid-column: 1;
    grid-row: 1;
  }
  #reviews #comments {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
  #reviews > h2 {
    grid-column: 1 / -1;
  }
}

/* Point rows */
.hc-point-row {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}
.hc-point-row input {
  flex: 1;
  height: 44px;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 13px;
}
.hc-point-add,
.hc-point-remove {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 10px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  flex-shrink: 0;
  line-height: 1;
}
.hc-point-add {
  background: #c9a87c;
  color: #1a1a1a;
}
.hc-point-remove {
  background: #f0e6d8;
  color: #b71c1c;
}
.hc-review-pros-cons ul {
  margin: 6px 0 0;
  padding: 0 16px 0 0;
  font-size: 13px;
  line-height: 1.8;
}

/* Share */
.hc-share-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 16px 18px 24px;
}
.hc-share-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: #faf8f5;
  border: 1px solid #f0ebe3;
  border-radius: 12px;
  text-decoration: none;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}
.hc-share-item:hover {
  background: #c9a87c;
  color: #1a1a1a;
}
.hc-share-panel {
  max-width: 420px !important;
}
.hc-toast-img {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.hc-toast-img img {
  width: 48px !important;
  height: 48px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}

/* Share popup centered on full viewport */
#hcShareSheet.hc-share-sheet,
.hc-share-sheet {
  position: fixed !important;
  inset: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 100000 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
#hcShareSheet.is-open,
#hcShareSheet:not([hidden]) {
  display: flex !important;
}
#hcShareSheet .hc-compare-overlay {
  position: absolute !important;
  inset: 0 !important;
}
#hcShareSheet .hc-share-panel,
#hcShareSheet .hc-compare-panel {
  position: relative !important;
  z-index: 2 !important;
  margin: auto !important;
  max-width: 420px !important;
  width: 100% !important;
  max-height: 90vh !important;
  border-radius: 16px !important;
  animation: none !important;
  transform: none !important;
}

/* Single product layout recovery */
.hc-single-page {
  padding: 24px 0 60px;
  background: #f7f5f2;
}
.hc-single-gallery {
  position: relative !important;
  top: 0 !important;
  width: 100%;
  min-width: 0;
}
.hc-single-summary {
  min-width: 0;
  width: 100%;
}
.hc-single-gallery .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  opacity: 1 !important;
}
.hc-single-gallery .woocommerce-product-gallery__image img,
.hc-single-gallery .wp-post-image {
  width: 100% !important;
  max-width: 800px !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover !important;
  border-radius: 12px;
  display: block;
}
.hc-product-tools {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 900px) {
  .hc-single-layout {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 16px;
  }
}

/* Hide page titles on cart / checkout / account */
.hc-no-page-title .page-header,
body.woocommerce-cart .page-header,
body.woocommerce-checkout .page-header,
body.woocommerce-account .page-header,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title {
  display: none !important;
}

/* Checkout redesign */
.hc-checkout-page {
  padding: 8px 0 48px;
}
.hc-checkout-layout {
  display: grid !important;
  grid-template-columns: 1.35fr 0.85fr !important;
  gap: 28px !important;
  align-items: start;
}
.hc-checkout-card {
  background: #fff;
  border: 1px solid #f0ebe3;
  border-radius: 16px;
  padding: 24px 22px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  margin-bottom: 16px;
}
.hc-checkout-order {
  position: sticky;
  top: 100px;
}
.hc-checkout-order h3,
.hc-checkout-billing h3,
.hc-checkout-shipping h3,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-size: 17px !important;
  font-weight: 800 !important;
  margin: 0 0 18px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid #c9a87c;
  color: #1a1a1a;
}
.hc-co-item {
  display: flex;
  gap: 12px;
  align-items: center;
}
.hc-co-thumb img {
  width: 52px;
  height: 52px;
  object-fit: cover;
  border-radius: 8px;
}
.hc-co-info {
  font-size: 13px;
  line-height: 1.5;
}
.hc-place-order-btn,
#place_order {
  width: 100% !important;
  height: 52px !important;
  border: none !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  cursor: pointer;
  margin-top: 12px !important;
}
.hc-coupon-row {
  display: flex;
  gap: 10px;
}
.hc-coupon-row input {
  flex: 1;
  height: 46px;
  border: 1.5px solid #e5e5e5;
  border-radius: 10px;
  padding: 0 14px;
  font-family: inherit;
}
.hc-coupon-row .button {
  height: 46px;
  border-radius: 10px;
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  padding: 0 18px;
  font-family: inherit;
  font-weight: 700;
}
.hc-checkout-payment ul.payment_methods {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.hc-checkout-payment ul.payment_methods li {
  padding: 12px 14px;
  margin-bottom: 8px;
  background: #faf8f5;
  border-radius: 10px;
  border: 1.5px solid transparent;
}
.hc-checkout-payment ul.payment_methods li:has(input:checked) {
  border-color: #c9a87c;
  background: #fff;
}
@media (max-width: 900px) {
  .hc-checkout-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-checkout-order {
    position: static;
  }
}

/* ===== Variation swatches ===== */
.hc-add-to-cart-box table.variations select,
form.variations_form table.variations select {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}
.hc-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.hc-swatch {
  min-width: 44px;
  height: 40px;
  padding: 0 14px;
  border: 1.5px solid #e0d6c8;
  border-radius: 10px;
  background: #fff;
  color: #333;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: .2s;
}
.hc-swatch:hover {
  border-color: #c9a87c;
  color: #8b7355;
}
.hc-swatch.is-selected {
  background: #c9a87c;
  border-color: #c9a87c;
  color: #1a1a1a;
  box-shadow: 0 2px 8px rgba(201,168,124,.35);
}
.hc-add-to-cart-box table.variations td.label {
  vertical-align: middle;
  padding-left: 12px;
}

/* ===== Checkout minimal redesign (force) ===== */
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select {
  height: 48px !important;
  border: 1.5px solid #ebe4da !important;
  border-radius: 12px !important;
  background: #faf9f7 !important;
  padding: 0 14px !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  box-shadow: none !important;
  transition: border-color .2s, background .2s, box-shadow .2s !important;
}
body.woocommerce-checkout textarea {
  height: auto !important;
  min-height: 100px !important;
  padding: 12px 14px !important;
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: #c9a87c !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(201,168,124,.18) !important;
  outline: none !important;
}
body.woocommerce-checkout .form-row label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  margin-bottom: 6px !important;
}
body.woocommerce-checkout .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center !important;
}
body.woocommerce-checkout .select2-container .select2-selection__rendered {
  padding: 0 !important;
  line-height: 48px !important;
}

/* Shipping methods box under order */
body.woocommerce-checkout #order_review .woocommerce-shipping-totals,
body.woocommerce-checkout .woocommerce-shipping-methods,
body.woocommerce-checkout ul#shipping_method,
body.woocommerce-checkout ul.woocommerce-shipping-methods {
  display: block !important;
  background: #f7f3ed !important;
  border-radius: 12px !important;
  padding: 12px !important;
  margin: 10px 0 !important;
  list-style: none !important;
}
body.woocommerce-checkout ul#shipping_method li,
body.woocommerce-checkout ul.woocommerce-shipping-methods li {
  padding: 10px 12px !important;
  margin: 6px 0 !important;
  background: #fff !important;
  border: 1.5px solid transparent !important;
  border-radius: 10px !important;
}
body.woocommerce-checkout ul#shipping_method li:has(input:checked),
body.woocommerce-checkout ul.woocommerce-shipping-methods li:has(input:checked) {
  border-color: #c9a87c !important;
  box-shadow: 0 2px 10px rgba(201,168,124,.2);
}

/* Payment box – full width under summary in sidebar */
body.woocommerce-checkout #payment,
body.woocommerce-checkout .hc-checkout-payment,
body.woocommerce-checkout .woocommerce-checkout-payment {
  background: #f7f3ed !important;
  border-radius: 14px !important;
  padding: 16px !important;
  margin-top: 16px !important;
  border: 1px solid #efe6d8 !important;
}
body.woocommerce-checkout #payment ul.payment_methods {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  background: transparent !important;
}
body.woocommerce-checkout #payment ul.payment_methods li {
  background: #fff !important;
  border: 1.5px solid #efe6d8 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 8px !important;
  list-style: none !important;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: #c9a87c !important;
  box-shadow: 0 2px 12px rgba(201,168,124,.22);
}
body.woocommerce-checkout #payment div.payment_box {
  background: #faf8f5 !important;
  border-radius: 10px !important;
  margin-top: 10px !important;
  border: none !important;
  box-shadow: none !important;
}
body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Description full expand */
#hcTabDescClamp.is-open,
.hc-tab-desc-clamp.is-open,
#tab-description .hc-tab-desc-clamp.is-open {
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-box-orient: initial !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
.hc-tab-desc-wrap:has(.is-open),
#tab-description:has(.is-open) {
  overflow: visible !important;
  max-height: none !important;
}
.hc-tab-desc-more {
  position: relative !important;
  background: none !important;
}

/* FINAL: description accordion fully open */
.hc-tab-desc-clamp.is-open,
#hcTabDescClamp.is-open,
#tab-description .hc-tab-desc-clamp.is-open,
.woocommerce-Tabs-panel--description .hc-tab-desc-clamp.is-open {
  display: block !important;
  -webkit-box-orient: unset !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  text-overflow: unset !important;
  mask: none !important;
  -webkit-mask: none !important;
}
.hc-tab-desc-wrap:has(.hc-tab-desc-clamp.is-open)::after,
.hc-tab-desc-wrap:has(.is-open) .hc-tab-desc-more {
  background: transparent !important;
}

/* Variation swatches – stable mild box, no layout shift */
form.variations_form table.variations {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
}
form.variations_form table.variations td.label {
  width: 90px;
  vertical-align: middle;
  padding: 0 12px 0 0 !important;
}
form.variations_form table.variations td.value {
  width: auto;
  vertical-align: middle;
  padding: 0 !important;
}
.hc-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  background: #f7f3ed !important;
  border: 1px solid #efe6d8 !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  min-height: 56px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
}
.hc-swatch {
  min-width: 48px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border: 1.5px solid #e0d6c8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #333 !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s, color .15s, box-shadow .15s !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  line-height: 34px !important;
  margin: 0 !important;
  transform: none !important;
}
.hc-swatch:hover {
  border-color: #c9a87c !important;
  color: #8b7355 !important;
}
.hc-swatch.is-selected {
  background: #c9a87c !important;
  border-color: #b8976a !important;
  color: #1a1a1a !important;
  box-shadow: 0 1px 6px rgba(201,168,124,.3) !important;
  transform: none !important;
  scale: 1 !important;
}

/* Variations: title on top, circular values below */
form.variations_form table.variations.hc-variations-table,
form.variations_form table.variations {
  width: 100% !important;
  border: none !important;
  margin: 0 0 16px !important;
}
form.variations_form table.variations tr {
  display: block !important;
  margin-bottom: 16px !important;
}
form.variations_form table.variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}
form.variations_form table.variations td.label {
  display: none !important;
}
.hc-var-group {
  width: 100%;
}
.hc-var-title {
  font-size: 14px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 10px;
}
.hc-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  background: #f7f3ed !important;
  border: 1px solid #efe6d8 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  min-height: 64px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}
/* Circular color swatches (like screenshot) */
.hc-swatch-color {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 2px solid #ddd !important;
  background-clip: padding-box !important;
  position: relative !important;
  box-shadow: none !important;
  line-height: 1 !important;
  overflow: visible !important;
}
.hc-swatch-color.hc-swatch-light {
  border-color: #ccc !important;
  box-shadow: inset 0 0 0 1px #e0e0e0 !important;
}
.hc-swatch-color.is-selected {
  border-color: #1e88e5 !important;
  border-width: 2px !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
  transform: none !important;
  background-image: none !important;
}
.hc-swatch-check {
  display: none;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.hc-swatch-check::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 3px;
  width: 5px;
  height: 9px;
  border: solid #1e88e5;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.hc-swatch-color.is-selected .hc-swatch-check {
  display: block;
}
.hc-swatch-color.is-selected.hc-swatch-light .hc-swatch-check {
  background: #1e88e5;
}
.hc-swatch-color.is-selected.hc-swatch-light .hc-swatch-check::after {
  border-color: #fff;
}
/* Text attribute pills */
.hc-swatch-text {
  min-width: 48px !important;
  height: 36px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  border: 1.5px solid #e0d6c8 !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 34px !important;
}
.hc-swatch-text.is-selected {
  background: #c9a87c !important;
  border-color: #b8976a !important;
  color: #1a1a1a !important;
  box-shadow: none !important;
}

/* Cart: larger quantity input */
body.woocommerce-cart .product-quantity .quantity,
.hc-cart-form .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.woocommerce-cart .product-quantity input.qty,
.hc-cart-form .product-quantity input.qty {
  width: 72px !important;
  height: 48px !important;
  min-height: 48px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center !important;
  border: 1.5px solid #e0d6c8 !important;
  border-radius: 10px !important;
  background: #faf8f5 !important;
  color: #1a1a1a !important;
  padding: 0 8px !important;
}

/* Cart layout: totals box fills column height */
.hc-cart-layout {
  display: grid !important;
  grid-template-columns: 1.4fr 0.75fr !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.hc-cart-items {
  min-width: 0;
}
.hc-cart-totals-wrap,
.hc-cart-layout .cart-collaterals {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.hc-cart-totals-wrap .cart_totals,
.hc-cart-layout .cart-collaterals .cart_totals,
body.woocommerce-cart .cart_totals {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  background: #faf8f5 !important;
  border: 1px solid #f0ebe3 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .cart_totals h2 {
  margin-top: 0 !important;
  font-size: 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #c9a87c !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  margin-top: auto !important;
  padding-top: 20px !important;
}
body.woocommerce-cart .cart_totals .checkout-button,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  width: 100% !important;
  text-align: center !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
}
@media (max-width: 900px) {
  .hc-cart-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-cart-totals-wrap .cart_totals,
  body.woocommerce-cart .cart_totals {
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Clear variations button */
.hc-clear-variations {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 16px;
  padding: 8px 14px;
  border: 1.5px solid #e0d6c8;
  border-radius: 10px;
  background: #fff;
  color: #666;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.hc-clear-variations:hover {
  border-color: #c9a87c;
  color: #8b7355;
}

/* Add to cart: qty + button side by side */
.hc-add-to-cart-box form.cart,
.single-product form.cart,
.summary form.cart {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}
.hc-add-to-cart-box form.cart .quantity,
.single-product form.cart .quantity {
  order: 1;
  margin: 0 !important;
}
.hc-add-to-cart-box form.cart .single_add_to_cart_button,
.single-product form.cart .single_add_to_cart_button {
  order: 2;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 160px !important;
  margin: 0 !important;
}
.hc-add-to-cart-box form.cart .variations,
.hc-add-to-cart-box form.cart table.variations,
.single-product form.cart .variations {
  order: 0;
  flex: 0 0 100% !important;
  width: 100% !important;
}
.hc-add-to-cart-box form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}
.hc-clear-variations {
  order: 0;
  flex: 0 0 100%;
}

/* Description more: NOT over text – below content */
.hc-tab-desc-wrap {
  position: relative !important;
  padding-bottom: 0 !important;
}
.hc-tab-desc-more,
#hcTabDescMore {
  position: static !important;
  display: block !important;
  width: 100% !important;
  margin-top: 12px !important;
  padding: 10px 0 0 !important;
  background: transparent !important;
  border: none !important;
  text-align: center !important;
  box-shadow: none !important;
}
.hc-tab-desc-more span,
#hcTabDescMore span {
  display: inline-block !important;
  background: #f7f3ed !important;
  border: 1px solid #e8e0d5 !important;
  border-radius: 20px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #8b7355 !important;
  cursor: pointer !important;
}
/* remove gradient overlays that cover text */
.hc-tab-desc-wrap::after,
.hc-tab-desc-clamp::after,
.hc-desc-clamp-wrap::after {
  display: none !important;
  content: none !important;
}

/* Cart coupon larger */
body.woocommerce-cart .coupon,
.hc-cart-form .coupon {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
body.woocommerce-cart .coupon input#coupon_code,
.hc-cart-form .coupon input#coupon_code {
  flex: 1 1 220px !important;
  min-width: 200px !important;
  height: 50px !important;
  font-size: 15px !important;
  border-radius: 12px !important;
  border: 1.5px solid #e0d6c8 !important;
  padding: 0 16px !important;
  background: #faf8f5 !important;
}
body.woocommerce-cart .coupon button,
.hc-cart-form .coupon .button {
  height: 50px !important;
  border-radius: 12px !important;
  padding: 0 20px !important;
  font-weight: 700 !important;
}

/* Cart totals: fill full column height */
.hc-cart-layout {
  display: grid !important;
  grid-template-columns: 1.35fr 0.75fr !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.hc-cart-totals-wrap {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 100% !important;
  align-self: stretch !important;
}
.hc-cart-totals-wrap .cart-collaterals {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.hc-cart-totals-wrap .cart_totals,
body.woocommerce-cart .cart_totals {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
  background: #faf8f5 !important;
  border: 1px solid #f0ebe3 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.04) !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  margin-top: auto !important;
  padding-top: 24px !important;
}
body.woocommerce-cart .cart_totals table {
  width: 100% !important;
}
@media (max-width: 900px) {
  .hc-cart-layout { grid-template-columns: 1fr !important; }
  .hc-cart-totals-wrap .cart_totals { min-height: 0 !important; height: auto !important; }
}

/* ===== Cart & Checkout responsive fix ===== */
@media (max-width: 900px) {
  .hc-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .hc-cart-totals-wrap,
  .hc-cart-totals-wrap .cart_totals,
  body.woocommerce-cart .cart_totals {
    min-height: 0 !important;
    height: auto !important;
    position: static !important;
  }
  .hc-checkout-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .hc-checkout-order {
    position: static !important;
    order: -1; /* summary on top on mobile optional - user didn't specify, keep normal */
  }
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce {
    padding: 16px 12px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 768px) {
  /* Cart table → stacked cards */
  body.woocommerce-cart table.shop_table.cart,
  body.woocommerce-cart table.shop_table.cart thead {
    display: block !important;
    width: 100% !important;
  }
  body.woocommerce-cart table.shop_table.cart thead {
    display: none !important;
  }
  body.woocommerce-cart table.shop_table.cart tbody,
  body.woocommerce-cart table.shop_table.cart tr {
    display: block !important;
    width: 100% !important;
  }
  body.woocommerce-cart table.shop_table.cart tr.cart_item {
    background: #fff;
    border: 1px solid #f0ebe3;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 12px;
    position: relative;
  }
  body.woocommerce-cart table.shop_table.cart td {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    border: none !important;
    padding: 8px 0 !important;
    text-align: left !important;
  }
  body.woocommerce-cart table.shop_table.cart td::before {
    content: attr(data-title);
    font-weight: 700;
    font-size: 12px;
    color: #888;
    margin-left: 8px;
  }
  body.woocommerce-cart table.shop_table.cart td.product-remove {
    position: absolute;
    top: 8px;
    left: 8px;
    width: auto !important;
    padding: 0 !important;
  }
  body.woocommerce-cart table.shop_table.cart td.product-remove::before {
    display: none;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail {
    justify-content: center;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail::before {
    display: none;
  }
  body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 10px;
  }
  body.woocommerce-cart table.shop_table.cart td.product-name {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 4px;
  }
  body.woocommerce-cart .product-quantity input.qty {
    width: 64px !important;
    height: 44px !important;
  }
  body.woocommerce-cart .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.woocommerce-cart .coupon input#coupon_code {
    width: 100% !important;
    min-width: 0 !important;
  }
  body.woocommerce-cart .coupon .button {
    width: 100% !important;
  }
  body.woocommerce-cart .actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* Checkout fields full width */
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    float: none !important;
    width: 100% !important;
  }
  body.woocommerce-checkout .hc-checkout-card {
    padding: 16px 14px !important;
  }
  body.woocommerce-checkout .hc-co-item {
    flex-wrap: wrap;
  }
  body.woocommerce-checkout #place_order,
  body.woocommerce-checkout .hc-place-order-btn {
    width: 100% !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    display: block !important;
    width: 100% !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
    display: none !important;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table tr {
    display: flex !important;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid #f0ebe3;
  }
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    border: none !important;
    padding: 4px 0 !important;
  }
}

@media (max-width: 480px) {
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce {
    padding: 12px 8px !important;
  }
  .hc-process-bar {
    padding: 12px 8px !important;
  }
  .hc-process-inner {
    gap: 6px !important;
    font-size: 11px !important;
  }
}

/* Hide WC variation labels – only our single title */
form.variations_form table.variations td.label,
form.variations_form table.variations .label {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
form.variations_form .hc-native-select-hidden {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
}
.hc-var-group .hc-var-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  margin: 0 0 10px !important;
  color: #1a1a1a !important;
}
.hc-var-group .hc-var-title + .hc-var-title {
  display: none !important; /* never two titles */
}
.hc-swatch-color {
  background-size: cover !important;
  background-position: center !important;
}
.hc-swatch-color[data-hc-color] {
  /* inline bg wins with important via attr in JS */
}

/* Force color from data attribute */
.hc-swatch-color {
  -webkit-appearance: none !important;
  appearance: none !important;
}
.hc-swatch-color.is-selected {
  background-color: inherit; /* keep the color set inline */
}
/* Ensure selected color swatch keeps its color (not overridden to white) */
button.hc-swatch.hc-swatch-color.is-selected {
  background-color: var(--hc-swatch-bg, #c9a87c) !important;
}

/* Color swatch must keep chosen color (never force white) */
button.hc-swatch.hc-swatch-color {
  background-color: var(--hc-swatch-bg, #ccc) !important;
  background: var(--hc-swatch-bg, #ccc) !important;
  color: transparent !important;
  font-size: 0 !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background-color: var(--hc-swatch-bg, #ccc) !important;
  background: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}


button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  color: transparent !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  color: transparent !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  color: transparent !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}

button.hc-swatch.hc-swatch-color {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
button.hc-swatch.hc-swatch-color.is-selected {
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
}

/* ===== Variation UI polish ===== */
form.variations_form table.variations.hc-variations-table {
  width: 100% !important;
  border: none !important;
  margin: 0 0 8px !important;
  border-collapse: separate !important;
  border-spacing: 0 14px !important;
}
form.variations_form table.variations td.label {
  display: none !important;
}
form.variations_form table.variations td.value {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: none !important;
}
.hc-var-group {
  width: 100%;
}
.hc-var-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #555 !important;
  margin: 0 0 8px !important;
  letter-spacing: 0 !important;
  word-break: keep-all !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
}
.hc-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  background: #faf8f5 !important;
  border: 1px solid #efe6d8 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  min-height: 56px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.hc-swatch-text {
  min-width: 52px !important;
  height: 38px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  border: 1.5px solid #e5ddd0 !important;
  background: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  line-height: 36px !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  cursor: pointer !important;
  transition: .18s !important;
}
.hc-swatch-text:hover {
  border-color: #c9a87c !important;
  color: #8b7355 !important;
}
.hc-swatch-text.is-selected {
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  border-color: #b8976a !important;
  color: #1a1a1a !important;
  box-shadow: 0 2px 8px rgba(201,168,124,.3) !important;
}
button.hc-swatch.hc-swatch-color {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  border: 2px solid #e0d6c8 !important;
  padding: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06) !important;
  transition: .18s !important;
}
button.hc-swatch.hc-swatch-color:hover {
  transform: scale(1.08);
}
button.hc-swatch.hc-swatch-color.is-selected {
  border-color: #1e88e5 !important;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #1e88e5 !important;
  background: var(--hc-swatch-bg, #ccc) !important;
  background-color: var(--hc-swatch-bg, #ccc) !important;
}
.hc-swatch-check {
  display: none;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
}
.hc-swatch-check::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4px;
  height: 8px;
  border: solid #1e88e5;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
button.hc-swatch.hc-swatch-color.is-selected .hc-swatch-check {
  display: block;
}
.hc-clear-variations {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 4px 0 18px !important;
  padding: 8px 14px !important;
  border: 1.5px dashed #ddd !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: #888 !important;
  font-family: 'IranSans', Tahoma, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: .18s !important;
}
.hc-clear-variations:hover {
  border-color: #c9a87c !important;
  color: #8b7355 !important;
  background: #faf8f5 !important;
}
.hc-native-select-hidden {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 1px !important;
  height: 1px !important;
  clip: rect(0,0,0,0) !important;
}

/* Compare picker categories + loader */
.hc-picker-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 16px 12px;
  max-height: 120px;
  overflow-y: auto;
}
.hc-picker-cat {
  border: 1.5px solid #e8e0d5;
  background: #fff;
  color: #555;
  border-radius: 20px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: .15s;
}
.hc-picker-cat span {
  color: #999;
  font-weight: 500;
}
.hc-picker-cat:hover {
  border-color: #c9a87c;
  color: #8b7355;
}
.hc-picker-cat.is-active {
  background: linear-gradient(135deg, #c9a87c, #b8976a);
  border-color: #b8976a;
  color: #1a1a1a;
}
.hc-picker-cat.is-active span {
  color: rgba(0,0,0,.55);
}
.hc-picker-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 16px;
  color: #888;
  font-size: 13px;
}
.hc-spinner {
  width: 22px;
  height: 22px;
  border: 2.5px solid #e8e0d5;
  border-top-color: #c9a87c;
  border-radius: 50%;
  animation: hc-spin .7s linear infinite;
  display: inline-block;
}
@keyframes hc-spin {
  to { transform: rotate(360deg); }
}
.hc-picker-list {
  max-height: min(55vh, 480px);
  overflow-y: auto;
  padding: 0 12px 16px;
}
.hc-compare-panel .hc-picker-search {
  padding: 0 16px 10px;
}
.hc-compare-panel .hc-picker-search input {
  width: 100%;
  height: 44px;
  border: 1.5px solid #e8e0d5;
  border-radius: 12px;
  padding: 0 14px;
  font-family: inherit;
  font-size: 14px;
  background: #faf8f5;
}

/* Cart quantity +/- pretty */
.hc-cart-qty,
.woocommerce-cart-form .product-quantity .quantity.hc-qty-enhanced {
  display: inline-flex !important;
  align-items: center !important;
  border: 1.5px solid #e0d6c8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #faf8f5 !important;
  height: 48px !important;
}
.woocommerce-cart-form .product-quantity .quantity.hc-qty-enhanced input.qty {
  width: 48px !important;
  height: 48px !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  -moz-appearance: textfield;
  margin: 0 !important;
}
.woocommerce-cart-form .product-quantity .quantity.hc-qty-enhanced input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .product-quantity .quantity.hc-qty-enhanced input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hc-cart-qty-btn {
  width: 40px !important;
  height: 48px !important;
  border: none !important;
  background: transparent !important;
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  font-family: inherit !important;
}
.hc-cart-qty-btn:hover {
  background: #f0ebe3 !important;
  color: #8b7355 !important;
}

/* Cart totals fill full column */
.hc-cart-layout {
  display: grid !important;
  grid-template-columns: 1.35fr 0.75fr !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.hc-cart-totals-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  height: 100% !important;
}
.hc-cart-totals-wrap .cart-collaterals,
.hc-cart-totals-wrap .cart_totals {
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  margin-top: auto !important;
}
@media (max-width: 900px) {
  .hc-cart-layout { grid-template-columns: 1fr !important; }
  .hc-cart-totals-wrap .cart_totals { height: auto !important; min-height: 0 !important; }
}

/* Empty cart */
.hc-cart-empty {
  text-align: center !important;
  padding: 72px 24px !important;
  background: #fff !important;
  border-radius: 20px !important;
  border: 1px solid #f0ebe3 !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.04) !important;
  max-width: 520px !important;
  margin: 24px auto 48px !important;
}
.hc-cart-empty-icon {
  width: 96px;
  height: 96px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #f7f3ed;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c9a87c;
}
.hc-cart-empty-title {
  font-size: 22px !important;
  font-weight: 800 !important;
  margin: 0 0 10px !important;
  color: #1a1a1a !important;
  text-align: center !important;
}
.hc-cart-empty-desc {
  font-size: 14px !important;
  color: #777 !important;
  line-height: 1.8 !important;
  margin: 0 auto 24px !important;
  max-width: 360px !important;
  text-align: center !important;
}
.hc-cart-empty-btn,
.hc-cart-empty .button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 48px !important;
  padding: 0 28px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  border: none !important;
  text-decoration: none !important;
  font-family: inherit !important;
}
.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .wc-empty-cart-message {
  display: none !important;
}

/* Cart layout: totals column fills full height of row */
body.woocommerce-cart .hc-cart-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.7fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
body.woocommerce-cart .hc-cart-items {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0ebe3;
  padding: 8px 16px 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,.04);
}
body.woocommerce-cart .hc-cart-totals-wrap {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  min-height: 100% !important;
  height: auto !important;
}
body.woocommerce-cart .hc-cart-totals-wrap .cart-collaterals {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  background: transparent !important;
  padding: 0 !important;
}
body.woocommerce-cart .hc-cart-totals-wrap .cart_totals,
body.woocommerce-cart .cart_totals {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #f0ebe3 !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.04) !important;
  box-sizing: border-box !important;
}
body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #c9a87c !important;
  font-size: 17px !important;
}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  margin-top: auto !important;
  padding-top: 20px !important;
}

/* Quantity +/- force */
body.woocommerce-cart .product-quantity .quantity {
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  border: 1.5px solid #e0d6c8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #faf8f5 !important;
  height: 44px !important;
  width: auto !important;
}
body.woocommerce-cart .product-quantity .quantity input.qty {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  border: none !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  -moz-appearance: textfield !important;
  appearance: textfield !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.woocommerce-cart .product-quantity .quantity input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .product-quantity .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}
body.woocommerce-cart .hc-cart-qty-btn {
  width: 36px !important;
  height: 44px !important;
  border: none !important;
  background: #fff !important;
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
body.woocommerce-cart .hc-cart-qty-btn:hover {
  background: #f0ebe3 !important;
  color: #8b7355 !important;
}
.hc-cart-qty {
  display: inline-flex !important;
}

/* Coupon: input + apply button side by side */
body.woocommerce-cart .coupon,
.hc-cart-form .coupon,
.woocommerce-cart-form .coupon {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 480px !important;
}
body.woocommerce-cart .coupon .input-text,
body.woocommerce-cart .coupon input#coupon_code,
.hc-cart-form .coupon input#coupon_code {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 !important;
}
body.woocommerce-cart .coupon .button,
body.woocommerce-cart .coupon button[name="apply_coupon"],
.hc-cart-form .coupon .button {
  flex: 0 0 auto !important;
  height: 48px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-weight: 700 !important;
  border: none !important;
}
body.woocommerce-cart .coupon label {
  display: none !important;
}
@media (max-width: 480px) {
  body.woocommerce-cart .coupon {
    flex-wrap: wrap !important;
  }
  body.woocommerce-cart .coupon .button {
    width: 100% !important;
  }
}

/* Hide residual privacy policy texts */
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text,
.woocommerce-checkout-payment .woocommerce-privacy-policy-text,
form.woocommerce-form-register .woocommerce-privacy-policy-text,
.hc-auth-box .woocommerce-privacy-policy-text {
  display: none !important;
}

/* ===== Cart & Checkout responsive: stack boxes ===== */
@media (max-width: 992px) {
  /* Cart: one column, items then totals */
  body.woocommerce-cart .hc-cart-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-cart .hc-cart-items {
    order: 1 !important;
    width: 100% !important;
  }
  body.woocommerce-cart .hc-cart-totals-wrap {
    order: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
  }
  body.woocommerce-cart .hc-cart-totals-wrap .cart_totals,
  body.woocommerce-cart .cart_totals {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    position: static !important;
  }

  /* Checkout: form first, order summary at bottom */
  body.woocommerce-checkout .hc-checkout-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
  }
  body.woocommerce-checkout .hc-checkout-customer {
    order: 1 !important;
    width: 100% !important;
  }
  body.woocommerce-checkout .hc-checkout-order {
    order: 2 !important;
    width: 100% !important;
    position: static !important;
    top: auto !important;
    max-width: 100% !important;
  }
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading {
    width: 100% !important;
  }
}

@media (max-width: 768px) {
  body.woocommerce-cart .hc-cart-layout,
  body.woocommerce-checkout .hc-checkout-layout {
    padding: 0 !important;
  }
  body.woocommerce-cart .hc-cart-items,
  body.woocommerce-checkout .hc-checkout-card {
    border-radius: 14px !important;
  }

  /* Mini-cart drawer should not stay open covering checkout/cart */
  body.woocommerce-checkout.mini-cart-open .hc-mini-cart,
  body.woocommerce-cart.mini-cart-open .hc-mini-cart {
    /* still allow user open, but ensure closed by default styles ok */
  }
}
body.woocommerce-checkout .hc-mini-cart,
body.woocommerce-checkout .hc-mini-overlay,
body.woocommerce-checkout #cartToggle,
body.woocommerce-checkout .cart-btn,
body.woocommerce-checkout .hc-sticky-cart-btn {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.woocommerce-checkout.mini-cart-open {
  overflow: auto !important;
}
.hc-hide-field {
  display: none !important;
}

/* Auth logo link */
.hc-auth-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;
}
.hc-auth-logo-link img {
  max-height: 64px;
  width: auto;
}

/* Sale badge: top-left on product image */
.hc-product-card .onsale,
.hc-product-card .hc-badge-sale,
.woocommerce ul.products li.product .onsale,
.products .product .onsale,
.hc-card-image .onsale,
.hc-card-image .hc-badge-sale,
.hc-gallery-badge,
.hc-single-gallery .onsale {
  right: auto !important;
  left: 12px !important;
  top: 12px !important;
  z-index: 6 !important;
}

/* Digikala-style price box */
.hc-dk-price-box {
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 12px !important;
  padding: 16px 18px !important;
  margin: 0 0 20px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
}
.hc-dk-price-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.hc-dk-price-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
}
.hc-dk-old {
  font-size: 13px !important;
  color: #9e9e9e !important;
  text-decoration: line-through !important;
}
.hc-dk-old .woocommerce-Price-amount {
  color: #9e9e9e !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.hc-dk-current {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #ef394e !important;
  line-height: 1.3 !important;
}
.hc-dk-current .woocommerce-Price-amount,
.hc-dk-current ins,
.hc-dk-current .amount {
  color: #ef394e !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.hc-dk-current del { display: none !important; }
.hc-dk-discount {
  background: #ef394e !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  line-height: 1 !important;
  flex-shrink: 0;
}
.hc-dk-price-note {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  font-size: 12px;
  color: #4caf50;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
}
.hc-dk-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4caf50;
  display: inline-block;
}

/* Thank you page */
.hc-thankyou {
  max-width: 960px;
  margin: 0 auto 40px;
  padding: 8px 0 40px;
}
.hc-ty-card {
  background: #fff;
  border: 1px solid #f0ebe3;
  border-radius: 16px;
  padding: 28px 24px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
  margin-bottom: 16px;
}
.hc-thankyou-success {
  text-align: center;
}
.hc-ty-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 28px;
}
.hc-ty-icon--ok {
  background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
  color: #2e7d32;
}
.hc-ty-icon--fail {
  background: #ffebee;
  color: #c62828;
}
.hc-thankyou-success h2,
.hc-thankyou-fail h2 {
  font-size: 22px;
  font-weight: 800;
  margin: 0 0 8px;
  color: #1a1a1a;
}
.hc-thankyou-success p,
.hc-thankyou-fail p {
  color: #777;
  font-size: 14px;
  margin: 0;
}
.hc-ty-overview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 16px;
}
.hc-ty-stat {
  background: #fff;
  border: 1px solid #f0ebe3;
  border-radius: 14px;
  padding: 16px;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,.03);
}
.hc-ty-stat-label {
  display: block;
  font-size: 12px;
  color: #999;
  margin-bottom: 6px;
}
.hc-ty-stat-val {
  font-size: 15px;
  font-weight: 800;
  color: #1a1a1a;
  word-break: break-word;
}
.hc-ty-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap: 16px;
  align-items: start;
}
.hc-ty-card-title {
  font-size: 16px;
  font-weight: 800;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #c9a87c;
}
.hc-ty-track-list {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.hc-ty-track-list li {
  position: relative;
  padding: 8px 0 8px 0;
  font-size: 13px;
  color: #555;
  line-height: 1.7;
  border-bottom: 1px dashed #f0ebe3;
}
.hc-ty-track-list a {
  color: #c9a87c;
  font-weight: 700;
}
.hc-ty-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 44px !important;
  padding: 0 20px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-weight: 800 !important;
  border: none !important;
  text-decoration: none !important;
  font-family: inherit !important;
}
.hc-ty-btn--ghost {
  background: #fff !important;
  border: 1.5px solid #e0d6c8 !important;
  color: #555 !important;
}
.hc-ty-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 18px;
}
.hc-thankyou .woocommerce-order-details,
.hc-thankyou .woocommerce-customer-details {
  margin-top: 0;
}
@media (max-width: 900px) {
  .hc-ty-overview { grid-template-columns: 1fr 1fr; }
  .hc-ty-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hc-ty-overview { grid-template-columns: 1fr; }
}

/* Checkout auth modal */
.hc-co-auth-overlay {
  position: fixed;
  inset: 0;
  background: rgba(20, 16, 12, .55);
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility .25s;
  backdrop-filter: blur(3px);
}
.hc-co-auth-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.hc-co-auth-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -48%) scale(.96);
  width: min(420px, calc(100vw - 24px));
  max-height: min(90vh, 640px);
  overflow-y: auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
  z-index: 100001;
  padding: 28px 24px 24px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, transform .25s, visibility .25s;
}
.hc-co-auth-modal.is-open {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1);
}
.hc-co-auth-close {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 36px;
  height: 36px;
  border: none;
  background: #f5f2ed;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  color: #555;
  line-height: 1;
}
body.woocommerce-checkout:not(.logged-in) .hc-co-auth-close {
  display: none; /* must login on checkout */
}
.hc-co-auth-head {
  text-align: center;
  margin-bottom: 18px;
}
.hc-co-auth-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f7f3ed, #e8dfd0);
  color: #c9a87c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}
.hc-co-auth-head h3 {
  font-size: 17px;
  font-weight: 800;
  margin: 0 0 8px;
  color: #1a1a1a;
}
.hc-co-auth-head p {
  font-size: 13px;
  color: #777;
  line-height: 1.7;
  margin: 0;
}
.hc-co-auth-tabs {
  display: flex;
  gap: 6px;
  background: #f7f5f2;
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 18px;
}
.hc-co-auth-tab {
  flex: 1;
  border: none;
  background: transparent;
  padding: 10px 6px;
  border-radius: 10px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: #777;
  cursor: pointer;
}
.hc-co-auth-tab.is-active {
  background: #fff;
  color: #1a1a1a;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.hc-co-auth-panel[hidden] { display: none !important; }
.hc-co-form .form-row {
  margin-bottom: 12px;
}
.hc-co-form label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #444;
}
.hc-co-form input[type="text"],
.hc-co-form input[type="email"],
.hc-co-form input[type="tel"],
.hc-co-form input[type="password"] {
  width: 100%;
  height: 46px;
  border: 1.5px solid #e8e0d6;
  border-radius: 10px;
  padding: 0 12px;
  font-family: inherit;
  font-size: 14px;
  box-sizing: border-box;
}
.hc-co-form input:focus {
  outline: none;
  border-color: #c9a87c;
}
.hc-co-form .button,
.hc-co-form .hc-btn-block {
  width: 100%;
  height: 48px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-family: inherit;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  margin-top: 4px;
}
.hc-co-auth-msg {
  margin-top: 10px;
  font-size: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  line-height: 1.5;
}
.hc-co-auth-msg.is-ok {
  background: #e8f5e9;
  color: #2e7d32;
}
.hc-co-auth-msg.is-err {
  background: #ffebee;
  color: #c62828;
}
.hc-co-auth-hint {
  font-size: 13px;
  color: #666;
  line-height: 1.7;
  margin-bottom: 12px;
}
body.hc-co-auth-open {
  overflow: hidden;
}

/* Checkout auth tabs – always interactive */
#hcCoAuthModal .hc-co-auth-tabs {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}
#hcCoAuthModal .hc-co-auth-tab {
  pointer-events: auto !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
#hcCoAuthModal .hc-co-auth-tab:not(.is-active) {
  color: #555 !important;
}
#hcCoAuthModal .hc-co-auth-panel {
  pointer-events: auto !important;
}
#hcCoAuthModal .hc-co-auth-panel.is-active {
  display: block !important;
}
#hcCoAuthModal .hc-co-auth-panel[hidden]:not(.is-active) {
  display: none !important;
}

/* Checkout coupon before shipping */
.hc-checkout-coupon {
  padding: 4px 0 12px;
}
.hc-checkout-coupon label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #555;
}
.hc-checkout-coupon-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}
.hc-checkout-coupon-row input {
  flex: 1;
  height: 44px;
  border: 1.5px solid #e8e0d6;
  border-radius: 10px;
  padding: 0 12px;
  font-family: inherit;
}
.hc-checkout-coupon-row .button {
  height: 44px;
  padding: 0 16px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #c9a87c, #b8976a) !important;
  color: #1a1a1a !important;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.hc-checkout-coupon-msg {
  margin-top: 8px;
  font-size: 12px;
}
.hc-checkout-coupon-msg.is-ok { color: #2e7d32; }
.hc-checkout-coupon-msg.is-err { color: #c62828; }

/* Variable product loop modal */
.hc-var-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 100050;
  opacity: 0; visibility: hidden; transition: .2s; backdrop-filter: blur(2px);
}
.hc-var-overlay.is-open { opacity: 1; visibility: visible; }
.hc-var-modal {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%,-48%) scale(.96);
  width: min(440px, calc(100vw - 24px)); max-height: 90vh; overflow-y: auto;
  background: #fff; border-radius: 18px; padding: 24px; z-index: 100051;
  box-shadow: 0 20px 50px rgba(0,0,0,.2);
  opacity: 0; visibility: hidden; transition: .25s;
}
.hc-var-modal.is-open { opacity: 1; visibility: visible; transform: translate(-50%,-50%) scale(1); }
.hc-var-close {
  position: absolute; top: 12px; left: 12px; width: 34px; height: 34px;
  border: none; border-radius: 50%; background: #f5f2ed; font-size: 18px; cursor: pointer;
}
.hc-var-head { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.hc-var-head img { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; }
.hc-var-head h3 { font-size: 15px; font-weight: 800; margin: 0 0 6px; }
.hc-var-price { font-size: 14px; color: #ef394e; font-weight: 700; }
.hc-var-attr { margin-bottom: 14px; }
.hc-var-attr-label { font-size: 13px; font-weight: 700; margin-bottom: 8px; color: #333; }
.hc-var-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.hc-var-opt {
  min-width: 40px; height: 40px; padding: 0 12px; border: 1.5px solid #e0d6c8;
  border-radius: 10px; background: #fff; cursor: pointer; font-family: inherit;
  font-size: 13px; font-weight: 600;
}
.hc-var-opt.is-selected { border-color: #c9a87c; background: #f7f3ed; color: #8b7355; }
.hc-var-opt.is-color { width: 36px; height: 36px; min-width: 36px; padding: 0; border-radius: 50%; }
.hc-var-opt.is-disabled { opacity: .35; pointer-events: none; }
.hc-var-add {
  width: 100%; height: 48px; margin-top: 12px; border: none; border-radius: 12px;
  background: linear-gradient(135deg, #c9a87c, #b8976a); color: #1a1a1a;
  font-weight: 800; font-family: inherit; cursor: pointer; font-size: 14px;
}
.hc-var-add:disabled { opacity: .5; cursor: not-allowed; }
.hc-var-msg { margin-top: 8px; font-size: 12px; color: #c62828; text-align: center; }

/* Card color dots – vertical left on image */
.hc-card-image-wrap {
  position: relative;
}
.hc-card-colors {
  position: absolute;
  top: 12px;
  left: 10px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: calc(100% - 24px);
  overflow-y: auto;
  padding: 4px;
  background: rgba(255,255,255,.85);
  border-radius: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.hc-card-color-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1.5px solid #fff;
  box-shadow: 0 0 0 1px rgba(0,0,0,.12);
  flex-shrink: 0;
  display: block;
}

/* Card thumbs slider */
.hc-card-thumbs-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  position: relative;
}
.hc-card-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  flex: 1;
  -ms-overflow-style: none;
  scrollbar-width: none;
  max-width: 100%;
}
.hc-card-thumbs::-webkit-scrollbar { display: none; }
.hc-card-thumb {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  overflow: hidden;
  border: 1.5px solid transparent;
  padding: 0;
  background: #f5f5f5;
  cursor: pointer;
}
.hc-card-thumb.is-active {
  border-color: #c9a87c;
}
.hc-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hc-card-thumbs-prev,
.hc-card-thumbs-next {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border: none;
  border-radius: 50%;
  background: #f0ebe3;
  color: #555;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}
.hc-card-thumbs-prev:hover,
.hc-card-thumbs-next:hover {
  background: #c9a87c;
  color: #1a1a1a;
}

/* Variation modal reset + disabled */
.hc-var-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
.hc-var-reset {
  width: 100%;
  height: 42px;
  border: 1.5px solid #e0d6c8;
  border-radius: 12px;
  background: #fff;
  color: #666;
  font-family: inherit;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
}
.hc-var-reset:hover {
  border-color: #c9a87c;
  color: #8b7355;
}
.hc-var-opt.is-disabled {
  opacity: 0.3 !important;
  pointer-events: none !important;
  filter: grayscale(0.5);
}

/* ===== Shop layout repair ===== */
.hc-shop-page {
  padding: 20px 0 60px;
  background: #f7f5f2;
}
.hc-shop-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 24px !important;
  align-items: start !important;
}
.hc-shop-sidebar {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0ebe3;
  padding: 16px;
  position: sticky;
  top: 90px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
}
.hc-shop-main {
  min-width: 0 !important;
}
.hc-shop-main ul.products,
.hc-shop-main .products {
  display: grid !important;
  grid-template-columns: repeat(var(--hc-shop-cols, 3), minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 100% !important;
}
.hc-shop-main ul.products li.product,
.hc-product-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
.hc-card-inner {
  background: #fff;
  border-radius: 14px;
  border: 1px solid #f0ebe3;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.hc-card-image-wrap {
  position: relative;
  aspect-ratio: 1 / 1;
  background: #faf8f5;
  overflow: hidden;
}
.hc-card-gallery {
  position: relative;
  width: 100%;
  height: 100%;
}
.hc-card-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}
.hc-card-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  position: relative;
}
.hc-card-slide img,
.hc-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hc-card-body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.hc-card-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}
.hc-card-title a {
  color: #1a1a1a;
  text-decoration: none;
}
.hc-card-actions {
  margin-top: auto;
}

@media (max-width: 992px) {
  .hc-shop-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-shop-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(320px, 90vw);
    z-index: 10000;
    transform: translateX(110%);
    transition: transform .3s;
    max-height: 100vh;
    border-radius: 0;
  }
  .hc-shop-sidebar.open {
    transform: translateX(0);
  }
  .hc-shop-main ul.products {
    grid-template-columns: repeat(var(--hc-shop-cols-tab, 2), minmax(0, 1fr)) !important;
  }
}
@media (max-width: 576px) {
  .hc-shop-main ul.products {
    grid-template-columns: repeat(var(--hc-shop-cols-mob, 2), minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}

/* ===== Single product 3 columns ===== */
.hc-single-page {
  padding: 16px 0 48px;
  background: #f7f5f2;
}
.hc-single-gallery {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0ebe3;
  padding: 16px;
  position: relative;
  top: 0 !important;
}
.hc-buybox-inner {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #f0ebe3;
  padding: 18px;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.hc-buybox-stock {
  margin: 12px 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0ebe3;
}
.hc-trust-badges--stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  grid-template-columns: none !important;
  background: #faf8f5 !important;
  padding: 12px !important;
  border-radius: 12px !important;
  margin: 0 !important;
}
.hc-trust-badges--stack .hc-trust-item {
  font-size: 12px;
}
/* Hide duplicate price inside main form if WC prints it */
.hc-add-to-cart-box--main .price {
  display: none !important;
}

@media (max-width: 1100px) {
  .hc-single-layout {
    grid-template-columns: 1fr 1fr !important;
  }
  .hc-single-buybox {
    grid-column: 1 / -1;
    position: static;
  }
}
@media (max-width: 768px) {
  .hc-single-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-single-gallery,
  .hc-single-main,
  .hc-single-buybox {
    width: 100%;
  }
  .hc-single-buybox {
    position: static;
    order: 3;
  }
}
#hcVarReset {
  pointer-events: auto !important;
  opacity: 1 !important;
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}
.hc-var-opt.is-disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
  filter: grayscale(0.4);
}
.hc-var-opt.is-selected:not(.is-disabled) {
  border-color: #c9a87c !important;
  box-shadow: 0 0 0 2px rgba(201,168,124,.35);
}

/* Digikala-style buybox price */
.hc-single-buybox .hc-dk-price-box,
.hc-buybox-inner .hc-dk-price-box {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 14px !important;
  margin: 0 0 12px !important;
  box-shadow: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.hc-single-buybox .hc-dk-price-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.hc-single-buybox .hc-dk-old {
  font-size: 13px !important;
  color: #a1a3a8 !important;
  text-decoration: line-through !important;
}
.hc-single-buybox .hc-dk-current,
.hc-single-buybox .hc-dk-current .woocommerce-Price-amount,
.hc-single-buybox .price .woocommerce-Price-amount,
.hc-single-buybox .price ins .woocommerce-Price-amount {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #ef394e !important;
  text-decoration: none !important;
}
.hc-single-buybox .price del {
  display: block;
  font-size: 13px;
  color: #a1a3a8;
}
.hc-single-buybox .hc-dk-discount {
  background: #ef394e !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 4px 8px !important;
  border-radius: 16px !important;
  line-height: 1.4 !important;
}

/* Buybox cart form under price */
.hc-add-to-cart-box--buybox {
  margin: 0 0 16px !important;
}
.hc-add-to-cart-box--buybox form.cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.hc-add-to-cart-box--buybox table.variations {
  width: 100%;
  margin: 0 0 4px;
}
.hc-add-to-cart-box--buybox .single_variation_wrap {
  width: 100%;
}
.hc-add-to-cart-box--buybox .woocommerce-variation-add-to-cart,
.hc-add-to-cart-box--buybox .woocommerce-variation-add-to-cart-disabled,
.hc-add-to-cart-box--buybox .woocommerce-variation-add-to-cart-enabled {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

/* Always show quantity with +/- */
.hc-add-to-cart-box--buybox .quantity {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  margin: 0 !important;
}
.hc-add-to-cart-box--buybox .quantity .qty,
.hc-add-to-cart-box--buybox .quantity input.qty {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 !important;
  width: auto !important;
  min-width: 48px !important;
  height: 48px !important;
  border: none !important;
  text-align: center !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  background: #fff !important;
  color: #1a1a1a !important;
  -moz-appearance: textfield !important;
  margin: 0 !important;
}
.hc-add-to-cart-box--buybox .quantity input.qty::-webkit-inner-spin-button,
.hc-add-to-cart-box--buybox .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}
.hc-add-to-cart-box--buybox .quantity .hc-qty-minus,
.hc-add-to-cart-box--buybox .quantity .hc-qty-plus,
.hc-add-to-cart-box--buybox .quantity .minus,
.hc-add-to-cart-box--buybox .quantity .plus {
  width: 44px !important;
  height: 48px !important;
  border: none !important;
  background: #f5f5f5 !important;
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  font-family: inherit !important;
}
.hc-add-to-cart-box--buybox .quantity .hc-qty-minus:hover,
.hc-add-to-cart-box--buybox .quantity .hc-qty-plus:hover {
  background: #ebebeb !important;
}

.hc-add-to-cart-box--buybox .single_add_to_cart_button {
  width: 100% !important;
  min-width: 0 !important;
  flex: none !important;
  height: 52px !important;
  background: #ef394e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: background .2s !important;
}
.hc-add-to-cart-box--buybox .single_add_to_cart_button:hover {
  background: #e0273a !important;
  transform: none !important;
}
.hc-add-to-cart-box--buybox .single_add_to_cart_button.added,
.hc-add-to-cart-box--buybox .single_add_to_cart_button.hc-go-cart {
  background: #0c8 !important;
}

/* Qty always visible – no wait for add click */
.single-product form.cart .hc-qty-wrap,
.hc-add-to-cart-box--buybox form.cart .hc-qty-wrap,
form.cart .hc-qty-wrap {
  max-width: 130px !important;
  width: 130px !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  pointer-events: auto !important;
  margin: 0 !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 48px !important;
}
.single-product form.cart .quantity,
.hc-add-to-cart-box--buybox .quantity {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  margin: 0 !important;
}

/* Buybox: qty (right in RTL) + button side by side under price */
.hc-add-to-cart-box--buybox form.cart,
.hc-add-to-cart-box--buybox .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
}
.hc-add-to-cart-box--buybox form.cart .variations,
.hc-add-to-cart-box--buybox table.variations {
  display: none !important; /* moved to middle */
}
.hc-add-to-cart-box--buybox .single_add_to_cart_button {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  font-size: 14px !important;
  border-radius: 10px !important;
  background: #ef394e !important;
  color: #fff !important;
}
.hc-add-to-cart-box--buybox .hc-qty-wrap,
.hc-add-to-cart-box--buybox .quantity {
  flex: 0 0 auto !important;
  order: 0;
}
.hc-add-to-cart-box--buybox .single_add_to_cart_button {
  order: 1;
}

/* Variations in middle column */
.hc-variations-slot {
  margin: 16px 0 8px;
  padding: 14px 16px;
  background: #faf8f5;
  border-radius: 12px;
  border: 1px solid #f0ebe3;
}
.hc-variations-slot-title {
  font-size: 14px;
  font-weight: 800;
  margin: 0 0 12px;
  color: #1a1a1a;
}
.hc-variations-slot table.variations {
  width: 100%;
  margin: 0;
  border: none;
}
.hc-variations-slot table.variations td {
  padding: 6px 0;
  border: none;
  vertical-align: middle;
}
.hc-variations-slot table.variations label {
  font-size: 13px;
  font-weight: 700;
}

/* Compact buybox */
.hc-single-buybox .hc-buybox-inner {
  padding: 14px !important;
}
.hc-single-buybox .hc-dk-price-box {
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
}
.hc-single-buybox .hc-dk-current,
.hc-single-buybox .hc-dk-current .woocommerce-Price-amount,
.hc-single-buybox .price .woocommerce-Price-amount {
  font-size: 18px !important;
}
.hc-buybox-stock {
  margin: 8px 0 12px !important;
  padding-bottom: 10px !important;
}
.hc-trust-badges--stack {
  padding: 10px !important;
  gap: 8px !important;
}
.hc-trust-badges--stack .hc-trust-item {
  font-size: 11px !important;
  gap: 6px !important;
}
.hc-trust-badges--stack .hc-trust-item svg {
  width: 16px;
  height: 16px;
}
@media (max-width: 1100px) {
  .hc-single-buybox {
    max-width: none;
  }
}

/* Purchase form spans columns */
form.hc-purchase-form.variations_form {
  display: contents;
}
.hc-buybox-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}
.hc-buybox-actions .quantity,
.hc-buybox-actions .hc-qty-wrap {
  display: flex !important;
  flex: 0 0 auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: 44px !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 0 !important;
}
.hc-buybox-actions .single_add_to_cart_button {
  flex: 1 1 auto !important;
  height: 44px !important;
  margin: 0 !important;
  min-width: 0 !important;
  background: #ef394e !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  font-family: inherit !important;
}
.hc-buybox-inner {
  padding: 12px !important;
}
.hc-variations-slot {
  margin-top: 12px;
}


/* ============================================================
   SINGLE PRODUCT 3-COL FIX (final override)
   Gallery | Main | Buybox  — works for simple + variable
   ============================================================ */
.hc-single-page {
  padding: 20px 0 56px !important;
  background: #f5f3f0 !important;
}
.hc-single-layout {
  display: grid !important;
  grid-template-columns: minmax(400px, .9fr) minmax(0, .8fr) minmax(250px, 0.5fr) !important;
  gap: 18px !important;
  align-items: start !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  border-radius: 0 !important;
}

/* Variable form: sub-grid spanning main + buybox columns */
.hc-single-layout > form.hc-purchase-form.variations_form,
.hc-single-layout > form.hc-purchase-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.9fr) !important;
  gap: 18px !important;
  align-items: start !important;
  grid-column: 2 / -1 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.hc-single-gallery {
  grid-column: 1 !important;
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid #efeae3 !important;
  padding: 14px !important;
  position: sticky !important;
  top: 88px !important;
  align-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.03) !important;
}
.hc-single-main {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid #efeae3 !important;
  padding: 22px 24px !important;
  min-width: 0 !important;
  width: 100% !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.03) !important;
}
.hc-single-buybox {
  position: sticky !important;
  top: 88px !important;
  align-self: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
.hc-buybox-inner {
  background: #fff !important;
  border-radius: 16px !important;
  border: 1px solid #efeae3 !important;
  padding: 16px !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.04) !important;
}

/* Price digikala */
.hc-buybox-inner .hc-dk-price-box {
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 0 0 12px !important;
  margin: 0 0 10px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hc-buybox-inner .hc-dk-current,
.hc-buybox-inner .hc-dk-current .amount,
.hc-buybox-inner .price .amount,
.hc-buybox-inner .price ins .amount {
  color: #ef394e !important;
  font-size: 20px !important;
  font-weight: 800 !important;
}
.hc-buybox-stock {
  margin: 8px 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

/* Qty + button row always visible */
.hc-buybox-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}
.hc-buybox-actions .quantity,
.hc-buybox-actions .hc-qty-wrap {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto !important;
  height: 44px !important;
  border: 1.5px solid #e5e5e5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: #fff !important;
}
.hc-buybox-actions .quantity input.qty,
.hc-buybox-actions .hc-qty-wrap input.qty {
  display: block !important;
  width: 42px !important;
  height: 44px !important;
  border: none !important;
  text-align: center !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  font-family: inherit !important;
  margin: 0 !important;
  background: #fff !important;
}
.hc-buybox-actions .hc-qty-btn,
.hc-buybox-actions .hc-qty-minus,
.hc-buybox-actions .hc-qty-plus {
  width: 36px !important;
  height: 44px !important;
  border: none !important;
  background: #f5f5f5 !important;
  cursor: pointer !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-family: inherit !important;
  color: #333 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.hc-buybox-actions .single_add_to_cart_button {
  flex: 1 1 auto !important;
  height: 44px !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  font-family: inherit !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.hc-buybox-actions .single_add_to_cart_button:hover {
  background: #333 !important;
}

/* Variations in middle */
.hc-variations-slot {
  margin: 14px 0 8px !important;
  padding: 14px 16px !important;
  background: #faf8f5 !important;
  border-radius: 12px !important;
  border: 1px solid #f0ebe3 !important;
}
.hc-variations-slot-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 0 12px !important;
}
.hc-variations-slot table.variations {
  width: 100% !important;
  border: none !important;
  margin: 0 !important;
}
.hc-variations-slot table.variations th,
.hc-variations-slot table.variations td {
  border: none !important;
  padding: 8px 0 !important;
  vertical-align: middle !important;
  background: transparent !important;
}
.hc-variations-slot table.variations th.label {
  width: 70px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: right !important;
}
.hc-variations-slot .reset_variations {
  display: inline-block !important;
  margin-top: 8px !important;
  font-size: 12px !important;
  color: #999 !important;
}

/* Trust compact */
.hc-trust-badges--stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  background: #faf8f5 !important;
  border-radius: 10px !important;
  margin: 0 !important;
}
.hc-trust-badges--stack .hc-trust-item {
  font-size: 11px !important;
  color: #666 !important;
  gap: 8px !important;
}

/* Simple product form inside buybox only */
.hc-single-buybox form.cart.hc-purchase-form {
  display: block !important;
  grid-column: auto !important;
}

@media (max-width: 1100px) {
  .hc-single-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  .hc-single-gallery {
    grid-column: 1 / -1 !important;
    position: relative !important;
    top: 0 !important;
  }
  .hc-single-layout > form.hc-purchase-form {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.8fr) !important;
  }
  .hc-single-buybox {
    position: sticky !important;
    top: 80px !important;
  }
}
@media (max-width: 768px) {
  .hc-single-layout {
    grid-template-columns: 1fr !important;
  }
  .hc-single-gallery,
  .hc-single-main,
  .hc-single-buybox {
    grid-column: 1 !important;
    position: relative !important;
    top: 0 !important;
    max-width: none !important;
  }
  .hc-single-layout > form.hc-purchase-form {
    display: flex !important;
    flex-direction: column !important;
    grid-column: 1 !important;
  }
  .hc-single-buybox {
    order: 3;
  }
  .hc-single-gallery {
    order: 1;
  }
  .hc-single-main {
    order: 2;
  }
}

/* Single gallery: highest stacking context; one clean sale badge */
.hc-single-gallery {
  position: relative !important;
  z-index: 20 !important;
  isolation: isolate;
}
.hc-single-gallery .hc-gallery,
.hc-single-gallery .woocommerce-product-gallery {
  position: relative !important;
  z-index: 1 !important;
}
.hc-single-gallery .hc-product-tools {
  z-index: 40 !important;
}
.hc-single-gallery .hc-gallery-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  z-index: 35 !important;
  background: #ef394e !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  padding: 6px 12px !important;
  border-radius: 20px !important;
  line-height: 1.3 !important;
  box-shadow: 0 2px 10px rgba(239, 57, 78, .35) !important;
  white-space: nowrap !important;
  pointer-events: none;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  letter-spacing: 0 !important;
}
/* Hide any leftover WC onsale on single gallery (prevent double badge) */
.hc-single-gallery span.onsale,
.hc-single-gallery .onsale:not(.hc-gallery-badge),
.single-product .hc-single-gallery > .onsale,
.single-product span.onsale {
  display: none !important;
}
/* Our badge must stay visible even if it has onsale class somewhere */
.hc-single-gallery .hc-gallery-badge {
  display: inline-block !important;
}

/* Single gallery image top alignment */
.hc-single-gallery {
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 12px !important;
  align-self: start !important;
}
.hc-single-gallery .hc-gallery,
.hc-single-gallery .woocommerce-product-gallery {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.hc-gallery-main {
  margin-top: 0 !important;
}
.hc-gallery-viewport,
.hc-gallery-track,
.hc-gallery-slide {
  margin-top: 0 !important;
}
.hc-gallery-slide img,
.hc-gallery-img {
  margin-top: 0 !important;
  vertical-align: top;
  object-position: top center;
}

/* Lightbox above everything including header */
.hc-lightbox {
  z-index: 2147483000 !important;
}
.hc-lightbox-backdrop {
  z-index: 2147483000 !important;
}
.hc-lightbox-inner {
  z-index: 2147483001 !important;
}
body.hc-lightbox-open .header,
body.hc-lightbox-open header,
body.hc-lightbox-open .site-header {
  z-index: 1 !important;
}


/* Hide top checkout coupon (use only inside order box) */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout .hc-coupon-toggle,
body.woocommerce-checkout .hc-coupon-form {
  display: none !important;
}

/* ============================================================
   Description more/less: full text visible when expanded
   ============================================================ */
.hc-tab-desc-wrap {
  position: relative !important;
  overflow: visible !important;
}
/* Collapsed: clamp + fade button over last lines */
.hc-tab-desc-wrap:not(.is-expanded) .hc-tab-desc-clamp,
#tab-description .hc-tab-desc-wrap:not(.is-expanded) .hc-tab-desc-clamp {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 5 !important;
  line-clamp: 5 !important;
  overflow: hidden !important;
  max-height: 9.5em !important;
}
.hc-tab-desc-wrap:not(.is-expanded) .hc-tab-desc-more {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: linear-gradient(to top, #fff 45%, rgba(255,255,255,.92) 70%, rgba(255,255,255,0)) !important;
  padding: 36px 0 8px !important;
  z-index: 3 !important;
}

/* Expanded: show ALL text; button below content (not on top) */
.hc-tab-desc-wrap.is-expanded,
.hc-tab-desc-wrap:has(.hc-tab-desc-clamp.is-open) {
  overflow: visible !important;
  max-height: none !important;
  height: auto !important;
  padding-bottom: 0 !important;
}
.hc-tab-desc-clamp.is-open,
.hc-tab-desc-wrap.is-expanded .hc-tab-desc-clamp,
#tab-description .hc-tab-desc-clamp.is-open,
.woocommerce-Tabs-panel--description .hc-tab-desc-clamp.is-open {
  display: block !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  -webkit-box-orient: initial !important;
  text-overflow: clip !important;
  padding-bottom: 0 !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
.hc-tab-desc-wrap.is-expanded .hc-tab-desc-more,
.hc-tab-desc-more.is-less,
.hc-tab-desc-wrap:has(.is-open) .hc-tab-desc-more {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  background: transparent !important;
  background-image: none !important;
  padding: 14px 0 4px !important;
  margin-top: 8px !important;
  box-shadow: none !important;
  z-index: 1 !important;
}
.hc-tab-desc-wrap.is-expanded .hc-tab-desc-more span,
.hc-tab-desc-more.is-less span {
  background: #f7f3ed !important;
  border: 1px solid #e8e0d5 !important;
}

/* Features list (Digikala style) */
.hc-features-list {
  margin: 20px 0 8px;
  padding-top: 16px;
  border-top: 1px solid #f0ebe3;
}
.hc-features-title {
  font-size: 15px;
  font-weight: 800;
  margin: 0 0 14px;
  color: #1a1a1a;
  text-align: right;
}
.hc-features-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hc-feature-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #f5f2ed;
  font-size: 13px;
  color: #444;
}
.hc-feature-row:last-child { border-bottom: none; }
.hc-feature-text { flex: 1; text-align: right; line-height: 1.6; }
.hc-feature-text strong { color: #1a1a1a; font-weight: 700; margin-left: 4px; }
.hc-feature-icon {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #f5f2ed;
  color: #9e9e9e;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Buybox shipping info */
.hc-buybox-ship {
  background: #f0f9ff;
  border-radius: 12px;
  padding: 12px 14px;
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hc-ship-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
}
.hc-ship-icon {
  color: #3b82f6;
  display: flex;
  flex-shrink: 0;
}

/* Digikala price – single + shop cards */
.hc-dk-price {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
.hc-dk-badge {
  background: #ef394e;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 16px;
  line-height: 1.3;
  flex-shrink: 0;
  min-width: 36px;
  text-align: center;
}
.hc-dk-price-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.hc-dk-old {
  font-size: 12px;
  color: #a1a3a8;
  text-decoration: line-through;
  font-weight: 500;
}
.hc-dk-old .amount,
.hc-dk-old .woocommerce-Price-amount {
  font-size: 12px !important;
  color: #a1a3a8 !important;
  text-decoration: line-through !important;
}
.hc-dk-now {
  font-size: 18px;
  font-weight: 800;
  color: #ef394e;
  line-height: 1.3;
}
.hc-dk-now .amount,
.hc-dk-now .woocommerce-Price-amount {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #ef394e !important;
}
.hc-card-price .hc-dk-now,
.hc-card-price .hc-dk-now .amount {
  font-size: 15px !important;
}
.hc-card-price .hc-dk-badge {
  font-size: 11px;
  padding: 3px 7px;
}
.hc-single-price .hc-dk-now,
.hc-single-price .hc-dk-now .amount {
  font-size: 20px !important;
}

/* Description more – never cover text when open */
.hc-tab-desc-wrap.is-expanded .hc-tab-desc-more,
.hc-tab-desc-more.is-less {
  position: static !important;
  display: block !important;
  background: none !important;
  background-image: none !important;
  padding: 16px 0 0 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
.hc-tab-desc-wrap.is-expanded .hc-tab-desc-clamp,
.hc-tab-desc-clamp.is-open {
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  display: block !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ========== Fix: product card gallery + thumbs visible ========== */
.hc-product-card .hc-card-image-wrap,
.hc-card-image-wrap {
  position: relative !important;
  aspect-ratio: auto !important;
  height: auto !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  background: #faf8f5 !important;
}
.hc-product-card .hc-card-gallery,
.hc-card-gallery {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  border-radius: 12px 12px 0 0;
}
.hc-card-slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .28s ease !important;
  z-index: 0 !important;
}
.hc-card-slide.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}
.hc-card-slide .hc-card-img,
.hc-card-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hc-card-gprev,
.hc-card-gnext {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 6 !important;
  width: 30px !important;
  height: 30px !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.12) !important;
  cursor: pointer !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  color: #333 !important;
  padding: 0 !important;
}
.hc-card-image-wrap.has-gallery:hover .hc-card-gprev,
.hc-card-image-wrap.has-gallery:hover .hc-card-gnext {
  display: flex !important;
}
.hc-card-gprev { right: 8px !important; left: auto !important; }
.hc-card-gnext { left: 8px !important; right: auto !important; }

.hc-card-thumbs-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 8px 6px 6px !important;
  background: #fff !important;
  border-top: 1px solid #f0ebe3 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 2 !important;
  overflow: visible !important;
}
.hc-card-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  flex: 1 1 auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  max-width: 100% !important;
}
.hc-card-thumbs::-webkit-scrollbar { display: none !important; }
.hc-card-thumb {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1.5px solid #e8e0d6 !important;
  padding: 0 !important;
  background: #f5f5f5 !important;
  cursor: pointer !important;
  display: block !important;
}
.hc-card-thumb.is-active {
  border-color: #c9a87c !important;
  box-shadow: 0 0 0 1px #c9a87c !important;
}
.hc-card-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hc-card-thumbs-prev,
.hc-card-thumbs-next {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  border: none !important;
  border-radius: 50% !important;
  background: #f0ebe3 !important;
  color: #555 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
}
/* Color dots stay on gallery area only */
.hc-card-colors {
  position: absolute !important;
  top: 10px !important;
  left: 8px !important;
  z-index: 5 !important;
  max-height: calc(100% - 60px) !important;
}
.hc-card-image-wrap > .hc-card-colors {
  /* limit to gallery height via top of wrap – fine */
}
.hc-products-wrap.view-list .hc-card-thumbs-wrap {
  display: none !important;
}

/* Card thumbs arrows – touch friendly */
.hc-card-thumbs-prev,
.hc-card-thumbs-next {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  pointer-events: auto !important;
  z-index: 5 !important;
  cursor: pointer !important;
}
.hc-card-gprev,
.hc-card-gnext {
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  pointer-events: auto !important;
}
@media (max-width: 768px) {
  .hc-card-image-wrap.has-gallery .hc-card-gprev,
  .hc-card-image-wrap.has-gallery .hc-card-gnext {
    display: flex !important; /* always visible on mobile */
    opacity: .9;
  }
  .hc-card-thumbs-prev,
  .hc-card-thumbs-next {
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
  }
}

/* ============================================================
   SINGLE PRODUCT RESPONSIVE – final clean override
   ============================================================ */

/* Desktop default already set above */

/* Tablet / small laptop */
@media (max-width: 1100px) {
  .hc-single-page .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .hc-single-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
  }
  .hc-single-gallery {
    grid-column: 1 / -1 !important;
    position: relative !important;
    top: auto !important;
    sticky: initial !important;
  }
  .hc-single-layout > form.hc-purchase-form.variations_form,
  .hc-single-layout > form.hc-purchase-form {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(220px, 0.8fr) !important;
    gap: 16px !important;
  }
  .hc-single-main {
    min-width: 0 !important;
  }
  .hc-single-buybox {
    position: sticky !important;
    top: 80px !important;
    max-width: none !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .hc-single-page {
    padding: 12px 0 40px !important;
  }
  .hc-single-page .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
    max-width: 100% !important;
  }
  .hc-single-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .hc-single-gallery,
  .hc-single-main,
  .hc-single-buybox,
  .hc-single-layout > form.hc-purchase-form.variations_form,
  .hc-single-layout > form.hc-purchase-form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-column: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }
  .hc-single-layout > form.hc-purchase-form.variations_form,
  .hc-single-layout > form.hc-purchase-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }
  /* Order: gallery → main → buybox */
  .hc-single-gallery {
    order: 1 !important;
    position: relative !important;
    sticky: unset !important;
    padding: 10px !important;
    border-radius: 14px !important;
  }
  .hc-single-main {
    order: 2 !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .hc-single-buybox {
    order: 3 !important;
    position: relative !important;
    top: auto !important;
  }
  .hc-buybox-inner {
    padding: 14px !important;
    border-radius: 14px !important;
  }
  .hc-single-title {
    font-size: 17px !important;
    line-height: 1.5 !important;
  }
  .hc-single-meta-row {
    flex-wrap: wrap !important;
    gap: 6px !important;
    font-size: 12px !important;
  }
  .hc-features-list {
    margin-top: 12px !important;
  }
  .hc-feature-row {
    padding: 8px 0 !important;
    font-size: 12px !important;
  }
  /* Qty + ATC row */
  .hc-buybox-actions,
  .hc-single-buybox form.cart,
  .hc-single-buybox .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }
  .hc-single-buybox .quantity,
  .hc-single-buybox .hc-qty-wrap {
    display: inline-flex !important;
    flex: 0 0 auto !important;
  }
  .hc-single-buybox .single_add_to_cart_button,
  .hc-buybox-actions .single_add_to_cart_button {
    flex: 1 1 auto !important;
    min-width: 140px !important;
    width: auto !important;
    height: 48px !important;
  }
  /* Variations */
  .hc-variations-slot,
  .hc-single-main .variations {
    width: 100% !important;
  }
  .hc-single-main table.variations,
  .hc-single-main table.variations tbody,
  .hc-single-main table.variations tr,
  .hc-single-main table.variations th,
  .hc-single-main table.variations td {
    display: block !important;
    width: 100% !important;
  }
  .hc-single-main table.variations th.label {
    margin-bottom: 6px !important;
    text-align: right !important;
  }
  .hc-var-options {
    flex-wrap: wrap !important;
  }
  /* Gallery tools + thumbs */
  .hc-product-tools {
    top: 8px !important;
    right: 8px !important;
  }
  .hc-single-gallery .hc-gallery-thumbs,
  .hc-single-gallery .flex-control-thumbs {
    gap: 6px !important;
  }
  /* Tabs full width */
  .hc-single-tabs,
  .woocommerce-tabs {
    margin-top: 8px !important;
  }
  .hc-single-tabs .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .hc-single-tabs .woocommerce-tabs ul.tabs li a {
    white-space: nowrap !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  /* Related */
  .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .hc-buybox-ship {
    margin-bottom: 10px !important;
  }
  .hc-dk-now,
  .hc-buybox-inner .hc-dk-now,
  .hc-buybox-inner .hc-dk-now .amount {
    font-size: 18px !important;
  }
}

@media (max-width: 480px) {
  .hc-single-title {
    font-size: 16px !important;
  }
  .hc-single-buybox .single_add_to_cart_button {
    width: 100% !important;
    flex: 1 1 100% !important;
  }
  .hc-single-buybox .hc-qty-wrap,
  .hc-single-buybox .quantity {
    width: 100% !important;
    justify-content: center !important;
  }
  .related.products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   SINGLE PRODUCT MOBILE – no horizontal scroll, order: gallery → main → buybox
   ============================================================ */
@media (max-width: 768px) {
  html body.single-product,
  html body.single-product #page,
  html body.single-product .site,
  html body.single-product .hc-single-page,
  html body.single-product .hc-single-page .container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  body.single-product .hc-single-page .container {
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  body.single-product .hc-single-layout {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: none !important;
    overflow-x: hidden !important;
  }

  /* All direct children full width, no min fixed widths */
  body.single-product .hc-single-layout > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product .hc-single-gallery {
    order: 1 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* Variable form contains main + buybox – keep as column, order after gallery */
  body.single-product .hc-single-layout > form.hc-purchase-form,
  body.single-product .hc-single-layout > form.variations_form {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    grid-template-columns: none !important;
    grid-column: auto !important;
  }

  body.single-product .hc-single-layout > form .hc-single-main,
  body.single-product .hc-single-layout > .hc-single-main {
    order: 2 !important;
    width: 100% !important;
  }

  body.single-product .hc-single-layout > form .hc-single-buybox,
  body.single-product .hc-single-layout > .hc-single-buybox,
  body.single-product .hc-single-buybox {
    order: 3 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  /* Inside variable form: main first, buybox second */
  body.single-product .hc-single-layout > form .hc-single-main {
    order: 1 !important;
  }
  body.single-product .hc-single-layout > form .hc-single-buybox {
    order: 2 !important;
  }

  /* Kill sticky / fixed min widths */
  body.single-product .hc-single-gallery,
  body.single-product .hc-single-main,
  body.single-product .hc-single-buybox,
  body.single-product .hc-buybox-inner {
    position: relative !important;
    sticky: unset !important;
    min-width: 0 !important;
  }

  body.single-product .hc-single-gallery img,
  body.single-product .hc-gallery img,
  body.single-product .woocommerce-product-gallery__image img {
    max-width: 100% !important;
    height: auto !important;
  }

  body.single-product table.variations {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.single-product .hc-product-tools {
    position: absolute !important;
  }
}

/* Also fix tablet so gallery is first full width */
@media (max-width: 1100px) and (min-width: 769px) {
  body.single-product .hc-single-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  body.single-product .hc-single-gallery {
    grid-column: 1 / -1 !important;
    order: 1 !important;
  }
}

/* Lightbox gallery thumbs under main image */
.hc-lightbox {
  z-index: 100300 !important;
}
.hc-lightbox-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: min(920px, 96vw) !important;
  max-height: 92vh !important;
  width: 100% !important;
  padding: 16px 16px 12px !important;
  box-sizing: border-box !important;
}
.hc-lightbox-stage {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: calc(92vh - 140px) !important;
}
.hc-lightbox-img {
  max-width: 100% !important;
  max-height: calc(92vh - 160px) !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 10px !important;
}
.hc-lightbox-counter {
  margin: 8px 0 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
.hc-lightbox-thumbs {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100% !important;
  padding: 8px 4px 4px !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}
.hc-lightbox-thumbs::-webkit-scrollbar {
  height: 4px;
}
.hc-lightbox-thumb {
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  padding: 0 !important;
  background: rgba(255,255,255,.15) !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
.hc-lightbox-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hc-lightbox-thumb.is-active {
  border-color: #c9a87c !important;
  box-shadow: 0 0 0 1px #c9a87c !important;
}
.hc-lightbox-thumb:hover {
  border-color: rgba(201,168,124,.7) !important;
}
@media (max-width: 600px) {
  .hc-lightbox-thumb {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
  }
  .hc-lightbox-img {
    max-height: calc(92vh - 180px) !important;
  }
}

/* 2-3 hide gallery arrows on single product */
.hc-single-gallery .hc-gallery-nav,
.hc-single-gallery .hc-gallery-prev,
.hc-single-gallery .hc-gallery-next { display: none !important; }

/* 5 uniform product cards */
.hc-product-card .hc-card-inner, li.product .hc-card-inner {
  display: flex !important; flex-direction: column !important; height: 100% !important;
}
.hc-product-card .hc-card-gallery, li.product .hc-card-gallery {
  aspect-ratio: 1 / 1 !important; width: 100% !important; flex-shrink: 0 !important;
}
.hc-product-card .hc-card-body, li.product .hc-card-body {
  display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-height: 148px !important;
}
.hc-product-card .hc-card-title, li.product .hc-card-title {
  min-height: 2.8em !important; max-height: 2.8em !important; overflow: hidden !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important;
}
.hc-product-card .hc-card-price, li.product .hc-card-price { min-height: 1.8em !important; margin-top: auto !important; }
.hc-product-card .hc-card-actions, li.product .hc-card-actions { min-height: 42px !important; margin-top: 8px !important; }

/* 6 no blue tap */
@media (max-width: 768px) {
  a, button, .hc-tool-btn, .hc-mobile-nav-item, .button, input, select {
    -webkit-tap-highlight-color: transparent !important;
  }
  a:focus, button:focus { outline: none !important; }
}

/* Compare icon: always keep white background (active/hover/focus) */
.hc-tool-btn.hc-tool-compare,
.hc-tool-btn.hc-tool-compare:hover,
.hc-tool-btn.hc-tool-compare:focus,
.hc-tool-btn.hc-tool-compare:active,
.hc-tool-btn.hc-tool-compare.is-active,
.hc-tool-btn.is-active.hc-tool-compare {
  background: #fff !important;
  color: #333 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.12) !important;
  transform: none !important;
}
.hc-tool-btn.hc-tool-compare.is-active i,
.hc-tool-btn.hc-tool-compare:hover i {
  color: #c9a87c !important;
}

/* 17 process bar mobile */
@media (max-width: 768px) {
  .hc-process-bar { padding: 10px 8px !important; overflow: hidden !important; }
  .hc-process-inner { gap: 4px !important; }
  .hc-process-step { flex: 1 1 0 !important; min-width: 0 !important; padding: 0 2px !important; }
  .hc-process-step .hc-process-icon, .hc-process-step i, .hc-process-step svg {
    width: 28px !important; height: 28px !important; font-size: 12px !important;
  }
  .hc-process-step span, .hc-process-step .hc-process-label {
    font-size: 10px !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
  }
  .hc-process-line { display: none !important; }
}

/* ============================================================
   2) Quantity: − left | input | + right (all site)
   ============================================================ */
.quantity,
.hc-qty-wrap,
.hc-qty-control,
.hc-mini-qty-control,
.hc-cart-qty,
.woocommerce-cart-form .product-quantity .quantity,
.hc-add-to-cart-box .quantity,
.hc-add-to-cart-box--buybox .quantity,
form.cart .quantity,
form.cart .hc-qty-wrap {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  direction: ltr !important; /* force: minus left, plus right */
  gap: 0 !important;
}

/* Ensure DOM order visually: minus, input, plus */
.quantity .hc-qty-minus,
.quantity .hc-cart-qty-minus,
.hc-qty-wrap .hc-qty-minus,
.hc-qty-wrap .hc-qty-btn.hc-qty-minus,
.hc-mini-qty-control .hc-qty-minus,
.hc-add-to-cart-box .hc-qty-minus {
  order: 1 !important;
}
.quantity input.qty,
.quantity .hc-qty-input,
.hc-qty-wrap input.qty,
.hc-mini-qty-control .hc-qty-input,
.hc-add-to-cart-box input.qty {
  order: 2 !important;
}
.quantity .hc-qty-plus,
.quantity .hc-cart-qty-plus,
.hc-qty-wrap .hc-qty-plus,
.hc-qty-wrap .hc-qty-btn.hc-qty-plus,
.hc-mini-qty-control .hc-qty-plus,
.hc-add-to-cart-box .hc-qty-plus {
  order: 3 !important;
}

/* Mini cart qty already has minus then input then plus in DOM – direction ltr keeps it */
.hc-mini-qty-control {
  direction: ltr !important;
}


/* ============================================================
   Product lightbox: above everything, only image + thumbs
   ============================================================ */
.hc-lightbox,
#hcLightbox.hc-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  background: #0a0a0a !important;
}
.hc-lightbox-backdrop {
  z-index: 0 !important;
  background: rgba(8,8,8,.96) !important;
}
.hc-lightbox-inner {
  z-index: 2 !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(96vw, 1000px) !important;
  max-height: 96vh !important;
  height: auto !important;
  gap: 12px !important;
  padding: 48px 12px 16px !important;
  box-sizing: border-box !important;
}
.hc-lightbox-stage {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: calc(96vh - 120px) !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.hc-lightbox-img {
  max-height: calc(96vh - 140px) !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
.hc-lightbox-thumbs {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  max-width: 100% !important;
  padding: 8px 4px !important;
  -webkit-overflow-scrolling: touch;
}
.hc-lightbox-close,
.hc-lightbox-nav,
.hc-lightbox-counter {
  z-index: 5 !important;
}

/* Hide site chrome while lightbox open */
body.hc-lightbox-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  height: 100% !important;
  touch-action: none !important;
}
body.hc-lightbox-open .header,
body.hc-lightbox-open #hcSiteHeader,
body.hc-lightbox-open .top-bar,
body.hc-lightbox-open #hcTopBar,
body.hc-lightbox-open .hc-mobile-nav,
body.hc-lightbox-open #hcMobileNav,
body.hc-lightbox-open .hc-back-to-top,
body.hc-lightbox-open .hc-mini-cart,
body.hc-lightbox-open .hc-mini-overlay,
body.hc-lightbox-open .hc-mobile-drawer,
body.hc-lightbox-open .hc-mobile-drawer-overlay,
body.hc-lightbox-open .hc-cats-drawer,
body.hc-lightbox-open .hc-cats-overlay,
body.hc-lightbox-open .admin-bar {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body.hc-lightbox-open .hc-lightbox,
body.hc-lightbox-open #hcLightbox {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 2147483000 !important;
}

/* Shop pagination: centered + side padding */
.hc-pagination,
.woocommerce nav.woocommerce-pagination,
nav.woocommerce-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 32px auto 16px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  float: none !important;
  border: none !important;
}
.woocommerce-pagination ul li {
  float: none !important;
  margin: 0 !important;
  border: none !important;
}
