body.site-v2 {
  background: #fafaf7;
  height: auto;
  min-height: 100%;
  overflow-x: clip;
}
html:has(body.site-v2) {
  height: auto;
  overflow-x: clip;
}
/* OpenCart sets #container { position:absolute }. With body { overflow-x:hidden }
   the storefront collapses to the announcement bar and the rest is clipped. */
body.site-v2 #container {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100%;
  height: auto;
  margin-bottom: 0;
  background: transparent;
}
body.site-v2 footer.footer {
  position: relative !important;
  bottom: auto !important;
  border: none;
  width: 100%;
}
body.site-v2 #content,
body.site-v2 #column-left,
body.site-v2 #column-right {
  padding-bottom: 0;
}
body.site-v2 main {
  background: transparent;
}
body.site-v2 a.btn-gold,
body.site-v2 button.btn-gold {
  background: linear-gradient(135deg, #c9a84c, #a07a2a);
  color: #fff;
  text-decoration: none;
}
body.site-v2 .btn-gold,
body.site-v2 .btn-outline-gold,
body.site-v2 .btn-outline-green,
body.site-v2 .hmc {
  text-decoration: none;
}
body.site-v2 #cart {
  width: auto;
  margin: 0;
}
body.site-v2 #cart > .dropdown > .btn {
  background: #1e3a1e !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 13px;
  font-weight: 600;
  padding: 9px 14px;
  box-shadow: none;
}
body.site-v2 #cart > .dropdown > .btn:hover {
  background: #2d5a1b !important;
}
body.site-v2 #cart .dropdown-menu {
  min-width: 340px;
  border-radius: 16px;
  border-color: #ddd4c0;
}
body.site-v2 .nh-products-grid h3,
body.site-v2 .nh-products-grid .module-featured > h3 {
  display: none;
}
/* .products-grid is already a card grid. The OpenCart row must be the grid,
   otherwise it is squeezed into a single card column. */
body.site-v2 .products-grid.nh-products-grid {
  display: block !important;
}
body.site-v2 .nh-products-grid .row,
body.site-v2 #product-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  width: 100% !important;
  margin: 0 !important;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}
body.site-v2 .nh-products-grid .row > *,
body.site-v2 #product-list > * {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  flex: none !important;
}
body.site-v2 .pcard-name a {
  color: inherit;
}
body.site-v2 .price-old {
  color: #a8926e;
  text-decoration: line-through;
  font-size: 13px;
  margin-right: 6px;
}
body.site-v2 #product-info h1,
body.site-v2 #content > h1,
body.site-v2 #content > h2 {
  font-family: "Playfair Display", Georgia, serif;
  color: #1a1208;
}
body.site-v2 .breadcrumb {
  background: transparent;
  font-size: 13px;
  --bs-breadcrumb-divider-color: #a8926e;
}
body.site-v2 .breadcrumb a {
  color: #6b5a40;
}
body.site-v2 .list-group-item {
  color: #1a1208;
  border-color: #ddd4c0;
  background: #fff;
}
body.site-v2 .list-group-item.active {
  background: #1e3a1e;
  border-color: #1e3a1e;
  color: #fff;
}
body.site-v2 .btn-primary {
  background: #1e3a1e;
  border-color: #1e3a1e;
}
body.site-v2 .btn-primary:hover,
body.site-v2 .btn-primary:focus {
  background: #2d5a1b;
  border-color: #2d5a1b;
}
body.site-v2 #column-left .carousel {
  display: none !important;
}
body.site-v2 #common-home,
body.site-v2 #product-category,
body.site-v2 #product-product,
body.site-v2 #checkout-cart {
  padding-top: 28px;
}
@media (max-width: 1100px) {
  body.site-v2 .nh-products-grid .row,
  body.site-v2 #product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.site-v2 .main-nav { display: none; }
  body.site-v2 .mob-menu-btn { display: flex; }
}
@media (max-width: 640px) {
  body.site-v2 .nh-products-grid .row,
  body.site-v2 #product-list { grid-template-columns: 1fr; }
}
