/* =========================================================================
   HM Storefront — mirrors the Next.js frontend UI.
   Palette: red #990500 · gold #F99F3A/#FBA23C · cream #FFF6EE
            body #364153 · muted #6A7282 · borders #E5E7EB/#F3F4F6
   Font: Poppins.
   ========================================================================= */

:root {
	--hm-red: #990500;
	--hm-red-dark: #7a0400;
	--hm-gold: #f99f3a;
	--hm-gold-2: #fba23c;
	--hm-cream: #fff6ee;
	--hm-ink: #000000;
	--hm-body: #364153;
	--hm-muted: #6a7282;
	--hm-line: #e5e7eb;
	--hm-line-2: #f3f4f6;
}

/* ---- Base ------------------------------------------------------------- */
body.hm-theme,
body.hm-theme button,
body.hm-theme input,
body.hm-theme select,
body.hm-theme textarea {
	font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--hm-body);
	-webkit-font-smoothing: antialiased;
}
body.hm-theme { background: #fff; }
.hm-theme #content .col-full,
.hm-theme #page .col-full { max-width: none; padding: 0; }
.hm-theme .site-content { margin-top: 0; padding: 0; }
.hm-theme a { text-decoration: none; }
.hm-theme img { max-width: 100%; height: auto; display: block; }

/* ---- Layout helpers --------------------------------------------------- */
.hm-wrap { padding-left: 24px; padding-right: 24px; }
@media (min-width: 640px) { .hm-wrap { padding-left: 32px; padding-right: 32px; } }
@media (min-width: 1024px) { .hm-wrap { padding-left: 50px; padding-right: 50px; } }

.hm-section { padding-top: 64px; padding-bottom: 64px; background: #fff; }
@media (min-width: 640px) { .hm-section { padding-top: 80px; padding-bottom: 80px; } }

.hm-h2 {
	font-size: 30px; line-height: 1.2; font-weight: 500;
	color: var(--hm-ink); margin: 0 0 16px; text-align: center;
}
.hm-h2--left { text-align: left; }
.hm-sec-head { margin-bottom: 32px; position: relative; }
.hm-sec-head--center { text-align: center; }
.hm-sec-lead {
	font-size: 16px; color: var(--hm-muted);
	max-width: 768px; margin: 0 auto; line-height: 1.6;
}
.hm-sec-head--row {
	display: flex; align-items: center; justify-content: space-between; text-align: left;
}
.hm-sec-head--row .hm-h2 { text-align: left; margin-bottom: 0; }
.hm-view-all {
	color: var(--hm-red); font-size: 16px; font-weight: 400;
	display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
}
.hm-view-all span { font-size: 20px; line-height: 1; }

/* ---- Horizontal rails ------------------------------------------------- */
.hm-rail-wrap { position: relative; }
.hm-rail {
	display: flex; gap: 0; overflow-x: auto; padding-bottom: 16px;
	-ms-overflow-style: none; scrollbar-width: none; list-style: none; margin: 0;
}
.hm-rail::-webkit-scrollbar { display: none; }
.hm-rail > * { flex: 0 0 auto; }

/* =========================================================================
   HEADER
   ========================================================================= */
.hm-topbar {
	background: var(--hm-topbar-bg, var(--hm-red)); color: var(--hm-topbar-color, #fff); text-align: center;
	font-size: 13px; letter-spacing: .02em; padding: 8px 16px;
}
.hm-topbar a, .hm-topbar span { color: inherit; }
/* Neutralise Storefront parent header chrome. */
.hm-theme .site-header,
.hm-theme #masthead.hm-header {
	background: #fff !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.hm-theme .site-header::before,
.hm-theme .site-header::after { display: none !important; content: none !important; }
/* Hide Storefront's own nav rows — we render our own. */
.hm-theme .storefront-primary-navigation,
.hm-theme .main-navigation,
.hm-theme .site-header .site-search,
.hm-theme .storefront-handheld-footer-bar { display: none !important; }

.hm-header { background: #fff; border: 0; box-shadow: none; }
.hm-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; padding: 26px 24px; max-width: none; min-height: 96px;
}
@media (min-width: 640px) { .hm-header__inner { padding: 26px 40px; } }
@media (min-width: 1280px) { .hm-header__inner { padding: 26px 64px; } }
/* Icon buttons: strip Storefront button styling. */
.hm-header .hm-icon-link,
.hm-header .hm-search__toggle {
	background: none !important; border: 0 !important; box-shadow: none !important;
	padding: 0 !important; margin: 0; min-width: 0; height: auto;
	color: var(--hm-ink) !important; line-height: 0; cursor: pointer;
}
.hm-header .hm-icon-link:hover,
.hm-header .hm-search__toggle:hover { opacity: .8; background: none !important; }
.hm-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--hm-ink); }
.hm-logo__img { height: 50px; width: auto; }
.hm-logo__mark svg { height: 50px; width: 50px; display: block; }
.hm-logo__text { font-size: 24px; font-weight: 600; color: var(--hm-ink); }

.hm-primary-nav { flex: 1 1 auto; display: flex; justify-content: center; }
@media (max-width: 1023px) { .hm-primary-nav { flex: 0 0 auto; } }
.hm-menu { display: flex !important; align-items: center; gap: 30px; list-style: none; margin: 0; padding: 0; }
.hm-menu li { margin: 0; padding: 0; list-style: none; background: none; float: none; }
.hm-menu li::before { content: none; }
.hm-menu a { color: var(--hm-ink); font-size: 16px; font-weight: 400; position: relative; padding: 0 0 2px; display: inline-block; background: none; }
.hm-menu .current-menu-item > a, .hm-menu a:hover { font-weight: 600; }
.hm-menu .current-menu-item > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
	height: 2px; background: var(--hm-ink);
}
.hm-header__actions { display: flex; align-items: center; gap: 18px; }
.hm-icon-link { color: var(--hm-ink); position: relative; display: inline-flex; }
.hm-cart-count {
	position: absolute; top: -8px; right: -10px;
	background: var(--hm-red); color: #fff; font-size: 11px; line-height: 1;
	min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
}
.hm-nav-toggle { display: none; }

/* Cream category bar (desktop) */
.hm-catbar { background: var(--hm-cream); border-bottom: 1.33px solid var(--hm-cream); }
.hm-catbar__inner {
	display: flex; align-items: center; justify-content: center;
	gap: 50px; padding: 12px 0 !important; flex-wrap: wrap;
}
.hm-catbar__item { position: relative; }
.hm-catbar__link {
	color: var(--hm-ink); font-size: 15px; font-weight: 500;
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
}
.hm-catbar__menu {
	position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
	background: #fff; border: 1px solid var(--hm-line); border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0,0,0,.08); padding: 8px; min-width: 200px;
	display: none; z-index: 40;
}
.hm-catbar__item:hover .hm-catbar__menu { display: block; }
.hm-catbar__menu a { display: block; padding: 8px 12px; border-radius: 6px; color: var(--hm-body); font-size: 14px; }
.hm-catbar__menu a:hover { background: var(--hm-cream); color: var(--hm-red); }
@media (max-width: 1023px) { .hm-catbar { display: none; } }

/* =========================================================================
   1. HERO
   ========================================================================= */
.hm-hero {
	position: relative; width: 100%; height: 500px; overflow: hidden;
}
@media (min-width: 640px) { .hm-hero { height: 600px; } }
@media (min-width: 768px) { .hm-hero { height: 700px; } }
@media (min-width: 1024px) { .hm-hero { height: 800px; } }
/* Match the Next.js <Image object-cover object-position> crop exactly. */
.hm-hero__img {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: right -50px; z-index: 0;
}
@media (min-width: 1024px) { .hm-hero__img { object-position: right -250px; } }
.hm-hero__overlay {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,.5), transparent);
}
.hm-hero__inner {
	position: relative; z-index: 2; height: 100%; display: flex; align-items: flex-end;
	padding-bottom: 45px; padding-top: 40px;
}
@media (min-width: 768px) { .hm-hero__inner { align-items: center; } }
.hm-hero__content { max-width: 672px; text-align: center; margin: 0 auto; }
@media (min-width: 768px) { .hm-hero__content { text-align: left; margin: 0; } }
.hm-hero__title { font-size: 36px; line-height: 1.05; font-weight: 700; margin: 0 0 24px; }
@media (min-width: 640px) { .hm-hero__title { font-size: 48px; } }
@media (min-width: 768px) { .hm-hero__title { font-size: 60px; margin-bottom: 45px; } }
@media (min-width: 1024px) { .hm-hero__title { font-size: 80px; } }
.hm-hero__accent { color: var(--hm-gold); }
.hm-hero__white { color: #fff; }
.hm-hero__sub { color: #fff; font-size: 16px; font-weight: 500; max-width: 576px; margin: 0 auto 32px; line-height: 1.5; }
@media (min-width: 768px) { .hm-hero__sub { font-size: 20px; margin: 0 0 45px; } }
@media (min-width: 1024px) { .hm-hero__sub { font-size: 24px; } }
.hm-hero__cta {
	display: inline-block; padding: 17px 58px;
	background: linear-gradient(to right, var(--hm-gold-2), var(--hm-red));
	color: #fff; font-weight: 600; font-size: 16px; border-radius: 40px;
	text-transform: uppercase; letter-spacing: .03em; transition: transform .3s, box-shadow .3s;
}
@media (min-width: 768px) { .hm-hero__cta { font-size: 20px; } }
.hm-hero__cta:hover { transform: scale(1.05); box-shadow: 0 10px 25px rgba(0,0,0,.2); color: #fff; }

/* =========================================================================
   2. CATEGORIES
   ========================================================================= */
.hm-categories { background: #fff; }
.hm-cat-card { width: 280px; padding-right: 24px; display: block; }
.hm-cat-card__media {
	position: relative; aspect-ratio: 4 / 5; border-radius: 5px 5px 0 0;
	overflow: hidden; background: #e5e7eb;
}
.hm-cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.hm-cat-card:hover .hm-cat-card__media img { transform: scale(1.1); }
.hm-cat-card__cap {
	position: absolute; left: 0; right: 0; bottom: 0; padding: 25px 20px;
	background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
}
.hm-cat-card__parent {
	display: block; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 500;
	text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px;
}
.hm-cat-card__title { color: #fff; font-size: 24px; font-weight: 600; margin: 0; }
.hm-noimg {
	position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
	background: #d1d5db; color: #6b7280; font-size: 14px;
}

/* =========================================================================
   3. BRAND STORY
   ========================================================================= */
.hm-story { background: linear-gradient(to bottom, #ffffff, var(--hm-cream)); }
.hm-story__title { margin-bottom: 50px; }
.hm-story__copy { max-width: 1024px; margin: 0 auto; }
.hm-story__copy p { font-size: 18px; color: var(--hm-body); line-height: 1.65; margin: 0 0 25px; }
.hm-story__cards {
	display: grid; grid-template-columns: 1fr; gap: 24px;
	max-width: 1152px; margin: 56px auto 0;
}
@media (min-width: 640px) { .hm-story__cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hm-story__cards { grid-template-columns: repeat(3, 1fr); margin-top: 64px; } }
.hm-story__card {
	background: #fff; border: 1px solid var(--hm-line); border-radius: 16px;
	padding: 30px 24px; box-shadow: 0 1px 2px rgba(0,0,0,.05);
	transition: box-shadow .3s; text-align: center;
}
.hm-story__card:hover { box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.hm-story__card h3 { font-size: 18px; font-weight: 400; color: var(--hm-ink); margin: 0 0 20px; }
.hm-story__card p { font-size: 14px; color: var(--hm-body); line-height: 1.45; margin: 0; }

/* =========================================================================
   4. NEW ARRIVALS + PRODUCT CARD
   ========================================================================= */
.hm-arrivals { background: #fff; }
.hm-pcard-li { width: 280px; padding-right: 24px; list-style: none; margin: 0; }
.hm-pcard {
	background: #fff; border: 1px solid var(--hm-line-2); border-radius: 8px;
	overflow: hidden; height: 100%; display: flex; flex-direction: column;
}
.hm-pcard__media {
	position: relative; aspect-ratio: 3 / 4; background: #f3f4f6; overflow: hidden; display: block;
}
.hm-pcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.hm-pcard:hover .hm-pcard__media img { transform: scale(1.1); }
.hm-pcard__badge {
	position: absolute; top: 0; left: 0; z-index: 2; background: rgba(181, 65, 61, .82); color: #fff;
	font-size: 13px; font-weight: 500; line-height: 1; padding: 10px 14px; border-radius: 0 0 3px 0;
}
.hm-pcard__oos { position: absolute; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; }
.hm-pcard__oos span { background: #fff; color: #111827; padding: 8px 16px; border-radius: 8px; font-weight: 600; font-size: 14px; }
.hm-pcard__body { padding: 16px; display: flex; flex-direction: column; flex: 1; }
.hm-pcard__name {
	font-size: 16px; font-weight: 400; color: var(--hm-ink); margin: 0 0 8px;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hm-pcard__price {
	display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: 14px;
	border-bottom: 1px solid var(--hm-line-2); padding-bottom: 10px; margin-bottom: 12px; color: var(--hm-muted);
}
.hm-pcard__now { font-weight: 600; color: var(--hm-ink); }
.hm-pcard__mrp { text-decoration: line-through; color: var(--hm-muted); }
.hm-pcard__save { font-size: 12px; font-weight: 500; color: #00a63e; }
.hm-pcard__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 4px; }
.hm-pcard__tag { font-size: 12px; background: var(--hm-line-2); color: var(--hm-body); padding: 4px 12px; border-radius: 999px; }
.hm-pcard__btn {
	display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
	padding: 10px 12px; background: var(--hm-red); color: #fff; font-weight: 500; font-size: 14px;
	border-radius: 8px; border: 0; cursor: pointer; transition: background .2s; margin-top: 16px;
}
.hm-pcard__btn:hover { background: var(--hm-red-dark); color: #fff; }
.hm-pcard__btn.is-disabled { opacity: .5; pointer-events: none; }
.hm-pcard__btn.added::after { display: none; }

/* =========================================================================
   5. PROMO BANNER
   ========================================================================= */
.hm-promo { background: var(--hm-red); padding: 64px 0; }
@media (min-width: 640px) { .hm-promo { padding: 80px 0; } }
.hm-promo__inner { text-align: center; max-width: 896px; margin: 0 auto; }
.hm-promo__inner h2 { color: #fff; font-size: 30px; font-weight: 400; margin: 0 0 16px; }
@media (min-width: 640px) { .hm-promo__inner h2 { font-size: 36px; } }
.hm-promo__inner p { color: #fff; font-size: 18px; margin: 0 0 16px; }
@media (min-width: 640px) { .hm-promo__inner p { font-size: 20px; } }
.hm-promo__btn {
	display: inline-block; padding: 16px 32px; background: #fff; color: var(--hm-red);
	border-radius: 10px; font-size: 16px; box-shadow: 0 10px 20px rgba(0,0,0,.15); transition: transform .3s;
}
.hm-promo__btn:hover { transform: scale(1.05); color: var(--hm-red); }

/* =========================================================================
   6. QUALITY
   ========================================================================= */
.hm-quality { background: linear-gradient(to bottom, #ffffff, var(--hm-cream)); }
.hm-quality__grid { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
@media (min-width: 1024px) { .hm-quality__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.hm-quality__media {
	order: 2; max-width: 564px; width: 100%; margin: 0 auto; aspect-ratio: 1 / 1;
	border-radius: 10px; overflow: hidden; background: #e5e7eb;
}
.hm-quality__media img { width: 100%; height: 100%; object-fit: cover; }
.hm-quality__body { order: 1; }
@media (min-width: 1024px) { .hm-quality__media { order: 1; } .hm-quality__body { order: 2; } }
.hm-quality__body .hm-h2 { margin-bottom: 23px; font-weight: 600; }
.hm-quality__copy { margin-bottom: 40px; }
.hm-quality__copy p { font-size: 18px; color: var(--hm-body); line-height: 1.65; margin: 0 0 24px; }
.hm-quality__list { display: flex; flex-direction: column; gap: 20px; }
.hm-quality__item h3 { font-size: 18px; font-weight: 400; color: var(--hm-ink); margin: 0 0 2px; }
.hm-quality__item p { font-size: 14px; color: var(--hm-body); margin: 0; }

/* =========================================================================
   7. WHY SHOP
   ========================================================================= */
.hm-why { background: #fff; }
.hm-why-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 640px) { .hm-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .hm-why-grid { grid-template-columns: repeat(4, 1fr); } }
.hm-why-card { text-align: center; }
.hm-why-card__icon {
	width: 56px; height: 56px; border-radius: 999px; background: var(--hm-cream); color: var(--hm-red);
	display: inline-flex; align-items: center; justify-content: center; margin-bottom: 10px;
}
.hm-why-card h3 { font-size: 18px; font-weight: 600; color: #111827; margin: 0 0 5px; }
.hm-why-card p { font-size: 14px; color: var(--hm-body); line-height: 1.55; margin: 0; }

/* =========================================================================
   8. TESTIMONIALS
   ========================================================================= */
.hm-testimonials { background: var(--hm-line-2); }
.hm-testimonials .hm-testi {
	display: flex; flex-direction: column; background: #fff;
	border: 1px solid var(--hm-line-2); border-radius: 16px; padding: 20px 25px;
	box-shadow: 0 1px 2px rgba(0,0,0,.05); margin: 0 24px 0 0; width: 296px;
}
@media (min-width: 640px) { .hm-testimonials .hm-testi { width: 360px; } }
@media (min-width: 1024px) { .hm-testimonials .hm-testi { width: 406px; } }
.hm-stars { display: flex; gap: 4px; color: var(--hm-gold); margin-bottom: 10px; }
.hm-testi blockquote {
	font-size: 15px; color: var(--hm-body); line-height: 1.6; margin: 0 0 10px; padding: 0 0 10px;
	border-bottom: 1px solid var(--hm-line-2); flex-grow: 1;
}
.hm-testi figcaption { display: flex; flex-direction: column; }
.hm-testi__name { font-size: 14px; font-weight: 400; color: var(--hm-ink); }
.hm-testi__role { font-size: 12px; color: var(--hm-muted); margin-top: 4px; }

/* =========================================================================
   FOOTER (black, 4 columns)
   ========================================================================= */
.hm-footer { background: #1c1613; color: #fff; margin-top: 0; border: 0; padding: 0; }
/* Override Storefront's content-box .col-full (overflows with our padding) + kill inherited centering. */
.hm-footer .col-full { box-sizing: border-box; max-width: 1240px; width: 100%; margin: 0 auto; padding-left: 40px; padding-right: 40px; text-align: left; }
.hm-footer, .hm-footer__col { text-align: left; }
@media (max-width: 640px) { .hm-footer .col-full { padding-left: 24px; padding-right: 24px; } }
.hm-footer__grid { display: grid; grid-template-columns: 1fr; gap: 40px 32px; padding-top: 56px; padding-bottom: 48px; align-items: start; margin-top: 20px !important; margin-left: 30px !important;}
@media (min-width: 640px) { .hm-footer__grid { grid-template-columns: repeat(2, 1fr); padding-top: 64px; padding-bottom: 56px; } }
@media (min-width: 960px) { .hm-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr; gap: 40px; padding-top: 80px; padding-bottom: 64px; } }
.hm-footer__grid > .hm-footer__col { min-width: 0; }
/* Pin each column to an explicit track at desktop so nothing can shift/span. */
@media (min-width: 960px) {
	.hm-footer__grid > .hm-footer__col:nth-child(1) { grid-column: 1 !important; }
	.hm-footer__grid > .hm-footer__col:nth-child(2) { grid-column: 2 !important; }
	.hm-footer__grid > .hm-footer__col:nth-child(3) { grid-column: 3 !important; }
	.hm-footer__grid > .hm-footer__col:nth-child(4) { grid-column: 4 !important; }
	.hm-footer__grid > .hm-footer__col:nth-child(5) { grid-column: 5 !important; }
}
@media (max-width: 959px) { .hm-footer__grid > .hm-footer__brand { grid-column: 1 / -1 !important; } }
.hm-footer__brand .hm-logo--footer { color: #fff; display: inline-flex; align-items: center; justify-content: flex-start; gap: 12px; margin-bottom: 20px; }
.hm-footer__brand .hm-logo__text { color: #fff; font-size: 24px; font-weight: 500; white-space: nowrap; line-height: 1; }
.hm-footer__brand .hm-logo--footer svg { height: 38px; width: auto; flex: none; }
.hm-footer__brand p { color: #fff; font-size: 14px; line-height: 1.55; margin: 0 0 20px; max-width: 320px; }
.hm-footer__col h4 { color: #fff; font-size: 16px; font-weight: 600; margin: 0 0 18px; }
.hm-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.hm-footer__menu a, .hm-footer__menu li { color: #fff !important; font-size: 14px; line-height: 1.5; transition: color .15s; }
.hm-footer__menu a:hover { color: var(--hm-gold); }
.hm-social { display: flex; gap: 16px; }
.hm-social a {
	width: 40px; height: 40px; border-radius: 999px; background: rgba(255,255,255,.1); color: #fff;
	display: inline-flex; align-items: center; justify-content: center; transition: background .2s;
}
.hm-newsletter h5 { color: #fff !important;}
.hm-social a:hover { background: var(--hm-gold); color: #000; }

/* Newsletter */
.hm-newsletter { margin-top: 24px; margin-left: 20px !important; }
.hm-newsletter__title { color: #fff; font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.hm-newsletter__text { color: #fff; font-size: 13px; line-height: 1.5; margin: 0 0 12px; }
.hm-newsletter__form { display: flex; align-items: stretch; max-width: 320px; border-radius: 8px; overflow: hidden; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); }
.hm-newsletter__form input[type="email"] {
	flex: 1; min-width: 0; border: 0; background: transparent; color: #fff;
	padding: 10px 14px; font-size: 14px; outline: none;
}
.hm-newsletter__form input[type="email"]::placeholder { color: #9ca3af; }
.hm-newsletter__form button {
	border: 0; background: var(--hm-gold); color: #000; cursor: pointer;
	padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; transition: background .2s;
}
.hm-newsletter__form button:hover { background: var(--hm-gold-2); }
.hm-newsletter__ok { color: var(--hm-gold); font-size: 13px; margin: 10px 0 0; }

/* Payment badges strip */
.hm-footer__payments {
	display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px;
	padding-top: 20px; padding-bottom: 20px; border-top: 1px solid rgba(255,255,255,.1);
}
.hm-footer__payments-label { color: #fff; font-size: 13px; font-weight: 500; }
.hm-footer__pay-icons { display: flex; flex-wrap: wrap; gap: 8px; color: #fff; }
.hm-pay-badge {
	display: inline-flex; background: rgba(255,255,255,.08); border-radius: 5px; padding: 3px 4px; line-height: 0;
}
.hm-pay-badge svg { display: block; }

/* Bottom bar */
.hm-footer__bar { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0; }
.hm-footer__bar-inner {
	display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center;
}
@media (min-width: 768px) { .hm-footer__bar-inner { flex-direction: row; justify-content: space-between; text-align: left; } }
.hm-footer__copy { color: #fff; font-size: 13px; }
.hm-footer__legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.hm-footer__legal a { color: #fff; font-size: 13px; transition: color .15s; }
.hm-footer__legal a:hover { color: var(--hm-gold); }

/* =========================================================================
   WOOCOMMERCE ARCHIVE / SINGLE restyle
   ========================================================================= */
.hm-theme .woocommerce ul.products {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin: 0;
}
@media (min-width: 768px) { .hm-theme .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
.hm-theme .woocommerce ul.products li.product,
.hm-theme .woocommerce ul.products li.hm-pcard-li {
	width: 100% !important; margin: 0 !important; padding-right: 0 !important; float: none !important;
}
/* Rails keep their fixed-width cards */
.hm-rail.hm-products { display: flex; grid-template-columns: none; }
.hm-rail .hm-pcard-li { width: 280px; padding-right: 24px; }

/* Single product tweaks */
.hm-product-trust {
	list-style: none; margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--hm-line-2);
	display: flex; flex-direction: column; gap: 10px;
}
.hm-product-trust li { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--hm-body); }
.hm-product-trust__ic { color: #00a63e; }
.hm-theme .woocommerce div.product .button,
.hm-theme .woocommerce a.button.alt,
.hm-theme .woocommerce button.button.alt { background: var(--hm-red); color: #fff; border-radius: 8px; }
.hm-theme .woocommerce a.button.alt:hover,
.hm-theme .woocommerce button.button.alt:hover { background: var(--hm-red-dark); }
.hm-theme .woocommerce span.onsale { background: #e7000b; color: #fff; border-radius: 999px; }

/* =========================================================================
   HEADER SEARCH
   ========================================================================= */
.hm-search { position: relative; }
.hm-search__panel {
	position: absolute; top: calc(100% + 12px); right: 0;
	width: 340px; max-width: 80vw;
	background: #fff; border: 1px solid var(--hm-line); border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0,0,0,.12); padding: 12px;
	display: none; z-index: 60;
}
.hm-search.is-open .hm-search__panel { display: block; }
.hm-search__panel input[type="search"] {
	width: 100%; padding: 10px 16px; border: 0; border-radius: 999px;
	background: rgba(230,230,230,.4); font-size: 14px;
}
.hm-search__panel input[type="search"]:focus { outline: 1px solid var(--hm-red); }

/* =========================================================================
   SHOP / CATEGORY ARCHIVE
   ========================================================================= */
.hm-theme.woocommerce-shop .site-content,
.hm-theme.woocommerce .site-content { padding-top: 30px; padding-bottom: 48px; }
.hm-theme .woocommerce-products-header,
.hm-theme .storefront-sorting,
.hm-theme .woocommerce-breadcrumb { padding-left: 50px; padding-right: 50px; }
.hm-theme .woocommerce-products-header__title,
.hm-theme .page-title {
	font-size: 30px; font-weight: 500; color: var(--hm-ink); margin: 0 0 8px;
}
.hm-theme .woocommerce-result-count { color: #4a5565; font-size: 14px; float: none; }
.hm-theme .woocommerce-ordering { margin-bottom: 16px; }
.hm-theme .woocommerce nav.woocommerce-pagination { padding: 24px 0; }
.hm-theme .woocommerce nav.woocommerce-pagination ul li a,
.hm-theme .woocommerce nav.woocommerce-pagination ul li span.current {
	background: #fff; border-color: var(--hm-line);
}
.hm-theme .woocommerce nav.woocommerce-pagination ul li span.current { background: var(--hm-red); color: #fff; }

/* Sidebar widgets (filters) */
.hm-theme .widget-area .widget { margin-bottom: 24px; }
.hm-theme .widget-area .widget-title { font-size: 16px; font-weight: 600; color: var(--hm-ink); }

/* ---- Two-column shop layout + filter sidebar (mirrors FilterSidebar) ---- */
/* Kill Storefront's big breadcrumb gap + content top padding on the shop. */
.hm-theme.woocommerce .woocommerce-breadcrumb,
.hm-theme.woocommerce-page .woocommerce-breadcrumb,
.hm-theme .storefront-breadcrumb {
	margin: 0 !important; padding: 16px 26px 0 !important; font-size: 14px; border: 0 !important;
}
.hm-theme.woocommerce-shop .site-content,
.hm-theme.woocommerce .site-content,
.hm-theme.woocommerce-page .site-content { padding-top: 0 !important; margin-top: 0 !important; }
.hm-theme.woocommerce #primary,
.hm-theme.woocommerce-page #primary,
.hm-theme .content-area,
.hm-theme #primary.content-area { padding-top: 0 !important; margin-top: 0 !important; }
.hm-theme .woocommerce-products-header { display: none !important; }
/* Break the WooCommerce content wrapper out of Storefront's centered col-full
   so the breadcrumb + title + grid all share the same full-width 50px gutter. */
.hm-theme.woocommerce .site-content .col-full,
.hm-theme.woocommerce-page .site-content .col-full {
	max-width: none !important; width: 100% !important;
	padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important;
}
.hm-theme .woocommerce-breadcrumb { text-align: left !important; max-width: none !important; }
.hm-shop { padding: 10px 50px 48px; overflow: hidden; }
.hm-shop__header { margin-top: 0; }
.hm-shop__header { border-bottom: 2px solid var(--hm-line-2); padding-bottom: 0; margin-bottom: 24px; }
.hm-shop__title { font-size: 30px; font-weight: 500; color: var(--hm-ink); margin: 0 0 8px; }
.hm-shop__count { color: #4a5565; font-size: 14px; margin: 0; }
.hm-shop__body { display: flex; align-items: flex-start; gap: 32px; }
.hm-filters {
	flex: 0 0 260px; width: 260px; border: 1px solid var(--hm-line); border-radius: 12px;
	padding: 24px; position: sticky; top: 24px;
}
.hm-filters__title { font-size: 18px; font-weight: 600; color: var(--hm-ink); margin: 0 0 16px; }
.hm-filter { border-top: 1px solid var(--hm-line-2); padding: 16px 0; }
.hm-filter:first-of-type { border-top: 0; padding-top: 0; }
.hm-filter__head {
	width: 100%; display: flex; align-items: center; justify-content: space-between;
	background: none; border: 0; padding: 0; cursor: pointer;
	font-size: 15px; font-weight: 600; color: var(--hm-ink);
}
.hm-filter__chev {
	width: 10px; height: 10px; border-right: 2px solid var(--hm-ink); border-bottom: 2px solid var(--hm-ink);
	transform: rotate(-135deg); transition: transform .15s;
}
.hm-filter.is-collapsed .hm-filter__chev { transform: rotate(45deg); }
.hm-filter__body { margin-top: 14px; display: flex; flex-direction: column; gap: 12px; }
.hm-filter.is-collapsed .hm-filter__body { display: none; }
.hm-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px; color: var(--hm-body); }
.hm-check input { width: 16px; height: 16px; accent-color: var(--hm-red); cursor: pointer; margin: 0; }
.hm-check__count { color: var(--hm-muted); }

/* Product grid inside the shop main column — force left-aligned grid. */
.hm-shop__main { flex: 1 1 auto; min-width: 0; }
.hm-theme .hm-shop__main ul.products,
.hm-shop__main ul.products {
	margin: 0 !important; padding: 0 !important; display: grid !important;
	gap: 24px !important; grid-template-columns: repeat(2, 1fr) !important;
	justify-content: start !important; justify-items: stretch !important;
}
@media (min-width: 1024px) { .hm-theme .hm-shop__main ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 1280px) { .hm-theme .hm-shop__main ul.products { grid-template-columns: repeat(4, 1fr) !important; } }
.hm-shop__main ul.products li.product {
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important;
}
.hm-shop__main ul.products::before,
.hm-shop__main ul.products::after { content: none !important; display: none !important; }

/* Kill the leftover Storefront sorting/result-count bar. */
.hm-theme .storefront-sorting,
.hm-theme .hm-shop .woocommerce-ordering,
.hm-theme .hm-shop .woocommerce-result-count { display: none !important; }

@media (max-width: 900px) {
	.hm-shop { padding: 24px; }
	.hm-shop__body { flex-direction: column; }
	.hm-filters { position: static; width: 100%; flex-basis: auto; }
	.hm-shop__main ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.hm-shop__main ul.products { grid-template-columns: 1fr; }
}

/* =========================================================================
   SINGLE PRODUCT (mirrors ProductInfo / ProductGallery)
   ========================================================================= */
.hm-theme .woocommerce div.product { padding: 30px 50px 0; }
.hm-theme .woocommerce div.product .product_title {
	font-size: 20px; font-weight: 400; line-height: 1.25; color: var(--hm-ink); margin: 0 0 8px;
}
.hm-theme .woocommerce div.product .sku_wrapper { color: var(--hm-muted); font-size: 14px; }
.hm-theme .woocommerce div.product p.price,
.hm-theme .woocommerce div.product span.price {
	color: var(--hm-ink); font-size: 25px; font-weight: 500;
	border-bottom: 1px solid var(--hm-line-2); padding-bottom: 16px; margin-bottom: 16px;
}
.hm-theme .woocommerce div.product p.price del { color: var(--hm-muted); font-size: 20px; font-weight: 400; }
.hm-theme .woocommerce div.product p.price ins { text-decoration: none; }
.hm-theme .woocommerce div.product .woocommerce-product-details__short-description { color: var(--hm-muted); line-height: 1.6; margin-bottom: 8px; }

/* Variation swatches built by hm.js */
.hm-theme .woocommerce div.product .hm-swatch-select { display: none; }
/* Hide WooCommerce's default variation table chrome — we render our own. */
.hm-theme .woocommerce div.product table.variations,
.hm-theme .woocommerce div.product table.variations tbody,
.hm-theme .woocommerce div.product table.variations tr,
.hm-theme .woocommerce div.product table.variations td { display: block; width: 100%; border: 0; padding: 0; margin: 0; }
.hm-theme .woocommerce div.product table.variations td.label { display: none; }
.hm-theme .woocommerce div.product .variations_form .reset_variations { display: inline-block; margin: 4px 0 0; font-size: 13px; }

.hm-swatch-label { font-size: 14px; font-weight: 500; color: var(--hm-ink); margin: 16px 0 12px; }
.hm-swatch-selected { color: var(--hm-body); text-transform: uppercase; font-weight: 400; }

.hm-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 4px; }
/* Size / text pills */
.hm-swatch {
	padding: 8px 24px; border: 1px solid var(--hm-line); border-radius: 8px;
	background: #fff; font-size: 14px; font-weight: 500; text-transform: uppercase; cursor: pointer;
	transition: all .15s; line-height: 1.2;
}
.hm-swatch:hover { background: var(--hm-gold); color: #fff; border-color: var(--hm-gold); }
.hm-swatch.is-active { background: var(--hm-gold); color: #fff; border-color: var(--hm-gold); }

/* Colour circles */
.hm-swatches--color { gap: 12px; }
.hm-swatch--color {
	width: 40px; height: 40px; padding: 0; border-radius: 999px;
	border: 1px solid #d1d5db; text-indent: -9999px; overflow: hidden; transition: transform .15s, border-color .15s;
}
.hm-swatch--color:hover { background-clip: padding-box; border-color: #9ca3af; }
.hm-swatch--color.is-active { border-color: var(--hm-gold); transform: scale(1.1); box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--hm-gold); }

/* Add to cart + Buy Now buttons */
.hm-theme .woocommerce div.product form.cart { display: block; margin-bottom: 20px; }
.hm-theme .woocommerce div.product form.cart .quantity { margin-bottom: 12px; }
.hm-theme .woocommerce div.product form.cart .button,
.hm-theme .woocommerce div.product form.cart .hm-buy-now {
	width: 100%; padding: 16px; font-size: 16px; font-weight: 400; border-radius: 8px; float: none; margin: 0 0 12px;
	display: inline-flex; align-items: center; justify-content: center;
}
.hm-theme .woocommerce div.product form.cart .single_add_to_cart_button { background: var(--hm-red); color: #fff; }
.hm-theme .woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--hm-red-dark); }
.hm-theme .woocommerce div.product form.cart .hm-buy-now { background: var(--hm-gold); color: #fff; }
.hm-theme .woocommerce div.product form.cart .hm-buy-now:hover { background: #e88f2a; }
@media (min-width: 768px) {
	.hm-theme .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
	.hm-theme .woocommerce div.product form.cart .quantity { margin-bottom: 0; flex: 0 0 100%; }
	.hm-theme .woocommerce div.product form.cart .button,
	.hm-theme .woocommerce div.product form.cart .hm-buy-now { flex: 1 1 0; margin: 0; }
}

/* SKU + tax note */
.hm-product-sku { color: var(--hm-muted); font-size: 14px; margin: 0 0 12px; }
.hm-tax-note { color: #757575; font-size: 12px; margin: -8px 0 8px; }

/* Stock dot (green in-stock / red out) */
.hm-theme .woocommerce div.product .stock {
	font-size: 14px; font-weight: 500; display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
}
.hm-theme .woocommerce div.product .stock::before {
	content: ""; width: 8px; height: 8px; border-radius: 999px; display: inline-block;
}
.hm-theme .woocommerce div.product .stock.in-stock { color: #16a34a; }
.hm-theme .woocommerce div.product .stock.in-stock::before { background: #22c55e; }
.hm-theme .woocommerce div.product .stock.out-of-stock { color: #dc2626; }
.hm-theme .woocommerce div.product .stock.out-of-stock::before { background: #ef4444; }

/* Tabs -> accordion (built by hm.js) */
.hm-theme .woocommerce div.product .woocommerce-tabs { margin-top: 40px; }
.hm-theme .woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.hm-acc__head {
	width: 100%; display: flex; align-items: center; justify-content: space-between;
	padding: 20px 0; background: none; border: 0; border-top: 1px solid var(--hm-line-2);
	font-size: 16px; font-weight: 500; color: var(--hm-ink); cursor: pointer; text-align: left;
}
.hm-acc__head:first-of-type { border-top: 0; }
.hm-acc__ic { position: relative; width: 16px; height: 16px; flex: 0 0 16px; }
.hm-acc__ic::before, .hm-acc__ic::after {
	content: ""; position: absolute; background: var(--hm-ink); transition: opacity .15s;
}
.hm-acc__ic::before { top: 7px; left: 0; width: 16px; height: 2px; }
.hm-acc__ic::after { top: 0; left: 7px; width: 2px; height: 16px; }
.hm-acc__head.is-open .hm-acc__ic::after { opacity: 0; }
.hm-theme .woocommerce div.product .hm-acc__panel { padding: 0 0 20px; color: var(--hm-body); line-height: 1.7; }
.hm-theme .woocommerce div.product .hm-acc__panel h2 { display: none; }

.hm-theme .woocommerce div.product .related > h2,
.hm-theme .woocommerce div.product .upsells > h2 {
	font-size: 24px; font-weight: 400; color: var(--hm-ink); margin-bottom: 24px;
}
.hm-theme .woocommerce div.product .related {
	padding-top: 40px; margin-top: 40px;
	background: linear-gradient(180deg, rgba(171,52,48,.05), rgba(171,52,48,0));
}

/* =========================================================================
   CART (mirrors CartItem / CartSummary)
   ========================================================================= */
.hm-theme .woocommerce-cart .site-content { padding: 30px 50px 48px; }
.hm-theme .woocommerce-cart table.cart { border: 0; }
.hm-theme .woocommerce-cart table.cart thead { display: none; }
.hm-theme .woocommerce-cart table.cart tr.cart_item {
	display: flex; align-items: center; gap: 16px;
	background: #fff; border: 1px solid var(--hm-line); border-radius: 8px;
	padding: 16px; margin-bottom: 16px;
}
.hm-theme .woocommerce-cart table.cart td { border: 0; padding: 0; }
.hm-theme .woocommerce-cart table.cart td.product-remove { order: 5; }
.hm-theme .woocommerce-cart table.cart td.product-thumbnail { flex: 0 0 96px; }
.hm-theme .woocommerce-cart table.cart td.product-thumbnail img { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; }
.hm-theme .woocommerce-cart table.cart td.product-name { flex: 1; font-weight: 500; color: var(--hm-ink); }
.hm-theme .woocommerce-cart table.cart td.product-name a { color: var(--hm-ink); }
.hm-theme .woocommerce-cart table.cart td.product-price { color: var(--hm-body); }
.hm-theme .woocommerce-cart table.cart td.product-subtotal { font-weight: 600; color: var(--hm-ink); }
.hm-theme .woocommerce-cart table.cart td.product-quantity .quantity input { width: 64px; }
.hm-theme .woocommerce-cart table.cart td.product-remove a.remove {
	color: var(--hm-muted) !important; font-size: 22px;
}
.hm-theme .woocommerce-cart table.cart td.product-remove a.remove:hover { color: #e7000b !important; background: none; }
.hm-theme .woocommerce-cart .cart-collaterals .cart_totals { border: 1px solid var(--hm-line); border-radius: 8px; padding: 24px; }
.hm-theme .woocommerce-cart .cart_totals h2 { font-size: 20px; font-weight: 600; }
.hm-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: var(--hm-red); color: #fff; border-radius: 8px; font-weight: 500; text-align: center;
}
.hm-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--hm-red-dark); }
.hm-theme .woocommerce a.button, .hm-theme .woocommerce button.button {
	background: var(--hm-red); color: #fff; border-radius: 8px;
}
.hm-theme .woocommerce a.button:hover, .hm-theme .woocommerce button.button:hover { background: var(--hm-red-dark); }

/* =========================================================================
   RESPONSIVE HEADER (mobile)
   ========================================================================= */
@media (max-width: 1023px) {
	.hm-primary-nav { display: none; }
	.hm-primary-nav.is-open {
		display: block; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-bottom: 1px solid var(--hm-line); z-index: 50;
		padding: 8px 24px;
	}
	.hm-header { position: relative; }
	.hm-primary-nav.is-open .hm-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.hm-primary-nav.is-open .hm-menu li { border-bottom: 1px solid var(--hm-line-2); }
	.hm-primary-nav.is-open .hm-menu a { display: block; padding: 12px 0; }
	.hm-nav-toggle { display: inline-flex; flex-direction: column; gap: 4px; background: none; border: 0; cursor: pointer; padding: 4px; }
	.hm-nav-toggle span { width: 22px; height: 2px; background: var(--hm-ink); display: block; }
	.hm-header__inner { gap: 12px; }
}

/* =========================================================================
   SINGLE PRODUCT — final polish (clean, professional layout)
   ========================================================================= */
.hm-theme.single-product div.product,
.hm-theme .woocommerce div.product {
	display: flex !important; flex-wrap: wrap; gap: 48px; padding: 30px 50px 0; align-items: flex-start;
}
.hm-theme.single-product div.product > .woocommerce-product-gallery,
.hm-theme .woocommerce div.product > .woocommerce-product-gallery {
	flex: 0 1 52% !important; width: 52% !important; max-width: 640px; min-width: 300px; margin: 0 !important; float: none !important;
}
.hm-theme.single-product div.product > .entry-summary,
.hm-theme.single-product div.product > .summary,
.hm-theme .woocommerce div.product > .summary {
	flex: 1 1 40% !important; width: auto !important; min-width: 320px; margin: 0 !important; float: none !important; padding: 0;
}
.hm-theme.single-product div.product > .woocommerce-tabs,
.hm-theme.single-product div.product > .related,
.hm-theme.single-product div.product > .upsells,
.hm-theme .woocommerce div.product > .woocommerce-tabs,
.hm-theme .woocommerce div.product > .related,
.hm-theme .woocommerce div.product > .upsells { flex: 1 1 100% !important; width: 100% !important; }

/* Tabs live in the summary column (beside images), under the buttons. */
.hm-theme .woocommerce div.product .summary .woocommerce-tabs,
.hm-theme .woocommerce div.product .entry-summary .woocommerce-tabs {
	width: 100% !important; margin: 16px 0 0 !important; padding: 0 !important; clear: both;
	border-top: 1px solid var(--hm-line);
}
/* Kill Storefront's centered/max-width indent on tab content. */
.hm-theme div.product .woocommerce-tabs .panel,
.hm-theme div.product .hm-acc__panel {
	max-width: none !important; width: auto !important; margin: 0 !important;
	float: none !important; text-align: left !important;
}
.hm-theme div.product .hm-acc__panel > *,
.hm-theme div.product .hm-acc__panel p,
.hm-theme div.product .hm-acc__panel ul,
.hm-theme div.product .hm-acc__panel ol {
	max-width: none !important; margin-left: 0 !important; float: none !important; text-align: left !important;
}
.hm-theme div.product .hm-acc__panel p { margin: 0 0 14px !important; }
.hm-theme div.product .hm-acc__panel ul { padding-left: 20px !important; list-style: disc !important; margin: 12px 0 !important; }
.hm-theme div.product .hm-acc__panel ol { padding-left: 20px !important; margin: 12px 0 !important; }
.hm-theme div.product .hm-acc__panel li { margin: 6px 0 !important; padding: 0 !important; }

/* Custom gallery: vertical thumbnails left + big main image. */
.hm-theme div.product .woocommerce-product-gallery.hm-gallery-wrap { width: 52%; margin: 0; }
.hm-gallery { display: flex; gap: 16px; align-items: flex-start; }
.hm-gallery__thumbs { flex: 0 0 84px; display: flex; flex-direction: column; gap: 12px; }
.hm-gallery__thumb {
	width: 84px; height: 108px; padding: 0; border: 1px solid var(--hm-line); border-radius: 8px;
	overflow: hidden; cursor: pointer; background: none; opacity: .75; transition: opacity .15s, border-color .15s;
}
.hm-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hm-gallery__thumb:hover { opacity: 1; }
.hm-gallery__thumb.is-active { opacity: 1; border-color: var(--hm-gold); }
.hm-gallery__main { flex: 1 1 auto; min-width: 0; position: relative; }
.hm-gallery__img {
	width: 100%; height: auto; border-radius: 10px; display: block; aspect-ratio: 3 / 4; object-fit: cover;
	background: var(--hm-line-2);
}
/* Kill any default/stray WooCommerce sale flash — only our gallery badge shows. */
.hm-theme .woocommerce .onsale:not(.hm-sale-flash) { display: none !important; }
/* Sale badge overlaid on the primary image, top-left rectangular tab. */
.hm-theme .woocommerce div.product .hm-gallery__main .hm-sale-flash.onsale {
	position: absolute; top: 14px; left: 0; right: auto; margin: 0; z-index: 2;
	min-height: 0; min-width: 0; padding: 10px 22px; border-radius: 0 4px 4px 0;
	background: #c58a8a; color: #fff; font-size: 18px; font-weight: 500; line-height: 1;
	text-transform: none; letter-spacing: .3px; box-shadow: 0 2px 6px rgba(0,0,0,.12);
}
@media (max-width: 767px) {
	.hm-theme div.product .woocommerce-product-gallery.hm-gallery-wrap { width: 100%; }
	.hm-gallery { flex-direction: column-reverse; }
	.hm-gallery__thumbs { flex-direction: row; flex: 0 0 auto; overflow-x: auto; }
}

/* Title + price */
.hm-theme.single-product div.product .product_title { font-size: 26px; font-weight: 500; line-height: 1.25; margin: 0 0 10px; }
.hm-theme.single-product div.product p.price,
.hm-theme.single-product div.product .single_variation .price {
	font-size: 26px; font-weight: 600; color: var(--hm-ink);
	border: 0; padding: 0; margin: 4px 0 2px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.hm-theme.single-product div.product p.price del { color: var(--hm-muted); font-size: 18px; font-weight: 400; opacity: 1; }
.hm-theme.single-product div.product p.price ins { text-decoration: none; }

/* Hide WooCommerce default variation chrome + quantity + meta */
.hm-theme.single-product div.product table.variations select,
.hm-theme.single-product div.product .hm-swatch-select,
.hm-theme.single-product div.product table.variations td.label,
.hm-theme.single-product div.product table.variations th.label,
.hm-theme.single-product div.product form.cart .quantity,
.hm-theme.single-product div.product .product_meta,
.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity { display: none !important; }

/* Stock line — clean dot, no stray icons */
.hm-theme.single-product div.product .stock {
	font-size: 14px !important; font-weight: 500 !important; margin: 14px 0 4px !important;
	display: flex !important; align-items: center; gap: 10px; padding: 0 !important; background: none !important;
}
.hm-theme.single-product div.product .stock::after { content: none !important; }
.hm-theme.single-product div.product .stock.in-stock { color: #16a34a !important; }
.hm-theme.single-product div.product .stock.out-of-stock { color: #dc2626 !important; }
.hm-theme.single-product div.product .stock::before {
	content: "" !important; width: 9px; height: 9px; border-radius: 999px; display: inline-block; background: currentColor;
}

/* Add to Cart + Buy Now buttons */
.hm-theme.single-product div.product form.cart {
	display: flex !important; flex-wrap: wrap; gap: 12px; align-items: center; margin: 20px 0 0 !important;
}
.hm-theme.single-product div.product form.cart .button,
.hm-theme.single-product div.product form.cart .hm-buy-now,
.hm-theme.single-product div.product .single_add_to_cart_button {
	flex: 1 1 0 !important; min-width: 160px; margin: 0 !important; float: none !important;
	padding: 16px 20px !important; font-size: 16px !important; font-weight: 500 !important;
	border-radius: 8px !important; border: 0 !important; text-align: center; line-height: 1.2;
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
}
.hm-theme.single-product div.product form.cart .single_add_to_cart_button {
	background: var(--hm-red) !important; color: #fff !important;
}
.hm-theme.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--hm-red-dark) !important; }
.hm-theme.single-product div.product form.cart .hm-buy-now { background: var(--hm-gold) !important; color: #fff !important; }
.hm-theme.single-product div.product form.cart .hm-buy-now:hover { background: #e88f2a !important; }
.hm-theme.single-product div.product form.cart .button.disabled,
.hm-theme.single-product div.product form.cart .single_add_to_cart_button.disabled,
.hm-theme.single-product div.product form.cart .button:disabled { opacity: .5 !important; cursor: not-allowed; }

/* Reset-variations link (subtle) */
.hm-theme.single-product div.product .reset_variations { display: inline-block; margin-top: 8px; font-size: 13px; color: var(--hm-muted); }

/* Single variation price wrap spacing */
.hm-theme.single-product div.product .woocommerce-variation { margin-bottom: 8px; }

@media (max-width: 900px) {
	.hm-theme.single-product div.product { padding: 20px 24px 0; gap: 28px; }
	.hm-theme.single-product div.product form.cart .button,
	.hm-theme.single-product div.product form.cart .hm-buy-now { flex: 1 1 100% !important; }
}

/* ---- Summary spacing polish: kill dead gaps around Select Colors ---- */
.hm-theme.single-product div.product .woocommerce-product-rating,
.hm-theme.single-product div.product .single_variation_wrap .woocommerce-variation-price,
.hm-theme.single-product div.product .woocommerce-product-details__short-description:empty { display: none !important; }
.hm-theme.single-product div.product .product_title { margin: 0 0 8px !important; }
.hm-theme.single-product div.product p.price { margin: 0 0 2px !important; }
.hm-theme.single-product div.product .hm-tax-note { margin: 0 0 0 !important; }
.hm-theme.single-product div.product .hm-product-sku { margin: 0 0 6px !important; }
.hm-theme.single-product div.product .stock { margin: 8px 0 0 !important; }
.hm-theme.single-product div.product .woocommerce-product-details__short-description { margin: 6px 0 0 !important; }
/* Variations block: no dead vertical space */
.hm-theme.single-product div.product table.variations { margin: 0 !important; }
.hm-theme.single-product div.product table.variations tbody,
.hm-theme.single-product div.product table.variations tr,
.hm-theme.single-product div.product table.variations td { margin: 0 !important; padding: 0 !important; line-height: normal !important; }
.hm-theme.single-product div.product .hm-swatch-label { margin: 10px 0 8px !important; }
.hm-theme.single-product div.product .hm-swatches { margin: 0 !important; }
.hm-theme.single-product div.product .reset_variations { margin: 6px 0 0 !important; }
.hm-theme.single-product div.product .single_variation_wrap { margin: 0 !important; }
.hm-theme.single-product div.product .woocommerce-variation-add-to-cart { margin: 10px 0 0 !important; }
.hm-theme.single-product div.product .single_variation { margin: 0 !important; }
.hm-theme.single-product div.product form.cart { margin: 10px 0 0 !important; }
/* Trust rows tighter */
.hm-theme.single-product div.product .hm-product-trust { margin: 12px 0 0 !important; padding: 12px 0 0 !important; gap: 6px; }
/* Accordion sits closer */
.hm-theme .woocommerce div.product .summary .woocommerce-tabs { margin-top: 16px !important; }
/* Hide the admin "Edit" link on single products. */
.hm-theme.single-product .summary .post-edit-link,
.hm-theme.single-product .entry-summary .post-edit-link { display: none !important; }

/* ---- Kill Storefront's gray-button + purple focus border everywhere ---- */
.hm-theme a:focus,
.hm-theme button:focus,
.hm-theme a:active,
.hm-theme button:active,
.hm-theme [tabindex]:focus { outline: 0 !important; box-shadow: none !important; }

/* Accordion head — definitive clean styling (selector that actually matches). */
.hm-theme .hm-acc__head,
.hm-theme .hm-acc__head:link,
.hm-theme .hm-acc__head:visited,
.hm-theme .hm-acc__head:hover,
.hm-theme .hm-acc__head:focus,
.hm-theme .hm-acc__head:active,
.hm-theme .hm-acc__head:focus-visible {
	width: 100%; display: flex !important; align-items: center; justify-content: space-between;
	background: #fff !important; border: 0 !important; border-top: 1px solid var(--hm-line) !important;
	border-radius: 0 !important; box-shadow: none !important; outline: 0 !important;
	padding: 18px 2px !important; margin: 0 !important;
	font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
	color: var(--hm-ink) !important; cursor: pointer; text-align: left;
}
.hm-theme .hm-acc__head:hover,
.hm-theme .hm-acc__head.is-open { color: var(--hm-red) !important; }
.hm-theme .hm-acc__head:first-of-type { border-top: 0 !important; }

/* ---- Accordion: clean, fancy (override Storefront's gray button style) ---- */
.hm-theme .woocommerce div.product .summary .woocommerce-tabs { margin-top: 28px !important; border-top: 1px solid var(--hm-line); }
.hm-theme .woocommerce div.product .hm-acc__head {
	width: 100%; display: flex !important; align-items: center; justify-content: space-between;
	padding: 20px 2px !important; margin: 0 !important;
	background: #fff !important; border: 0 !important; border-bottom: 1px solid var(--hm-line) !important;
	box-shadow: none !important; outline: none !important; border-radius: 0 !important;
	font-size: 15px !important; font-weight: 600 !important; color: var(--hm-ink) !important;
	cursor: pointer; text-align: left; transition: color .15s;
	text-transform: none !important; letter-spacing: 0 !important;
}
.hm-theme .woocommerce div.product .hm-acc__head:hover { background: #fff !important; color: var(--hm-red) !important; }
.hm-theme .woocommerce div.product .hm-acc__head.is-open { color: var(--hm-red) !important; border-bottom-color: var(--hm-red) !important; }
.hm-theme .woocommerce div.product .hm-acc__head:focus { background: #fff !important; }
/* +/- icon */
.hm-acc__ic { position: relative; width: 16px; height: 16px; flex: 0 0 16px; }
.hm-acc__ic::before, .hm-acc__ic::after { content: ""; position: absolute; background: currentColor; transition: opacity .15s, transform .2s; }
.hm-acc__ic::before { top: 7px; left: 0; width: 16px; height: 2px; }
.hm-acc__ic::after { top: 0; left: 7px; width: 2px; height: 16px; }
.hm-theme .woocommerce div.product .hm-acc__head.is-open .hm-acc__ic::after { opacity: 0; }
.hm-theme .woocommerce div.product .hm-acc__panel {
	padding: 16px 2px 22px !important; color: var(--hm-body); line-height: 1.7; font-size: 14px;
}
.hm-theme .woocommerce div.product .hm-acc__panel ul { margin: 8px 0; padding-left: 18px; }
.hm-theme .woocommerce div.product .hm-acc__panel li { margin: 4px 0; }

/* ========================================================================
   FINAL: collapse dead vertical space in the variable-product summary.
   Uses .hm-theme div.product (both classes are on <body>, so a descendant
   ".woocommerce" combinator would NOT match — this one always does).
   ======================================================================== */
.hm-theme div.product .stock { margin: 12px 0 0 !important; }
.hm-theme div.product form.cart { margin: 14px 0 0 !important; }
.hm-theme div.product form.cart.variations_form { display: block !important; }
.hm-theme div.product table.variations,
.hm-theme div.product table.variations tbody,
.hm-theme div.product table.variations tr,
.hm-theme div.product table.variations td,
.hm-theme div.product .single_variation_wrap,
.hm-theme div.product .single_variation,
.hm-theme div.product .woocommerce-variation,
.hm-theme div.product .woocommerce-variation-add-to-cart {
	margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: normal !important;
}
.hm-theme div.product .single_variation:empty,
.hm-theme div.product .woocommerce-variation:empty,
.hm-theme div.product .woocommerce-variation-description:empty { display: none !important; }
.hm-theme div.product .hm-swatch-label { margin: 0 0 10px !important; }
.hm-theme div.product .hm-swatches { margin: 0 !important; }
.hm-theme div.product .woocommerce-variation-add-to-cart { margin: 16px 0 0 !important; }
.hm-theme div.product .reset_variations { margin: 8px 0 0 !important; display: inline-block; }
/* Buttons row side-by-side, tight */
.hm-theme div.product .woocommerce-variation-add-to-cart.variations_button {
	display: flex !important; flex-wrap: wrap; gap: 12px; align-items: center;
}

/* ========================================================================
   Sticky add-to-cart bar (Storefront) — brand styling.
   ======================================================================== */
.hm-theme .storefront-sticky-add-to-cart {
	background: #fff !important; border-top: 1px solid var(--hm-line) !important;
	box-shadow: 0 -6px 20px rgba(0,0,0,.06); padding: 12px 0 !important;
}
.hm-theme .storefront-sticky-add-to-cart__content { display: flex !important; align-items: center; gap: 16px; }
.hm-theme .storefront-sticky-add-to-cart__content-product-image img {
	width: 52px !important; height: 52px !important; object-fit: cover; border-radius: 8px; border: 1px solid var(--hm-line);
}
.hm-theme .storefront-sticky-add-to-cart__content-title { font-weight: 500; color: var(--hm-ink); }
.hm-theme .storefront-sticky-add-to-cart__content-title .price,
.hm-theme .storefront-sticky-add-to-cart__content-title .amount { color: var(--hm-body); font-weight: 600; }
.hm-theme .storefront-sticky-add-to-cart__content-button { margin-left: auto; }
.hm-theme .storefront-sticky-add-to-cart__content-button .button {
	background: var(--hm-red) !important; color: #fff !important; border: 0 !important;
	border-radius: 8px !important; padding: 14px 40px !important; font-weight: 500 !important;
	font-size: 15px !important; box-shadow: none !important; transition: background .15s;
}
.hm-theme .storefront-sticky-add-to-cart__content-button .button:hover { background: var(--hm-red-dark) !important; }

/* Sticky bar button — force brand red on every button variant. */
body.hm-theme .storefront-sticky-add-to-cart a,
body.hm-theme .storefront-sticky-add-to-cart a.button,
body.hm-theme .storefront-sticky-add-to-cart button,
body.hm-theme .storefront-sticky-add-to-cart button.button,
body.hm-theme .storefront-sticky-add-to-cart .single_add_to_cart_button,
body.hm-theme .storefront-sticky-add-to-cart__content-button > * {
	background: var(--hm-red) !important; background-color: var(--hm-red) !important;
	color: #fff !important; border: 0 !important; border-radius: 8px !important;
	padding: 14px 44px !important; font-weight: 500 !important; font-size: 15px !important;
	box-shadow: none !important; text-decoration: none !important;
}
body.hm-theme .storefront-sticky-add-to-cart a:hover,
body.hm-theme .storefront-sticky-add-to-cart button:hover,
body.hm-theme .storefront-sticky-add-to-cart .single_add_to_cart_button:hover,
body.hm-theme .storefront-sticky-add-to-cart__content-button > *:hover {
	background: var(--hm-red-dark) !important; background-color: var(--hm-red-dark) !important;
}

/* Sticky bar — horizontal gutter to match the site. */
body.hm-theme .storefront-sticky-add-to-cart__content { padding-left: 50px !important; padding-right: 50px !important; }
@media (max-width: 900px) {
	body.hm-theme .storefront-sticky-add-to-cart__content { padding-left: 24px !important; padding-right: 24px !important; }
}

/* ========================================================================
   "You May Also Like" (related) — horizontal rail, smaller cards, gradient bg.
   (.hm-theme div.product — matches; .woocommerce descendant would not.)
   ======================================================================== */
.hm-theme div.product .related.products,
.hm-theme div.product .related {
	flex: 1 1 100% !important; width: 100% !important;
	background: linear-gradient(180deg, rgba(171,52,48,.05), rgba(171,52,48,0)) !important;
	margin: 40px 0 0 !important; padding: 40px 50px !important; border: 0 !important;
}
.hm-theme div.product .related > h2 {
	font-size: 24px !important; font-weight: 500 !important; color: var(--hm-ink) !important;
	text-align: left !important; margin: 0 0 24px !important;
}
/* Horizontal scroll rail */
.hm-theme div.product .related ul.products {
	display: flex !important; flex-wrap: nowrap !important; gap: 20px !important;
	grid-template-columns: none !important; overflow-x: auto !important; padding-bottom: 12px !important;
	margin: 0 !important; scroll-snap-type: x proximity;
	-ms-overflow-style: none; scrollbar-width: none;
}
.hm-theme div.product .related ul.products::-webkit-scrollbar { display: none; }
.hm-theme div.product .related ul.products li.product {
	flex: 0 0 240px !important; width: 240px !important; margin: 0 !important; padding: 0 !important; scroll-snap-align: start;
}
/* Smaller card image inside the rail */
.hm-theme div.product .related .hm-pcard__media { aspect-ratio: 3 / 4; }
.hm-theme div.product .related .hm-pcard__name { font-size: 14px; }
.hm-theme div.product .related .hm-pcard__btn { padding: 10px; font-size: 13px; }
@media (max-width: 900px) {
	.hm-theme div.product .related { padding: 32px 24px !important; }
	.hm-theme div.product .related ul.products li.product { flex-basis: 200px !important; width: 200px !important; }
}

/* Related: full-width gradient (no side padding on container), centered title,
   gutter moved to the inner rail so cards don't touch the edges. */
body.hm-theme div.product .related { padding: 40px 0 !important; }
body.hm-theme div.product .related > h2 { text-align: center !important; padding: 0 50px; }
body.hm-theme div.product .related ul.products { padding: 0 50px 12px !important; }
@media (max-width: 900px) {
	body.hm-theme div.product .related > h2 { padding: 0 24px; }
	body.hm-theme div.product .related ul.products { padding: 0 24px 12px !important; }
}

/* Related: break out of div.product's 50px side padding for a full-bleed bg. */
body.hm-theme div.product .related {
	margin-left: -50px !important; margin-right: -50px !important; width: calc(100% + 100px) !important;
}
@media (max-width: 900px) {
	body.hm-theme div.product .related {
		margin-left: -24px !important; margin-right: -24px !important; width: calc(100% + 48px) !important;
	}
}

/* PRODUCT REVIEWS — simple marketplace-style layout */
body.hm-theme.single-product div.product > .hm-product-reviews-section {
	display: grid !important;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	column-gap: clamp(40px, 6vw, 84px);
	row-gap: 0;
	margin-top: 8px;
	padding: 38px 0 54px;
}
body.hm-theme.single-product .hm-product-reviews-section__header {
	grid-column: 1 / -1;
	display: block;
	margin: 0 0 28px;
	padding: 0 0 16px;
	border-bottom: 1px solid #e7e4e1;
}
body.hm-theme.single-product .hm-product-reviews-section__header h2 {
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 600;
	letter-spacing: 0;
}
body.hm-theme.single-product .hm-product-reviews-overview {
	grid-column: 1;
	grid-row: 2;
	min-width: 0;
}
body.hm-theme.single-product .hm-product-reviews-overview__score {
	display: flex;
	align-items: center;
	gap: 12px;
}
body.hm-theme.single-product .hm-product-reviews-overview__score > strong {
	color: #24211f;
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
}
body.hm-theme.single-product .hm-product-reviews-overview__score > div {
	display: grid;
	gap: 5px;
}
body.hm-theme.single-product .hm-product-reviews-overview__score .star-rating {
	float: none;
	margin: 0;
	color: #f29a38;
	font-size: 14px;
}
body.hm-theme.single-product .hm-product-reviews-overview__score span,
body.hm-theme.single-product .hm-product-reviews-overview__count {
	color: #6e6864;
	font-size: 12px;
}
body.hm-theme.single-product .hm-product-reviews-overview__count {
	margin: 12px 0 20px !important;
}
body.hm-theme.single-product .hm-product-reviews-overview__bars {
	display: grid;
	gap: 10px;
}
body.hm-theme.single-product .hm-product-reviews-overview__bar {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 34px;
	align-items: center;
	gap: 9px;
	color: #6e6864;
	font-size: 11px;
	line-height: 1;
}
body.hm-theme.single-product .hm-product-reviews-overview__track {
	height: 7px;
	overflow: hidden;
	border-radius: 999px;
	background: #ece9e6;
}
body.hm-theme.single-product .hm-product-reviews-overview__track i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #f29a38;
}
body.hm-theme.single-product .hm-product-reviews-overview__action {
	margin-top: 26px;
	padding-top: 24px;
	border-top: 1px solid #e7e4e1;
}
body.hm-theme.single-product .hm-product-reviews-overview__action h3 {
	margin: 0 0 5px !important;
	color: #292522;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.4;
}
body.hm-theme.single-product .hm-product-reviews-overview__action p {
	margin: 0 0 14px !important;
	color: #6e6864;
	font-size: 11px;
	line-height: 1.5;
}
body.hm-theme.single-product .hm-review-form-toggle {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 42px;
	min-height: 42px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid #8d8580;
	border-radius: 999px;
	background: #fff;
	color: #292522;
	box-shadow: none;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
body.hm-theme.single-product .hm-review-form-toggle:hover,
body.hm-theme.single-product .hm-review-form-toggle:focus-visible,
body.hm-theme.single-product .hm-review-form-toggle[aria-expanded="true"] {
	border-color: var(--hm-red);
	background: #fff;
	color: var(--hm-red);
}
body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper[hidden] {
	display: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section #reviews {
	display: contents !important;
}
body.hm-theme.single-product .hm-product-reviews-section #reviews > .clear {
	display: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section #comments {
	grid-column: 2;
	grid-row: 2 / span 2;
	align-self: start;
}
body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper {
	grid-column: 1;
	grid-row: 3;
	align-self: start;
	margin-top: 28px !important;
	padding: 26px 0 0;
	border: 0;
	border-top: 1px solid #e7e4e1;
	border-radius: 0;
	background: transparent;
}
body.hm-theme.single-product .hm-product-reviews-section #reply-title {
	margin-bottom: 14px;
	font-size: 16px;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-notes,
body.hm-theme.single-product .hm-product-reviews-section .comment-form-cookies-consent {
	color: #77716d;
	font-size: 11px;
	line-height: 1.5;
}
body.hm-theme.single-product .hm-product-reviews-section .commentlist li.review {
	padding: 0 0 26px !important;
	margin: 0 0 26px !important;
}
body.hm-theme.single-product .hm-product-reviews-section .commentlist li.review:last-child {
	margin-bottom: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section .comment_container {
	grid-template-columns: 40px minmax(0, 1fr) !important;
	gap: 12px;
}
body.hm-theme.single-product .hm-product-reviews-section .comment_container img.avatar {
	width: 40px !important;
	height: 40px !important;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-text .star-rating {
	font-size: 13px;
}
body.hm-theme.single-product .hm-product-reviews-section .meta {
	margin: 6px 0 8px !important;
}
body.hm-theme.single-product .hm-product-reviews-section .meta strong {
	color: #292522;
	font-size: 12px;
	font-weight: 600;
}
body.hm-theme.single-product .hm-product-reviews-section .description,
body.hm-theme.single-product .hm-product-reviews-section .description p {
	color: #403b38;
	font-size: 13px;
	line-height: 1.7;
}
body.hm-theme.single-product .hm-product-reviews-section textarea {
	min-height: 104px;
}
body.hm-theme.single-product .hm-product-reviews-section #submit {
	width: 100%;
	min-height: 42px;
	padding-inline: 18px;
}
body.hm-theme.single-product .hm-product-reviews-section .woocommerce-noreviews {
	padding: 0;
	border: 0;
	background: transparent;
	color: #6e6864;
}
@media (max-width: 820px) {
	body.hm-theme.single-product div.product > .hm-product-reviews-section {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 32px 40px;
	}
	body.hm-theme.single-product .hm-product-reviews-section__header {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 22px;
	}
	body.hm-theme.single-product .hm-product-reviews-overview {
		grid-column: 1;
		grid-row: 2;
		max-width: 360px;
	}
	body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper {
		grid-column: 1;
		grid-row: 3;
		margin: 26px 0 30px !important;
		padding-top: 24px;
	}
	body.hm-theme.single-product .hm-product-reviews-section #comments {
		grid-column: 1;
		grid-row: 4;
		padding-top: 28px;
		border-top: 1px solid #e7e4e1;
	}
}
@media (max-width: 560px) {
	body.hm-theme.single-product .hm-product-reviews-section__header h2 {
		font-size: 20px !important;
	}
	body.hm-theme.single-product .hm-product-reviews-overview__score > strong {
		font-size: 30px;
	}
	body.hm-theme.single-product .hm-product-reviews-section .comment_container {
		grid-template-columns: 36px minmax(0, 1fr) !important;
	}
	body.hm-theme.single-product .hm-product-reviews-section .comment_container img.avatar {
		width: 36px !important;
		height: 36px !important;
	}
}

/* Product summary: compact, flat reference treatment. */
body.hm-theme.single-product div.product > .summary {
	max-width: 560px;
}
body.hm-theme.single-product div.product .product_title {
	margin: 0 0 14px !important;
	font-size: clamp(20px, 1.8vw, 24px) !important;
	font-weight: 500 !important;
	line-height: 1.35;
	letter-spacing: 0 !important;
}
body.hm-theme.single-product div.product p.price,
body.hm-theme.single-product div.product .single_variation .price {
	margin: 0 0 5px !important;
	color: #252525 !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.35;
}
body.hm-theme.single-product div.product p.price del {
	font-size: 16px !important;
	font-weight: 400 !important;
}
body.hm-theme.single-product div.product .hm-tax-note {
	margin: 0 !important;
	font-size: 12px;
	color: #757575;
}
body.hm-theme.single-product div.product .stock.in-stock { display: none !important; }
body.hm-theme.single-product div.product .stock.out-of-stock {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	border-radius: 0;
	background: transparent !important;
}
body.hm-theme.single-product div.product form.cart.variations_form {
	margin-top: 25px !important;
	padding-top: 0 !important;
	border-top: 0 !important;
}
body.hm-theme.single-product div.product .hm-swatch-label {
	margin: 0 0 12px !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	text-transform: uppercase;
}
body.hm-theme.single-product div.product table.variations tr + tr .hm-swatch-label {
	margin-top: 24px !important;
}
body.hm-theme.single-product div.product .hm-swatch-selected { display: none; }
body.hm-theme.single-product div.product .hm-swatches { gap: 10px; }
body.hm-theme.single-product div.product .hm-swatch:not(.hm-swatch--color) {
	min-width: 52px;
	min-height: 50px;
	padding: 8px 12px;
	border-color: #9b9b9b;
	border-radius: 5px;
	background: #fff;
	font-size: 14px;
}
body.hm-theme.single-product div.product .hm-swatch--color {
	width: 58px;
	height: auto;
	min-width: 58px;
	min-height: 0;
	display: inline-flex;
	flex-direction: column;
	gap: 6px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	color: #666;
	text-indent: 0;
	overflow: visible;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.2;
}
body.hm-theme.single-product .hm-swatch--color .hm-swatch__color {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	border: 1px solid #aaa;
	box-shadow: 0 0 0 2px #fff;
}
body.hm-theme.single-product .hm-swatch--color .hm-swatch__text {
	display: block;
	max-width: 58px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
body.hm-theme.single-product div.product .hm-swatch--color.is-active {
	border: 0;
	background: transparent !important;
	color: #555;
	transform: none;
	box-shadow: none !important;
}
body.hm-theme.single-product div.product .hm-swatch--color.is-active .hm-swatch__color {
	border-color: #f16045;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px #f16045;
}
body.hm-theme.single-product div.product .reset_variations {
	margin-top: 10px !important;
	font-size: 11px;
}

/* Reference purchase row: no quantity card; equal, square-edged actions. */
body.hm-theme.single-product div.product form.cart .quantity,
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity {
	display: none !important;
}
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button {
	margin-top: 30px !important;
	display: flex !important;
	gap: 24px;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart .hm-buy-now {
	min-width: 0 !important;
	height: 50px;
	min-height: 50px !important;
	padding: 0 20px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: .08em;
}

/* Benefits are plain rows, never cards. */
body.hm-theme.single-product div.product .hm-product-trust {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 30px;
	margin: 28px 0 0 !important;
	padding: 25px 0 27px !important;
	border-top: 1px solid #f0f0f0;
	border-bottom: 1px solid #f0f0f0;
}
body.hm-theme.single-product div.product .hm-product-trust li {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.single-product .hm-product-trust__ic {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #b54843;
}
body.hm-theme.single-product .hm-product-trust__ic svg { width: 22px; height: 22px; }
body.hm-theme.single-product .hm-product-trust strong {
	color: #292929;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
}
body.hm-theme.single-product .hm-product-trust small { display: none; }

/* Tight, understated accordion matching the reference rhythm. */
body.hm-theme.single-product div.product .summary .woocommerce-tabs {
	margin-top: 0 !important;
	border-top: 0 !important;
}
body.hm-theme.single-product div.product .hm-acc__head {
	min-height: 0;
	padding: 21px 2px !important;
	border-bottom: 1px solid #eeeeee !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
}
body.hm-theme.single-product div.product .hm-acc__head.is-open {
	color: #292929 !important;
	border-bottom-color: #eeeeee !important;
}
body.hm-theme.single-product div.product .hm-acc__panel {
	padding: 15px 2px 20px !important;
	font-size: 13px;
	line-height: 1.65;
}

@media (max-width: 560px) {
	body.hm-theme.single-product div.product .product_title { font-size: 20px !important; }
	body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button,
	body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
	body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) { gap: 10px; }
	body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
	body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
	body.hm-theme.single-product div.product form.cart .hm-buy-now {
		min-width: 0 !important;
		font-size: 11px !important;
		letter-spacing: .05em;
	}
	body.hm-theme.single-product div.product .hm-product-trust {
		gap: 18px 14px;
		padding-block: 22px !important;
	}
	body.hm-theme.single-product .hm-product-trust strong { font-size: 11px; }
}

/* Compact cart confirmation toast — clear of header actions at every size. */
body.hm-theme .woocommerce-notices-wrapper > .woocommerce-message,
body.hm-theme .woocommerce-message[role="alert"] {
	position: fixed !important;
	top: 108px !important;
	right: 18px !important;
	left: auto !important;
	z-index: 9998 !important;
	width: min(360px, calc(100vw - 36px)) !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 12px 12px 12px 40px !important;
	border: 0 !important;
	border-left: 4px solid #0d7446 !important;
	border-radius: 7px !important;
	background: #168a53 !important;
	color: #fff !important;
	box-shadow: 0 9px 24px rgba(18, 73, 47, .18) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}
body.hm-theme .woocommerce-notices-wrapper > .woocommerce-message::before,
body.hm-theme .woocommerce-message[role="alert"]::before {
	top: 50% !important;
	left: 14px !important;
	transform: translateY(-50%);
	color: #fff !important;
	font-size: 15px !important;
}
body.hm-theme .woocommerce-notices-wrapper > .woocommerce-message .button,
body.hm-theme .woocommerce-message[role="alert"] .button {
	order: 2;
	flex: 0 0 auto;
	float: none !important;
	min-height: 34px !important;
	height: 34px;
	margin: 0 0 0 auto !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: var(--hm-red) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 34px !important;
	white-space: nowrap;
}
@media (max-width: 560px) {
	body.hm-theme .woocommerce-notices-wrapper > .woocommerce-message,
	body.hm-theme .woocommerce-message[role="alert"] {
		top: auto !important;
		right: 12px !important;
		bottom: 12px !important;
		width: calc(100vw - 24px) !important;
		padding: 11px 11px 11px 38px !important;
	}
	body.hm-theme .woocommerce-notices-wrapper > .woocommerce-message .button,
	body.hm-theme .woocommerce-message[role="alert"] .button {
		min-height: 32px !important;
		height: 32px;
		padding-inline: 10px !important;
		line-height: 32px !important;
	}
}

/* Related: bulletproof full-bleed regardless of any parent padding/width. */
body.hm-theme div.product .related.products,
body.hm-theme div.product .related {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw !important; max-width: 100vw !important;
}

/* Related: symmetric full-bleed (standard trick) + kill horizontal overflow. */
body.hm-theme div.product .related.products,
body.hm-theme div.product .related {
	position: relative !important; left: 50% !important; right: 50% !important;
	margin-left: -50vw !important; margin-right: -50vw !important;
	width: 100vw !important; max-width: 100vw !important;
}
body.hm-theme, body.hm-theme #page { overflow-x: hidden !important; }

/* Related: FINAL — undo the broken vw/position hacks; clean symmetric bleed. */
body.hm-theme div.product .related.products,
body.hm-theme div.product .related {
	position: static !important; left: auto !important; right: auto !important;
	width: auto !important; max-width: none !important;
	margin-left: -50px !important; margin-right: -50px !important;
	display: block !important;
}
@media (max-width: 900px) {
	body.hm-theme div.product .related.products,
	body.hm-theme div.product .related { margin-left: -24px !important; margin-right: -24px !important; }
}
body.hm-theme, body.hm-theme #page { overflow-x: visible !important; }

/* Related: force full parent width so the gradient fills right side too. */
body.hm-theme div.product .related.products,
body.hm-theme div.product .related {
	flex: 1 1 100% !important;
	width: calc(100% + 100px) !important; max-width: none !important; min-width: 0 !important;
	box-sizing: border-box !important;
}
@media (max-width: 900px) {
	body.hm-theme div.product .related.products,
	body.hm-theme div.product .related { width: calc(100% + 48px) !important; }
}

/* Full-width content on shop/product (no sidebar column). */
body.hm-theme.woocommerce #primary,
body.hm-theme.woocommerce-page #primary,
body.hm-theme.single-product #primary,
body.hm-theme.woocommerce .content-area,
body.hm-theme.woocommerce-page .content-area {
	width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important;
}
body.hm-theme.woocommerce #secondary,
body.hm-theme.woocommerce-page #secondary,
body.hm-theme.single-product #secondary { display: none !important; }

/* ========================================================================
   AUTHORITATIVE: full-width content on shop/product (kill right-sidebar
   70% float that was leaving 30% white on the right). Single source.
   ======================================================================== */
body.hm-theme.woocommerce .col-full,
body.hm-theme.woocommerce-page .col-full { max-width: 100% !important; width: 100% !important; margin: 0 !important; }
body.hm-theme.woocommerce #primary.content-area,
body.hm-theme.woocommerce-page #primary.content-area,
body.hm-theme.single-product #primary.content-area,
body.hm-theme.woocommerce main#main,
body.hm-theme.woocommerce-page main#main {
	width: 100% !important; max-width: 100% !important; float: none !important; clear: both !important; margin: 0 !important;
}
body.hm-theme.woocommerce #secondary,
body.hm-theme.woocommerce-page #secondary { display: none !important; }
/* Related full-bleed: flex-basis 100% + margins into div.product's 50px pad. */
body.hm-theme div.product .related.products,
body.hm-theme div.product .related {
	position: static !important; left: auto !important; right: auto !important;
	flex: 1 1 100% !important; width: auto !important; max-width: none !important;
	margin: 40px -50px 0 !important;
}
@media (max-width: 900px) {
	body.hm-theme div.product .related.products,
	body.hm-theme div.product .related { margin: 32px -24px 0 !important; }
}

/* GoKwik "Buy Now" button — gold, beside Add to Cart (opens GoKwik modal). */
body.hm-theme div.product form.cart .gk-buy-now-btn,
body.hm-theme div.product .gk-buy-now-btn {
	background: var(--hm-gold) !important; color: #fff !important; border: 0 !important;
	border-radius: 8px !important; padding: 16px 20px !important; font-size: 16px !important; font-weight: 500 !important;
	flex: 1 1 0 !important; min-width: 160px; margin: 0 !important; box-shadow: none !important;
	display: inline-flex !important; align-items: center; justify-content: center; float: none !important;
}
body.hm-theme div.product .gk-buy-now-btn:hover { background: #e88f2a !important; }
body.hm-theme div.product .gk-buy-now-btn.disabled { opacity: .5 !important; cursor: not-allowed; }
@media (max-width: 900px) {
	body.hm-theme div.product .gk-buy-now-btn { flex: 1 1 100% !important; }
}

/* ========================================================================
   CART PAGE — custom two-column layout (mirrors frontend).
   ======================================================================== */
.hm-theme.woocommerce-cart .site-content .col-full,
.hm-theme.woocommerce-cart .site-content { padding: 0 !important; margin: 0 !important; }
.hm-cart { padding: 0; }
.hm-cart__grid { display: flex; align-items: stretch; gap: 0; }
.hm-cart__main { flex: 1 1 auto; min-width: 0; padding: 24px 32px 24px 50px; background: #fff; }
.hm-cart__aside {
	flex: 0 0 480px; background: var(--hm-cream);
	padding: 24px 50px 24px 36px;
}
.hm-cart__head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.hm-cart__title { font-size: 24px; font-weight: 600; color: var(--hm-ink); margin: 0; letter-spacing: .02em; }
.hm-cart__count { color: var(--hm-muted); font-size: 15px; }

/* Cart item row */
.hm-citem { display: flex; align-items: flex-start; gap: 18px; padding: 16px 0; position: relative; }
.hm-citem + .hm-citem { border-top: 1px solid var(--hm-line-2); }
.hm-citem__thumb { flex: 0 0 80px; }
.hm-citem__thumb img { width: 80px; height: 104px; object-fit: cover; border-radius: 8px; }
.hm-citem__info { flex: 1 1 auto; min-width: 0; }
.hm-citem__name { display: block; font-size: 16px; font-weight: 500; color: var(--hm-ink); margin: 0 0 4px; text-decoration: none !important; }
.hm-citem__meta { color: var(--hm-muted); font-size: 14px; margin: 0 0 8px; }
.hm-citem__meta dl, .hm-citem__meta dd, .hm-citem__meta dt { display: inline; margin: 0; font-weight: 400; }
.hm-citem__meta dt::after { content: " "; }
.hm-citem__actions { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.hm-citem__edit, .hm-citem__wishlist { color: var(--hm-red); font-weight: 500; text-decoration: none !important; }
.hm-citem__edit:hover, .hm-citem__wishlist:hover { text-decoration: none !important; }
.hm-citem__sep { color: var(--hm-line); }
/* Qty stepper hidden (not shown in the reference); value preserved via input. */
.hm-citem__qty { display: none; }
.hm-citem__price { flex: 0 0 auto; text-align: left; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-right: 40px; }
.hm-citem__now { font-weight: 600; color: var(--hm-ink); }
.hm-citem__mrp-label { color: var(--hm-muted); font-size: 13px; }
.hm-citem__mrp { color: var(--hm-muted); text-decoration: line-through; font-size: 14px; }
.hm-citem__off { background: #ffe9e2; color: var(--hm-red); font-size: 12px; font-weight: 600; padding: 3px 8px; border-radius: 999px; }
.hm-citem__remove { position: absolute; top: 20px; right: 0; color: var(--hm-muted); font-size: 22px; line-height: 1; text-decoration: none !important; }
.hm-citem__remove:hover { color: #e7000b; text-decoration: none !important; }

/* Summary aside */
.hm-cart__coupon-head { display: flex; align-items: center; gap: 8px; color: var(--hm-ink); font-weight: 500; margin-bottom: 12px; }
.hm-cart__coupon-row { display: flex; gap: 10px; margin-bottom: 20px; align-items: stretch; }
body.hm-theme .hm-cart__promo {
	flex: 1 1 auto; height: 46px; padding: 0 16px; border: 1px solid #cfcfcf !important; border-radius: 4px !important;
	background: #fff !important; font-size: 15px; color: var(--hm-ink); box-shadow: none !important;
}
body.hm-theme .hm-cart__promo::placeholder { color: #9ca3af; }
body.hm-theme .hm-cart__promo:focus { outline: none; border-color: var(--hm-red) !important; }
body.hm-theme .hm-cart__apply {
	flex: 0 0 auto; height: 46px; padding: 0 22px; min-width: 0;
	background: #fff !important; background-image: none !important; color: var(--hm-red) !important;
	border: 1px solid var(--hm-red) !important; border-radius: 4px !important; box-shadow: none !important; text-shadow: none !important;
	font-weight: 600 !important; font-size: 15px !important; letter-spacing: .03em; text-transform: uppercase;
	cursor: pointer; transition: background .15s, color .15s;
}
body.hm-theme .hm-cart__apply:hover { background: var(--hm-red) !important; color: #fff !important; }
.hm-cart__totals { border-top: 1px solid var(--hm-line); padding-top: 18px; margin-top: 4px; }
.hm-cart__row { display: flex; justify-content: space-between; align-items: center; color: var(--hm-body); font-size: 15px; margin-bottom: 14px; }
.hm-cart__row--total { font-weight: 700; color: var(--hm-ink); font-size: 17px; border-top: 1px solid var(--hm-line); padding-top: 14px; }
.hm-cart__free { color: #16a34a; font-weight: 600; }
/* Applied coupon + discount rows in the order breakdown. */
.hm-cart__row--coupon .hm-cart__coupon-label { color: var(--hm-body); font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
.hm-cart__discount { color: #16a34a; font-weight: 600; white-space: nowrap; }
.hm-cart__discount .woocommerce-Price-amount { color: #16a34a; }
.hm-cart__row--coupon a.woocommerce-remove-coupon {
	margin-left: 8px; width: 18px; height: 18px; border-radius: 999px; text-decoration: none;
	display: inline-flex; align-items: center; justify-content: center; vertical-align: middle;
	background: rgba(153,5,0,.1); color: var(--hm-red); font-size: 0; line-height: 0; transition: background .15s;
}
.hm-cart__row--coupon a.woocommerce-remove-coupon::before { content: "\00d7"; font-size: 14px; line-height: 1; font-weight: 600; }
.hm-cart__row--coupon a.woocommerce-remove-coupon:hover { background: var(--hm-red); color: #fff; }
.hm-cart__row--discount-total { color: var(--hm-ink); font-weight: 600; margin-top: -4px; }
.hm-cart__checkout {
	display: block; text-align: center; background: var(--hm-red); color: #fff; font-weight: 600; letter-spacing: .03em;
	padding: 16px; border-radius: 8px; margin-top: 8px; text-transform: uppercase; font-size: 15px;
}
.hm-cart__checkout, .hm-cart__checkout:hover { text-decoration: none !important; }
.hm-cart__checkout:hover { background: var(--hm-red-dark); color: #fff; }
.hm-cart__update { display: none !important; }

/* You may also like (cart) */
.hm-cart-related { background: linear-gradient(180deg, rgba(171,52,48,.05), rgba(171,52,48,0)); padding: 48px 0; margin-top: 8px; }
.hm-cart-related__title { text-align: center; font-size: 26px; font-weight: 600; color: var(--hm-ink); margin: 0 0 28px; letter-spacing: .02em; }
.hm-cart-rail { display: flex !important; flex-wrap: nowrap !important; gap: 20px; overflow-x: auto; padding: 0 50px 12px !important; margin: 0 !important; list-style: none; scrollbar-width: none; }
.hm-cart-rail::-webkit-scrollbar { display: none; }
.hm-cart-rail li.product { flex: 0 0 240px !important; width: 240px !important; margin: 0 !important; }

@media (max-width: 900px) {
	.hm-cart__grid { flex-direction: column; }
	.hm-cart__main { padding: 24px; width: 100%; }
	.hm-cart__aside { flex: 1 1 auto; width: 100%; position: static; padding: 24px; }
	.hm-cart__update { margin-left: 24px; }
	.hm-cart-rail { padding: 0 24px 12px !important; }
}

/* Cart page: hide breadcrumb + the big "Cart" page title. */
body.hm-theme.woocommerce-cart .woocommerce-breadcrumb,
body.hm-theme.woocommerce-cart .storefront-breadcrumb,
body.hm-theme.woocommerce-cart .entry-header,
body.hm-theme.woocommerce-cart .entry-title,
body.hm-theme.woocommerce-cart .page-title,
body.hm-theme.woocommerce-cart header.woocommerce-products-header { display: none !important; }

/* Empty cart state */
.hm-empty-cart { text-align: center; padding: 60px 24px 90px; }
.hm-empty-cart__icon { margin: 0 auto 8px; display: inline-block; }
.hm-empty-cart__icon svg { width: 100%; max-width: 240px; height: auto; }
.hm-empty-cart__text { color: var(--hm-ink); font-size: 18px; margin: 8px 0 28px; }
.hm-empty-cart__btn {
	display: inline-block; padding: 14px 40px; border: 1px solid var(--hm-red); color: var(--hm-red);
	border-radius: 4px; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; font-size: 15px;
	background: #fff; transition: background .15s, color .15s; text-decoration: none !important;
}
.hm-empty-cart__btn:hover { background: var(--hm-red); color: #fff; }

/* Hide WooCommerce notices on the cart page + the admin Edit link everywhere. */
body.hm-theme.woocommerce-cart .woocommerce-notices-wrapper,
body.hm-theme.woocommerce-cart .woocommerce-message,
body.hm-theme.woocommerce-cart .woocommerce-info,
body.hm-theme.woocommerce-cart .cart-empty.woocommerce-info { display: none !important; }
body.hm-theme .post-edit-link { display: none !important; }

/* ========================================================================
   NATIVE CHECKOUT — canonical WooCommerce form, branded and responsive.
   ======================================================================== */
body.hm-theme.woocommerce-checkout .storefront-breadcrumb,
body.hm-theme.woocommerce-checkout .entry-header,
body.hm-theme.woocommerce-checkout .entry-title,
body.hm-theme.woocommerce-checkout .page-title { display: none !important; }
body.hm-theme.woocommerce-checkout .site-content { background: #fff; }
body.hm-theme.woocommerce-checkout .site-content .col-full {
	max-width: 1240px !important; width: 100% !important; margin: 0 auto !important; padding: 38px 50px 64px !important;
}
.hm-checkout-intro { max-width: 720px; margin: 0 0 30px; }
.hm-checkout-intro__eyebrow {
	margin: 0 0 7px !important; color: var(--hm-red); font-size: 12px; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
}
.hm-checkout-intro h1 { margin: 0 0 8px; color: var(--hm-ink); font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.hm-checkout-intro > p:last-child { margin: 0; color: var(--hm-muted); font-size: 15px; }

body.hm-theme.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.hm-theme.woocommerce-checkout form.checkout_coupon { max-width: 680px; }
body.hm-theme.woocommerce-checkout .woocommerce-info {
	margin: 0 0 22px; padding: 14px 18px; border: 1px solid #ecd7b7; border-radius: 8px;
	background: var(--hm-cream); color: var(--hm-body);
}
body.hm-theme.woocommerce-checkout .woocommerce-info::before { color: var(--hm-gold); }
body.hm-theme.woocommerce-checkout .woocommerce-info a { color: var(--hm-red); font-weight: 600; }
body.hm-theme.woocommerce-checkout form.checkout_coupon {
	margin: -10px 0 26px; padding: 20px; border: 1px solid var(--hm-line); border-radius: 10px; background: #fff;
}

body.hm-theme.woocommerce-checkout form.checkout {
	display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(360px, .85fr); gap: 44px; align-items: start;
}
body.hm-theme.woocommerce-checkout #customer_details,
body.hm-theme.woocommerce-checkout #order_review_heading,
body.hm-theme.woocommerce-checkout #order_review { width: 100%; float: none; clear: none; }
body.hm-theme.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
body.hm-theme.woocommerce-checkout #customer_details .col-1,
body.hm-theme.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; margin: 0; }
body.hm-theme.woocommerce-checkout #customer_details .col-2 { margin-top: 26px; }
body.hm-theme.woocommerce-checkout #order_review_heading {
	grid-column: 2; grid-row: 1; margin: 0; padding: 24px 26px 14px; background: var(--hm-cream);
	border-radius: 12px 12px 0 0; color: var(--hm-ink); font-size: 22px; font-weight: 600;
}
body.hm-theme.woocommerce-checkout #order_review {
	grid-column: 2; grid-row: 2; margin-top: -44px; padding: 64px 26px 26px; border: 0;
	border-radius: 12px; background: var(--hm-cream); position: sticky; top: 24px;
}
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields > h3,
body.hm-theme.woocommerce-checkout .woocommerce-additional-fields > h3,
body.hm-theme.woocommerce-checkout #ship-to-different-address {
	margin: 0 0 20px; color: var(--hm-ink); font-size: 22px; font-weight: 600;
}
body.hm-theme.woocommerce-checkout .form-row { margin: 0 0 17px; }
body.hm-theme.woocommerce-checkout .form-row label { margin: 0 0 7px; color: var(--hm-ink); font-size: 13px; font-weight: 600; }
body.hm-theme.woocommerce-checkout .required { color: var(--hm-red); text-decoration: none; }
body.hm-theme.woocommerce-checkout input.input-text,
body.hm-theme.woocommerce-checkout textarea,
body.hm-theme.woocommerce-checkout select,
body.hm-theme.woocommerce-checkout .select2-selection {
	width: 100%; min-height: 48px; border: 1px solid #d5d2cd !important; border-radius: 6px !important;
	background: #fff !important; color: var(--hm-ink); box-shadow: none !important;
}
body.hm-theme.woocommerce-checkout input.input-text,
body.hm-theme.woocommerce-checkout textarea { padding: 12px 14px; }
body.hm-theme.woocommerce-checkout textarea { min-height: 112px; resize: vertical; }
body.hm-theme.woocommerce-checkout .select2-selection__rendered { padding: 9px 14px !important; line-height: 28px !important; }
body.hm-theme.woocommerce-checkout .select2-selection__arrow { height: 46px !important; right: 8px !important; }
body.hm-theme.woocommerce-checkout input.input-text:focus,
body.hm-theme.woocommerce-checkout textarea:focus,
body.hm-theme.woocommerce-checkout .select2-container--focus .select2-selection {
	outline: none; border-color: var(--hm-red) !important; box-shadow: 0 0 0 3px rgba(153, 5, 0, .08) !important;
}
body.hm-theme.woocommerce-checkout table.shop_table { margin: 0 0 20px; border: 0; background: transparent; }
body.hm-theme.woocommerce-checkout table.shop_table th,
body.hm-theme.woocommerce-checkout table.shop_table td { padding: 13px 0; border-bottom: 1px solid rgba(70, 57, 45, .13); background: transparent; }
body.hm-theme.woocommerce-checkout table.shop_table th:last-child,
body.hm-theme.woocommerce-checkout table.shop_table td:last-child { text-align: right; }
body.hm-theme.woocommerce-checkout table.shop_table .order-total th,
body.hm-theme.woocommerce-checkout table.shop_table .order-total td { border-bottom: 0; color: var(--hm-ink); font-size: 18px; }
body.hm-theme.woocommerce-checkout #payment { margin: 0; background: transparent; }
body.hm-theme.woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 0 0 18px; border: 0; }
body.hm-theme.woocommerce-checkout #payment div.payment_box {
	margin: 10px 0 0; padding: 14px; border-radius: 6px; background: #fff; color: var(--hm-body); font-size: 13px;
}
body.hm-theme.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
body.hm-theme.woocommerce-checkout #payment .place-order { margin: 0; padding: 0; }
body.hm-theme.woocommerce-checkout #place_order {
	width: 100%; min-height: 52px; margin: 16px 0 0; padding: 14px 24px !important; float: none;
	border: 0 !important; border-radius: 8px !important; background: var(--hm-red) !important; color: #fff !important;
	font-size: 15px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; box-shadow: none !important;
}
body.hm-theme.woocommerce-checkout #place_order:hover { background: var(--hm-red-dark) !important; }
body.hm-theme.woocommerce-checkout .woocommerce-privacy-policy-text { color: var(--hm-muted); font-size: 12px; line-height: 1.65; }
body.hm-theme.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--hm-red); }

@media (max-width: 900px) {
	body.hm-theme.woocommerce-checkout .site-content .col-full { padding: 28px 24px 48px !important; }
	body.hm-theme.woocommerce-checkout form.checkout { display: block; }
	body.hm-theme.woocommerce-checkout #order_review_heading { margin-top: 32px; }
	body.hm-theme.woocommerce-checkout #order_review { margin-top: 0; padding: 10px 24px 24px; position: static; border-radius: 0 0 12px 12px; }
}
@media (max-width: 520px) {
	body.hm-theme.woocommerce-checkout .form-row-first,
	body.hm-theme.woocommerce-checkout .form-row-last { width: 100%; float: none; }
	body.hm-theme.woocommerce-checkout #order_review_heading { padding-inline: 20px; }
	body.hm-theme.woocommerce-checkout #order_review { padding-inline: 20px; }
}

/* ========================================================================
   MY ACCOUNT — cream sidebar nav + clean content (reference-styled).
   ======================================================================== */
.hm-theme.woocommerce-account .site-content .col-full { padding: 0 !important; }
.hm-theme.woocommerce-account .woocommerce { display: flex !important; align-items: flex-start; gap: 0; }

/* Left nav */
.hm-theme .woocommerce-MyAccount-navigation {
	flex: 0 0 320px; width: 320px; float: none; margin: 0; background: var(--hm-cream);
	align-self: stretch; padding: 28px 0;
}
.hm-theme .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.hm-theme .woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
.hm-theme .woocommerce-MyAccount-navigation li a {
	display: block; padding: 16px 28px; color: var(--hm-ink); font-size: 16px; font-weight: 500;
	border-left: 3px solid transparent; text-decoration: none; transition: background .15s;
}
.hm-theme .woocommerce-MyAccount-navigation li a:hover { background: rgba(153,5,0,.05); }
.hm-theme .woocommerce-MyAccount-navigation li.is-active a {
	background: #fff; border-left-color: var(--hm-red); color: var(--hm-ink); font-weight: 600;
}
.hm-theme .woocommerce-MyAccount-navigation li--customer-logout a { color: var(--hm-red); }

/* Right content */
.hm-theme .woocommerce-MyAccount-content {
	flex: 1 1 auto; min-width: 0; width: auto; float: none; margin: 0; padding: 36px 50px 48px;
}
.hm-theme .woocommerce-MyAccount-content h2,
.hm-theme .woocommerce-MyAccount-content legend { font-size: 22px; font-weight: 600; color: var(--hm-ink); margin: 0 0 20px; }
.hm-theme .woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size: 16px; font-weight: 600; }
.hm-theme .woocommerce-MyAccount-content a { color: var(--hm-red); }
.hm-theme .woocommerce-MyAccount-content .button,
.hm-theme .woocommerce-account form .button {
	background: var(--hm-red) !important; color: #fff !important; border: 0 !important; border-radius: 8px !important;
	padding: 12px 28px !important; font-weight: 500 !important; box-shadow: none !important;
}
.hm-theme .woocommerce-MyAccount-content .button:hover { background: var(--hm-red-dark) !important; }
.hm-theme .woocommerce-account .woocommerce-form-row input,
.hm-theme .woocommerce-MyAccount-content input.input-text,
.hm-theme .woocommerce-MyAccount-content select {
	border: 1px solid var(--hm-line) !important; border-radius: 6px !important; padding: 12px 14px !important; box-shadow: none !important;
}
.hm-theme .woocommerce-account .woocommerce-MyAccount-content table.account-orders-table { border: 0; }

@media (max-width: 900px) {
	.hm-theme.woocommerce-account .woocommerce { flex-direction: column; }
	.hm-theme .woocommerce-MyAccount-navigation { flex: 1 1 auto; width: 100%; }
	.hm-theme .woocommerce-MyAccount-content { padding: 24px; width: 100%; }
}

/* Account page: hide breadcrumb + big page title; sidebar flush top/footer. */
body.hm-theme.woocommerce-account .woocommerce-breadcrumb,
body.hm-theme.woocommerce-account .storefront-breadcrumb,
body.hm-theme.woocommerce-account .entry-header,
body.hm-theme.woocommerce-account .entry-title,
body.hm-theme.woocommerce-account .page-title { display: none !important; }
body.hm-theme.woocommerce-account .site-content,
body.hm-theme.woocommerce-account #primary.content-area,
body.hm-theme.woocommerce-account main#main { padding: 0 !important; margin: 0 !important; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation { align-self: stretch; }

/* Address form inputs + buttons — same look as the cart coupon field/button. */
body.hm-theme .woocommerce-MyAccount-content form .input-text,
body.hm-theme .woocommerce-MyAccount-content form input[type="text"],
body.hm-theme .woocommerce-MyAccount-content form input[type="email"],
body.hm-theme .woocommerce-MyAccount-content form input[type="tel"],
body.hm-theme .woocommerce-MyAccount-content form input[type="password"],
body.hm-theme .woocommerce-MyAccount-content form select,
body.hm-theme .woocommerce-MyAccount-content form .select2-selection {
	height: 46px !important; padding: 0 16px !important; border: 1px solid #cfcfcf !important; border-radius: 4px !important;
	background: #fff !important; font-size: 15px !important; color: var(--hm-ink) !important; box-shadow: none !important;
}
body.hm-theme .woocommerce-MyAccount-content form textarea {
	padding: 12px 16px !important; border: 1px solid #cfcfcf !important; border-radius: 4px !important; box-shadow: none !important;
}
body.hm-theme .woocommerce-MyAccount-content form .input-text:focus,
body.hm-theme .woocommerce-MyAccount-content form select:focus { outline: none; border-color: var(--hm-red) !important; }
body.hm-theme .woocommerce-MyAccount-content .button,
body.hm-theme .woocommerce-MyAccount-content button[type="submit"] {
	height: 46px !important; padding: 0 26px !important; background: #fff !important; background-image: none !important;
	color: var(--hm-red) !important; border: 1px solid var(--hm-red) !important; border-radius: 4px !important;
	box-shadow: none !important; text-shadow: none !important; font-weight: 600 !important; font-size: 15px !important;
	letter-spacing: .03em; text-transform: uppercase; cursor: pointer; transition: background .15s, color .15s;
}
body.hm-theme .woocommerce-MyAccount-content .button:hover,
body.hm-theme .woocommerce-MyAccount-content button[type="submit"]:hover { background: var(--hm-red) !important; color: #fff !important; }

/* ========================================================================
   LOGIN / REGISTER (logged-out My Account) — branded.
   ======================================================================== */
body.hm-theme .woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
body.hm-theme #customer_login.u-columns {
	display: flex; gap: 40px; max-width: 1100px; margin: 0 auto; padding: 0px 50px 60px;
}
body.hm-theme #customer_login .u-column1,
body.hm-theme #customer_login .u-column2 { flex: 1 1 0; width: auto !important; float: none !important; margin: 0 !important; }
body.hm-theme #customer_login h2 { font-size: 24px; font-weight: 600; color: var(--hm-ink); margin: 0 0 18px; }
body.hm-theme .woocommerce-form-login,
body.hm-theme .woocommerce-form-register {
	border: 1px solid var(--hm-line) !important; border-radius: 10px; padding: 28px 28px 32px; margin: 0;
}
body.hm-theme #customer_login label { font-weight: 500; font-size: 14px; color: var(--hm-ink); }
body.hm-theme #customer_login .woocommerce-form-row input.input-text,
body.hm-theme #customer_login input[type="text"],
body.hm-theme #customer_login input[type="email"],
body.hm-theme #customer_login input[type="password"] {
	width: 100%; height: 48px; padding: 0 16px; border: 1px solid #cfcfcf !important; border-radius: 4px !important;
	background: #fff !important; font-size: 15px; box-shadow: none !important;
}
body.hm-theme #customer_login input.input-text:focus { outline: none; border-color: var(--hm-red) !important; }
body.hm-theme #customer_login .button,
body.hm-theme #customer_login button[type="submit"] {
	background: var(--hm-red) !important; background-image: none !important; color: #fff !important; border: 0 !important;
	border-radius: 8px !important; padding: 13px 34px !important; font-weight: 500 !important; font-size: 15px !important;
	box-shadow: none !important; text-shadow: none !important;
}
body.hm-theme #customer_login .button:hover { background: var(--hm-red-dark) !important; }
body.hm-theme #customer_login a { color: var(--hm-red) !important; }
body.hm-theme #customer_login .woocommerce-form-login__rememberme { color: var(--hm-body); }
body.hm-theme #customer_login .woocommerce-privacy-policy-text { color: var(--hm-muted); font-size: 13px; margin: 12px 0; }

@media (max-width: 800px) {
	body.hm-theme #customer_login.u-columns { flex-direction: column; padding: 24px; }
}

/* ---- Login/Register: target forms DIRECTLY (works with or without the
   #customer_login two-column wrapper) + centered. ---- */
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: 640px; margin: 0 auto; padding: 5px 24px 60px;
}
body.hm-theme.woocommerce-account #customer_login.u-columns { max-width: 1100px; }
body.hm-theme .woocommerce-form-login,
body.hm-theme .woocommerce-form-register {
	border: 1px solid var(--hm-line) !important; border-radius: 10px !important; padding: 28px !important; margin: 0 auto !important;
}
body.hm-theme .woocommerce-form-login .input-text,
body.hm-theme .woocommerce-form-register .input-text,
body.hm-theme .woocommerce-form-login input[type="text"],
body.hm-theme .woocommerce-form-login input[type="email"],
body.hm-theme .woocommerce-form-login input[type="password"],
body.hm-theme .woocommerce-form-register input[type="email"],
body.hm-theme .woocommerce-form-register input[type="password"] {
	width: 100% !important; height: 48px !important; padding: 0 16px !important; border: 1px solid #cfcfcf !important;
	border-radius: 4px !important; background: #fff !important; font-size: 15px !important; box-shadow: none !important;
}
body.hm-theme .woocommerce-form-login .input-text:focus,
body.hm-theme .woocommerce-form-register .input-text:focus { outline: none; border-color: var(--hm-red) !important; }
body.hm-theme .woocommerce-form-login .button,
body.hm-theme .woocommerce-form-register .button,
body.hm-theme .woocommerce-form-login button[type="submit"],
body.hm-theme .woocommerce-form-register button[type="submit"] {
	background: var(--hm-red) !important; background-image: none !important; color: #fff !important; border: 0 !important;
	border-radius: 8px !important; padding: 13px 40px !important; font-weight: 500 !important; font-size: 15px !important;
	box-shadow: none !important; text-shadow: none !important;
}
body.hm-theme .woocommerce-form-login .button:hover,
body.hm-theme .woocommerce-form-register .button:hover { background: var(--hm-red-dark) !important; }
body.hm-theme .woocommerce-form-login a,
body.hm-theme .woocommerce-form-register a,
body.hm-theme .woocommerce-LostPassword a { color: var(--hm-red) !important; }

/* Login: title on top, full-width form below; strip password eye bg. */
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce { max-width: 560px; margin: 0 auto; display: block !important; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns { display: block !important; max-width: 560px; }
body.hm-theme.woocommerce-account:not(.logged-in) .u-column1,
body.hm-theme.woocommerce-account:not(.logged-in) .u-column2 { width: 100% !important; float: none !important; margin: 0 0 20px !important; }
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login h2 {
	text-align: left; font-size: 28px; font-weight: 600; color: var(--hm-ink); margin: 0 0 16px !important;
}
body.hm-theme .woocommerce-form-login,
body.hm-theme .woocommerce-form-register { width: 100% !important; max-width: none !important; }
/* Password show/hide eye — no background box. */
body.hm-theme .woocommerce-form .password-input { display: block; position: relative; }
body.hm-theme .woocommerce-form .show-password-input,
body.hm-theme .woocommerce-form button.wc-password-visibility-toggle,
body.hm-theme .woocommerce-form .password-input .show-password-input {
	background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important;
	position: absolute; right: 14px; top: 50%; transform: translateY(-50%); cursor: pointer;
}

/* Lost/Reset password field — same as cart coupon field. */
body.hm-theme .woocommerce-ResetPassword .input-text,
body.hm-theme .woocommerce-ResetPassword input[type="text"],
body.hm-theme .woocommerce-ResetPassword input[type="password"],
body.hm-theme .lost_reset_password .input-text {
	width: 100% !important; height: 48px !important; padding: 0 16px !important; border: 1px solid #cfcfcf !important;
	border-radius: 4px !important; background: #fff !important; font-size: 15px !important; box-shadow: none !important;
}
body.hm-theme .woocommerce-ResetPassword .input-text:focus { outline: none; border-color: var(--hm-red) !important; }
body.hm-theme .woocommerce-ResetPassword { max-width: 560px; margin: 0 auto; }

/* Desktop retail header: promo strip, prominent search, utility row and nav. */
@media (min-width: 1180px) {
	body.hm-theme .hm-topbar {
		min-height: 30px; display: flex; align-items: center; justify-content: center;
		gap: 10px; padding: 6px 24px; background: var(--hm-red); color: #fff;
		font-size: 12px; font-weight: 500; letter-spacing: .04em;
	}
	body.hm-theme .hm-header__inner {
		position: relative; display: flex; flex-wrap: wrap; row-gap: 14px;
		min-height: 118px; padding-top: 15px !important; padding-bottom: 0 !important;
	}
	body.hm-theme .hm-header__branding { flex: 0 0 230px; }
	body.hm-theme .hm-header__actions { margin-left: auto; min-width: 230px; justify-content: flex-end; }
	body.hm-theme .hm-search {
		position: absolute; top: 14px; left: 50%; width: min(430px, 34vw);
		transform: translateX(-50%);
	}
	body.hm-theme .hm-search__toggle { display: none !important; }
	body.hm-theme .hm-search__panel,
	body.hm-theme .hm-search.is-open .hm-search__panel {
		position: static; display: block; width: 100%; max-width: none; padding: 0;
		border: 1px solid #d9d9d9; border-radius: 999px; box-shadow: none;
		background: #f8f8f8; overflow: hidden;
	}
	body.hm-theme .hm-search__panel input[type="search"] {
		height: 42px; padding: 0 20px 0 44px; border: 0; border-radius: 999px;
		background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat 17px center;
		font-size: 13px; box-sizing: border-box;
	}
	body.hm-theme .hm-search__panel input[type="search"]:focus {
		outline: none; border: 0; box-shadow: inset 0 0 0 1px var(--hm-red); background-color: #fff;
	}
	body.hm-theme .hm-primary-nav {
		order: 5; flex: 0 0 100%; width: 100%; min-height: 46px;
		border-top: 1px solid var(--hm-line-2); align-items: center;
	}
	body.hm-theme .hm-menu { gap: clamp(26px, 3.2vw, 52px); }
	body.hm-theme .hm-menu a {
		font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .045em;
		padding: 13px 0 12px;
	}
	body.hm-theme .hm-menu .current-menu-item > a::after { bottom: 4px; }
}

/* Desktop hero: show the entire portrait instead of cropping the source. */
body.hm-theme.home .hm-hero__backdrop {
	position: absolute; inset: -18px; width: calc(100% + 36px); height: calc(100% + 36px);
	object-fit: cover; object-position: center 34%; filter: blur(12px); transform: scale(1.03);
	opacity: .42; z-index: 0;
}
@media (min-width: 1024px) {
	body.hm-theme.home .hm-hero { background: #2b211b; }
	body.hm-theme.home .hm-hero__img {
		inset: 0 0 0 auto; width: 55%; height: 100%; object-fit: contain;
		object-position: center center; z-index: 1;
	}
	body.hm-theme.home .hm-hero__overlay {
		z-index: 2;
		background: linear-gradient(90deg, rgba(20,14,10,.9) 0%, rgba(20,14,10,.78) 38%, rgba(20,14,10,.3) 66%, rgba(20,14,10,.08) 100%);
	}
	body.hm-theme.home .hm-hero__inner { z-index: 3; }
	body.hm-theme.home .hm-hero__content { max-width: 600px; }
}
@media (max-width: 1023px) {
	body.hm-theme .hm-topbar {
		min-height: 30px; padding: 6px 12px; font-size: 11px; line-height: 18px;
		white-space: nowrap;
	}
	body.hm-theme.home .hm-hero__backdrop { display: none; }
	body.hm-theme.home .hm-hero__img { width: 100%; object-fit: cover; object-position: center 35%; }
}

/* =========================================================================
   HOMEPAGE LAYOUT POLISH
   Keep Storefront's legacy .col-full rules from constraining full-width
   homepage sections, and provide one consistent responsive layout system.
   ========================================================================= */
body.hm-theme { overflow-x: hidden !important; }
body.hm-theme #content > .col-full {
	width: 100%; max-width: none; margin: 0; padding: 0; box-sizing: border-box;
}
body.hm-theme.home .hm-wrap {
	width: 100%; max-width: 1280px; margin-left: auto; margin-right: auto;
	padding-left: 24px; padding-right: 24px; box-sizing: border-box;
}
body.hm-theme.home .hm-section {
	width: 100%; padding-top: 56px; padding-bottom: 56px;
}
body.hm-theme.home .hm-rail { gap: 20px; }
body.hm-theme.home .hm-cat-card,
body.hm-theme.home .hm-rail .hm-pcard-li {
	width: clamp(230px, 24vw, 280px); padding-right: 0;
}

body.hm-theme .hm-header__inner {
	width: 100%; max-width: 1440px; margin: 0 auto; min-height: 88px;
	padding: 20px 24px !important; gap: 24px; box-sizing: border-box;
}
body.hm-theme .hm-menu { gap: clamp(18px, 2vw, 30px); }

body.hm-theme.home .hm-hero { height: 500px; }
body.hm-theme.home .hm-hero__img { object-position: center 35%; }
body.hm-theme.home .hm-hero__title { line-height: 1.08; }

body.hm-theme .hm-footer__grid {
	margin: 0 auto !important; max-width: 1320px; padding: 64px 40px 56px;
}
body.hm-theme .hm-newsletter { margin: 24px 0 0 !important; }
body.hm-theme .hm-footer__contact-list { gap: 8px; margin-bottom: 0; }

@media (min-width: 640px) {
	body.hm-theme .hm-header__inner { padding: 20px 40px !important; }
	body.hm-theme.home .hm-hero { height: 560px; }
}
@media (min-width: 768px) {
	body.hm-theme.home .hm-section { padding-top: 72px; padding-bottom: 72px; }
	body.hm-theme.home .hm-hero { height: 620px; }
}
@media (min-width: 1024px) {
	body.hm-theme.home .hm-hero {
		height: min(680px, calc(100vh - 130px)); min-height: 580px;
	}
	body.hm-theme.home .hm-hero__img { object-position: center 32%; }
	body.hm-theme.home .hm-hero__title { font-size: clamp(56px, 5vw, 68px); }
	body.hm-theme.home .hm-hero__sub { font-size: 19px; }
}
@media (min-width: 1280px) {
	body.hm-theme .hm-header__inner { padding: 20px 56px !important; }
}
@media (max-width: 1179px) {
	body.hm-theme .hm-header { position: relative; }
	body.hm-theme .hm-search { position: static; }
	body.hm-theme .hm-search__panel {
		top: 100%; left: 24px; right: 24px; width: auto; max-width: none;
	}
	body.hm-theme .hm-primary-nav { display: none; }
	body.hm-theme .hm-primary-nav.is-open {
		display: block; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-bottom: 1px solid var(--hm-line); z-index: 50;
		padding: 8px 24px;
	}
	body.hm-theme .hm-nav-toggle { display: inline-flex; }
}
@media (max-width: 639px) {
	body.hm-theme .hm-search__panel { left: 16px; right: 16px; }
	body.hm-theme .hm-header__inner { min-height: 72px; padding: 14px 16px !important; gap: 12px; }
	body.hm-theme .hm-logo__img,
	body.hm-theme .hm-logo__mark svg { height: 42px; }
	body.hm-theme .hm-logo__text { font-size: 19px; }
	body.hm-theme .hm-header__actions { gap: 14px; }
	body.hm-theme .hm-header .hm-icon-link svg,
	body.hm-theme .hm-header .hm-search__toggle svg { width: 20px; height: 20px; }
	body.hm-theme.home .hm-hero {
		height: min(520px, calc(100svh - 72px)); min-height: 460px;
	}
	body.hm-theme.home .hm-hero__inner { padding-top: 32px; padding-bottom: 34px; }
	body.hm-theme.home .hm-hero__title { font-size: clamp(32px, 10vw, 40px); margin-bottom: 20px; }
	body.hm-theme.home .hm-hero__sub { font-size: 15px; line-height: 1.55; margin-bottom: 26px; }
	body.hm-theme.home .hm-hero__cta { width: 100%; max-width: 300px; padding: 15px 24px; }
	body.hm-theme.home .hm-h2 { font-size: 27px; }
	body.hm-theme.home .hm-sec-head { margin-bottom: 28px; }
	body.hm-theme.home .hm-sec-lead { font-size: 15px; }
	body.hm-theme.home .hm-story__title { margin-bottom: 28px; }
	body.hm-theme.home .hm-story__copy p,
	body.hm-theme.home .hm-quality__copy p { font-size: 16px; }
	body.hm-theme.home .hm-story__cards { margin-top: 36px; }
	body.hm-theme .hm-footer__grid { gap: 32px; padding: 48px 24px; }
}

/* ---- Login + Register side by side (registration enabled) ---- */
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce { max-width: 1100px !important; margin: 0 auto; padding: 0px 50px 60px; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns { display: flex !important; gap: 40px; max-width: 1100px; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
	flex: 1 1 0 !important; width: auto !important; float: none !important; margin: 0 !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login h2 {
	text-align: left; font-size: 24px !important; font-weight: 600; color: var(--hm-ink); margin: 0 0 18px !important;
}
/* Name fields side by side in register */
body.hm-theme .woocommerce-form-register .form-row-first { width: 48%; float: left; margin-right: 4%; }
body.hm-theme .woocommerce-form-register .form-row-last { width: 48%; float: left; }
body.hm-theme .woocommerce-form-register .form-row-first + .clear,
body.hm-theme .woocommerce-form-register::after { content: ""; display: table; clear: both; }
body.hm-theme .woocommerce-form-register .input-text { margin-bottom: 4px; }
@media (max-width: 800px) {
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns { flex-direction: column; }
	body.hm-theme .woocommerce-form-register .form-row-first,
	body.hm-theme .woocommerce-form-register .form-row-last { width: 100%; float: none; margin-right: 0; }
}

/* Login/Register: full-width stretch (not centered/capped). */
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce {
	max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0px 50px 60px !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns {
	max-width: none !important; width: 100% !important; margin: 0 !important; display: flex !important; gap: 40px;
}
@media (max-width: 800px) {
	body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce { padding: 24px !important; }
}

/* Final desktop header dimensions after the shared homepage rules above. */
@media (min-width: 1180px) {
	body.hm-theme .hm-header__inner {
		min-height: 118px; padding: 15px 56px 0 !important; row-gap: 14px;
	}
	body.hm-theme.home .hm-hero__img { object-position: center center; }
}

/* Reference-aligned desktop masthead: header overlays a full-bleed hero. */
@media (min-width: 1180px) {
	body.hm-theme .hm-topbar {
		position: relative; z-index: 1001; min-height: 32px; padding: 6px 24px;
		background: var(--hm-topbar-bg, #f4c542); color: var(--hm-topbar-color, #171717); font-size: 13px; font-weight: 500;
		text-decoration: underline; text-underline-offset: 2px;
	}
	body.hm-theme #masthead.hm-header {
		position: absolute; top: 0; left: 0; right: 0; z-index: 1000;
		background: linear-gradient(180deg, rgba(18,12,10,.48), rgba(18,12,10,.12)) !important;
		color: #fff; border-bottom: 0 !important;
	}
	body.hm-theme .hm-topbar + #masthead.hm-header { top: 32px; }
	body.hm-theme .hm-header__inner {
		min-height: 122px; padding: 14px 26px 0 !important; row-gap: 12px;
		max-width: none; text-shadow: 0 1px 8px rgba(0,0,0,.3);
	}
	body.hm-theme .hm-header__branding { flex-basis: 250px; }
	body.hm-theme .hm-header__branding .hm-logo__img,
	body.hm-theme .hm-header__branding .hm-logo__mark svg {
		height: 56px; filter: drop-shadow(0 1px 5px rgba(255,255,255,.4));
	}
	body.hm-theme .hm-header__actions { min-width: 250px; }
	body.hm-theme .hm-header .hm-icon-link,
	body.hm-theme .hm-header .hm-search__toggle,
	body.hm-theme .hm-menu a { color: #fff !important; }
	body.hm-theme .hm-header .hm-icon-link svg { stroke: currentColor; }
	body.hm-theme .hm-search { top: 15px; width: min(450px, 36vw); }
	body.hm-theme .hm-search__panel,
	body.hm-theme .hm-search.is-open .hm-search__panel {
		border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.1);
		box-shadow: inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(8px);
	}
	body.hm-theme .hm-search__panel input[type="search"] {
		color: #fff;
		background-color: transparent;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	}
	body.hm-theme .hm-search__panel input[type="search"]::placeholder { color: rgba(255,255,255,.9); }
	body.hm-theme .hm-search__panel input[type="search"]:focus {
		box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); background-color: rgba(255,255,255,.12);
	}
	body.hm-theme .hm-primary-nav {
		min-height: 48px; border-top: 0; border-bottom: 1px solid rgba(255,255,255,.4);
	}
	body.hm-theme .hm-menu { gap: clamp(32px, 4vw, 64px); }
	body.hm-theme .hm-menu a { font-size: 14px; padding: 12px 0 13px; }
	body.hm-theme .hm-menu .current-menu-item > a::after { background: #fff; bottom: 3px; }

	body.hm-theme.home .hm-hero {
		height: min(820px, calc(100vh - 32px)); min-height: 680px; background: #3a2a20;
	}
	body.hm-theme.home .hm-hero__backdrop { display: none; }
	body.hm-theme.home .hm-hero__img {
		inset: 0; width: 100%; height: 100%; object-fit: cover;
		object-position: center 22%; z-index: 0;
	}
	body.hm-theme.home .hm-hero__overlay {
		z-index: 1;
		background: linear-gradient(90deg, rgba(18,12,8,.68) 0%, rgba(18,12,8,.42) 36%, rgba(18,12,8,.12) 68%, rgba(18,12,8,.04) 100%);
	}
	body.hm-theme.home .hm-hero__inner {
		z-index: 2; align-items: center; padding-top: 150px; padding-bottom: 40px;
	}
	body.hm-theme.home .hm-hero__content { max-width: 620px; }
	body.hm-theme.home .hm-hero__title {
		font-size: clamp(54px, 5vw, 72px); margin-bottom: 38px; letter-spacing: -.025em;
	}
	body.hm-theme.home .hm-hero__sub {
		max-width: 610px; margin-bottom: 36px; font-size: 19px; line-height: 1.55;
	}
	body.hm-theme.home .hm-hero__cta {
		padding: 15px 42px; min-width: 310px; text-align: center; font-size: 17px;
		box-shadow: 0 8px 24px rgba(0,0,0,.18);
	}
}

/* Internal pages use a solid, in-flow masthead; overlay is homepage-only. */
@media (min-width: 1180px) {
	body.hm-theme:not(.home) #masthead.hm-header {
		position: relative; top: auto; left: auto; right: auto; z-index: 1000;
		background: rgba(255,255,255,.98) !important; color: var(--hm-ink);
		border-bottom: 1px solid var(--hm-line) !important;
		box-shadow: 0 4px 20px rgba(17,24,39,.045) !important;
	}
	body.hm-theme:not(.home) .hm-header__inner {
		min-height: 122px; padding: 14px 40px 0 !important; row-gap: 12px;
		text-shadow: none;
	}
	body.hm-theme:not(.home) .hm-header .hm-icon-link,
	body.hm-theme:not(.home) .hm-header .hm-search__toggle,
	body.hm-theme:not(.home) .hm-menu a { color: var(--hm-ink) !important; }
	body.hm-theme:not(.home) .hm-header__branding .hm-logo__img,
	body.hm-theme:not(.home) .hm-header__branding .hm-logo__mark svg { filter: none; }
	body.hm-theme:not(.home) .hm-search__panel,
	body.hm-theme:not(.home) .hm-search.is-open .hm-search__panel {
		border-color: #d9d9d9; background: #f8f8f8; box-shadow: none; backdrop-filter: none;
	}
	body.hm-theme:not(.home) .hm-search__panel input[type="search"] {
		color: var(--hm-ink);
		background-color: transparent;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	}
	body.hm-theme:not(.home) .hm-search__panel input[type="search"]::placeholder { color: var(--hm-muted); }
	body.hm-theme:not(.home) .hm-search__panel input[type="search"]:focus {
		box-shadow: inset 0 0 0 1px var(--hm-red); background-color: #fff;
	}
	body.hm-theme:not(.home) .hm-primary-nav { border-bottom-color: var(--hm-line); }
	body.hm-theme:not(.home) .hm-menu .current-menu-item > a::after { background: var(--hm-ink); }
}

/* Shared interaction polish. */
body.hm-theme a,
body.hm-theme button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
body.hm-theme a:focus-visible,
body.hm-theme button:focus-visible,
body.hm-theme input:focus-visible {
	outline: 3px solid rgba(249,159,58,.65); outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	body.hm-theme *, body.hm-theme *::before, body.hm-theme *::after {
		scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important;
	}
}

/* Polished fixed testimonial cards. */
body.hm-theme.home .hm-testimonials { background: #f6f7f9; }
body.hm-theme.home .hm-testimonials .hm-sec-head { margin-bottom: 40px; }
.hm-testi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.hm-theme.home .hm-testimonials .hm-testi {
	width: auto; min-height: 300px; margin: 0; padding: 30px;
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid rgba(229,231,235,.9); border-radius: 20px;
	box-shadow: 0 10px 35px rgba(17,24,39,.065);
}
body.hm-theme.home .hm-testimonials .hm-testi:hover {
	transform: translateY(-4px); box-shadow: 0 16px 44px rgba(17,24,39,.1);
}
.hm-testi__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.hm-testi__avatar {
	width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--hm-gold), #ffd9aa); color: #4a2100;
	font-size: 20px; font-weight: 600;
}
.hm-testi__avatar img { width: 100%; height: 100%; object-fit: cover; }
body.hm-theme.home .hm-testimonials .hm-stars { margin: 0; color: var(--hm-gold); }
body.hm-theme.home .hm-testimonials .hm-testi blockquote {
	position: relative; flex: 1; margin: 0 0 24px; padding: 0;
	border: 0; color: #344054; font-size: 16px; font-style: normal; line-height: 1.75;
}
body.hm-theme.home .hm-testimonials .hm-testi blockquote::before {
	content: "“"; display: block; height: 24px; margin-bottom: 8px;
	color: rgba(153,5,0,.16); font-family: Georgia, serif; font-size: 54px; line-height: 1;
}
body.hm-theme.home .hm-testimonials .hm-testi figcaption {
	padding-top: 18px; border-top: 1px solid var(--hm-line-2);
}
body.hm-theme.home .hm-testimonials .hm-testi__name { font-size: 15px; font-weight: 600; color: var(--hm-ink); }
body.hm-theme.home .hm-testimonials .hm-testi__role { font-size: 13px; }
@media (max-width: 959px) {
	.hm-testi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 639px) {
	body.hm-theme.home .hm-testimonials .hm-sec-head { margin-bottom: 30px; }
	.hm-testi-grid { grid-template-columns: 1fr; gap: 16px; }
body.hm-theme.home .hm-testimonials .hm-testi { min-height: 280px; padding: 24px; border-radius: 16px; }
}

/* Homepage finish pass: consistent rhythm, polished content states and restrained motion. */
body.hm-theme.home .hm-section { padding-block: clamp(64px, 7vw, 104px); }
body.hm-theme.home .hm-sec-head { max-width: 780px; margin-inline: auto; }
body.hm-theme.home .hm-h2 { letter-spacing: -.025em; line-height: 1.16; }
body.hm-theme.home .hm-sec-head--center .hm-h2::after {
	content: ""; display: block; width: 46px; height: 3px; margin: 16px auto 0;
	border-radius: 99px; background: linear-gradient(90deg, var(--hm-red), var(--hm-gold));
}
body.hm-theme.home .hm-sec-lead { max-width: 680px; margin-inline: auto; line-height: 1.7; }
body.hm-theme.home .hm-rail--centered { justify-content: center; }

body.hm-theme.home .hm-cat-card { border-radius: 20px; overflow: hidden; box-shadow: 0 12px 35px rgba(31,23,20,.08); }
body.hm-theme.home .hm-cat-card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(31,23,20,.14); }
body.hm-theme.home .hm-noimg {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
	color: #71312c; background:
		radial-gradient(circle at 78% 22%, rgba(249,159,58,.3), transparent 25%),
		linear-gradient(145deg, #fff7eb, #f7e1ce 55%, #f4cfaa);
}
body.hm-theme.home .hm-noimg::before,
body.hm-theme.home .hm-noimg::after { content: ""; position: absolute; border: 1px solid rgba(153,5,0,.1); border-radius: 50%; }
body.hm-theme.home .hm-noimg::before { width: 190px; height: 190px; right: -70px; top: -55px; }
body.hm-theme.home .hm-noimg::after { width: 130px; height: 130px; left: -52px; bottom: -48px; }
body.hm-theme.home .hm-noimg svg { width: 60px; height: 60px; fill: none; stroke: currentColor; stroke-width: 1.8; }
body.hm-theme.home .hm-noimg span { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }

body.hm-theme.home .hm-story { background: linear-gradient(180deg, #fff 0%, #fffaf4 100%); }
body.hm-theme.home .hm-story__copy { max-width: 900px; }
body.hm-theme.home .hm-story__card {
	position: relative; padding: 30px; border: 1px solid rgba(153,5,0,.1); border-radius: 18px;
	background: rgba(255,255,255,.86); box-shadow: 0 8px 28px rgba(62,38,27,.045); overflow: hidden;
}
body.hm-theme.home .hm-story__card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(var(--hm-red), var(--hm-gold)); }
body.hm-theme.home .hm-story__card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(62,38,27,.09); }
body.hm-theme.home .hm-story__card h3 { margin-bottom: 10px; font-weight: 600; }

body.hm-theme.home .hm-arrivals li.product { border-radius: 18px; transition: transform .25s ease, box-shadow .25s ease; }
body.hm-theme.home .hm-arrivals li.product:hover { transform: translateY(-5px); box-shadow: 0 18px 42px rgba(17,24,39,.1); }
body.hm-theme.home .hm-promo { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(120deg, #790a06, #a4140d 55%, #780703); }
body.hm-theme.home .hm-promo::before,
body.hm-theme.home .hm-promo::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); }
body.hm-theme.home .hm-promo::before { width: 360px; height: 360px; top: -230px; left: 5%; box-shadow: 0 0 0 38px rgba(255,255,255,.025); }
body.hm-theme.home .hm-promo::after { width: 260px; height: 260px; right: 7%; bottom: -190px; box-shadow: 0 0 0 52px rgba(249,159,58,.06); }
body.hm-theme.home .hm-promo__inner h2 { font-weight: 600; letter-spacing: -.02em; }
body.hm-theme.home .hm-promo__btn { border-radius: 4px; box-shadow: 0 10px 28px rgba(34,0,0,.22); }
body.hm-theme.home .hm-promo__btn:hover { transform: translateY(-3px); box-shadow: 0 15px 32px rgba(34,0,0,.28); }

body.hm-theme.home .hm-quality__media { border-radius: 22px; overflow: hidden; box-shadow: 0 22px 52px rgba(47,31,23,.14); }
body.hm-theme.home .hm-quality__media img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
body.hm-theme.home .hm-quality__media:hover img { transform: scale(1.025); }
body.hm-theme.home .hm-quality__item { border-radius: 14px; transition: transform .2s ease, border-color .2s ease, background-color .2s ease; }
body.hm-theme.home .hm-quality__item:hover { transform: translateX(4px); border-color: rgba(153,5,0,.22); background: #fffaf6; }
body.hm-theme.home .hm-why { background: #fffaf6; }
body.hm-theme.home .hm-why-grid { gap: 20px; }
body.hm-theme.home .hm-why-card {
	padding: 30px 22px; border: 1px solid rgba(153,5,0,.09); border-radius: 18px; background: #fff;
	box-shadow: 0 8px 28px rgba(50,35,28,.045); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.hm-theme.home .hm-why-card:hover { transform: translateY(-5px); border-color: rgba(153,5,0,.18); box-shadow: 0 17px 38px rgba(50,35,28,.09); }
body.hm-theme.home .hm-why-card__icon { width: 58px; height: 58px; margin-inline: auto; border-radius: 50%; background: #fff3e7; }

body.hm-theme .hm-footer__grid,
body.hm-theme .hm-footer__bar-inner { width: min(1280px, calc(100% - 48px)); max-width: 1280px; margin-inline: auto !important; padding-inline: 0 !important; }
body.hm-theme .hm-footer__grid { margin-top: 0 !important; }
body.hm-theme .hm-footer__brand { padding-right: 12px; }

body.hm-theme.home.hm-motion-ready .hm-reveal { opacity: 0; transform: translateY(22px); }
body.hm-theme.home.hm-motion-ready .hm-reveal.is-visible {
	opacity: 1; transform: translateY(0); transition: opacity .6s ease var(--hm-reveal-delay, 0ms), transform .6s cubic-bezier(.2,.7,.2,1) var(--hm-reveal-delay, 0ms);
}
@media (min-width: 960px) {
	body.hm-theme .hm-footer__grid { grid-template-columns: 1.35fr .8fr .8fr .8fr 1.35fr; gap: clamp(24px, 2.5vw, 42px); }
}
@media (min-width: 1328px) {
	body.hm-theme .hm-footer__grid,
	body.hm-theme .hm-footer__bar-inner { width: 1280px; }
}
@media (max-width: 639px) {
	body.hm-theme.home .hm-section { padding-block: 58px; }
	body.hm-theme.home .hm-story__card,
	body.hm-theme.home .hm-why-card { padding: 24px 20px; }
	body.hm-theme .hm-footer__grid,
	body.hm-theme .hm-footer__bar-inner { width: calc(100% - 32px); }
}
@media (prefers-reduced-motion: reduce) {
	body.hm-theme.home.hm-motion-ready .hm-reveal { opacity: 1; transform: none; }
}

/* Homepage masthead sits above the hero, matching the clean internal-page header. */
@media (min-width: 1180px) {
	body.hm-theme.home #masthead.hm-header {
		position: relative; top: auto; left: auto; right: auto;
		background: #fff !important; color: var(--hm-ink); border-bottom: 1px solid var(--hm-line) !important;
		box-shadow: 0 4px 20px rgba(17,24,39,.055) !important;
	}
	body.hm-theme.home .hm-header__inner { text-shadow: none; }
	body.hm-theme.home .hm-header .hm-icon-link,
	body.hm-theme.home .hm-header .hm-search__toggle,
	body.hm-theme.home .hm-menu a { color: var(--hm-ink) !important; }
	body.hm-theme.home .hm-header__branding .hm-logo__img,
	body.hm-theme.home .hm-header__branding .hm-logo__mark svg { filter: none; }
	body.hm-theme.home .hm-search__panel,
	body.hm-theme.home .hm-search.is-open .hm-search__panel {
		border-color: #d9d9d9; background: #f8f8f8; box-shadow: none; backdrop-filter: none;
	}
	body.hm-theme.home .hm-search__panel input[type="search"] {
		color: var(--hm-ink); background-color: transparent;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236a7282' stroke-width='1.7'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
	}
	body.hm-theme.home .hm-search__panel input[type="search"]::placeholder { color: var(--hm-muted); }
	body.hm-theme.home .hm-search__panel input[type="search"]:focus { box-shadow: inset 0 0 0 1px var(--hm-red); background-color: #fff; }
	body.hm-theme.home .hm-primary-nav { border-bottom-color: var(--hm-line); }
	body.hm-theme.home .hm-menu .current-menu-item > a::after { background: var(--hm-red); }
	body.hm-theme.home .hm-hero {
		height: min(760px, calc(100vh - 154px)); min-height: 620px;
		border-top: 1px solid var(--hm-line);
	}
	body.hm-theme.home .hm-hero__img { object-position: center 12%; }
	body.hm-theme.home .hm-hero__inner { padding-top: 54px; }
}

/* Full-width section heading row: title left, action right. */
body.hm-theme.home .hm-arrivals .hm-sec-head--row {
	width: 100%; max-width: none; margin-inline: 0;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
body.hm-theme.home .hm-arrivals .hm-sec-head--row .hm-h2,
body.hm-theme.home .hm-arrivals .hm-sec-head--row .hm-view-all { margin: 0; }

/* Avoid doubled section padding between Categories and Brand Story. */
body.hm-theme.home .hm-categories { padding-bottom: clamp(36px, 3.5vw, 52px); }
body.hm-theme.home .hm-story { padding-top: clamp(44px, 4vw, 64px); }
@media (max-width: 479px) {
	body.hm-theme.home .hm-arrivals .hm-sec-head--row { align-items: flex-end; gap: 16px; }
	body.hm-theme.home .hm-arrivals .hm-view-all { white-space: nowrap; }
}

/* Use the available canvas on wide displays while retaining a deliberate gutter. */
@media (min-width: 1180px) {
	body.hm-theme.home .hm-categories > .hm-wrap,
	body.hm-theme.home .hm-categories .hm-rail,
	body.hm-theme.home .hm-arrivals > .hm-wrap,
	body.hm-theme.home .hm-arrivals .hm-rail {
		width: 100%; max-width: none; padding-inline: clamp(24px, 1.5vw, 36px);
	}
}

/* Shop archive polish: clearer controls, stronger cards and fluid desktop grid. */
body.hm-theme.woocommerce-shop .hm-shop,
body.hm-theme.tax-product_cat .hm-shop,
body.hm-theme.tax-product_tag .hm-shop {
	padding: 28px clamp(24px, 3vw, 52px) 72px; overflow: visible; background: #fff;
}
.hm-shop__header {
	display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
	padding-bottom: 22px; margin-bottom: 28px; border-bottom: 1px solid var(--hm-line);
}
.hm-shop__title { margin: 0; font-size: clamp(30px, 3vw, 42px); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; }
.hm-shop__count { margin: 0 0 5px; padding: 6px 12px; border-radius: 999px; background: #f7f3ef; color: #5d514c; font-size: 12px; font-weight: 500; }
.hm-shop__body { gap: clamp(24px, 2.5vw, 38px); }
.hm-filters {
	flex-basis: 272px; width: 272px; top: 20px; padding: 24px;
	border-color: #e8e2dc; border-radius: 16px; background: #fff;
	box-shadow: 0 10px 32px rgba(45,32,25,.055);
}
.hm-filters__title { margin-bottom: 20px; font-size: 20px; letter-spacing: -.015em; }
.hm-filter { padding: 18px 0; }
.hm-filter__head { min-height: 24px; font-size: 14px; }
.hm-filter__head:hover { color: var(--hm-red); }
.hm-filter__body { gap: 11px; }
.hm-check { min-height: 26px; padding: 2px 0; border-radius: 6px; line-height: 1.4; transition: color .18s ease, background-color .18s ease; }
.hm-check:hover { color: var(--hm-red); }
.hm-check input { width: 17px; height: 17px; }
.hm-filter-toggle { display: none; }
.hm-shop__toolbar {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	min-height: 48px; margin-bottom: 22px; padding: 0 0 14px; border-bottom: 1px solid var(--hm-line-2);
}
.hm-shop__summary { margin: 0; color: var(--hm-muted); font-size: 13px; }
.hm-theme .hm-shop .woocommerce-ordering { display: block !important; float: none; margin: 0; }
.hm-theme .hm-shop .woocommerce-ordering select {
	min-width: 190px; height: 42px; margin: 0; padding: 0 38px 0 14px;
	border: 1px solid #ddd6d0; border-radius: 9px; background-color: #fff;
	color: var(--hm-ink); font-family: inherit; font-size: 13px; cursor: pointer;
}
.hm-theme .hm-shop__main ul.products,
.hm-shop__main ul.products {
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
	gap: clamp(20px, 2vw, 28px) !important;
}
.hm-shop__main .hm-pcard {
	height: 100%; overflow: hidden; border: 1px solid #ebe7e3; border-radius: 16px;
	background: #fff; box-shadow: 0 6px 22px rgba(37,28,23,.045);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hm-shop__main .hm-pcard:hover { transform: translateY(-5px); border-color: #ded4cd; box-shadow: 0 16px 38px rgba(37,28,23,.1); }
.hm-shop__main .hm-pcard__media { aspect-ratio: 3 / 4; background: #f4f1ee; }
.hm-shop__main .hm-pcard__media img { transform: scale(1.001); transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.hm-shop__main .hm-pcard:hover .hm-pcard__media img { transform: scale(1.035); }
.hm-shop__main .hm-pcard__body { padding: 18px; }
.hm-shop__main .hm-pcard__name { min-height: 47px; margin-bottom: 10px; font-size: 14px; font-weight: 500; line-height: 1.65; }
.hm-shop__main .hm-pcard__price { min-height: 26px; margin-bottom: 14px; }
.hm-shop__main .hm-pcard__btn { min-height: 44px; margin-top: auto; border-radius: 8px; font-size: 13px; letter-spacing: .01em; }
.hm-theme .hm-shop nav.woocommerce-pagination { display: flex; justify-content: center; padding: 40px 0 0; }
.hm-theme .hm-shop nav.woocommerce-pagination ul { display: flex; gap: 8px; margin: 0; border: 0; }
.hm-theme .hm-shop nav.woocommerce-pagination ul li { border: 0; }
.hm-theme .hm-shop nav.woocommerce-pagination ul li a,
.hm-theme .hm-shop nav.woocommerce-pagination ul li span.current {
	width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
	padding: 0; border: 1px solid var(--hm-line); border-radius: 9px; background: #fff;
}
.hm-theme .hm-shop nav.woocommerce-pagination ul li a:hover { border-color: var(--hm-red); color: var(--hm-red); background: #fff8f6; }
.hm-theme .hm-shop nav.woocommerce-pagination ul li span.current { border-color: var(--hm-red); background: var(--hm-red); color: #fff; }
@media (max-width: 900px) {
	body.hm-theme.woocommerce-shop .hm-shop,
	body.hm-theme.tax-product_cat .hm-shop,
	body.hm-theme.tax-product_tag .hm-shop { padding: 24px 20px 56px; }
	.hm-shop__header { align-items: flex-start; margin-bottom: 18px; }
	.hm-filter-toggle {
		width: 100%; display: flex; align-items: center; justify-content: space-between;
		margin: 0 0 18px; padding: 13px 16px; border: 1px solid #ddd6d0; border-radius: 10px;
		background: #fff; color: var(--hm-ink); font-family: inherit; font-size: 14px; font-weight: 600;
	}
	.hm-filters { display: none; width: 100%; position: static; box-shadow: none; }
	.hm-filters.is-mobile-open { display: block; }
	.hm-shop__body { display: block; }
	.hm-shop__toolbar { margin-top: 0; }
}
@media (max-width: 560px) {
	.hm-shop__header { display: block; }
	.hm-shop__count { display: inline-block; margin-top: 10px; }
	.hm-shop__toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
	.hm-theme .hm-shop .woocommerce-ordering,
	.hm-theme .hm-shop .woocommerce-ordering select { width: 100%; }
	.hm-theme .hm-shop__main ul.products,
	.hm-shop__main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.hm-shop__main .hm-pcard { border-radius: 12px; }
	.hm-shop__main .hm-pcard__body { padding: 12px; }
	.hm-shop__main .hm-pcard__name { min-height: 42px; font-size: 12px; line-height: 1.55; }
	.hm-shop__main .hm-pcard__price { font-size: 12px; }
	.hm-shop__main .hm-pcard__btn { min-height: 40px; padding: 9px 6px; font-size: 11px; }
	.hm-shop__main .hm-pcard__btn svg { width: 16px; height: 16px; }
}

/* Product detail polish: balanced layout, accessible gallery and purchase flow. */
body.hm-theme.single-product .woocommerce-breadcrumb {
	max-width: 1440px; margin: 0 auto; padding: 28px clamp(24px, 4vw, 64px) 6px;
	color: var(--hm-muted); font-size: 13px;
}
body.hm-theme.single-product .woocommerce-breadcrumb a { color: #655b56; text-decoration: none; }
body.hm-theme.single-product .woocommerce-breadcrumb a:hover { color: var(--hm-red); }
body.hm-theme.single-product div.product {
	--hm-product-gutter: clamp(24px, 4vw, 64px);
	display: grid !important; grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr);
	column-gap: clamp(36px, 4vw, 64px); row-gap: 42px; align-items: start;
	max-width: 1440px; margin: 0 auto !important; padding: 26px var(--hm-product-gutter) 0 !important;
}
body.hm-theme.single-product div.product::before,
body.hm-theme.single-product div.product::after { content: none !important; display: none !important; }
body.hm-theme.single-product div.product > .woocommerce-product-gallery.hm-gallery-wrap {
	grid-column: 1; width: 100% !important; max-width: none !important; min-width: 0 !important;
}
body.hm-theme.single-product div.product > .summary {
	grid-column: 2; width: 100% !important; min-width: 0 !important; padding: clamp(24px, 2.7vw, 38px) !important;
	border: 1px solid #e9e3de; border-radius: 18px; background: #fff;
	box-shadow: 0 14px 42px rgba(43, 31, 25, .07);
}
body.hm-theme.single-product div.product > .related,
body.hm-theme.single-product div.product > .upsells {
	grid-column: 1 / -1; width: calc(100% + (var(--hm-product-gutter) * 2)) !important;
	margin: 12px calc(var(--hm-product-gutter) * -1) 0 !important;
}
body.hm-theme.single-product div.product > .storefront-product-pagination { grid-column: 1 / -1; }

/* Gallery */
body.hm-theme.single-product .hm-gallery { gap: 14px; }
body.hm-theme.single-product .hm-gallery__thumbs {
	flex-basis: 78px; max-height: 740px; overflow-y: auto; padding: 2px; scrollbar-width: thin;
}
body.hm-theme.single-product .hm-gallery__thumb {
	width: 76px; height: 98px; border: 1px solid #e5ded8; border-radius: 10px; opacity: .72;
	transition: opacity .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.hm-theme.single-product .hm-gallery__thumb:hover { opacity: 1; transform: translateY(-1px); }
body.hm-theme.single-product .hm-gallery__thumb.is-active {
	opacity: 1; border-color: var(--hm-red); box-shadow: 0 0 0 2px rgba(171, 52, 48, .12);
}
body.hm-theme.single-product .hm-gallery__main {
	overflow: hidden; border: 1px solid #ebe5e0; border-radius: 16px; background: #f6f3f1;
}
body.hm-theme.single-product .hm-gallery__zoom-trigger {
	width: 100%; display: block; position: relative; margin: 0; padding: 0; overflow: hidden;
	border: 0; border-radius: inherit; background: transparent; cursor: zoom-in;
}
body.hm-theme.single-product .hm-gallery__img {
	border-radius: 0; transform: scale(1.001); transition: transform .55s cubic-bezier(.2, .7, .2, 1), opacity .2s ease;
}
body.hm-theme.single-product .hm-gallery__zoom-trigger:hover .hm-gallery__img { transform: scale(1.025); }
body.hm-theme.single-product .hm-gallery__zoom-icon {
	position: absolute; right: 16px; bottom: 16px; width: 40px; height: 40px;
	display: grid; place-items: center; border: 1px solid rgba(0, 0, 0, .08); border-radius: 50%;
	background: rgba(255, 255, 255, .92); color: var(--hm-ink); font-size: 16px; box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
}
body.hm-theme.single-product .hm-gallery__nav {
	position: absolute; top: 50%; z-index: 3; width: 42px; height: 42px; display: grid; place-items: center;
	margin: 0; padding: 0; transform: translateY(-50%); border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--hm-ink); font-size: 28px;
	line-height: 1; box-shadow: 0 5px 16px rgba(0, 0, 0, .1); opacity: 0; transition: opacity .2s ease, background .2s ease;
}
body.hm-theme.single-product .hm-gallery__main:hover .hm-gallery__nav,
body.hm-theme.single-product .hm-gallery__nav:focus-visible { opacity: 1; }
body.hm-theme.single-product .hm-gallery__nav:hover { background: #fff; color: var(--hm-red); }
body.hm-theme.single-product .hm-gallery__nav--prev { left: 14px; }
body.hm-theme.single-product .hm-gallery__nav--next { right: 14px; }
body.hm-theme.hm-modal-open { overflow: hidden !important; }
body.hm-theme.single-product .hm-gallery-modal[hidden] { display: none !important; }
body.hm-theme.single-product .hm-gallery-modal {
	position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 32px;
	background: rgba(18, 14, 12, .86); backdrop-filter: blur(4px);
}
body.hm-theme.single-product .hm-gallery-modal__img {
	max-width: min(92vw, 980px); max-height: 90vh; width: auto; height: auto; object-fit: contain;
	border-radius: 12px; box-shadow: 0 24px 70px rgba(0, 0, 0, .42);
}
body.hm-theme.single-product .hm-gallery-modal__close {
	position: fixed; top: 22px; right: 26px; width: 46px; height: 46px; display: grid; place-items: center;
	padding: 0; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%;
	background: rgba(255, 255, 255, .14); color: #fff; font-size: 32px; line-height: 1;
}

/* Product information hierarchy and purchase controls. */
body.hm-theme.single-product div.product .product_title {
	margin: 0 0 10px !important; font-size: clamp(28px, 2.5vw, 38px); font-weight: 600;
	letter-spacing: -.035em; line-height: 1.16;
}
body.hm-theme.single-product div.product .hm-product-sku {
	margin: 0 0 16px !important; color: #847974; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
body.hm-theme.single-product div.product p.price,
body.hm-theme.single-product div.product .single_variation .price {
	margin: 0 0 2px !important; color: var(--hm-red); font-size: clamp(24px, 2.2vw, 31px); font-weight: 650;
}
body.hm-theme.single-product div.product .hm-tax-note { color: var(--hm-muted); font-size: 12px; }
body.hm-theme.single-product div.product .woocommerce-product-rating { display: flex !important; align-items: center; gap: 8px; margin: 10px 0; }
body.hm-theme.single-product div.product .stock {
	display: inline-flex !important; width: auto; margin: 14px 0 0 !important; padding: 7px 11px !important;
	border-radius: 999px; background: #edf9f0 !important; font-size: 12px !important;
}
body.hm-theme.single-product div.product form.cart.variations_form {
	margin-top: 22px !important; padding-top: 22px; border-top: 1px solid var(--hm-line-2);
}
body.hm-theme.single-product div.product .hm-swatch-label {
	margin: 0 0 12px !important; color: var(--hm-ink); font-size: 14px; font-weight: 600;
}
body.hm-theme.single-product div.product .hm-swatch-selected { color: var(--hm-red); }
body.hm-theme.single-product div.product .hm-swatches { gap: 9px; }
body.hm-theme.single-product div.product .hm-swatch {
	min-width: 46px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 8px 14px; border: 1px solid #dcd4ce; border-radius: 9px; background: #fff; color: var(--hm-ink);
	font-family: inherit; font-size: 13px; font-weight: 500; transition: border-color .18s ease, color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.hm-theme.single-product div.product .hm-swatch:hover { border-color: var(--hm-red); background: #fff9f7; color: var(--hm-red); }
body.hm-theme.single-product div.product .hm-swatch.is-active {
	border-color: var(--hm-red); background: #fff6f3; color: var(--hm-red); box-shadow: 0 0 0 2px rgba(171, 52, 48, .1);
}
body.hm-theme.single-product div.product .hm-swatch.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
body.hm-theme.single-product div.product .hm-swatch--color { width: auto; height: auto; border-radius: 999px; transform: none; }
body.hm-theme.single-product div.product .hm-swatch--color.is-active { transform: none; }
body.hm-theme.single-product .hm-swatch__color {
	width: 18px; height: 18px; flex: 0 0 18px; border: 1px solid rgba(0, 0, 0, .14); border-radius: 50%;
}
body.hm-theme.single-product div.product .reset_variations { margin-top: 10px !important; color: #756b66; text-underline-offset: 3px; }
body.hm-theme.single-product div.product form.cart .quantity,
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 132px; height: 52px; display: inline-flex !important; align-items: center;
	margin: 0 !important; overflow: hidden; border: 1px solid #dcd4ce; border-radius: 9px; background: #fff;
}
body.hm-theme.single-product .hm-qty__btn {
	width: 40px; height: 100%; flex: 0 0 40px; display: grid; place-items: center; margin: 0; padding: 0;
	border: 0; background: #fff; color: var(--hm-ink); font-size: 20px; transition: color .18s ease, background .18s ease;
}
body.hm-theme.single-product .hm-qty__btn:hover { background: #f8f4f1; color: var(--hm-red); }
body.hm-theme.single-product div.product form.cart .quantity input.qty {
	width: 50px; height: 100%; margin: 0; padding: 0; border: 0; border-inline: 1px solid #eee8e3;
	background: #fff; color: var(--hm-ink); text-align: center; font-family: inherit; font-weight: 600; appearance: textfield;
}
body.hm-theme.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button { appearance: none; }
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button { gap: 10px; margin-top: 18px !important; }
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart .hm-buy-now {
	min-height: 52px; border-radius: 9px !important; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button:not(.disabled):hover,
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn:hover,
body.hm-theme.single-product div.product form.cart .hm-buy-now:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(115, 28, 25, .16) !important; }
body.hm-theme.single-product div.product form.cart .button.disabled,
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button.disabled,
body.hm-theme.single-product div.product form.cart .button:disabled { filter: grayscale(.2); opacity: .52 !important; box-shadow: none !important; transform: none; }
body.hm-theme.single-product div.product .yith-wcwl-add-to-wishlist,
body.hm-theme.single-product div.product .tinv-wraper,
body.hm-theme.single-product div.product .woosw-btn { margin-top: 10px; }

/* Trust, details and related products. */
body.hm-theme.single-product div.product .hm-product-trust {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
	margin: 22px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid var(--hm-line-2);
}
body.hm-theme.single-product div.product .hm-product-trust li {
	min-width: 0; align-items: flex-start; gap: 10px; padding: 11px; border: 1px solid #eee8e3; border-radius: 10px; background: #fcfaf8;
}
body.hm-theme.single-product .hm-product-trust__ic {
	width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center;
	border-radius: 50%; background: #fff1ea; color: var(--hm-red); font-size: 13px;
}
body.hm-theme.single-product .hm-product-trust strong,
body.hm-theme.single-product .hm-product-trust small { display: block; }
body.hm-theme.single-product .hm-product-trust strong { color: var(--hm-ink); font-size: 12px; line-height: 1.35; }
body.hm-theme.single-product .hm-product-trust small { margin-top: 2px; color: var(--hm-muted); font-size: 10px; line-height: 1.4; }
body.hm-theme.single-product div.product .summary .woocommerce-tabs {
	margin-top: 24px !important; border-top: 1px solid var(--hm-line) !important;
}
body.hm-theme.single-product div.product .hm-acc__head {
	min-height: 58px; padding: 17px 0 !important; border-bottom-color: var(--hm-line-2) !important;
	transition: color .18s ease, border-color .18s ease;
}
body.hm-theme.single-product div.product .hm-acc__panel { padding: 18px 0 24px !important; color: #554d49; line-height: 1.75; }
body.hm-theme.single-product div.product .hm-acc__panel[hidden] { display: none !important; }
body.hm-theme.single-product div.product .related {
	padding: 46px 0 54px !important; overflow: hidden; background: linear-gradient(180deg, #fbf6f2 0%, #fff 100%) !important;
}
body.hm-theme.single-product div.product .related > h2 {
	padding: 0 var(--hm-product-gutter); text-align: left !important; font-size: clamp(24px, 2.4vw, 34px) !important;
	font-weight: 600 !important; letter-spacing: -.025em;
}
body.hm-theme.single-product div.product .related ul.products { gap: 22px !important; padding-inline: var(--hm-product-gutter) !important; }
body.hm-theme.single-product div.product .related ul.products li.product { flex-basis: 250px !important; width: 250px !important; }
body.hm-theme.single-product div.product .related .hm-pcard {
	height: 100%; overflow: hidden; border: 1px solid #ebe5e0; border-radius: 14px; background: #fff;
	box-shadow: 0 6px 22px rgba(43, 31, 25, .05); transition: transform .24s ease, box-shadow .24s ease;
}
body.hm-theme.single-product div.product .related .hm-pcard:hover { transform: translateY(-4px); box-shadow: 0 15px 34px rgba(43, 31, 25, .11); }

body.hm-theme.single-product .hm-gallery__thumb:focus-visible,
body.hm-theme.single-product .hm-gallery__nav:focus-visible,
body.hm-theme.single-product .hm-gallery__zoom-trigger:focus-visible,
body.hm-theme.single-product .hm-gallery-modal__close:focus-visible,
body.hm-theme.single-product div.product button:focus-visible,
body.hm-theme.single-product div.product a:focus-visible {
	outline: 3px solid rgba(171, 52, 48, .32) !important; outline-offset: 3px !important; box-shadow: none !important;
}

@media (max-width: 1024px) {
	body.hm-theme.single-product div.product {
		grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr); column-gap: 32px;
		--hm-product-gutter: 28px;
	}
	body.hm-theme.single-product div.product > .summary { padding: 24px !important; }
}
@media (max-width: 820px) {
	body.hm-theme.single-product .woocommerce-breadcrumb { padding-inline: 20px; }
	body.hm-theme.single-product div.product {
		--hm-product-gutter: 20px; display: grid !important; grid-template-columns: minmax(0, 1fr);
		padding-top: 18px !important; row-gap: 26px;
	}
	body.hm-theme.single-product div.product > .woocommerce-product-gallery.hm-gallery-wrap,
	body.hm-theme.single-product div.product > .summary { grid-column: 1; }
	body.hm-theme.single-product .hm-gallery { flex-direction: column; }
	body.hm-theme.single-product .hm-gallery__thumbs {
		order: 2; width: 100%; max-height: none; flex: 0 0 auto; flex-direction: row; overflow-x: auto; overflow-y: hidden;
	}
	body.hm-theme.single-product .hm-gallery__thumb { flex: 0 0 68px; width: 68px; height: 86px; }
	body.hm-theme.single-product .hm-gallery__nav { opacity: 1; }
	body.hm-theme.single-product div.product > .summary { border-radius: 14px; }
}
@media (max-width: 520px) {
	body.hm-theme.single-product .woocommerce-breadcrumb { padding-top: 20px; font-size: 11px; }
	body.hm-theme.single-product div.product { --hm-product-gutter: 16px; padding-top: 12px !important; }
	body.hm-theme.single-product div.product > .summary { padding: 20px 16px !important; box-shadow: 0 8px 28px rgba(43, 31, 25, .06); }
	body.hm-theme.single-product div.product .product_title { font-size: 26px; }
	body.hm-theme.single-product div.product .hm-product-trust { grid-template-columns: 1fr; }
	body.hm-theme.single-product div.product form.cart .quantity { flex-basis: 118px; }
	body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
	body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
	body.hm-theme.single-product div.product form.cart .hm-buy-now { flex-basis: calc(100% - 128px) !important; min-width: 150px; padding-inline: 12px !important; }
	body.hm-theme.single-product div.product .related ul.products li.product { flex-basis: 205px !important; width: 205px !important; }
	body.hm-theme.single-product .hm-gallery-modal { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	body.hm-theme.single-product *, body.hm-theme.single-product *::before, body.hm-theme.single-product *::after {
		scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important;
	}
}

/* My Account: authoritative login, dashboard and endpoint styling. */
body.hm-theme.woocommerce-account {
	--hm-account-gutter: clamp(22px, 4vw, 58px);
	background: #fff;
}
body.hm-theme.woocommerce-account .site-content {
	min-height: 560px; padding: 0 !important; background: linear-gradient(180deg, #fbf8f5 0, #fff 520px);
}
body.hm-theme.woocommerce-account .site-content > .col-full,
body.hm-theme.woocommerce-account #primary,
body.hm-theme.woocommerce-account main#main,
body.hm-theme.woocommerce-account article { width: 100% !important; max-width: none !important; }
body.hm-theme.woocommerce-account .woocommerce-notices-wrapper {
	max-width: 1280px; margin: 0 auto; padding: 18px var(--hm-account-gutter) 0;
}
body.hm-theme.woocommerce-account .woocommerce-error,
body.hm-theme.woocommerce-account .woocommerce-message,
body.hm-theme.woocommerce-account .woocommerce-info {
	margin: 0 0 18px; padding: 15px 18px 15px 48px; border: 1px solid #eadfd9;
	border-radius: 10px; background: #fff; color: var(--hm-body); box-shadow: 0 5px 18px rgba(45, 32, 25, .05);
}

/* Logged-out welcome and authentication cards. */
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce {
	width: 100% !important; max-width: 1280px !important; display: block !important;
	margin: 0 auto !important; padding: 52px var(--hm-account-gutter) 76px !important;
}
body.hm-theme .hm-account-intro { max-width: 760px; margin: 0 auto 38px; text-align: center; }
body.hm-theme .hm-account-intro__eyebrow,
body.hm-theme .hm-account-header__eyebrow {
	margin: 0 0 9px; color: var(--hm-red); font-size: 11px; font-weight: 700;
	letter-spacing: .14em; text-transform: uppercase;
}
body.hm-theme .hm-account-intro h1 {
	margin: 0; color: var(--hm-ink); font-size: clamp(32px, 4vw, 48px); font-weight: 650;
	letter-spacing: -.04em; line-height: 1.12;
}
body.hm-theme .hm-account-intro__copy {
	max-width: 660px; margin: 16px auto 0; color: #6d6460; font-size: 16px; line-height: 1.65;
}
body.hm-theme .hm-account-intro__benefits {
	display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 24px;
	margin: 24px 0 0; padding: 0; list-style: none;
}
body.hm-theme .hm-account-intro__benefits li {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #554d49; font-size: 12px; font-weight: 600;
}
body.hm-theme .hm-account-intro__benefits li span {
	width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%;
	background: #fff0e8; color: var(--hm-red); font-size: 13px;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns {
	width: 100% !important; max-width: none !important; display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3vw, 38px);
	margin: 0 !important; padding: 0 !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column1,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column2 {
	width: auto !important; min-width: 0; display: flex; flex-direction: column;
	margin: 0 !important; padding: clamp(26px, 3vw, 38px) !important; float: none !important;
	border: 1px solid #e8e1dc; border-radius: 18px; background: rgba(255, 255, 255, .96);
	box-shadow: 0 14px 42px rgba(45, 32, 25, .07);
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column1 { border-top: 4px solid var(--hm-red); }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column2 { border-top: 4px solid var(--hm-gold); }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login h2 {
	margin: 0 0 8px !important; color: var(--hm-ink); font-size: 25px !important; font-weight: 650;
	letter-spacing: -.025em; line-height: 1.2;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register {
	width: 100% !important; max-width: none !important; flex: 1 1 auto;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
	background: transparent; box-shadow: none !important;
}
body.hm-theme .hm-auth-card__lead {
	min-height: 44px; margin: 0 0 22px; color: #756b66; font-size: 13px; line-height: 1.6;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .form-row { margin: 0 0 17px; padding: 0; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login label {
	display: block; margin: 0 0 7px; color: #3f3835; font-size: 12px; font-weight: 650; line-height: 1.4;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .required { color: var(--hm-red); }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input.input-text,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input[type="text"],
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input[type="email"],
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input[type="password"] {
	width: 100% !important; height: 52px !important; margin: 0; padding: 0 15px !important;
	border: 1px solid #d9d1cb !important; border-radius: 10px !important; background: #fff !important;
	color: var(--hm-ink); font-family: inherit; font-size: 14px !important; box-shadow: 0 1px 0 rgba(0, 0, 0, .02) !important;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input.input-text:hover { border-color: #bfb4ad !important; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input.input-text:focus {
	outline: 0; border-color: var(--hm-red) !important; box-shadow: 0 0 0 3px rgba(171, 52, 48, .11) !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .password-input { position: relative; display: block; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .show-password-input,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login button.wc-password-visibility-toggle {
	right: 15px; width: 34px; height: 34px; display: grid; place-items: center; color: #746a65 !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login button[type="submit"] {
	min-height: 50px; margin: 0 !important; padding: 13px 26px !important; border: 0 !important;
	border-radius: 9px !important; background: var(--hm-red) !important; color: #fff !important;
	font-family: inherit; font-size: 14px !important; font-weight: 650 !important; letter-spacing: .01em;
	text-transform: none; box-shadow: none !important; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit { width: 100%; background: #9d651f !important; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login button[type="submit"]:hover {
	transform: translateY(-1px); background: var(--hm-red-dark) !important; box-shadow: 0 9px 20px rgba(111, 27, 24, .16) !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register__submit:hover { background: #7e4e16 !important; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__rememberme {
	display: inline-flex; align-items: center; gap: 8px; margin: 0; color: #625955; font-size: 12px;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login input[type="checkbox"] {
	width: 17px; height: 17px; margin: 0; accent-color: var(--hm-red);
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login > .form-row:nth-last-of-type(2) {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword { margin: 12px 0 0; font-size: 12px; }
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-LostPassword a {
	color: var(--hm-red) !important; font-weight: 600; text-underline-offset: 3px;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-privacy-policy-text,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register > p:not(.form-row) {
	margin: 12px 0 17px; color: #756b66; font-size: 11px; line-height: 1.6;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register .form-row-first,
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register .form-row-last {
	width: calc(50% - 6px) !important; margin-right: 0 !important; float: left;
}
body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register .form-row-first { margin-right: 12px !important; }

/* Logged-in account shell and all WooCommerce endpoints. */
body.hm-theme.woocommerce-account.logged-in .woocommerce {
	width: 100% !important; max-width: 1320px; display: grid !important;
	grid-template-columns: 270px minmax(0, 1fr); gap: 26px;
	margin: 0 auto !important; padding: 48px var(--hm-account-gutter) 76px;
}
body.hm-theme.woocommerce-account .hm-account-header {
	grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 24px;
	margin: 0 0 6px; padding: 30px 34px; border: 1px solid #eadfd9; border-radius: 18px;
	background: linear-gradient(120deg, #fff 0%, #fff7f1 100%); box-shadow: 0 10px 30px rgba(45, 32, 25, .055);
}
body.hm-theme.woocommerce-account .hm-account-header h1 {
	margin: 0; color: var(--hm-ink); font-size: clamp(28px, 3vw, 38px); font-weight: 650; letter-spacing: -.035em;
}
body.hm-theme.woocommerce-account .hm-account-header p:last-child { margin: 8px 0 0; color: #6f6661; font-size: 14px; }
body.hm-theme.woocommerce-account .hm-account-header__avatar {
	width: 62px; height: 62px; flex: 0 0 62px; display: grid; place-items: center;
	border: 1px solid #efd2c4; border-radius: 50%; background: #fff0e8; color: var(--hm-red); font-size: 24px; font-weight: 700;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-column: 1; width: 100% !important; align-self: start; position: sticky; top: 20px;
	margin: 0 !important; padding: 14px !important; float: none !important;
	border: 1px solid #e9e2dd; border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(45, 32, 25, .055);
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 5px; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li a {
	min-height: 48px; display: flex; align-items: center; padding: 11px 14px;
	border: 0; border-radius: 9px; color: #554d49; font-size: 13px; font-weight: 600;
	transition: color .18s ease, background-color .18s ease, transform .18s ease;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { transform: translateX(2px); background: #fbf4ef; color: var(--hm-red); }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	border: 0; background: var(--hm-red); color: #fff; box-shadow: 0 6px 15px rgba(130, 31, 27, .14);
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout {
	margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--hm-line-2);
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout a { color: var(--hm-red); }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content {
	grid-column: 2; width: 100% !important; min-width: 0; min-height: 420px;
	margin: 0 !important; padding: clamp(26px, 3vw, 40px) !important; float: none !important;
	border: 1px solid #e9e2dd; border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(45, 32, 25, .055);
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content p { color: #5f5652; line-height: 1.7; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content h2,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content h3,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content legend {
	color: var(--hm-ink); letter-spacing: -.02em;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content h2,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content legend { margin-bottom: 22px; font-size: 25px; font-weight: 650; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content a { color: var(--hm-red); text-underline-offset: 3px; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin-bottom: 18px; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form label {
	display: block; margin-bottom: 7px; color: #49413d; font-size: 12px; font-weight: 650;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form .input-text,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form input[type="text"],
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form input[type="email"],
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"],
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form input[type="password"],
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form select,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form .select2-selection {
	width: 100%; height: 50px !important; padding: 0 15px !important; border: 1px solid #d9d1cb !important;
	border-radius: 9px !important; background: #fff !important; font-family: inherit; font-size: 14px !important;
	transition: border-color .18s ease, box-shadow .18s ease;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form .input-text:focus,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content form select:focus {
	outline: 0; border-color: var(--hm-red) !important; box-shadow: 0 0 0 3px rgba(171, 52, 48, .1) !important;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content .button,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content button[type="submit"] {
	min-height: 46px; height: auto !important; padding: 12px 22px !important; border: 1px solid var(--hm-red) !important;
	border-radius: 8px !important; background: var(--hm-red) !important; color: #fff !important;
	font-size: 13px !important; font-weight: 650 !important; letter-spacing: .01em; text-transform: none;
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content .button:hover,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover {
	transform: translateY(-1px); background: var(--hm-red-dark) !important; box-shadow: 0 7px 18px rgba(111, 27, 24, .15) !important;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content table {
	width: 100%; overflow: hidden; border: 1px solid #e9e2dd !important; border-radius: 10px; border-collapse: separate; border-spacing: 0;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content table th {
	padding: 13px 14px; border-bottom: 1px solid #e9e2dd; background: #faf6f3; color: #49413d; font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content table td { padding: 14px; border-bottom: 1px solid #f0ebe7; font-size: 13px; }
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content table tr:last-child td { border-bottom: 0; }
body.hm-theme.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
body.hm-theme.woocommerce-account .woocommerce-Address {
	width: auto !important; float: none !important; margin: 0; padding: 20px;
	border: 1px solid #e9e2dd; border-radius: 11px; background: #fcfaf8;
}
body.hm-theme.woocommerce-account .woocommerce-Address address { color: #625955; font-size: 13px; line-height: 1.7; }

body.hm-theme.woocommerce-account button:focus-visible,
body.hm-theme.woocommerce-account a:focus-visible,
body.hm-theme.woocommerce-account input:focus-visible,
body.hm-theme.woocommerce-account select:focus-visible {
	outline: 3px solid rgba(171, 52, 48, .28) !important; outline-offset: 3px !important;
}

@media (max-width: 860px) {
	body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce { padding-top: 36px !important; }
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login.u-columns { grid-template-columns: minmax(0, 1fr); }
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column1,
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column2 { max-width: 620px; width: 100% !important; margin-inline: auto !important; }
	body.hm-theme.woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); padding-top: 30px; }
	body.hm-theme.woocommerce-account .hm-account-header { grid-column: 1; }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation {
		grid-column: 1; position: static; overflow-x: auto; padding: 8px !important; scrollbar-width: thin;
	}
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; width: max-content; min-width: 100%; }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 44px; white-space: nowrap; }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout { margin: 0 0 0 5px; padding: 0 0 0 5px; border-top: 0; border-left: 1px solid var(--hm-line-2); }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; }
}
@media (max-width: 560px) {
	body.hm-theme.woocommerce-account { --hm-account-gutter: 16px; }
	body.hm-theme .hm-account-intro { margin-bottom: 28px; }
	body.hm-theme .hm-account-intro__copy { font-size: 14px; }
	body.hm-theme .hm-account-intro__benefits { align-items: flex-start; flex-direction: column; width: fit-content; margin-inline: auto; }
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column1,
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .u-column2 { padding: 23px 18px !important; border-radius: 14px; }
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register .form-row-first,
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-register .form-row-last {
		width: 100% !important; margin-right: 0 !important; float: none;
	}
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login > .form-row:nth-last-of-type(2) {
		align-items: stretch; flex-direction: column;
	}
	body.hm-theme.woocommerce-account:not(.logged-in) #customer_login .woocommerce-form-login__submit { width: 100%; }
	body.hm-theme.woocommerce-account .hm-account-header { padding: 24px 20px; }
	body.hm-theme.woocommerce-account .hm-account-header__avatar { width: 48px; height: 48px; flex-basis: 48px; font-size: 19px; }
	body.hm-theme.woocommerce-account .woocommerce-MyAccount-content { padding: 23px 18px !important; }
	body.hm-theme.woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	body.hm-theme.woocommerce-account *, body.hm-theme.woocommerce-account *::before, body.hm-theme.woocommerce-account *::after {
		transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important;
	}
}

/* FEEDBACK: clean, left-origin testimonial rail without a tinted section. */
body.hm-theme.home .hm-testimonials {
	background: #fff !important;
}
body.hm-theme.home .hm-testimonials > .hm-wrap {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-inline: var(--hm-site-gutter);
}
body.hm-theme.home .hm-testi-carousel__viewport {
	padding-inline: 0;
	scroll-padding-inline: 0;
}
body.hm-theme.home .hm-testi-grid {
	width: max-content;
	min-width: 100%;
	justify-content: flex-start;
}
body.hm-theme.home .hm-testimonials .hm-testi {
	flex: 0 0 clamp(320px, 28vw, 400px) !important;
	scroll-snap-align: start;
}

/* FEEDBACK: four purposeful footer columns after removing the Shop column. */
@media (min-width: 960px) {
	body.hm-theme .hm-footer__grid {
		grid-template-columns: minmax(220px, 1.2fr) minmax(150px, .7fr) minmax(210px, .9fr) minmax(260px, 1.2fr) !important;
	}
}

/* Admin-editable Contact Us page. */
body.hm-theme .hm-contact-page {
	box-sizing: border-box;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(42px, 6vw, 80px) var(--hm-site-gutter) clamp(64px, 8vw, 104px);
}
body.hm-theme .hm-contact-page__article { margin: 0; }
body.hm-theme .hm-contact-page__header {
	max-width: 720px;
	margin-bottom: clamp(28px, 4vw, 46px);
}
body.hm-theme .hm-contact-page__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: var(--hm-red);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.hm-theme .hm-contact-page__header h1 {
	margin: 0;
	color: var(--hm-ink);
	font-size: clamp(30px, 4vw, 42px);
	font-weight: 600;
	line-height: 1.18;
}
body.hm-theme .hm-contact-page__content { color: var(--hm-muted); }
body.hm-theme .hm-contact-page__content .hm-contact-lead {
	max-width: 760px;
	margin: 0 0 32px;
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.7;
}
body.hm-theme .hm-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin: 0 0 36px;
	border-block: 1px solid var(--hm-line);
	background: var(--hm-line);
}
body.hm-theme .hm-contact-card {
	min-width: 0;
	padding: 28px clamp(18px, 2.5vw, 30px);
	background: #fff;
}
body.hm-theme .hm-contact-card h2,
body.hm-theme .hm-contact-note h2 {
	margin: 0 0 12px;
	color: var(--hm-ink);
	font-size: 17px;
	font-weight: 600;
}
body.hm-theme .hm-contact-card p,
body.hm-theme .hm-contact-note p {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.7;
}
body.hm-theme .hm-contact-card p:last-child,
body.hm-theme .hm-contact-note p:last-child { margin-bottom: 0; }
body.hm-theme .hm-contact-page__content a { color: var(--hm-red); text-underline-offset: 3px; }
body.hm-theme .hm-contact-page__content .hm-contact-action { font-weight: 600; }
body.hm-theme .hm-contact-note {
	max-width: 780px;
	padding-left: 20px;
	border-left: 3px solid var(--hm-red);
}
@media (max-width: 760px) {
	body.hm-theme.home .hm-testimonials .hm-testi { flex-basis: min(82vw, 310px) !important; }
	body.hm-theme .hm-contact-grid { grid-template-columns: minmax(0, 1fr); }
	body.hm-theme .hm-contact-page { padding-inline: var(--hm-site-gutter); }
}

/* Generated-password guidance should read as part of the account dashboard. */
body.hm-theme.woocommerce-account.logged-in .woocommerce-notices-wrapper:not(:empty) {
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 18px clamp(20px, 4vw, 48px) 0;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-info {
	margin: 0;
	padding: 13px 16px 13px 44px;
	border: 1px solid #eadfd9;
	border-left: 3px solid var(--hm-gold);
	border-radius: 6px;
	background: #fffaf4;
	box-shadow: none;
	font-size: 13px;
	line-height: 1.55;
}

/* Shared page gutters: keep the masthead and footer aligned on every screen. */
body.hm-theme { --hm-site-max: 1440px; --hm-site-gutter: clamp(24px, 4vw, 64px); }
body.hm-theme .hm-header__inner {
	width: 100%; max-width: var(--hm-site-max); margin-inline: auto;
	padding-left: var(--hm-site-gutter) !important; padding-right: var(--hm-site-gutter) !important;
}
body.hm-theme .hm-footer .hm-footer__grid,
body.hm-theme .hm-footer .hm-footer__bar-inner {
	width: 100% !important; max-width: var(--hm-site-max) !important; margin-inline: auto !important;
	padding-left: var(--hm-site-gutter) !important; padding-right: var(--hm-site-gutter) !important;
}
body.hm-theme .hm-footer .hm-footer__grid {
	margin-top: 0 !important; padding-top: clamp(52px, 5vw, 72px); padding-bottom: clamp(46px, 4.5vw, 64px);
}

/* Storefront prints an empty WooCommerce notice container before the page.
   It must not create a false hero-sized gap above the account content. */
body.hm-theme.woocommerce-account:not(.logged-in) .site-content > .col-full > .woocommerce:empty { display: none !important; }
body.hm-theme.woocommerce-account:not(.logged-in) .site-content > .col-full > .woocommerce:not(:empty) {
	max-width: 1280px !important; margin: 0 auto !important; padding: 18px var(--hm-account-gutter) 0 !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	padding-top: 28px !important; padding-bottom: 68px !important;
}
body.hm-theme.woocommerce-account:not(.logged-in) .hm-account-intro { margin-bottom: 28px; }

@media (max-width: 560px) {
	body.hm-theme { --hm-site-gutter: 16px; }
	body.hm-theme.woocommerce-account:not(.logged-in) .entry-content > .woocommerce { padding-top: 24px !important; padding-bottom: 54px !important; }
	body.hm-theme .hm-footer .hm-footer__grid { padding-top: 46px; padding-bottom: 42px; }
}

/* Related products: retain aligned content while the section background spans
   the entire viewport on wide screens. */
body.hm-theme.single-product div.product .related.products,
body.hm-theme.single-product div.product .related {
	position: relative !important; overflow: visible !important; isolation: isolate;
	background: transparent !important;
}
body.hm-theme.single-product div.product .related.products::before,
body.hm-theme.single-product div.product .related::before {
	content: ""; position: absolute; inset-block: 0; left: 50%; z-index: 0;
	width: 100vw; transform: translateX(-50%); pointer-events: none;
	background: linear-gradient(180deg, #fbf6f2 0%, #fff 100%);
}
body.hm-theme.single-product div.product .related > h2,
body.hm-theme.single-product div.product .related > ul.products {
	position: relative; z-index: 1;
}

/* Storefront's edge-hover previous/next previews look like stray images on
   large screens and duplicate the related-products navigation. */
body.hm-theme.single-product .storefront-product-pagination { display: none !important; }

/* A quieter, more compact archive card: square imagery, restrained corners,
   tighter information rhythm and no oversized vertical footprint. */
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard {
	border-radius: 12px; box-shadow: 0 5px 18px rgba(37, 28, 23, .045);
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media {
	aspect-ratio: 1 / 1 !important; overflow: hidden; background: #f5f1ed;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media img,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media img,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media img {
	width: 100%; height: 100%; object-fit: cover; object-position: center 18%;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__body,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__body,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__body { padding: 14px; }
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__name,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__name,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__name {
	min-height: 42px; margin-bottom: 8px; font-size: 13px; line-height: 1.55;
	display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__price,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__price,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__price { min-height: 23px; margin-bottom: 10px; font-size: 13px; }
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__btn,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__btn,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__btn {
	min-height: 41px; padding: 10px 12px; border-radius: 7px; font-size: 12px;
}
@media (max-width: 560px) {
	body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__body,
	body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__body,
	body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__body { padding: 11px; }
	body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__btn,
	body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__btn,
	body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__btn { min-height: 38px; padding-inline: 6px; }
}

/* Product detail remains centred on wide screens. The related-products content
   is compact, while its soft background continues across the whole viewport. */
body.hm-theme.single-product .woocommerce-breadcrumb,
body.hm-theme.single-product div.product {
	margin-left: auto !important; margin-right: auto !important;
}
body.hm-theme.single-product div.product .related.products,
body.hm-theme.single-product div.product .related {
	padding-block: clamp(38px, 4vw, 52px) !important;
}
body.hm-theme.single-product div.product .related > h2 {
	margin-bottom: 24px !important; text-align: center !important;
	font-size: clamp(24px, 2.2vw, 32px) !important; text-transform: none;
}
body.hm-theme.single-product div.product .related ul.products {
	gap: 16px !important; padding-bottom: 8px !important;
}
body.hm-theme.single-product div.product .related ul.products li.product {
	flex: 0 0 200px !important; width: 200px !important;
}
body.hm-theme.single-product div.product .related .hm-pcard {
	border-radius: 10px; box-shadow: 0 4px 16px rgba(43, 31, 25, .045);
}
body.hm-theme.single-product div.product .related .hm-pcard__media {
	aspect-ratio: 4 / 5 !important;
}
body.hm-theme.single-product div.product .related .hm-pcard__body { padding: 12px; }
body.hm-theme.single-product div.product .related .hm-pcard__name {
	min-height: 40px; margin-bottom: 7px; font-size: 12px; line-height: 1.55;
}
body.hm-theme.single-product div.product .related .hm-pcard__price {
	min-height: 22px; margin-bottom: 8px; padding-bottom: 8px; font-size: 12px;
}
body.hm-theme.single-product div.product .related .hm-pcard__btn {
	min-height: 38px; margin-top: 8px; padding: 8px 7px; border-radius: 6px; font-size: 11px;
}
body.hm-theme.single-product div.product .related .hm-pcard__btn svg { width: 15px; height: 15px; }
@media (max-width: 520px) {
	body.hm-theme.single-product div.product .related ul.products li.product {
		flex-basis: 172px !important; width: 172px !important;
	}
	body.hm-theme.single-product div.product .related > h2 { text-align: left !important; }
}

/* Authoritative gallery sale tab. This selector matches the actual body-level
   WooCommerce class and overrides Storefront's default outlined badge. */
body.hm-theme.single-product div.product .hm-gallery__main .hm-sale-flash.onsale {
	position: absolute !important; top: 0 !important; left: 0 !important; right: auto !important; z-index: 4;
	min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 11px 16px !important;
	border: 0 !important; border-radius: 0 0 3px 0 !important; background: rgba(181, 65, 61, .84) !important;
	color: #fff !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important;
	text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}

/* ========================================================================
   JULY 2026 STOREFRONT REFINEMENTS
   Keep these rules authoritative while preserving WooCommerce's native flow.
   ======================================================================== */

/* Shop: keep the toolbar sorter and suppress only Storefront's duplicate
   ordering control that is appended after the product loop. */
body.hm-theme .hm-shop__main > .woocommerce-ordering,
body.hm-theme .hm-shop__main > .storefront-sorting {
	display: none !important;
}

/* Product information follows the reference's open, borderless treatment. */
body.hm-theme.single-product div.product > .summary {
	padding: 4px 0 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.hm-theme.single-product div.product .product_title {
	font-size: clamp(25px, 2.15vw, 32px);
	font-weight: 500;
	letter-spacing: -.025em;
}
body.hm-theme.single-product div.product form.cart.variations_form {
	margin-top: 20px !important;
	padding-top: 18px;
}
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button,
body.hm-theme.single-product div.product form.cart:not(.variations_form) {
	display: flex !important;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 12px;
}
body.hm-theme.single-product div.product form.cart .quantity,
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity {
	flex: 0 0 120px;
	height: 48px;
	border-radius: 4px;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart .hm-buy-now {
	flex: 1 1 190px !important;
	min-width: 180px !important;
	min-height: 48px !important;
	height: 48px;
	margin: 0 !important;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .07em;
	line-height: 48px !important;
	text-align: center;
	text-transform: uppercase;
	justify-content: center;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button {
	background: #9ea3a8 !important;
	color: #fff !important;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button:not(.disabled):hover {
	background: #858b91 !important;
}
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart .hm-buy-now {
	background: #f58a73 !important;
	color: #fff !important;
}
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn:hover,
body.hm-theme.single-product div.product form.cart .hm-buy-now:hover {
	background: #e97962 !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
	display: grid !important;
	grid-template-columns: 120px minmax(0, 1fr) minmax(0, 1fr);
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .quantity,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .quantity {
	width: 120px;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .single_add_to_cart_button,
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .hm-buy-now {
	min-width: 0 !important;
	width: 100%;
}

/* Match the cart's recommendation rail on the product page. */
body.hm-theme.single-product div.product .related.products,
body.hm-theme.single-product div.product .related {
	margin-top: 20px !important;
	padding: 48px 0 !important;
}
body.hm-theme.single-product div.product .related.products::before,
body.hm-theme.single-product div.product .related::before {
	background: linear-gradient(180deg, rgba(171, 52, 48, .05), rgba(171, 52, 48, 0));
}
body.hm-theme.single-product div.product .related > h2 {
	margin: 0 0 28px !important;
	padding-inline: var(--hm-product-gutter) !important;
	text-align: center !important;
	font-size: 26px !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	text-transform: uppercase;
}
body.hm-theme.single-product div.product .related ul.products {
	gap: 20px !important;
	padding: 0 var(--hm-product-gutter) 12px !important;
}
body.hm-theme.single-product div.product .related ul.products li.product {
	flex: 0 0 240px !important;
	width: 240px !important;
}
body.hm-theme.single-product div.product .related .hm-pcard {
	border: 1px solid var(--hm-line-2);
	border-radius: 8px;
	box-shadow: none;
}
body.hm-theme.single-product div.product .related .hm-pcard__media {
	aspect-ratio: 3 / 4 !important;
}
body.hm-theme.single-product div.product .related .hm-pcard__body { padding: 16px; }
body.hm-theme.single-product div.product .related .hm-pcard__name {
	min-height: 0;
	font-size: 14px;
}
body.hm-theme.single-product div.product .related .hm-pcard__btn {
	min-height: 40px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
}

/* Account: remove the false hero gap and keep both auth and dashboard shells
   close to the header with consistent gutters. */
body.hm-theme.woocommerce-account .site-content { min-height: 0; }
body.hm-theme.woocommerce-account:not(.logged-in) .woocommerce,
body.hm-theme.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	padding-top: 14px !important;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce {
	gap: 18px;
	padding-top: 14px;
}
body.hm-theme.woocommerce-account .hm-account-intro {
	max-width: 680px;
	margin-bottom: 22px;
}
body.hm-theme.woocommerce-account .hm-account-intro h1 {
	font-size: clamp(26px, 3vw, 34px);
	letter-spacing: -.025em;
}
body.hm-theme.woocommerce-account .hm-account-intro__copy {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.55;
}
body.hm-theme.woocommerce-account .hm-account-intro__benefits {
	margin-top: 16px;
}
body.hm-theme.woocommerce-account .hm-account-header {
	margin-bottom: 0;
	padding: 22px 26px;
	border-radius: 12px;
	box-shadow: none;
}
body.hm-theme.woocommerce-account .hm-account-header h1 {
	font-size: clamp(24px, 2.5vw, 32px);
}
body.hm-theme.woocommerce-account .woocommerce-MyAccount-navigation,
body.hm-theme.woocommerce-account .woocommerce-MyAccount-content {
	box-shadow: none;
}

/* Checkout: a calm form column and a clearly separated, sticky order summary. */
body.hm-theme.woocommerce-checkout .site-content .col-full {
	max-width: 1200px !important;
	padding-top: 30px !important;
}
body.hm-theme.woocommerce-checkout .hm-checkout-intro { margin-bottom: 24px; }
body.hm-theme.woocommerce-checkout form.checkout {
	grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr);
	gap: 36px;
}
body.hm-theme.woocommerce-checkout #customer_details .col-1,
body.hm-theme.woocommerce-checkout #customer_details .col-2 {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	width: 100% !important;
	float: none !important;
}
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_company_field,
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field,
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field {
	grid-column: 1 / -1;
}
body.hm-theme.woocommerce-checkout #order_review_heading {
	padding: 22px 24px 12px;
	border: 1px solid #e8e2dc;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	background: #fff;
	font-size: 20px;
}
body.hm-theme.woocommerce-checkout #order_review {
	margin-top: -36px;
	padding: 58px 24px 24px;
	border: 1px solid #e8e2dc;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
}

/* WooCommerce success/cart messages become a compact right-side toolbar. */
body.hm-theme:not(.woocommerce-cart) .woocommerce-message {
	position: fixed !important;
	top: 118px;
	right: 24px;
	z-index: 9998;
	width: min(440px, calc(100vw - 32px));
	min-height: 72px;
	margin: 0 !important;
	padding: 18px 18px 18px 48px !important;
	border: 0 !important;
	border-left: 5px solid #0d7446 !important;
	border-radius: 8px !important;
	background: #168a53 !important;
	color: #fff !important;
	box-shadow: 0 14px 38px rgba(18, 73, 47, .22) !important;
	font-size: 13px;
	line-height: 1.55;
}
body.hm-theme:not(.woocommerce-cart) .woocommerce-message::before {
	top: 23px !important;
	left: 18px !important;
	color: #fff !important;
}
body.hm-theme:not(.woocommerce-cart) .woocommerce-message .button,
body.hm-theme:not(.woocommerce-cart) .woocommerce-message a.button {
	float: right;
	margin: -5px 0 -5px 14px !important;
	padding: 10px 15px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--hm-red) !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	white-space: nowrap;
}

@media (max-width: 900px) {
	body.hm-theme.single-product div.product > .summary { padding-top: 0 !important; }
	body.hm-theme.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: block; }
	body.hm-theme.woocommerce-checkout #order_review { margin-top: 0; padding-top: 12px; }
}
@media (max-width: 560px) {
	body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button,
	body.hm-theme.single-product div.product form.cart:not(.variations_form) { gap: 10px; }
	body.hm-theme.single-product div.product form.cart .quantity { flex-basis: 112px; }
	body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
	body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
	body.hm-theme.single-product div.product form.cart .hm-buy-now {
		flex: 1 1 calc(100% - 122px) !important;
		min-width: 150px !important;
		padding-inline: 10px !important;
		font-size: 12px !important;
	}
	body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
	body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .quantity,
	body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .quantity {
		grid-column: 1 / -1;
		width: 112px;
	}
	body.hm-theme.single-product div.product .related > h2 { text-align: left !important; font-size: 22px !important; }
	body.hm-theme.single-product div.product .related ul.products li.product {
		flex-basis: 205px !important;
		width: 205px !important;
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce { padding-top: 16px; }
	body.hm-theme:not(.woocommerce-cart) .woocommerce-message {
		top: auto;
		right: 16px;
		bottom: 16px;
		width: calc(100vw - 32px);
	}
	body.hm-theme:not(.woocommerce-cart) .woocommerce-message .button,
	body.hm-theme:not(.woocommerce-cart) .woocommerce-message a.button {
		float: none;
		display: block;
		width: fit-content;
		margin: 10px 0 0 !important;
	}
}

/* FINAL PRODUCT SUMMARY REFERENCE — deliberately last in the cascade. */
body.hm-theme.single-product div.product > .summary { max-width: 560px; }
body.hm-theme.single-product div.product .product_title {
	margin: 0 0 14px !important;
	font-size: clamp(20px, 1.8vw, 24px) !important;
	font-weight: 500 !important;
	line-height: 1.35;
	letter-spacing: 0 !important;
}
body.hm-theme.single-product div.product p.price,
body.hm-theme.single-product div.product .single_variation .price {
	margin: 0 0 5px !important;
	color: #252525 !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.35;
}
body.hm-theme.single-product div.product p.price del { font-size: 16px !important; font-weight: 400 !important; }
body.hm-theme.single-product div.product .hm-tax-note { margin: 0 !important; font-size: 12px; color: #757575; }
body.hm-theme.single-product div.product .stock.in-stock { display: none !important; }
body.hm-theme.single-product div.product .stock.out-of-stock {
	margin: 10px 0 0 !important; padding: 0 !important; border-radius: 0; background: transparent !important;
}
body.hm-theme.single-product div.product form.cart.variations_form {
	margin-top: 25px !important; padding-top: 0 !important; border-top: 0 !important;
}
body.hm-theme.single-product div.product .hm-swatch-label {
	margin: 0 0 12px !important; font-size: 13px; font-weight: 600;
	letter-spacing: .01em; text-transform: uppercase;
}
body.hm-theme.single-product div.product table.variations tr + tr .hm-swatch-label { margin-top: 24px !important; }
body.hm-theme.single-product div.product .hm-swatch-selected { display: none; }
body.hm-theme.single-product div.product .hm-swatches { gap: 10px; }
body.hm-theme.single-product div.product .hm-swatch:not(.hm-swatch--color) {
	min-width: 52px; min-height: 50px; padding: 8px 12px;
	border-color: #9b9b9b; border-radius: 5px; background: #fff; font-size: 14px;
}
body.hm-theme.single-product div.product .hm-swatch--color {
	width: 58px; height: auto; min-width: 58px; min-height: 0;
	display: inline-flex; flex-direction: column; gap: 6px; padding: 0;
	border: 0; border-radius: 0; background: transparent !important; box-shadow: none !important;
	color: #666; text-indent: 0; overflow: visible; font-size: 11px; font-weight: 400; line-height: 1.2;
}
body.hm-theme.single-product .hm-swatch--color .hm-swatch__color {
	width: 48px; height: 48px; flex: 0 0 48px; border: 1px solid #aaa; box-shadow: 0 0 0 2px #fff;
}
body.hm-theme.single-product .hm-swatch--color .hm-swatch__text {
	display: block; max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
body.hm-theme.single-product div.product .hm-swatch--color.is-active {
	border: 0; background: transparent !important; color: #555; transform: none; box-shadow: none !important;
}
body.hm-theme.single-product div.product .hm-swatch--color.is-active .hm-swatch__color {
	border-color: #f16045; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #f16045;
}
body.hm-theme.single-product div.product .reset_variations { margin-top: 10px !important; font-size: 11px; }
body.hm-theme.single-product div.product form.cart .quantity,
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity { display: none !important; }
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button {
	margin-top: 30px !important; display: flex !important; gap: 24px;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
	display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
}
body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart .hm-buy-now {
	min-width: 0 !important; height: 50px; min-height: 50px !important; padding: 0 20px !important;
	font-size: 14px !important; font-weight: 500 !important; letter-spacing: .08em;
}
body.hm-theme.single-product div.product .hm-product-trust {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 30px;
	margin: 28px 0 0 !important; padding: 25px 0 27px !important;
	border-top: 1px solid #f0f0f0; border-bottom: 1px solid #f0f0f0;
}
body.hm-theme.single-product div.product .hm-product-trust li {
	min-width: 0; display: flex; align-items: center; gap: 10px;
	margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.hm-theme.single-product .hm-product-trust__ic {
	width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center;
	border: 0; border-radius: 0; background: transparent; color: #b54843;
}
body.hm-theme.single-product .hm-product-trust__ic svg { width: 22px; height: 22px; }
body.hm-theme.single-product .hm-product-trust strong {
	color: #292929; font-size: 13px; font-weight: 400; line-height: 1.45;
}
body.hm-theme.single-product .hm-product-trust small { display: none; }
body.hm-theme.single-product div.product .summary .woocommerce-tabs {
	margin-top: 0 !important; border-top: 0 !important;
}
body.hm-theme.single-product div.product .hm-acc__head {
	min-height: 0; padding: 21px 2px !important; border-bottom: 1px solid #eee !important;
	font-size: 13px !important; font-weight: 600 !important;
	letter-spacing: .1em !important; text-transform: uppercase !important;
}
body.hm-theme.single-product div.product .hm-acc__head.is-open {
	color: #292929 !important; border-bottom-color: #eee !important;
}
body.hm-theme.single-product div.product .hm-acc__panel {
	padding: 15px 2px 20px !important; font-size: 13px; line-height: 1.65;
}
@media (max-width: 560px) {
	body.hm-theme.single-product div.product .product_title { font-size: 20px !important; }
	body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button,
	body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
	body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) { gap: 10px; }
	body.hm-theme.single-product div.product form.cart .single_add_to_cart_button,
	body.hm-theme.single-product div.product form.cart .gk-buy-now-btn,
	body.hm-theme.single-product div.product form.cart .hm-buy-now {
		min-width: 0 !important; font-size: 11px !important; letter-spacing: .05em;
	}
	body.hm-theme.single-product div.product .hm-product-trust { gap: 18px 14px; padding-block: 22px !important; }
	body.hm-theme.single-product .hm-product-trust strong { font-size: 11px; }
}

/* FINAL COMPACT CART TOAST — must remain after legacy notice rules. */
body.hm-theme .woocommerce-message {
	position: fixed !important;
	top: var(--hm-toast-top, 92px) !important;
	right: var(--hm-toast-right, 18px) !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 9998 !important;
	width: min(300px, calc(100vw - 24px)) !important;
	min-height: 0 !important;
	display: block !important;
	align-items: center;
	margin: 0 !important;
	padding: 11px 13px 11px 38px !important;
	border: 0 !important;
	border-left: 3px solid #0d7446 !important;
	border-radius: 6px !important;
	background: #168a53 !important;
	color: #fff !important;
	box-shadow: 0 8px 22px rgba(18, 73, 47, .16) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	transition: opacity .18s ease, transform .18s ease !important;
}
body.hm-theme .woocommerce-message::before {
	top: 50% !important;
	left: 13px !important;
	transform: translateY(-50%);
	color: #fff !important;
	font-size: 14px !important;
}
body.hm-theme .woocommerce-message .button {
	display: none !important;
}
body.hm-theme .woocommerce-message.is-hiding {
	opacity: 0 !important;
	transform: translateY(-6px);
	pointer-events: none;
}

/* FINAL DYNAMIC TESTIMONIAL CAROUSEL. */
body.hm-theme.home .hm-testimonials {
	padding-block: clamp(44px, 4.5vw, 62px) !important;
	background: #f6f7f9;
}
body.hm-theme.home .hm-testimonials .hm-sec-head {
	margin-bottom: 22px;
}
.hm-testi-carousel { position: relative; }
.hm-testi-carousel__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}
.hm-testi-carousel__viewport::-webkit-scrollbar { display: none; }
.hm-testi-grid {
	display: flex !important;
	align-items: stretch;
	gap: 18px !important;
	width: 100%;
}
body.hm-theme.home .hm-testimonials .hm-testi {
	box-sizing: border-box;
	width: auto !important;
	min-width: 0;
	min-height: 220px !important;
	flex: 0 0 calc((100% - 36px) / 3);
	margin: 0 !important;
	padding: 18px 20px !important;
	border-radius: 14px;
	scroll-snap-align: start;
}
body.hm-theme.home .hm-testimonials .hm-testi:hover { transform: translateY(-2px); }
body.hm-theme.home .hm-testimonials .hm-testi__top { margin-bottom: 12px; }
body.hm-theme.home .hm-testimonials .hm-testi__avatar {
	width: 40px;
	height: 40px;
	flex-basis: 40px;
	font-size: 16px;
}
body.hm-theme.home .hm-testimonials .hm-stars { gap: 2px; }
body.hm-theme.home .hm-testimonials .hm-stars svg { width: 16px; height: 16px; }
body.hm-theme.home .hm-testimonials .hm-testi blockquote {
	margin-bottom: 12px;
	font-size: 13px;
	line-height: 1.55;
}
body.hm-theme.home .hm-testimonials .hm-testi blockquote::before {
	height: 14px;
	margin-bottom: 4px;
	font-size: 34px;
}
body.hm-theme.home .hm-testimonials .hm-testi figcaption { padding-top: 10px; }
body.hm-theme.home .hm-testimonials .hm-testi__name { font-size: 14px; }
body.hm-theme.home .hm-testimonials .hm-testi__role { margin-top: 2px; font-size: 12px; }
.hm-testi-carousel__button {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	margin: 0;
	padding: 0 0 3px;
	transform: translateY(-50%);
	border: 1px solid #eadfd8;
	border-radius: 50%;
	background: #fff;
	color: var(--hm-ink);
	box-shadow: 0 7px 20px rgba(17, 24, 39, .12);
	font-size: 28px;
	line-height: 1;
}
.hm-testi-carousel__button--prev { left: -18px; }
.hm-testi-carousel__button--next { right: -18px; }
.hm-testi-carousel__button:hover:not(:disabled) { background: var(--hm-red); color: #fff; }
.hm-testi-carousel__button:disabled { opacity: .35; cursor: default; }
@media (max-width: 959px) {
	body.hm-theme.home .hm-testimonials .hm-testi { flex-basis: calc((100% - 18px) / 2); }
	.hm-testi-carousel__button--prev { left: -8px; }
	.hm-testi-carousel__button--next { right: -8px; }
}
@media (max-width: 639px) {
	body.hm-theme.home .hm-testimonials { padding-block: 44px !important; }
	body.hm-theme.home .hm-testimonials .hm-sec-head { margin-bottom: 22px; }
	body.hm-theme.home .hm-testimonials .hm-testi {
		min-height: 220px !important;
		flex-basis: min(86vw, 320px);
		padding: 20px !important;
	}
	.hm-testi-carousel__button { width: 34px; height: 34px; }
	.hm-testi-carousel__button--prev { left: 3px; }
	.hm-testi-carousel__button--next { right: 3px; }
}

/* FINAL CLEAN SHOP FILTERS + SQUARE PRODUCT CARDS. */
body.hm-theme.woocommerce-shop .hm-filters,
body.hm-theme.tax-product_cat .hm-filters,
body.hm-theme.tax-product_tag .hm-filters {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.woocommerce-shop .hm-filters__title,
body.hm-theme.tax-product_cat .hm-filters__title,
body.hm-theme.tax-product_tag .hm-filters__title {
	margin: 0;
	padding: 0 0 15px;
	border-bottom: 1px solid var(--hm-line-2);
}
body.hm-theme.woocommerce-shop .hm-filter,
body.hm-theme.tax-product_cat .hm-filter,
body.hm-theme.tax-product_tag .hm-filter {
	padding: 17px 0;
	border-top: 0;
	border-bottom: 1px solid var(--hm-line-2);
}
body.hm-theme.woocommerce-shop .hm-filter:first-of-type,
body.hm-theme.tax-product_cat .hm-filter:first-of-type,
body.hm-theme.tax-product_tag .hm-filter:first-of-type {
	padding-top: 17px;
}
body.hm-theme.woocommerce-shop .hm-filter__head,
body.hm-theme.woocommerce-shop .hm-filter__head:hover,
body.hm-theme.woocommerce-shop .hm-filter__head:focus,
body.hm-theme.woocommerce-shop .hm-filter__head:active,
body.hm-theme.tax-product_cat .hm-filter__head,
body.hm-theme.tax-product_cat .hm-filter__head:hover,
body.hm-theme.tax-product_cat .hm-filter__head:focus,
body.hm-theme.tax-product_cat .hm-filter__head:active,
body.hm-theme.tax-product_tag .hm-filter__head,
body.hm-theme.tax-product_tag .hm-filter__head:hover,
body.hm-theme.tax-product_tag .hm-filter__head:focus,
body.hm-theme.tax-product_tag .hm-filter__head:active {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--hm-ink) !important;
	box-shadow: none !important;
	outline: 0 !important;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard,
body.hm-theme.single-product div.product .related .hm-pcard {
	overflow: visible;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
	box-shadow: none !important;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard:hover,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard:hover,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard:hover,
body.hm-theme.single-product div.product .related .hm-pcard:hover {
	transform: none;
	border-color: transparent;
	box-shadow: none !important;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media,
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media img,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media img,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media img,
body.hm-theme.single-product div.product .related .hm-pcard__media,
body.hm-theme.single-product div.product .related .hm-pcard__media img {
	border-radius: 0 !important;
}
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__body,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__body,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__body,
body.hm-theme.single-product div.product .related .hm-pcard__body {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* FINAL MINIMAL LOGGED-IN ACCOUNT DASHBOARD. */
body.hm-theme.woocommerce-account.logged-in .site-content {
	min-height: 0;
	background: #fff;
}
body.hm-theme.woocommerce-account.logged-in .site-content > .col-full > .woocommerce:empty,
body.hm-theme.woocommerce-account.logged-in .woocommerce-notices-wrapper:empty {
	display: none !important;
}
body.hm-theme.woocommerce-account.logged-in .site-content > .col-full,
body.hm-theme.woocommerce-account.logged-in #primary,
body.hm-theme.woocommerce-account.logged-in main#main,
body.hm-theme.woocommerce-account.logged-in article,
body.hm-theme.woocommerce-account.logged-in .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.hm-theme.woocommerce-account.logged-in .entry-content > .woocommerce {
	width: 100% !important;
	max-width: 1200px !important;
	display: grid !important;
	grid-template-columns: 220px minmax(0, 1fr);
	column-gap: clamp(28px, 3vw, 44px);
	row-gap: 22px;
	margin: 0 auto !important;
	padding: 20px clamp(20px, 4vw, 48px) 56px !important;
}
body.hm-theme.woocommerce-account.logged-in .hm-account-header {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0 0 20px;
	border: 0;
	border-bottom: 1px solid var(--hm-line-2);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.woocommerce-account.logged-in .hm-account-header__eyebrow {
	margin-bottom: 5px;
	font-size: 10px;
	letter-spacing: .12em;
}
body.hm-theme.woocommerce-account.logged-in .hm-account-header h1 {
	font-size: clamp(23px, 2.3vw, 29px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1.2;
}
body.hm-theme.woocommerce-account.logged-in .hm-account-header p:last-child {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.5;
}
body.hm-theme.woocommerce-account.logged-in .hm-account-header__avatar {
	width: 44px;
	height: 44px;
	flex-basis: 44px;
	border-color: #eadbd2;
	background: #fff7f2;
	font-size: 17px;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	grid-column: 1;
	position: sticky;
	top: 18px;
	align-self: start;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--hm-line-2);
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li--customer-logout {
	margin: 0;
	padding: 0;
	border-top: 0;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
	min-height: 44px;
	display: flex;
	align-items: center;
	padding: 10px 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 13px;
	font-weight: 500;
	transform: none;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
	color: #5b5551;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--hm-red);
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
	font-weight: 650;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	grid-column: 2;
	width: 100% !important;
	min-height: 0;
	margin: 0 !important;
	padding: 4px 0 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content > p:first-child {
	margin: 0 0 18px;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content p {
	margin-top: 0;
	color: #59534f;
	font-size: 14px;
	line-height: 1.65;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content legend {
	margin-bottom: 18px;
	font-size: 21px;
	font-weight: 600;
}
@media (max-width: 860px) {
	body.hm-theme.woocommerce-account.logged-in .entry-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 16px !important;
	}
	body.hm-theme.woocommerce-account.logged-in .hm-account-header,
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-column: 1;
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		position: static;
		overflow-x: auto;
		padding-bottom: 2px !important;
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
		display: flex;
		width: max-content;
		min-width: 100%;
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		border-bottom: 1px solid var(--hm-line-2);
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a,
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover,
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a {
		padding-inline: 12px;
		white-space: nowrap;
	}
}
@media (max-width: 560px) {
	body.hm-theme.woocommerce-account.logged-in .entry-content > .woocommerce {
		row-gap: 18px;
		padding: 14px 16px 44px !important;
	}
	body.hm-theme.woocommerce-account.logged-in .hm-account-header {
		align-items: flex-start;
		padding-bottom: 16px;
	}
	body.hm-theme.woocommerce-account.logged-in .hm-account-header h1 { font-size: 22px; }
	body.hm-theme.woocommerce-account.logged-in .hm-account-header p:last-child { font-size: 12px; }
	body.hm-theme.woocommerce-account.logged-in .hm-account-header__avatar {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
		font-size: 15px;
	}
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content { padding-top: 0 !important; }
	body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-content p { font-size: 13px; }
}

/* Account dashboard is intentionally static and text-only. */
body.hm-theme.woocommerce-account *,
body.hm-theme.woocommerce-account *::before,
body.hm-theme.woocommerce-account *::after {
	animation: none !important;
	transition: none !important;
	scroll-behavior: auto !important;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a::before,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a::after {
	content: none !important;
	display: none !important;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover {
	background: transparent !important;
	color: #5b5551 !important;
}
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.hm-theme.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a:hover {
	color: var(--hm-red) !important;
}
@media (max-width: 560px) {
	body.hm-theme .woocommerce-message {
		width: min(280px, calc(100vw - 24px)) !important;
		padding: 10px 12px 10px 36px !important;
	}
}

/* FINAL PRODUCT PURCHASE ROW + GALLERY SIZE — keep after legacy product rules. */
body.hm-theme.single-product div.product .reset_variations {
	display: none !important;
}
body.hm-theme.single-product .hm-gallery__main,
body.hm-theme.single-product .hm-gallery__zoom-trigger,
body.hm-theme.single-product .hm-gallery__img {
	border-radius: 0 !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-template-rows: 50px !important;
	gap: 16px !important;
	align-items: stretch !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .single_add_to_cart_button {
	grid-column: 1 !important;
	grid-row: 1 !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .hm-buy-now {
	grid-column: 2 !important;
	grid-row: 1 !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .single_add_to_cart_button,
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .hm-buy-now {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}
@media (min-width: 1280px) {
	body.hm-theme.single-product .hm-gallery {
		justify-content: flex-end;
		gap: 8px;
	}
	body.hm-theme.single-product .hm-gallery__thumbs {
		flex-basis: 78px;
		max-height: 753px;
		gap: 8px;
		padding: 0;
	}
	body.hm-theme.single-product .hm-gallery__thumb {
		width: 76px;
		height: 114px;
		border-radius: 0;
	}
	body.hm-theme.single-product .hm-gallery__main {
		width: 502px !important;
		height: 753px !important;
		flex: 0 0 502px !important;
		box-sizing: border-box;
		overflow: hidden;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}
	body.hm-theme.single-product .hm-gallery__zoom-trigger,
	body.hm-theme.single-product .hm-gallery__img {
		width: 502px !important;
		height: 753px !important;
		max-width: 502px !important;
		border-radius: 0 !important;
	}
	body.hm-theme.single-product .hm-gallery__img {
		object-fit: cover;
		transform: none;
	}
	body.hm-theme.single-product .hm-gallery__zoom-trigger:hover .hm-gallery__img {
		transform: none;
	}
}
@media (max-width: 820px) {
	body.hm-theme.single-product .hm-gallery__main,
	body.hm-theme.single-product .hm-gallery__zoom-trigger {
		width: 100% !important;
		height: auto !important;
		flex: 0 0 auto !important;
		border: 0 !important;
		background: transparent !important;
	}
	body.hm-theme.single-product .hm-gallery__img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 2 / 3;
		object-fit: cover;
		transform: none;
	}
}
@media (max-width: 560px) {
	body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
	body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
		gap: 10px !important;
	}
}

/* PRODUCT OPTIONS + QUANTITY — Rangriti-inspired, using WooCommerce's native
   quantity input so the chosen value persists through cart, checkout and order. */
body.hm-theme.single-product div.product .hm-swatch-label {
	margin: 0 0 12px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase;
}
body.hm-theme.single-product div.product .hm-swatches--size {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch {
	position: relative;
	width: auto;
	min-width: 54px;
	height: 52px;
	min-height: 52px;
	display: inline-grid;
	place-items: center;
	padding: 0 16px;
	border: 1px solid #777 !important;
	border-radius: 4px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: #4d4d4d !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1;
	text-decoration: none !important;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch:hover,
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch:focus-visible {
	border-color: #f15b3a !important;
	background: #fff7f4 !important;
	color: #d94327 !important;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch.is-active {
	border-color: #f15b3a !important;
	background: #f15b3a !important;
	color: #fff !important;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch.is-disabled {
	border-color: #b7b7b7 !important;
	background: #fff !important;
	color: #999 !important;
	opacity: 1;
	cursor: not-allowed;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch.is-disabled::after {
	content: '';
	position: absolute;
	left: 7px;
	right: 7px;
	top: 50%;
	height: 1px;
	background: #888;
	transform: rotate(-34deg);
	transform-origin: center;
}
body.hm-theme.single-product div.product .hm-quantity-field {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	margin: 0 0 18px;
}
body.hm-theme.single-product div.product .hm-quantity-label {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.2;
	text-transform: uppercase;
}
body.hm-theme.single-product div.product form.cart .quantity,
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart .quantity {
	width: 126px !important;
	height: 46px;
	display: inline-flex !important;
	align-items: stretch;
	flex: none !important;
	margin: 0 !important;
	border: 1px solid #8b8b8b;
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
body.hm-theme.single-product div.product form.cart .quantity > .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body.hm-theme.single-product div.product form.cart .quantity input.qty {
	width: 46px !important;
	min-width: 0;
	height: 44px !important;
	flex: 1 1 46px;
	padding: 0 !important;
	border: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	box-sizing: border-box;
	color: #252525;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	-moz-appearance: textfield;
}
body.hm-theme.single-product div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
body.hm-theme.single-product div.product form.cart .quantity input.qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}
body.hm-theme.single-product div.product .hm-qty__btn {
	width: 39px;
	height: 44px;
	flex: 0 0 39px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: #333;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
}
body.hm-theme.single-product div.product .hm-qty__btn:hover,
body.hm-theme.single-product div.product .hm-qty__btn:focus-visible {
	background: #f7f4f2;
	color: #a9160f;
}
body.hm-theme.single-product div.product .woocommerce-variation-add-to-cart.variations_button,
body.hm-theme.single-product div.product form.cart:not(.variations_form) {
	flex-wrap: wrap;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn),
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) {
	grid-template-rows: auto 50px !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .hm-quantity-field,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .hm-quantity-field {
	grid-column: 1 / -1;
	grid-row: 1;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .single_add_to_cart_button,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .single_add_to_cart_button {
	grid-row: 2 !important;
}
body.hm-theme.single-product div.product .variations_button:has(.gk-buy-now-btn) .gk-buy-now-btn,
body.hm-theme.single-product div.product form.cart:has(.hm-buy-now) .hm-buy-now {
	grid-row: 2 !important;
}
@media (max-width: 560px) {
	body.hm-theme.single-product div.product .hm-swatches--size { gap: 8px; }
	body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch {
		min-width: 48px;
		height: 48px;
		min-height: 48px;
		padding-inline: 12px;
		font-size: 16px !important;
	}
}

/* Product-card contract: identical dimensions and typography wherever the
   shared card is rendered (shop, home, cart recommendations, and product
   recommendations). Keep small screens fluid instead of forcing overflow. */
body.hm-theme .hm-pcard {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.hm-theme .hm-pcard__media,
body.hm-theme .hm-pcard__media img {
	border-radius: 0 !important;
}
body.hm-theme .hm-pcard__media img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center top;
}
body.hm-theme .hm-pcard__body {
	padding: 12px 0 0 !important;
}
body.hm-theme .hm-pcard__name,
body.hm-theme.single-product div.product .related .hm-pcard__name,
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__name,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__name,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__name {
	min-height: 42px;
	margin: 0 0 8px !important;
	color: var(--hm-ink) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.5;
}
body.hm-theme .hm-pcard__price,
body.hm-theme.single-product div.product .related .hm-pcard__price,
body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__price,
body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__price,
body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__price {
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
body.hm-theme .hm-pcard__btn {
	display: none !important;
}

@media (min-width: 768px) {
	body.hm-theme .woocommerce ul.products li.hm-pcard-li,
	body.hm-theme.home .hm-rail li.hm-pcard-li,
	body.hm-theme .hm-cart-rail li.hm-pcard-li,
	body.hm-theme.single-product div.product .related ul.products li.product.hm-pcard-li {
		flex: 0 0 242px !important;
		width: 242px !important;
		max-width: 242px !important;
	}
	body.hm-theme .hm-shop__main ul.products {
		grid-template-columns: repeat(auto-fill, 242px) !important;
		justify-content: start !important;
	}
	body.hm-theme .hm-pcard {
		width: 242px !important;
		max-width: 242px !important;
	}
	body.hm-theme .hm-pcard__media,
	body.hm-theme.single-product div.product .related .hm-pcard__media,
	body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media,
	body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media,
	body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media {
		width: 242px !important;
		height: 363px !important;
		aspect-ratio: auto !important;
	}
}

@media (max-width: 767px) {
	body.hm-theme .hm-shop__main .hm-pcard {
		width: 100% !important;
		max-width: none !important;
	}
	body.hm-theme .hm-pcard__media,
	body.hm-theme.single-product div.product .related .hm-pcard__media,
	body.hm-theme.woocommerce-shop .hm-shop__main .hm-pcard__media,
	body.hm-theme.tax-product_cat .hm-shop__main .hm-pcard__media,
	body.hm-theme.tax-product_tag .hm-shop__main .hm-pcard__media {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 2 / 3 !important;
	}
}

/* Full-bleed related-products background without clipping the product page. */
body.hm-theme.single-product div.product {
	overflow: visible !important;
}
body.hm-theme.single-product div.product .related.products,
body.hm-theme.single-product div.product .related {
	position: relative !important;
	overflow: visible !important;
	isolation: isolate;
	background: transparent !important;
}
body.hm-theme.single-product div.product .related.products::before,
body.hm-theme.single-product div.product .related::before {
	content: "";
	position: absolute;
	inset-block: 0;
	left: 50%;
	z-index: -1;
	width: 100vw;
	transform: translateX(-50%);
	background: linear-gradient(180deg, rgba(171, 52, 48, .05), rgba(171, 52, 48, 0));
	pointer-events: none;
}

/* Account endpoints: align the password section with the profile fields and
   keep WooCommerce's visibility control centred inside every input. */
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm fieldset {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 30px 0 24px;
	padding: 0;
	border: 0;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	display: block;
	width: 100%;
	margin: 0 0 18px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--hm-line-2);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm fieldset .form-row {
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	float: none !important;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input {
	position: relative;
	display: block;
	width: 100%;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input input[type="password"],
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input input[type="text"] {
	width: 100% !important;
	padding-right: 50px !important;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input .show-password-input,
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input button.wc-password-visibility-toggle {
	position: absolute !important;
	top: 50% !important;
	right: 6px !important;
	display: grid !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%) !important;
	place-items: center;
	border: 0 !important;
	border-radius: 4px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #6a7282 !important;
	line-height: 1 !important;
}
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input .show-password-input:hover,
body.hm-theme.woocommerce-account .woocommerce-EditAccountForm .password-input button.wc-password-visibility-toggle:hover {
	background: #f7f4f1 !important;
	color: var(--hm-ink) !important;
}

/* Orders: a compact empty state and one consistent action treatment for both
   the empty view and populated order rows. */
body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 74px;
	margin: 0 !important;
	padding: 14px 16px 14px 46px !important;
	border: 1px solid var(--hm-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 14px;
}
body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info::before {
	top: 50%;
	left: 17px;
	transform: translateY(-50%);
}
body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info .wc-forward,
body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 128px;
	min-height: 42px !important;
	height: 42px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid var(--hm-red) !important;
	border-radius: 6px !important;
	background: var(--hm-red) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-align: center;
	text-decoration: none;
	transition: none !important;
}
body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info .wc-forward:hover,
body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:hover {
	transform: none !important;
	background: var(--hm-red-dark) !important;
	box-shadow: none !important;
}
body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info .wc-forward::after {
	content: none !important;
}
body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
}
body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button + .button {
	margin-left: 6px !important;
}

/* Header product search: visible submit affordance at the input's right edge. */
body.hm-theme .hm-search__panel input[type="search"] {
	padding-right: 48px !important;
}
body.hm-theme .hm-search__submit {
	position: absolute;
	top: 50%;
	right: 6px;
	z-index: 2;
	display: grid;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: var(--hm-muted);
	cursor: pointer;
	transition: none;
}
body.hm-theme .hm-search__submit:hover,
body.hm-theme .hm-search__submit:focus-visible {
	background: #eee9e5;
	color: var(--hm-red);
}
body.hm-theme .hm-search__submit svg {
	display: block;
	width: 18px;
	height: 18px;
}

@media (min-width: 1180px) {
	body.hm-theme .hm-search__panel,
	body.hm-theme .hm-search.is-open .hm-search__panel {
		position: relative;
	}
	body.hm-theme .hm-search__panel input[type="search"],
	body.hm-theme:not(.home) .hm-search__panel input[type="search"],
	body.hm-theme.home .hm-search__panel input[type="search"] {
		padding-left: 18px !important;
		padding-right: 48px !important;
		background-image: none !important;
	}
}

@media (max-width: 560px) {
	body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info {
		align-items: stretch;
		flex-direction: column;
		padding: 16px !important;
	}
	body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info::before {
		display: none;
	}
	body.hm-theme.woocommerce-account.hm-account-orders .woocommerce-MyAccount-content > .woocommerce-info .wc-forward {
		width: 100%;
	}
	body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions,
	body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before {
		text-align: left !important;
	}
	body.hm-theme.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
		width: 100%;
		margin: 5px 0 0 !important;
	}
}

/* FINAL PRODUCT OPTION SHAPES + NATIVE REVIEWS */
body.hm-theme.single-product .hm-swatch--color .hm-swatch__text {
	display: none !important;
}
body.hm-theme.single-product div.product .hm-swatches--color {
	gap: 14px;
}
body.hm-theme.single-product div.product .hm-swatch--color {
	width: 50px;
	min-width: 50px;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch {
	min-width: 58px;
	height: 44px;
	min-height: 44px;
	padding: 0 20px;
	border-radius: 999px !important;
	font-size: 15px !important;
	line-height: 1;
}
body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch.is-disabled::after {
	left: 10px;
	right: 10px;
	transform: rotate(-24deg);
}

body.hm-theme.single-product div.product > .hm-product-reviews-section {
	grid-column: 1 / -1;
	display: grid !important;
	grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
	column-gap: clamp(40px, 6vw, 84px);
	row-gap: 0;
	flex: 1 1 100% !important;
	width: 100% !important;
	min-width: 0;
	margin: 8px 0 0;
	padding: 38px 0 54px;
	border-top: 1px solid var(--hm-line);
	color: #403b38;
	overflow: visible !important;
	align-items: start;
}
body.hm-theme.single-product div.product::before,
body.hm-theme.single-product div.product::after {
	display: none !important;
	content: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section__header {
	grid-column: 1 / -1;
	display: block;
	margin: 0 0 28px;
	padding: 0 0 16px;
	border-bottom: 1px solid #e7e4e1;
}
body.hm-theme.single-product .hm-product-reviews-section__eyebrow {
	margin: 0 0 6px !important;
	color: var(--hm-red);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}
body.hm-theme.single-product .hm-product-reviews-section__header h2 {
	margin: 0 !important;
	color: #222;
	font-size: 22px !important;
	font-weight: 600;
	line-height: 1.25;
}
body.hm-theme.single-product .hm-product-reviews-section__summary {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	color: #6f6965;
	font-size: 12px;
}
body.hm-theme.single-product .hm-product-reviews-section__summary .star-rating {
	float: none;
	margin: 0;
	color: #f29a38;
}
body.hm-theme.single-product .hm-product-reviews-section #reviews {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	grid-column: 2;
	grid-row: 2;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	color: #4f4945;
	font-size: 13px;
}
body.hm-theme.single-product .hm-product-reviews-section #reviews::before,
body.hm-theme.single-product .hm-product-reviews-section #reviews::after {
	display: none !important;
	content: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section #comments,
body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper {
	float: none !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section #comments {
	order: 2;
	grid-column: auto !important;
	grid-row: auto !important;
	align-self: start;
	max-width: none !important;
	padding: 0 !important;
	border: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section .woocommerce-Reviews-title {
	display: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section .commentlist {
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
body.hm-theme.single-product .hm-product-reviews-section .commentlist > li,
body.hm-theme.single-product .hm-product-reviews-section .commentlist li.review {
	box-sizing: border-box;
	display: block !important;
	float: none !important;
	clear: both;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 22px 0 !important;
	border-bottom: 1px solid #eee;
}
body.hm-theme.single-product .hm-product-reviews-section .commentlist > li:first-child,
body.hm-theme.single-product .hm-product-reviews-section .commentlist li.review:first-child {
	padding-top: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section .comment_container {
	box-sizing: border-box;
	display: grid !important;
	grid-template-columns: 46px minmax(0, 1fr) !important;
	align-items: start;
	gap: 14px;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section .comment_container img.avatar {
	grid-column: 1;
	position: static !important;
	float: none !important;
	width: 46px !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50%;
	object-fit: cover;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-text {
	box-sizing: border-box;
	display: block !important;
	grid-column: 2;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow-wrap: break-word;
	word-break: normal;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-text .star-rating,
body.hm-theme.single-product .hm-product-reviews-section p.stars a {
	float: none;
	margin: 0;
	color: #f29a38;
}
body.hm-theme.single-product .hm-product-reviews-section .meta {
	display: block;
	width: 100%;
	margin: 7px 0 9px !important;
	color: #777;
	font-size: 11px;
	line-height: 1.5;
}
body.hm-theme.single-product .hm-product-reviews-section .woocommerce-review__awaiting-approval {
	display: block;
	width: 100%;
	max-width: none;
	white-space: normal;
	overflow-wrap: break-word;
	word-break: normal;
}
body.hm-theme.single-product .hm-product-reviews-section .description,
body.hm-theme.single-product .hm-product-reviews-section .description p {
	width: 100%;
	min-width: 0;
	max-width: none;
	margin: 0 !important;
	overflow-wrap: break-word;
	word-break: normal;
	font-size: 13px;
	line-height: 1.65;
}
body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper {
	box-sizing: border-box;
	order: 1;
	grid-column: auto !important;
	grid-row: auto !important;
	align-self: start;
	max-width: 640px !important;
	margin: 0 0 34px !important;
	padding: 24px;
	border: 1px solid #e8e4e1;
	border-radius: 0;
	background: #fff;
}
body.hm-theme.single-product .hm-product-reviews-section #review_form,
body.hm-theme.single-product .hm-product-reviews-section #respond,
body.hm-theme.single-product .hm-product-reviews-section .comment-form {
	box-sizing: border-box;
	float: none !important;
	clear: both;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section #respond {
	position: static !important;
	padding: 0 !important;
	background: transparent !important;
}
body.hm-theme.single-product .hm-product-reviews-section #reply-title {
	display: block;
	margin: 0 0 18px;
	color: #292929;
	font-size: 18px;
	font-weight: 600;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-form-rating,
body.hm-theme.single-product .hm-product-reviews-section .comment-form-comment,
body.hm-theme.single-product .hm-product-reviews-section .comment-form-author,
body.hm-theme.single-product .hm-product-reviews-section .comment-form-email {
	box-sizing: border-box;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin: 0 0 16px !important;
}
body.hm-theme.single-product .hm-product-reviews-section label {
	display: block;
	margin: 0 0 7px;
	color: #393532;
	font-size: 12px;
	font-weight: 600;
}
body.hm-theme.single-product .hm-product-reviews-section textarea,
body.hm-theme.single-product .hm-product-reviews-section input[type="text"],
body.hm-theme.single-product .hm-product-reviews-section input[type="email"] {
	box-sizing: border-box;
	display: block;
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 11px 12px;
	border: 1px solid #d7d2ce;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
	font-size: 13px;
}
body.hm-theme.single-product .hm-product-reviews-section textarea {
	min-height: 130px;
	resize: vertical;
}
body.hm-theme.single-product .hm-product-reviews-section .form-submit {
	box-sizing: border-box;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	margin: 4px 0 0 !important;
}
body.hm-theme.single-product .hm-product-reviews-section #submit {
	min-height: 44px;
	margin: 0;
	padding: 0 26px;
	border: 0;
	border-radius: 4px;
	background: var(--hm-red);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}
body.hm-theme.single-product .hm-product-reviews-section #submit:hover,
body.hm-theme.single-product .hm-product-reviews-section #submit:focus-visible {
	background: var(--hm-red-dark);
}
body.hm-theme.single-product .hm-product-reviews-section .woocommerce-noreviews {
	margin: 0 !important;
	padding: 18px 20px;
	border: 1px solid #eee;
	background: #fff;
}
@media (max-width: 900px) {
	body.hm-theme.single-product div.product > .hm-product-reviews-section {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 30px;
		padding-block: 32px 40px;
	}
	body.hm-theme.single-product .hm-product-reviews-section__header {
		grid-column: 1;
		grid-row: 1;
		margin-bottom: 22px;
	}
	body.hm-theme.single-product .hm-product-reviews-overview {
		grid-column: 1;
		grid-row: 2;
		max-width: 440px;
	}
	body.hm-theme.single-product .hm-product-reviews-section #reviews {
		grid-column: 1;
		grid-row: 3;
	}
}
@media (max-width: 560px) {
	body.hm-theme.single-product div.product > .hm-product-reviews-section {
		margin-top: 4px;
		padding: 30px 0 34px;
	}
	body.hm-theme.single-product .hm-product-reviews-section__header {
		margin-bottom: 24px;
	}
	body.hm-theme.single-product .hm-product-reviews-section #review_form_wrapper {
		max-width: none !important;
		margin-bottom: 28px !important;
		padding: 20px 16px;
	}
	body.hm-theme.single-product .hm-product-reviews-section .comment_container {
		grid-template-columns: 40px minmax(0, 1fr) !important;
		gap: 12px;
	}
	body.hm-theme.single-product .hm-product-reviews-section .comment_container img.avatar {
		width: 40px !important;
		height: 40px !important;
	}
	body.hm-theme.single-product div.product .hm-swatches--size .hm-swatch {
		min-width: 52px;
		height: 42px;
		min-height: 42px;
		padding-inline: 16px;
		font-size: 14px !important;
	}
}

/* Review form control consistency — keep this final in the cascade. */
body.hm-theme.single-product .hm-product-reviews-section {
	font-size: 13px;
}
body.hm-theme.single-product .hm-product-reviews-section #reply-title {
	margin: 0 0 14px !important;
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1.35;
}
body.hm-theme.single-product .hm-product-reviews-section label {
	margin-bottom: 6px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}
body.hm-theme.single-product .hm-product-reviews-section input[type="text"],
body.hm-theme.single-product .hm-product-reviews-section input[type="email"] {
	height: 42px;
	min-height: 42px;
	padding: 9px 11px;
	border: 1px solid #d8d4d1;
	border-radius: 3px;
	color: #292522;
	font-size: 12px;
	line-height: 1.4;
}
body.hm-theme.single-product .hm-product-reviews-section textarea {
	min-height: 96px;
	padding: 10px 11px;
	border: 1px solid #d8d4d1;
	border-radius: 3px;
	color: #292522;
	font-size: 12px;
	line-height: 1.55;
}
body.hm-theme.single-product .hm-product-reviews-section input[type="text"]:focus,
body.hm-theme.single-product .hm-product-reviews-section input[type="email"]:focus,
body.hm-theme.single-product .hm-product-reviews-section textarea:focus {
	border-color: #918984;
	outline: 0;
	box-shadow: 0 0 0 2px rgba(145, 137, 132, .12);
}
body.hm-theme.single-product .hm-product-reviews-section .comment-form-cookies-consent {
	box-sizing: border-box;
	float: none !important;
	clear: both !important;
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	align-items: start;
	gap: 8px;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	margin: 2px 0 16px !important;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-form-cookies-consent input[type="checkbox"] {
	width: 15px;
	height: 15px;
	margin: 2px 0 0;
}
body.hm-theme.single-product .hm-product-reviews-section .comment-form-cookies-consent label {
	margin: 0;
	color: #6e6864;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.5;
}
body.hm-theme.single-product .hm-product-reviews-section #submit,
body.hm-theme.single-product .hm-product-reviews-section input#submit {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 42px;
	min-height: 42px;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 1px solid var(--hm-red) !important;
	border-radius: 3px !important;
	background: var(--hm-red) !important;
	color: #fff !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-align: center;
}
body.hm-theme.single-product .hm-product-reviews-section #submit:hover,
body.hm-theme.single-product .hm-product-reviews-section #submit:focus-visible {
	border-color: var(--hm-red-dark) !important;
	background: var(--hm-red-dark) !important;
	color: #fff !important;
}
