/*
 * Gemash colour identity, taken from the gemash.ae logo.
 * Only these tokens are used for colour anywhere in this stylesheet.
 *   navy       #0c122a  header colour (logo background): header, footer, buttons, titles, badges
 *   gold       #c99948  logo gold: buttons on navy, menu, accents
 *   gold-light #d9ac5a  gold hover state
 *   gold-dark  #a87127  logo shadow gold: small gold text on white (readable)
 *   gradient   gold-light > gold > gold-dark: only on text and thin lines, never as a pale fill
 *   ink #0c122a titles and buttons (the header navy) - text #1a1a1a body copy (black) - muted #6b7287 secondary
 *   border #e3e6ee - soft #f6f7fa panels - gold-soft #f6eedd badges - on-navy #d5d9e4 text on navy
 */
:root {
	--gemash-font: "Poppins", Arial, sans-serif;
	--gemash-navy: #0c122a;
	--gemash-gold: #c99948;
	--gemash-gold-light: #d9ac5a;
	--gemash-gold-dark: #a87127;
	--gemash-gold-soft: #f6eedd;
	--gemash-gold-gradient: linear-gradient(135deg, #d9ac5a 0%, #c99948 50%, #a87127 100%);
	--gemash-ink: #0c122a;
	--gemash-text: #1a1a1a;
	--gemash-muted: #6b7287;
	--gemash-on-navy: #d5d9e4;
	--gemash-white: #ffffff;
	--gemash-soft: #f6f7fa;
	--gemash-border: #e3e6ee;
	--gemash-danger: #c0392b;
	--gemash-sale: #b3261e;
	--gemash-sale-light: #e0453a;
	--gemash-sale-gradient: linear-gradient(135deg, #e0453a 0%, #b3261e 100%);
	--gemash-container: 1400px;
	--gemash-radius: 12px;
	--gemash-button-radius: 6px;
	--gemash-shadow: 0 6px 18px rgba(12, 18, 42, 0.08);

	/* Savoy parent palette follows the same identity. */
	--nm--color-font: var(--gemash-text);
	--nm--color-font-strong: var(--gemash-ink);
	--nm--color-font-highlight: var(--gemash-gold-dark);
	--nm--color-border: var(--gemash-border);
	--nm--color-divider: var(--gemash-border);
	--nm--color-button: var(--gemash-gold);
	--nm--color-button-background: var(--gemash-navy);
	--nm--shop-rating-color: var(--gemash-gold);
}
html { scroll-behavior: smooth; }

body,
button,
input,
select,
textarea { font-family: var(--gemash-font) !important; }

body {
	background: var(--gemash-white) !important;
	color: var(--gemash-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.55;
}

body.nm-page-load-transition-0 { opacity: 1; }

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--gemash-ink);
	font-family: var(--gemash-font) !important;
	font-weight: 600;
	letter-spacing: -0.025em;
}

a {
	color: var(--gemash-ink);
	transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
}

a:hover { color: var(--gemash-gold-dark); }
img { height: auto; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid rgba(201, 153, 72, 0.48) !important;
	outline-offset: 3px;
}

.gemash-home *,
.gemash-home *::before,
.gemash-home *::after,
.gemash-catalog *,
.gemash-catalog *::before,
.gemash-catalog *::after,
.gemash-footer *,
.gemash-footer *::before,
.gemash-footer *::after,
#nm-cart-panel *,
#nm-cart-panel *::before,
#nm-cart-panel *::after { box-sizing: border-box; }

.screen-reader-text:focus {
	z-index: 100000;
	top: 8px;
	left: 8px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	background: var(--gemash-white);
	clip: auto;
	color: var(--gemash-ink);
}

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	min-height: 44px;
	padding: 12px 22px;
	border: 1px solid var(--gemash-navy) !important;
	border-radius: var(--gemash-button-radius) !important;
	background: var(--gemash-navy) !important;
	box-shadow: none;
	color: var(--gemash-gold) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.button:hover,
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea,
.select2-container .select2-selection--single {
	min-height: 46px;
	border: 1px solid var(--gemash-border) !important;
	border-radius: var(--gemash-button-radius) !important;
	background: var(--gemash-white) !important;
	box-shadow: none !important;
	color: var(--gemash-ink);
}

#nm-header-placeholder {
	display: none !important;
	height: 0 !important;
}

#nm-header { height: 92px !important; }

#nm-header {
	position: relative;
	z-index: 1000;
	border-bottom: 1px solid rgba(201, 153, 72, 0.34);
	background: var(--gemash-navy) !important;
	box-shadow: 0 10px 28px rgba(12, 18, 42, 0.22) !important;
}

#nm-header.nm-header-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

#nm-header .nm-header-inner {
	width: min(calc(100% - 48px), var(--gemash-container));
	height: 92px;
	margin: 0 auto;
	padding: 0 !important;
}

.gemash-header-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-header-grid::before,
.gemash-header-grid::after {
	display: none !important;
	content: none !important;
}

.gemash-header-grid__navigation,
.gemash-header-grid__utilities {
	display: flex;
	align-items: center;
	min-width: 0;
}

.gemash-header-grid__navigation { justify-content: flex-start; }
.gemash-header-grid__utilities { justify-content: flex-end; }

.gemash-header-grid__navigation { grid-column: 1; }
.gemash-header-grid__logo { grid-column: 2; }
.gemash-header-grid__utilities { grid-column: 3; }

.gemash-header-grid__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0 30px;
}

#nm-header .nm-header-logo {
	float: none !important;
	line-height: 1;
}

#nm-header .nm-header-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
}

#nm-header .nm-logo,
#nm-header .nm-alt-logo {
	display: block;
	width: auto !important;
	max-width: 240px;
	height: 42px !important;
	object-fit: contain;
}

#nm-header .nm-main-menu,
#nm-header .nm-right-menu {
	position: static;
	float: none !important;
}

#nm-header .nm-menu {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
}

#nm-header .nm-menu > li {
	position: relative;
	float: none;
	margin: 0;
	padding: 0 !important;
}

#nm-header .nm-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 !important;
	color: var(--gemash-gold) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
}

#nm-header .nm-menu > li.current-menu-item > a,
#nm-header .nm-menu > li.current-menu-ancestor > a,
#nm-header .nm-menu > li > a:hover { color: var(--gemash-gold-light) !important; }

#nm-header .nm-menu > li.current-menu-item > a::after,
#nm-header .nm-menu > li.current-menu-ancestor > a::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 2px;
	border-radius: 10px;
	background: var(--gemash-gold);
	content: "";
}

#nm-header .sub-menu {
	top: calc(100% + 14px);
	min-width: 220px;
	padding: 12px 0;
	border: 1px solid rgba(201, 153, 72, 0.3);
	border-radius: 8px;
	background: var(--gemash-navy);
	box-shadow: var(--gemash-shadow);
}

#nm-header .sub-menu a {
	padding: 9px 18px !important;
	color: var(--gemash-on-navy) !important;
	font-size: 13px;
}

#nm-header .gemash-header-grid__utilities .nm-menu { gap: 20px; }

#nm-header .gemash-header-grid__utilities a {
	position: relative;
	justify-content: center;
	width: 25px;
	height: 44px;
}

#nm-header .gemash-header-grid__utilities svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

#nm-header .nm-menu-cart-count {
	position: absolute;
	top: 3px;
	right: -9px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 20px;
	background: var(--gemash-gold);
	color: var(--gemash-navy) !important;
	-webkit-text-fill-color: var(--gemash-navy); /* never inherit a transparent text fill from the link */
	font-size: 10px;
	font-weight: 600;
	line-height: 18px;
}

.nm-mobile-menu-button-wrapper { display: none; }

#nm-header-search {
	z-index: 1001;
	background: var(--gemash-white) !important;
}

#nm-header-search .nm-header-search-wrap {
	width: min(calc(100% - 48px), var(--gemash-container));
	margin: 0 auto;
}

.gemash-home {
	padding-bottom: 38px;
	background: var(--gemash-white);
}

.gemash-hero {
	position: relative;
	display: flex;
	align-items: center;
	width: min(calc(100% - 60px), var(--gemash-container));
	min-height: 580px;
	margin: 28px auto 86px;
	overflow: hidden;
	border-radius: var(--gemash-radius);
	background: var(--gemash-gold-dark);
	color: var(--gemash-white);
}

.gemash-hero__media,
.gemash-hero__overlay {
	position: absolute;
	inset: 0;
}

.gemash-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gemash-hero__overlay {
	background: linear-gradient(90deg, rgba(12, 18, 42, 0.82) 0%, rgba(12, 18, 42, 0.58) 39%, rgba(12, 18, 42, 0.08) 70%);
}

.gemash-hero__content {
	position: relative;
	z-index: 1;
	width: min(640px, 55%);
	padding: 70px;
}

.gemash-eyebrow {
	margin: 0 0 16px;
	color: var(--gemash-gold);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gemash-hero h1 {
	max-width: 610px;
	margin: 0 0 18px;
	color: var(--gemash-white);
	font-size: clamp(42px, 5vw, 74px);
	font-weight: 700;
	line-height: 1.02;
}

.gemash-hero__content > p:not(.gemash-eyebrow) {
	max-width: 540px;
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 16px;
	line-height: 1.7;
}

.gemash-hero .gemash-button { min-width: 128px; }

/* On navy/dark surfaces buttons switch to gold with navy text, never a second navy. */
/* Hero button: logo navy like every button, with a gold outline so it stands out on the dark photo. */
.gemash-hero .button.gemash-button {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-navy) !important;
	color: var(--gemash-gold) !important;
}

.gemash-hero .button.gemash-button:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

.gemash-section,
.gemash-product-section {
	padding: 0 0 86px;
	background: var(--gemash-white) !important;
}

.gemash-section__inner {
	width: min(calc(100% - 60px), var(--gemash-container));
	margin: 0 auto;
}

.gemash-section__heading { margin: 0 0 34px; }
.gemash-section__heading--centered { text-align: center; }

.gemash-section__heading h2 {
	margin: 0;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	line-height: 1.2;
}

.gemash-section__heading h2 strong {
	background-image: var(--gemash-gold-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: var(--gemash-gold);
	font-weight: 700;
	-webkit-text-fill-color: transparent;
}

.gemash-section--page-content { padding-bottom: 64px; }

.gemash-integration-note,
.gemash-empty-state {
	max-width: 700px;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid var(--gemash-border);
	border-radius: var(--gemash-radius);
	background: var(--gemash-soft);
	text-align: center;
}

.gemash-product-carousel { position: relative; }

.gemash-product-carousel__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 6px 22px;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.gemash-product-carousel__viewport::-webkit-scrollbar { display: none; }

.gemash-product-carousel__viewport > ul.products,
.gemash-product-carousel__viewport > ul.nm-products {
	display: flex !important;
	gap: 40px !important;
	width: max-content !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-product-carousel__viewport > ul.products > li.product,
.gemash-product-carousel__viewport > ul.nm-products > li.product {
	flex: 0 0 calc((min(100vw - 60px, 1400px) - 120px) / 4) !important;
	width: calc((min(100vw - 60px, 1400px) - 120px) / 4) !important;
	scroll-snap-align: start;
}

.gemash-carousel-arrow {
	position: absolute;
	z-index: 5;
	top: 42%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-height: 0;
	padding: 0;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 50% !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 5px 18px rgba(12, 18, 42, 0.14);
	color: var(--gemash-ink) !important;
	font-size: 30px;
	line-height: 1;
	transform: translateY(-50%);
}

.gemash-carousel-arrow:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
}

.gemash-carousel-arrow:disabled {
	opacity: 0;
	pointer-events: none;
}

.gemash-carousel-arrow--previous { left: -21px; }
.gemash-carousel-arrow--next { right: -21px; }

ul.products,
ul.nm-products { list-style: none; }

.gemash-catalog ul.products,
.gemash-catalog ul.nm-products,
.related ul.products,
.related ul.nm-products,
.upsells ul.products,
.upsells ul.nm-products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-product-carousel ul.products::before,
.gemash-product-carousel ul.products::after,
.gemash-catalog ul.products::before,
.gemash-catalog ul.products::after,
.single-product .related ul.products::before,
.single-product .related ul.products::after,
.single-product .upsells ul.products::before,
.single-product .upsells ul.products::after {
	display: none !important;
	content: none !important;
}

ul.products li.gemash-product-card,
ul.nm-products li.gemash-product-card {
	position: relative;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	clear: none !important;
}

.gemash-product-card__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 0;
	border-radius: var(--gemash-radius);
	background: var(--gemash-white);
	box-shadow: var(--gemash-shadow);
}

/* Gold accent line across the top of each card, as on gemash.ae. */
.gemash-product-card__inner { position: relative; }

.gemash-product-card__inner::before {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	left: 0;
	height: 4px;
	background: var(--gemash-gold);
	content: "";
}

.gemash-product-card__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--gemash-soft);
}

.gemash-product-card__media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: opacity 180ms ease;
}

.gemash-product-card__media:hover img { opacity: 0.94; }

.gemash-sale-badge,
.gemash-stock-badge,
.single-product .onsale {
	position: absolute !important;
	z-index: 2;
	right: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	top: auto !important;
	display: inline-flex !important;
	align-items: center;
	min-height: 25px !important;
	margin: 0 !important;
	padding: 4px 10px !important;
	border: 0 !important;
	border-radius: 0 5px 0 0 !important;
	background: var(--gemash-gold-soft) !important;
	color: var(--gemash-navy) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none;
}

.gemash-stock-badge { background: var(--gemash-ink) !important; }

.gemash-product-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	padding: 20px 18px 18px;
	text-align: center;
}

.gemash-product-card .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: 46px;
	margin: 0 0 8px !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gemash-ink);
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
	line-height: 1.5 !important;
}

.gemash-product-card .woocommerce-loop-product__title a { color: inherit; }

.gemash-product-card .price {
	min-height: 25px;
	margin: 0 0 16px !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.45;
}

.gemash-product-card .price del {
	margin-left: 4px;
	color: var(--gemash-muted) !important;
	font-size: 12px;
	font-weight: 400;
	opacity: 1;
}

.gemash-product-card .price ins {
	color: var(--gemash-gold-dark) !important;
	text-decoration: none;
}

.gemash-product-card__button,
.woocommerce .gemash-product-card__button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	margin-top: auto !important;
	padding: 11px 14px !important;
	font-size: 13px !important;
}

.gemash-catalog {
	width: min(calc(100% - 60px), var(--gemash-container));
	min-height: 620px;
	margin: 0 auto;
	padding: 68px 0 110px;
	background: var(--gemash-white);
}

.gemash-catalog__header {
	margin: 0 0 34px;
	text-align: center;
}

.gemash-catalog__header h1 {
	margin: 0;
	font-size: clamp(34px, 4vw, 50px);
	font-weight: 600;
	line-height: 1.15;
}

.gemash-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin: 0 0 44px;
	padding: 0;
}

.gemash-catalog-toolbar__filters,
.gemash-catalog-toolbar__sorting,
.gemash-catalog-toolbar__sorting label {
	display: flex;
	align-items: center;
	gap: 14px;
}

.gemash-catalog-toolbar span,
.gemash-catalog-toolbar label {
	color: var(--gemash-muted);
	font-size: 13px;
	font-weight: 400;
}

.gemash-catalog-toolbar select {
	width: auto;
	min-width: 118px;
	height: 38px;
	min-height: 38px;
	padding: 0 30px 0 8px;
	border: 0 !important;
	background-color: transparent !important;
	color: var(--gemash-navy);
	font-size: 13px;
	cursor: pointer;
}

.gemash-catalog-toolbar__sorting select { min-width: 132px; }
.gemash-catalog-toolbar__count { margin-left: 10px; white-space: nowrap; }

.gemash-catalog .term-description,
.gemash-catalog .woocommerce-products-header__description {
	max-width: 760px;
	margin: -18px auto 40px;
	color: var(--gemash-muted);
	text-align: center;
}

.gemash-catalog .woocommerce-pagination,
.woocommerce-pagination {
	margin: 60px 0 0;
	text-align: center;
}

.gemash-catalog .woocommerce-pagination ul,
.woocommerce-pagination ul {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.gemash-catalog .woocommerce-pagination li,
.woocommerce-pagination li { border: 0 !important; }

.gemash-catalog .woocommerce-pagination a,
.gemash-catalog .woocommerce-pagination span,
.woocommerce-pagination a,
.woocommerce-pagination span {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px !important;
	border: 1px solid var(--gemash-border);
	border-radius: 50%;
	background: var(--gemash-white) !important;
	color: var(--gemash-ink) !important;
}

.gemash-catalog .woocommerce-pagination .current,
.woocommerce-pagination .current {
	border-color: var(--gemash-gold);
	background: var(--gemash-gold) !important;
}

.nm-shop-header,
.nm-shop-menu,
.nm-shop-categories,
.nm-shop-results-bar,
.woocommerce-breadcrumb,
.nm-breadcrumb,
.gemash-announcement,
.gemash-category-rail,
.gemash-trust,
.gemash-reviews,
.gemash-benefits,
.gemash-product-assurance,
.gemash-quantity-offers,
.gemash-product-saving,
.gemash-product-label { display: none !important; }

.single-product #nm-main,
.single-product .nm-single-product,
.single-product .nm-single-product-bg,
.single-product .nm-single-product-showcase { background: var(--gemash-white) !important; }

.single-product .nm-single-product-bg { padding: 0 !important; }

.single-product .nm-single-product-showcase {
	width: min(calc(100% - 60px), var(--gemash-container));
	margin: 0 auto;
	padding: 56px 0 90px;
}

.single-product .nm-single-product-summary-row,
.single-product .nm-single-product-summary-col {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .nm-single-product-summary-col {
	display: grid;
	grid-template-columns: minmax(0, 1.16fr) minmax(380px, 0.84fr);
	align-items: start;
	gap: clamp(50px, 6vw, 96px);
}

.single-product .woocommerce-product-gallery,
.single-product .summary.entry-summary {
	position: relative !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.single-product .woocommerce-product-gallery {
	display: flex;
	flex-direction: column;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.single-product .woocommerce-product-gallery__wrapper {
	order: 1;
	float: none !important;
	width: 100% !important;
	overflow: hidden;
	padding: 0 !important;
	border-radius: var(--gemash-radius);
	background: var(--gemash-soft);
}

.single-product .woocommerce-product-gallery__image {
	width: 100% !important;
	background: var(--gemash-soft);
}

.single-product .woocommerce-product-gallery__image a,
.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.single-product .flex-control-thumbs,
.single-product .nm-product-thumbnails-col {
	order: 2;
	display: flex !important;
	position: static !important;
	gap: 10px;
	width: 100% !important;
	height: auto !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	overflow-x: auto;
	flex-wrap: nowrap !important;
	list-style: none;
	scrollbar-width: thin;
}

.single-product .flex-control-thumbs #nm-product-gallery-thumbs-inner {
	position: static !important;
	display: flex !important;
	gap: 10px;
	width: max-content !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-wrap: nowrap !important;
}

.single-product .flex-control-thumbs li,
.single-product .nm-product-thumbnails-col li,
.single-product .nm-product-thumbnails-col .nm-product-thumbnail {
	flex: 0 0 88px;
	width: 88px !important;
	height: 88px !important;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid transparent;
	border-radius: 8px;
}

.single-product .flex-control-thumbs img,
.single-product .nm-product-thumbnails-col img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.single-product .flex-control-thumbs .flex-active,
.single-product .nm-product-thumbnails-col .slick-current { border-color: var(--gemash-gold); }

.single-product .woocommerce-product-gallery__trigger {
	top: 14px !important;
	right: 14px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--gemash-border);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.94);
}

.single-product .summary.entry-summary { padding: 10px 0 0 !important; }

.single-product .summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px !important;
	font-size: 13px;
}

.single-product .summary .star-rating,
.single-product .comment-form-rating .stars a,
.woocommerce .star-rating span::before { color: var(--gemash-gold) !important; }

.single-product .summary .product_title {
	margin: 0 0 14px !important;
	color: var(--gemash-ink) !important;
	font-size: clamp(31px, 3.3vw, 48px) !important;
	font-weight: 600 !important;
	line-height: 1.14 !important;
}

.single-product .summary > .price,
.single-product .summary .single_variation .price {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin: 0 0 28px !important;
	color: var(--gemash-ink) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}

.single-product .summary .price del {
	color: var(--gemash-muted) !important;
	font-size: 14px;
	font-weight: 400;
	opacity: 1;
}

.single-product .summary .price ins {
	color: var(--gemash-gold-dark) !important;
	text-decoration: none;
}

.single-product .nm-product-summary-inner-col-1,
.single-product .nm-product-summary-inner-col-2 {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
}

.single-product .nm-product-summary-inner-col-1::after,
.single-product .nm-product-summary-inner-col-2::after,
.single-product .nm-product-summary-inner-col-1::before,
.single-product .nm-product-summary-inner-col-2::before,
.single-product .nm-product-summary-inner-cols::before,
.single-product .nm-product-summary-inner-cols::after { display: none !important; }

.single-product .nm-product-summary-inner-col-2 {
	display: flex;
	flex-direction: column;
}

.single-product .variations,
.single-product .variations tbody,
.single-product .variations tr,
.single-product .variations th,
.single-product .variations td {
	display: block;
	width: 100% !important;
}

.single-product .variations {
	margin: 0 0 14px !important;
	border: 0 !important;
}

.single-product .variations tr { margin: 0 0 14px; }

.single-product .variations th.label {
	padding: 0 0 7px !important;
	color: var(--gemash-ink);
	font-size: 13px;
	font-weight: 500;
	text-align: left;
}

.single-product .variations td.value {
	position: relative;
	padding: 0 !important;
}

.single-product .variations select {
	width: 100%;
	height: 48px;
	padding: 0 40px 0 14px;
	cursor: pointer;
}

.single-product .reset_variations {
	display: inline-block;
	margin-top: 6px;
	color: var(--gemash-muted);
	font-size: 12px;
}

.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: 100%;
	margin: 18px 0 0 !important;
}

.single-product form.cart .nm-quantity-wrap {
	display: flex;
	flex: 0 0 100%;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 50px;
	margin: 0 !important;
	padding: 0 14px;
	border: 1px solid var(--gemash-border);
	border-radius: var(--gemash-button-radius);
	background: var(--gemash-white);
}

.single-product form.cart .nm-quantity-wrap > label {
	margin: 0;
	color: var(--gemash-ink);
	font-size: 13px;
	font-weight: 500;
}

.single-product form.cart .nm-qty-label-abbrev { display: none; }

.single-product form.cart .quantity {
	display: flex;
	align-items: center;
	width: 96px;
	height: 36px;
	border: 0 !important;
}

.single-product form.cart .quantity input.qty {
	width: 38px !important;
	height: 36px !important;
	min-height: 36px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-weight: 600;
	text-align: center;
}

.single-product form.cart .nm-qty-minus,
.single-product form.cart .nm-qty-plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border: 1px solid var(--gemash-border);
	border-radius: 4px;
	cursor: pointer;
}

.single-product form.cart .single_add_to_cart_button,
.single-product form.cart .gemash-buy-now {
	flex: 0 0 100%;
	width: 100% !important;
	min-height: 52px;
	margin: 0 !important;
}

.single-product form.cart .gemash-buy-now {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
}

.single-product form.cart .gemash-buy-now:hover { background: var(--gemash-gold-light) !important; }
.single-product .single_variation_wrap { width: 100%; }

.single-product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.single-product .stock {
	display: inline-block !important;
	width: auto !important;
	margin: 0 0 12px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--gemash-muted) !important;
	font-size: 13px;
}

.gemash-soldout-actions {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.gemash-soldout-actions button {
	width: 100%;
	min-height: 52px;
}

.gemash-soldout-actions button:disabled {
	border-color: var(--gemash-border) !important;
	background: var(--gemash-border) !important;
	color: var(--gemash-muted) !important;
	opacity: 1;
}

.gemash-soldout-actions .gemash-buy-now:disabled {
	border-color: var(--gemash-border) !important;
	background: var(--gemash-white) !important;
}

.single-product .product_meta { display: none !important; }

.single-product .woocommerce-tabs,
.single-product .related,
.single-product .upsells {
	width: min(calc(100% - 60px), var(--gemash-container));
	margin: 0 auto !important;
	padding: 0 0 88px !important;
}

.single-product .related > .nm-row > .col-xs-12 > h2,
.single-product .upsells > .nm-row > .col-xs-12 > h2 {
	margin: 0 0 36px !important;
	font-size: 34px !important;
	text-align: center;
}

.single-product .related .gemash-product-card .woocommerce-loop-product__title,
.single-product .upsells .gemash-product-card .woocommerce-loop-product__title {
	min-height: 46px;
	margin: 0 0 8px !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}

.nm-page-overlay,
.nm-cart-panel-overlay { background: rgba(12, 18, 42, 0.46) !important; }

#nm-cart-panel {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	width: 400px !important;
	max-width: 100vw;
	height: 100dvh !important;
	background: var(--gemash-white) !important;
	box-shadow: -8px 0 28px rgba(12, 18, 42, 0.12);
}

body.cart-panel-open #nm-cart-panel {
	transform: translate3d(0, 0, 0) !important;
}

body.cart-panel-dark #nm-cart-panel,
body.cart-panel-dark #nm-cart-panel a,
body.cart-panel-dark #nm-cart-panel .nm-cart-panel-title,
body.cart-panel-dark #nm-cart-panel .nm-cart-panel-close-title,
body.cart-panel-dark #nm-cart-panel .nm-cart-panel-item-price,
body.cart-panel-dark #nm-cart-panel .gemash-cart-totals {
	color: var(--gemash-ink) !important;
	opacity: 1 !important;
}

body.cart-panel-dark #nm-cart-panel .nm-cart-panel-item-price,
body.cart-panel-dark #nm-cart-panel .nm-cart-panel-item-price .amount {
	color: var(--gemash-ink) !important;
	opacity: 1 !important;
}

body.cart-panel-dark #nm-cart-panel .nm-cart-panel-header,
body.cart-panel-dark #nm-cart-panel .nm-cart-panel-summary,
body.cart-panel-dark #nm-cart-panel #nm-cart-panel-list-wrap {
	background: var(--gemash-white) !important;
}

#nm-cart-panel .nm-cart-panel-header {
	position: relative;
	z-index: 5;
	height: 68px;
	border-bottom: 1px solid var(--gemash-border);
	background: var(--gemash-white);
}

#nm-cart-panel .nm-cart-panel-header-inner {
	height: 100%;
	padding: 0 16px;
}

#nm-cart-panel-close {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	color: var(--gemash-ink) !important;
}

#nm-cart-panel .nm-cart-panel-title {
	font-size: 27px;
	font-weight: 600;
	letter-spacing: -0.03em;
}

#nm-cart-panel .nm-cart-panel-close-title { font-size: 25px; }

#nm-cart-panel .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	height: calc(100dvh - 68px);
}

#nm-cart-panel #nm-cart-panel-list-wrap {
	flex: 1;
	overflow-y: auto;
	padding: 0 16px 24px;
	background: var(--gemash-white);
}

#nm-cart-panel .woocommerce-mini-cart {
	margin: 0 !important;
	padding: 0 !important;
}

#nm-cart-panel .woocommerce-mini-cart > li {
	margin: 0;
	padding: 14px 0;
	border-bottom: 0;
}

#nm-cart-panel .gemash-shipping-progress {
	padding: 14px 0 18px;
	text-align: center;
}

.gemash-shipping-progress p {
	margin: 0 0 13px;
	color: var(--gemash-ink);
	font-size: 12px;
	font-weight: 500;
}

.gemash-shipping-progress__track {
	position: relative;
	height: 9px;
	margin: 0 5px;
	border-radius: 20px;
	background: var(--gemash-border);
}

.gemash-shipping-progress__fill {
	position: absolute;
	inset: 0 auto 0 0;
	max-width: 100%;
	border-radius: inherit;
	background-color: var(--gemash-gold);
	background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.36) 0, rgba(255,255,255,.36) 4px, transparent 4px, transparent 8px);
}

.gemash-shipping-progress__marker {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 31px;
	height: 31px;
	border: 2px solid var(--gemash-gold);
	border-radius: 50%;
	background: var(--gemash-white);
	color: var(--gemash-gold-dark);
	transform: translate(-50%, -50%);
}

.gemash-shipping-progress__marker svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

#nm-cart-panel .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 12px;
	min-height: 94px;
}

#nm-cart-panel .nm-cart-panel-item-thumbnail,
#nm-cart-panel .nm-cart-panel-item-details {
	float: none !important;
	width: auto !important;
	padding: 0 !important;
}

#nm-cart-panel .nm-cart-panel-thumbnail-wrap,
#nm-cart-panel .nm-cart-panel-thumbnail-wrap a,
#nm-cart-panel .nm-cart-panel-thumbnail-wrap img {
	display: block;
	width: 76px !important;
	height: 76px !important;
}

#nm-cart-panel .nm-cart-panel-thumbnail-wrap {
	overflow: hidden;
	border-radius: 5px;
	background: var(--gemash-soft);
}

#nm-cart-panel .nm-cart-panel-thumbnail-wrap img { object-fit: cover; }
#nm-cart-panel .nm-cart-panel-item-details { position: relative; }

#nm-cart-panel .nm-cart-panel-product-title {
	display: block;
	max-width: calc(100% - 24px);
	margin: 0 0 8px;
	color: var(--gemash-ink) !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

#nm-cart-panel .remove_from_cart_button {
	position: absolute;
	top: 1px;
	right: 0;
	color: var(--gemash-muted) !important;
	font-size: 14px;
}

#nm-cart-panel .variation {
	margin: -4px 0 6px;
	font-size: 11px;
}

#nm-cart-panel .nm-cart-panel-quantity-pricing {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

#nm-cart-panel .product-quantity,
#nm-cart-panel .nm-cart-panel-item-price {
	float: none !important;
	width: auto !important;
}

#nm-cart-panel .nm-quantity-wrap,
#nm-cart-panel .quantity {
	display: flex;
	align-items: center;
}

#nm-cart-panel .nm-quantity-wrap > label { display: none; }

#nm-cart-panel .quantity {
	height: 29px;
	border: 1px solid var(--gemash-muted);
	border-radius: 5px;
}

#nm-cart-panel .quantity input.qty {
	width: 34px !important;
	height: 27px !important;
	min-height: 27px;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

#nm-cart-panel .nm-qty-minus,
#nm-cart-panel .nm-qty-plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	font-size: 10px;
	cursor: pointer;
}

#nm-cart-panel .nm-cart-panel-item-price {
	color: var(--gemash-ink) !important;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
}

#nm-cart-panel .nm-cart-panel-item-price del {
	display: block;
	color: var(--gemash-muted);
	font-size: 11px;
	font-weight: 400;
}

#nm-cart-panel .gemash-cart-recommendations { padding-top: 4px; }

.gemash-cart-recommendations h3 {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 600;
	text-align: center !important;
}

.gemash-cart-recommendations__list {
	display: grid;
	gap: 10px;
}

.gemash-cart-recommendation {
	position: relative;
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr) 26px;
	align-items: center;
	gap: 10px;
	min-height: 70px;
	padding: 8px 10px;
	border-radius: 9px;
	background: var(--gemash-white);
	box-shadow: 0 2px 10px rgba(12, 18, 42, 0.12);
}

.gemash-cart-recommendation__image,
.gemash-cart-recommendation__image img {
	display: block;
	width: 54px;
	height: 54px;
}

.gemash-cart-recommendation__image {
	overflow: hidden;
	border-radius: 5px;
}

.gemash-cart-recommendation__image img { object-fit: cover; }

.gemash-cart-recommendation__details {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 2px 8px;
}

.gemash-cart-recommendation__details > a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gemash-ink) !important;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}

.gemash-cart-recommendation__details .price {
	color: var(--gemash-ink) !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-align: right;
}

.gemash-cart-recommendation__details .price del {
	display: block;
	color: var(--gemash-muted);
	font-size: 9px;
	font-weight: 400;
}

.gemash-cart-recommendation__details label { grid-column: 1 / -1; }

.gemash-cart-recommendation__variation {
	width: auto;
	max-width: 150px;
	height: 25px;
	min-height: 25px;
	padding: 0 23px 0 7px;
	border-color: var(--gemash-border) !important;
	border-radius: 4px !important;
	font-size: 10px;
}

.gemash-cart-recommendation__add {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 23px !important;
	height: 23px !important;
	min-height: 23px !important;
	padding: 0 !important;
	border: 1px solid var(--gemash-gold) !important;
	border-radius: 50% !important;
	background: var(--gemash-white) !important;
	color: var(--gemash-gold-dark) !important;
	font-size: 18px !important;
	font-weight: 400;
	line-height: 1;
}

.gemash-cart-recommendation__add:hover,
.gemash-cart-recommendation__add.is-loading { background: var(--gemash-gold) !important; }

#nm-cart-panel .nm-cart-panel-summary {
	position: relative;
	z-index: 4;
	flex: 0 0 auto;
	padding: 14px 16px 18px !important;
	border-top: 1px solid var(--gemash-border);
	background: var(--gemash-white) !important;
	box-shadow: 0 -5px 18px rgba(12, 18, 42, 0.05);
}

#nm-cart-panel .woocommerce-mini-cart__total {
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
}

.gemash-cart-totals {
	display: grid;
	gap: 5px;
}

.gemash-cart-totals > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	color: var(--gemash-ink);
	font-size: 19px;
	font-weight: 600;
}

.gemash-cart-totals .gemash-cart-totals__savings {
	color: var(--gemash-gold-dark);
	font-size: 13px;
}

#nm-cart-panel .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 !important;
}

#nm-cart-panel .woocommerce-mini-cart__buttons a {
	width: 100%;
	margin: 0 !important;
}

#nm-cart-panel .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
	display: none !important;
}

#nm-cart-panel .nm-cart-empty-button { margin: 0 !important; }

.woocommerce-cart .nm-page-full,
.woocommerce-checkout .nm-page-full,
.woocommerce-account .nm-page-full { background: var(--gemash-white) !important; }

.woocommerce-cart .nm-row,
.woocommerce-checkout .nm-row,
.woocommerce-account .nm-row {
	max-width: var(--gemash-container);
	margin-right: auto;
	margin-left: auto;
}

.woocommerce table.shop_table,
.woocommerce form.checkout,
.woocommerce-account .woocommerce-MyAccount-content { border-color: var(--gemash-border) !important; }

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border-top-color: var(--gemash-gold) !important;
	background: var(--gemash-soft) !important;
}

.woocommerce-info::before,
.woocommerce-message::before { color: var(--gemash-gold-dark) !important; }

/* Footer: one navy bar, as on gemash.ae — page links left, social icons right, copyright below. */
.gemash-footer {
	position: relative;
	margin-top: 0;
	background: var(--gemash-navy);
	color: var(--gemash-on-navy);
}

.gemash-footer__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 18px 40px;
	width: min(calc(100% - 60px), var(--gemash-container));
	margin: 0 auto;
	padding: 30px 0 26px;
}

.gemash-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gemash-footer__links ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
}

.gemash-footer a {
	color: var(--gemash-on-navy);
	font-size: 13px;
}

.gemash-footer a:hover { color: var(--gemash-gold); }

.gemash-footer__social {
	display: flex;
	align-items: center;
	gap: 18px;
}

.gemash-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid rgba(201, 153, 72, 0.45);
	border-radius: 50%;
	color: var(--gemash-gold);
	font-size: 16px;
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
}

.gemash-footer__social a:hover {
	border-color: var(--gemash-gold);
	background: var(--gemash-gold);
	color: var(--gemash-navy);
}

.gemash-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	min-height: 64px;
	padding: 14px 24px;
	border-top: 1px solid rgba(201, 153, 72, 0.2);
	background: transparent;
	color: var(--gemash-on-navy);
}

.gemash-footer__bottom p {
	margin: 0;
	font-size: 11px;
}

.gemash-footer__payments {
	display: flex;
	align-items: center;
	gap: 8px;
}

.gemash-footer__payments img {
	max-width: 42px;
	max-height: 25px;
}

/* Back to top: floating corner button, shown after scrolling; stacks above the floating bag. */
.gemash-back-to-top {
	position: fixed;
	z-index: 989;
	right: 24px;
	bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px !important;
	height: 48px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 1.5px solid var(--gemash-gold) !important;
	border-radius: 50% !important;
	background: var(--gemash-navy) !important;
	box-shadow: 0 8px 22px rgba(12, 18, 42, 0.28);
	color: var(--gemash-gold) !important;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity 220ms ease, transform 260ms ease, bottom 320ms cubic-bezier(0.34, 1.56, 0.64, 1), background-color 160ms ease, color 160ms ease;
}

.gemash-back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.gemash-back-to-top:hover {
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

.gemash-back-to-top svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.2;
}

.gemash-status-region {
	position: fixed;
	z-index: 100000;
	right: 16px;
	bottom: 16px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

@media (max-width: 1100px) {
	#nm-header .nm-menu { gap: 19px; }
	#nm-header .nm-menu > li > a { font-size: 13px; }
	.gemash-hero__content { width: min(650px, 65%); padding: 52px; }

	.gemash-product-carousel__viewport > ul.products > li.product,
	.gemash-product-carousel__viewport > ul.nm-products > li.product {
		flex-basis: calc((min(100vw - 60px, 1400px) - 60px) / 3) !important;
		width: calc((min(100vw - 60px, 1400px) - 60px) / 3) !important;
	}

	.gemash-catalog ul.products,
	.gemash-catalog ul.nm-products,
	.related ul.products,
	.related ul.nm-products,
	.upsells ul.products,
	.upsells ul.nm-products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 30px !important;
	}

	.single-product .nm-single-product-summary-col {
		grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
		gap: 44px;
	}
}

@media (max-width: 991px) {
	#nm-header,
	#nm-header .nm-header-inner { height: 72px !important; }

	#nm-header .nm-header-inner { width: min(calc(100% - 32px), var(--gemash-container)); }
	.gemash-header-grid__logo { padding: 0 16px; }

	#nm-header .nm-logo,
	#nm-header .nm-alt-logo { max-width: 180px; height: 31px !important; }

	.nm-main-menu,
	#nm-header .nm-menu-search { display: none !important; }

	#nm-header .gemash-header-grid__utilities .nm-menu-account,
	#nm-header .gemash-header-grid__utilities .nm-menu-cart {
		display: block !important;
	}

	.nm-mobile-menu-button-wrapper { display: block; }
	#nm-header .nm-mobile-menu-button-wrapper .nm-menu { display: block; }

	/* One menu icon only: Savoy's three-line icon (it also animates into an X when the menu opens). */
	#nm-header .nm-mobile-menu-button-wrapper a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 28px;
		font-size: 0;
	}

	#nm-header .nm-mobile-menu-button-wrapper a::before,
	#nm-header .nm-mobile-menu-button-wrapper a::after {
		display: none !important;
		content: none !important;
	}

	#nm-header .nm-mobile-menu-button-wrapper .nm-menu-icon span { background: var(--gemash-gold) !important; }
	.gemash-hero { min-height: 500px; margin-bottom: 70px; }
	.gemash-hero__content { width: min(680px, 76%); }
	.gemash-catalog-toolbar { align-items: flex-start; }

	.gemash-catalog-toolbar__filters,
	.gemash-catalog-toolbar__sorting { flex-wrap: wrap; }

	.single-product .nm-single-product-summary-col {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.single-product .summary .product_title { font-size: 31px !important; }
}

@media (max-width: 767px) {
	body { font-size: 14px; }

	.gemash-hero,
	.gemash-section__inner,
	.gemash-catalog,
	.single-product .nm-single-product-showcase,
	.single-product .woocommerce-tabs,
	.single-product .related,
	.single-product .upsells { width: calc(100% - 30px); }

	.gemash-hero {
		align-items: flex-end;
		min-height: 530px;
		margin-top: 15px;
		margin-bottom: 58px;
	}

	.gemash-hero__overlay {
		background: linear-gradient(0deg, rgba(12, 18, 42, 0.88) 0%, rgba(12, 18, 42, 0.62) 50%, rgba(12, 18, 42, 0.05) 86%);
	}

	.gemash-hero__content { width: 100%; padding: 32px 25px; }
	.gemash-hero h1 { font-size: clamp(38px, 11vw, 56px); }
	.gemash-hero__content > p:not(.gemash-eyebrow) { font-size: 14px; }

	.gemash-section,
	.gemash-product-section { padding-bottom: 62px; }

	.gemash-section__heading { margin-bottom: 24px; }
	.gemash-section__heading h2 { font-size: 27px; }

	.gemash-product-carousel__viewport {
		margin-right: -15px;
		margin-left: -2px;
		padding-right: 15px;
		padding-left: 2px;
	}

	.gemash-product-carousel__viewport > ul.products,
	.gemash-product-carousel__viewport > ul.nm-products { gap: 15px !important; }

	.gemash-product-carousel__viewport > ul.products > li.product,
	.gemash-product-carousel__viewport > ul.nm-products > li.product {
		flex-basis: calc((100vw - 45px) / 2) !important;
		width: calc((100vw - 45px) / 2) !important;
	}

	.gemash-carousel-arrow { display: none; }
	.gemash-catalog { padding: 45px 0 88px; }
	.gemash-catalog__header { margin-bottom: 26px; }
	.gemash-catalog__header h1 { font-size: 34px; }

	.gemash-catalog-toolbar {
		display: grid;
		gap: 12px;
		margin-bottom: 30px;
		padding: 12px 0;
		border-top: 1px solid var(--gemash-border);
		border-bottom: 1px solid var(--gemash-border);
	}

	.gemash-catalog-toolbar__filters,
	.gemash-catalog-toolbar__sorting {
		justify-content: space-between;
		gap: 5px;
	}

	.gemash-catalog-toolbar__filters > span { display: none; }

	.gemash-catalog-toolbar select {
		min-width: 104px;
		font-size: 12px;
	}

	.gemash-catalog-toolbar__sorting label > span,
	.gemash-catalog-toolbar__count { font-size: 11px; }

	.gemash-catalog ul.products,
	.gemash-catalog ul.nm-products,
	.related ul.products,
	.related ul.nm-products,
	.upsells ul.products,
	.upsells ul.nm-products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px !important;
	}

	.gemash-product-card__content { padding: 13px 10px 11px; }

	.gemash-product-card .woocommerce-loop-product__title {
		min-height: 40px;
		margin-bottom: 5px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	.gemash-product-card .price {
		margin-bottom: 10px !important;
		font-size: 12px !important;
	}

	.gemash-product-card .price del { font-size: 10px; }

	.gemash-product-card__button,
	.woocommerce .gemash-product-card__button {
		min-height: 40px;
		padding: 9px 6px !important;
		font-size: 11px !important;
	}

	.gemash-sale-badge,
	.gemash-stock-badge {
		min-height: 22px !important;
		padding: 3px 7px !important;
		font-size: 9px !important;
	}

	.single-product .nm-single-product-showcase { padding: 24px 0 64px; }
	.single-product .nm-single-product-summary-col { display: block; }
	.single-product .summary.entry-summary { padding-top: 30px !important; }
	.single-product .summary .product_title { font-size: 30px !important; }

	.single-product .flex-control-thumbs li,
	.single-product .nm-product-thumbnails-col li,
	.single-product .nm-product-thumbnails-col .nm-product-thumbnail {
		flex-basis: 68px;
		width: 68px !important;
		height: 68px !important;
	}

	.single-product .flex-control-thumbs,
	.single-product .flex-control-thumbs #nm-product-gallery-thumbs-inner {
		flex-wrap: nowrap !important;
	}

	.single-product .woocommerce-tabs,
	.single-product .related,
	.single-product .upsells { padding-bottom: 66px !important; }

	.single-product .related > .nm-row > .col-xs-12 > h2,
	.single-product .upsells > .nm-row > .col-xs-12 > h2 { font-size: 27px !important; }

	.single-product .related .gemash-product-card .woocommerce-loop-product__title,
	.single-product .upsells .gemash-product-card .woocommerce-loop-product__title {
		min-height: 40px;
		margin-bottom: 5px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	.gemash-footer__inner {
		flex-direction: column;
		gap: 22px;
		width: calc(100% - 40px);
		padding: 30px 0 22px;
		text-align: center;
	}

	.gemash-footer__links ul { justify-content: center; gap: 12px 22px; }

	.gemash-footer__bottom {
		flex-direction: column;
		gap: 9px;
		padding: 16px 20px;
		text-align: center;
	}

	.gemash-back-to-top {
		right: 16px;
		bottom: 16px;
		width: 44px !important;
		height: 44px !important;
	}
}

@media (max-width: 480px) {
	#nm-header .nm-header-inner { width: calc(100% - 24px); }
	#nm-header .gemash-header-grid__utilities .nm-menu { gap: 0; }
	.gemash-hero { min-height: 480px; }
	.gemash-hero__content { padding: 28px 20px; }
	.gemash-hero h1 { font-size: 38px; }
	.gemash-eyebrow { font-size: 10px; }

	.gemash-catalog-toolbar__filters,
	.gemash-catalog-toolbar__sorting { align-items: center; }

	.gemash-catalog-toolbar__sorting label { gap: 4px; }
	.gemash-catalog-toolbar__count { margin-left: 0; }

	.gemash-product-card__content {
		padding-right: 8px;
		padding-left: 8px;
	}

	#nm-cart-panel { width: 100vw !important; }
	#nm-cart-panel .nm-cart-panel-title { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Gemash 4.0 structural layer: child-owned WooCommerce layouts. */
body.gemash-theme-v4,
body.gemash-theme-v4 #nm-main,
body.gemash-theme-v4 .nm-page-wrap,
body.gemash-theme-v4 .nm-page-wrap-inner {
	max-width: 100%;
	background: var(--gemash-white) !important;
}

body.gemash-theme-v4 {
	overflow-x: hidden;
}

body.gemash-theme-v4 #nm-header,
body.gemash-theme-v4 #nm-header .nm-header-inner {
	height: 78px !important;
}

/* Savoy adds vertical header padding; without it the row centres in the navy bar. */
body.gemash-theme-v4 #nm-header {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.gemash-category-rail {
	display: block !important;
	width: min(calc(100% - 60px), var(--gemash-container));
	margin: -42px auto 78px;
}

.gemash-category-rail__inner {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: clamp(28px, 5vw, 74px);
	overflow-x: auto;
	padding: 0 4px 10px;
	scrollbar-width: none;
}

.gemash-category-rail__inner::-webkit-scrollbar {
	display: none;
}

.gemash-category-card {
	display: flex;
	flex: 0 0 112px;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: var(--gemash-ink);
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

.gemash-category-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 92px;
	height: 92px;
	overflow: hidden;
	border: 1px solid var(--gemash-border);
	border-radius: 50%;
	background: var(--gemash-soft);
	transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.gemash-category-card__image img {
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
}

.gemash-category-card__fallback,
.gemash-category-card__fallback svg {
	display: block;
	width: 40px;
	height: 40px;
	color: var(--gemash-ink) !important;
}

.gemash-category-card__fallback svg path,
.gemash-category-card__fallback svg rect {
	stroke: currentColor !important;
}

.gemash-category-card:hover .gemash-category-card__image,
.gemash-category-card:focus-visible .gemash-category-card__image {
	border-color: var(--gemash-gold);
	box-shadow: 0 7px 18px rgba(12, 18, 42, 0.08);
	transform: translateY(-2px);
}

.gemash-category-card:hover,
.gemash-category-card:focus-visible {
	color: var(--gemash-gold-dark);
}

.gemash-product-carousel {
	position: relative;
	padding-bottom: 30px;
}

.gemash-product-carousel__viewport {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding: 5px 6px 22px !important;
	cursor: grab;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
}

/* Center rows with fewer products than slots; auto margins collapse to 0 once the row overflows. */
.gemash-product-carousel .gemash-product-carousel__viewport > ul.gemash-product-grid {
	margin-right: auto !important;
	margin-left: auto !important;
}

.gemash-product-carousel__viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
	user-select: none;
}

.gemash-product-carousel__viewport > .gemash-product-grid {
	display: flex !important;
	align-items: stretch;
	gap: 38px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-product-carousel__viewport > .gemash-product-grid > li.product {
	flex: 0 0 calc((100% - 114px) / 4) !important;
	width: calc((100% - 114px) / 4) !important;
	min-width: 0 !important;
	scroll-snap-align: start;
}

.gemash-carousel-arrow {
	top: calc(50% - 38px) !important;
	width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	cursor: pointer;
}

.gemash-carousel-dots {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 18px;
}

.gemash-carousel-dots[hidden] {
	display: none;
}

.gemash-carousel-dots button {
	width: 7px !important;
	height: 7px !important;
	min-height: 7px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--gemash-muted) !important;
	cursor: pointer;
	transition: background-color 160ms ease, transform 160ms ease;
}

.gemash-carousel-dots button.is-active {
	background: var(--gemash-ink) !important;
	transform: scale(1.2);
}

.gemash-product-grid,
.gemash-product-grid::before,
.gemash-product-grid::after {
	box-sizing: border-box;
}

.gemash-product-grid::before,
.gemash-product-grid::after {
	display: none !important;
	content: none !important;
}

.gemash-catalog .gemash-product-grid,
.gemash-related-products .gemash-product-grid,
.upsells .gemash-product-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 36px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-product-grid > li.gemash-product-card,
ul.products > li.gemash-product-card,
ul.nm-products > li.gemash-product-card {
	display: block !important;
	position: relative !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.gemash-product-card__inner {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 12px !important;
	background: var(--gemash-white) !important;
	box-shadow: 2px 7px 18px rgba(12, 18, 42, 0.09) !important;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gemash-product-card__inner:hover {
	border-color: var(--gemash-border) !important;
	box-shadow: 3px 11px 24px rgba(12, 18, 42, 0.13) !important;
	transform: translateY(-3px);
}

.gemash-product-card__media {
	display: block !important;
	position: relative;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 0 !important;
	background: var(--gemash-soft);
}

.gemash-product-card__media::after {
	display: none !important;
	content: none !important;
}

.gemash-product-card__media img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: cover;
}

.gemash-product-card__content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 16px 18px 18px !important;
	text-align: center;
}

.gemash-product-card__swatches {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 28px;
	margin: -4px 0 8px;
}

.gemash-product-card__swatch {
	display: block;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 6px;
	background: var(--gemash-swatch-color, var(--gemash-soft));
	box-shadow: inset 0 0 0 1px rgba(12, 18, 42, 0.18);
}

.gemash-product-card .woocommerce-loop-product__title {
	display: -webkit-box !important;
	width: 100%;
	min-height: 45px !important;
	max-height: 45px;
	margin: 0 0 7px !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gemash-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	text-align: center;
}

.gemash-product-card .price {
	display: flex !important;
	align-items: baseline;
	justify-content: center;
	gap: 6px;
	width: 100%;
	min-height: 24px;
	margin: 0 0 15px !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.gemash-product-card .price del {
	margin: 0 !important;
	color: var(--gemash-muted) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	opacity: 1 !important;
}

.gemash-product-card .price ins {
	color: var(--gemash-gold-dark) !important;
	text-decoration: none !important;
}

.gemash-product-card__button,
.woocommerce .gemash-product-card__button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 48px !important;
	margin: auto 0 0 !important;
	padding: 11px 12px !important;
	cursor: pointer;
}

.gemash-product-card__button--disabled,
.woocommerce .gemash-product-card__button--disabled {
	border-color: var(--gemash-border) !important;
	background: var(--gemash-border) !important;
	color: var(--gemash-muted) !important;
	cursor: not-allowed;
	opacity: 1 !important;
}

body.gemash-theme-v4 .gemash-product-card__button--disabled[disabled],
body.gemash-theme-v4.woocommerce .gemash-product-card__button--disabled[disabled] {
	border-color: var(--gemash-border) !important;
	background: var(--gemash-border) !important;
	color: var(--gemash-muted) !important;
}

.gemash-sale-badge,
.gemash-stock-badge {
	top: 12px !important;
	bottom: auto !important;
	left: 12px !important;
	border-radius: 999px !important;
}

/* "Save %" badge: red gradient pill in the image corner. */
.gemash-sale-badge,
.single-product .onsale {
	padding: 5px 12px !important;
	background: var(--gemash-sale-gradient) !important;
	box-shadow: 0 4px 12px rgba(179, 38, 30, 0.35);
	color: var(--gemash-white) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
}

@media (max-width: 767px) {
	.gemash-sale-badge,
	.gemash-stock-badge {
		top: 8px !important;
		left: 8px !important;
		padding: 4px 9px !important;
		font-size: 11px !important;
	}
}

.gemash-catalog {
	width: min(calc(100% - 60px), var(--gemash-container));
	padding-top: 58px;
}

.gemash-catalog__header h1 {
	font-size: clamp(34px, 3vw, 46px);
}

.gemash-catalog-toolbar select {
	border: 0 !important;
	box-shadow: none !important;
}

.gemash-single-product,
.gemash-single-product * {
	box-sizing: border-box;
}

.gemash-single-product {
	width: 100%;
	background: var(--gemash-white);
}

.gemash-single-product__inner,
.gemash-single-product__details > .woocommerce-tabs,
.gemash-single-product__details > .related,
.gemash-single-product__details > .upsells {
	width: min(calc(100% - 60px), var(--gemash-container));
	margin-right: auto !important;
	margin-left: auto !important;
}

.gemash-single-product__inner {
	padding: 24px 0 74px;
}

.gemash-single-product__showcase {
	display: grid;
	grid-template-columns: minmax(0, 58fr) minmax(360px, 42fr);
	align-items: start;
	gap: clamp(46px, 5vw, 82px);
	padding-top: 28px;
}

.gemash-single-product__gallery,
.gemash-single-product__summary {
	position: relative;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gemash-single-product__gallery .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.gemash-single-product__gallery .woocommerce-product-gallery__wrapper {
	overflow: hidden;
	border-radius: 12px;
	background: var(--gemash-soft);
}

.gemash-single-product__gallery .woocommerce-product-gallery__image,
.gemash-single-product__gallery .woocommerce-product-gallery__image a,
.gemash-single-product__gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

.gemash-single-product__gallery .woocommerce-product-gallery__image img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.gemash-single-product__gallery .flex-control-thumbs {
	display: flex !important;
	gap: 10px;
	width: 100%;
	margin: 12px 0 0 !important;
	padding: 0 0 4px !important;
	overflow-x: auto;
	list-style: none;
}

.gemash-single-product__gallery .flex-control-thumbs li {
	flex: 0 0 88px;
	float: none !important;
	width: 88px !important;
	height: 88px !important;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid var(--gemash-border);
	border-radius: 8px;
}

.gemash-single-product__gallery .flex-control-thumbs img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

.gemash-single-product__gallery .flex-control-thumbs .flex-active {
	border: 2px solid var(--gemash-gold);
}

.single-product .gemash-single-product__summary .product_title {
	margin: 0 0 16px !important;
	font-size: clamp(27px, 2.4vw, 42px) !important;
	font-weight: 600 !important;
	line-height: 1.16 !important;
	overflow-wrap: break-word;
}

.single-product .gemash-single-product--long-title .gemash-single-product__summary .product_title {
	font-size: clamp(25px, 2vw, 34px) !important;
	line-height: 1.2 !important;
}

.gemash-single-product__summary > .price,
.gemash-single-product__summary .single_variation .price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 24px !important;
	color: var(--gemash-ink) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
}

.gemash-single-product__summary form.cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	width: 100% !important;
	margin: 18px 0 0 !important;
}

.gemash-single-product__summary .variations,
.gemash-single-product__summary .variations tbody,
.gemash-single-product__summary .variations tr,
.gemash-single-product__summary .variations th,
.gemash-single-product__summary .variations td {
	display: block !important;
	width: 100% !important;
}

.gemash-single-product__summary .variations {
	margin: 0 !important;
	border: 0 !important;
}

.gemash-single-product__summary .variations tr {
	margin: 0 0 14px;
}

.gemash-single-product__summary .variations th.label {
	padding: 0 0 7px !important;
	font-size: 13px;
	font-weight: 500;
	text-align: left;
}

.gemash-single-product__summary .variations td.value {
	position: relative;
	padding: 0 !important;
}

.gemash-single-product__summary .variations select {
	display: block !important;
	width: 100% !important;
	height: 48px !important;
	padding: 0 42px 0 14px !important;
	border: 1px solid var(--gemash-border) !important;
	background: var(--gemash-white) !important;
	cursor: pointer;
}

.gemash-single-product__summary .single_variation_wrap,
.gemash-single-product__summary .woocommerce-variation-add-to-cart {
	width: 100%;
}

.gemash-single-product__summary .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 10px;
}

.gemash-quantity-control {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 50px;
	padding: 0 13px;
	border: 1px solid var(--gemash-border);
	border-radius: var(--gemash-button-radius);
	background: var(--gemash-white);
}

.gemash-quantity-control__label {
	font-size: 13px;
	font-weight: 500;
}

.gemash-quantity-control .quantity {
	display: grid !important;
	grid-template-columns: 30px 40px 30px;
	align-items: center;
	width: 100px !important;
	height: 34px !important;
	margin: 0 !important;
	border: 0 !important;
}

.gemash-quantity-control .qty {
	width: 40px !important;
	height: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
}

.gemash-quantity-control .qty::-webkit-inner-spin-button,
.gemash-quantity-control .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gemash-quantity-control__button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 5px !important;
	background: var(--gemash-white) !important;
	color: var(--gemash-ink) !important;
	font-size: 16px !important;
	cursor: pointer;
}

.gemash-quantity-control__button:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold-soft) !important;
}

.gemash-quantity-control--hidden {
	display: none !important;
}

.gemash-single-product__summary .single_add_to_cart_button,
.gemash-single-product__summary .gemash-buy-now,
.gemash-single-product__summary .gemash-soldout-actions button {
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
}

.gemash-single-product__summary .gemash-soldout-actions {
	display: grid;
	gap: 10px;
}

.gemash-single-product__details {
	border-top: 1px solid var(--gemash-border);
	padding-top: 42px;
}

.gemash-single-product__details > .woocommerce-tabs,
.gemash-single-product__details > .related,
.gemash-single-product__details > .upsells {
	padding-bottom: 78px !important;
}

.gemash-related-products > h2,
.gemash-single-product__details > .upsells > h2,
.gemash-single-product__details > .upsells .col-xs-12 > h2 {
	margin: 0 0 34px !important;
	font-size: 32px !important;
	text-align: center;
}

#nm-cart-panel .widget_shopping_cart_content {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

#nm-cart-panel #nm-cart-panel-list-wrap {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto !important;
}

#nm-cart-panel .woocommerce-mini-cart {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 18px 20px !important;
}

#nm-cart-panel .gemash-mini-cart-item {
	display: grid !important;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 12px;
	width: 100% !important;
	margin: 0 !important;
	padding: 13px 0 !important;
	border-bottom: 1px solid var(--gemash-border) !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-thumbnail,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-details {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap img {
	display: block;
	width: 74px !important;
	height: 74px !important;
	margin: 0 !important;
	border-radius: 5px;
	object-fit: cover;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-details {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-product-title {
	display: -webkit-box !important;
	max-width: calc(100% - 26px);
	max-height: 42px;
	margin: 0 0 5px !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

#nm-cart-panel .gemash-mini-cart-item .remove_from_cart_button {
	position: absolute !important;
	top: -4px !important;
	right: 0 !important;
	width: 22px !important;
	height: 22px !important;
	font-size: 20px !important;
	line-height: 20px !important;
}

#nm-cart-panel .gemash-mini-cart-item .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 5px;
	margin: 0 0 5px !important;
	font-size: 10px;
	line-height: 1.3;
}

#nm-cart-panel .gemash-mini-cart-item .variation dt,
#nm-cart-panel .gemash-mini-cart-item .variation dd,
#nm-cart-panel .gemash-mini-cart-item .variation p {
	margin: 0 !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-quantity-pricing {
	display: flex !important;
	align-items: end;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
}

#nm-cart-panel .gemash-quantity-control--mini {
	width: auto !important;
	height: 30px;
	padding: 0;
	border: 0;
}

#nm-cart-panel .gemash-quantity-control--mini .quantity {
	grid-template-columns: 25px 34px 25px;
	width: 84px !important;
	height: 28px !important;
}

#nm-cart-panel .gemash-quantity-control--mini .qty {
	width: 34px !important;
	height: 28px !important;
	min-height: 28px !important;
	font-size: 12px;
}

#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button {
	width: 25px !important;
	height: 25px !important;
	min-height: 25px !important;
	font-size: 13px !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-price {
	max-width: 120px;
	color: var(--gemash-ink) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	text-align: right;
}

#nm-cart-panel .gemash-cart-recommendations {
	padding: 20px 0 8px !important;
	border: 0 !important;
}

#nm-cart-panel .gemash-cart-recommendations h3 {
	margin-bottom: 13px !important;
	font-size: 21px !important;
}

#nm-cart-panel .gemash-cart-recommendation {
	grid-template-columns: 56px minmax(0, 1fr) 30px !important;
	min-height: 78px;
	padding: 9px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 12px rgba(12, 18, 42, 0.07) !important;
}

#nm-cart-panel .gemash-cart-recommendation__image,
#nm-cart-panel .gemash-cart-recommendation__image img {
	width: 56px !important;
	height: 56px !important;
}

#nm-cart-panel .gemash-cart-recommendation__details > a {
	display: -webkit-box;
	max-height: 34px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 11px !important;
	line-height: 1.25 !important;
}

#nm-cart-panel .gemash-cart-recommendation__variation {
	height: 25px !important;
	min-height: 25px !important;
	max-width: 150px;
	padding: 0 22px 0 6px !important;
	font-size: 9px !important;
}

#nm-cart-panel .nm-cart-panel-summary {
	flex: 0 0 auto;
	background: var(--gemash-white) !important;
	box-shadow: 0 -1px 0 var(--gemash-border);
}

#nm-cart-panel .woocommerce-mini-cart__buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

#nm-cart-panel .woocommerce-mini-cart__buttons a {
	width: 100% !important;
	margin: 0 !important;
}

@media (max-width: 1100px) {
	.gemash-product-carousel__viewport > .gemash-product-grid {
		gap: 28px !important;
	}

	.gemash-product-carousel__viewport > .gemash-product-grid > li.product {
		flex-basis: calc((100% - 56px) / 3) !important;
		width: calc((100% - 56px) / 3) !important;
	}

	.gemash-catalog .gemash-product-grid,
	.gemash-related-products .gemash-product-grid,
	.upsells .gemash-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px !important;
	}

	.gemash-single-product__showcase {
		grid-template-columns: minmax(0, 54fr) minmax(340px, 46fr);
		gap: 38px;
	}
}

@media (max-width: 991px) {
	body.gemash-theme-v4 #nm-header,
	body.gemash-theme-v4 #nm-header .nm-header-inner {
		height: 72px !important;
	}

	.gemash-category-rail {
		margin-top: -34px;
		margin-bottom: 62px;
	}

	.gemash-category-rail__inner {
		justify-content: flex-start;
	}

	/* Center a short rail; auto margins collapse to 0 when the rail scrolls. */
	.gemash-category-rail__inner > .gemash-category-card:first-child { margin-inline-start: auto; }
	.gemash-category-rail__inner > .gemash-category-card:last-child { margin-inline-end: auto; }

	/* Keep the cart-count badge inside the viewport. */
	#nm-header .gemash-header-grid__utilities .nm-menu { padding-inline-end: 10px; }

	.gemash-single-product__showcase {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 0.92fr);
		gap: 30px;
	}
}

@media (max-width: 767px) {
	.gemash-category-rail,
	.gemash-single-product__inner,
	.gemash-single-product__details > .woocommerce-tabs,
	.gemash-single-product__details > .related,
	.gemash-single-product__details > .upsells {
		width: calc(100% - 30px);
	}

	.gemash-category-rail {
		margin-top: -28px;
		margin-bottom: 52px;
	}

	.gemash-category-card {
		flex-basis: 90px;
		font-size: 10px;
	}

	.gemash-category-card__image {
		width: 74px;
		height: 74px;
	}

	.gemash-product-carousel__viewport {
		margin-right: -15px !important;
		padding-right: 15px !important;
	}

	.gemash-product-carousel__viewport > .gemash-product-grid {
		gap: 15px !important;
	}

	.gemash-product-carousel__viewport > .gemash-product-grid > li.product {
		flex-basis: calc((100% - 15px) / 2) !important;
		width: calc((100% - 15px) / 2) !important;
	}

	.gemash-catalog .gemash-product-grid,
	.gemash-related-products .gemash-product-grid,
	.upsells .gemash-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px !important;
	}

	.gemash-product-card__content {
		padding: 12px 9px 10px !important;
	}

	.gemash-product-card__swatches {
		min-height: 22px;
		margin-bottom: 6px;
	}

	.gemash-product-card__swatch {
		width: 19px;
		height: 19px;
	}

	.gemash-product-card .woocommerce-loop-product__title {
		min-height: 39px !important;
		max-height: 39px;
		font-size: 12px !important;
		line-height: 1.6 !important;
	}

	.gemash-product-card__button,
	.woocommerce .gemash-product-card__button {
		min-height: 41px !important;
		font-size: 11px !important;
	}

	.gemash-single-product__inner {
		padding-top: 12px;
		padding-bottom: 54px;
	}

	.gemash-single-product__showcase {
		display: block;
		padding-top: 16px;
	}

	.gemash-single-product__summary {
		padding-top: 28px !important;
	}

	.gemash-single-product__summary .product_title,
	.gemash-single-product--long-title .gemash-single-product__summary .product_title {
		font-size: 27px !important;
	}

	.gemash-single-product__gallery .flex-control-thumbs li {
		flex-basis: 68px;
		width: 68px !important;
		height: 68px !important;
	}

	.gemash-related-products > h2,
	.gemash-single-product__details > .upsells > h2,
	.gemash-single-product__details > .upsells .col-xs-12 > h2 {
		font-size: 27px !important;
	}

	#nm-cart-panel .woocommerce-mini-cart {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}

@media (max-width: 480px) {
	.gemash-product-card .woocommerce-loop-product__title {
		font-size: 11px !important;
	}

	.gemash-product-card .price {
		font-size: 11px !important;
	}

	.gemash-product-card__button,
	.woocommerce .gemash-product-card__button {
		padding-right: 5px !important;
		padding-left: 5px !important;
		font-size: 10px !important;
	}

	#nm-cart-panel .woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}
}

/* Gemash 4.1 interaction and alignment refinements. */
.gemash-category-rail__inner {
	padding-top: 10px;
	overflow-y: hidden;
	scroll-padding-inline: 8px;
}

.gemash-category-card {
	min-height: 126px;
	padding: 2px 0;
	border-radius: 48px 48px 8px 8px;
	cursor: pointer;
}

.gemash-category-card:hover .gemash-category-card__image,
.gemash-category-card:focus-visible .gemash-category-card__image {
	box-shadow: 0 7px 18px rgba(12, 18, 42, 0.08);
	transform: none;
}

.gemash-category-card:focus-visible {
	outline: 2px solid rgba(201, 153, 72, 0.7);
	outline-offset: 2px;
}

.gemash-product-carousel {
	--gemash-carousel-card-width: calc((100% - 238px) / 4);
	padding-right: 56px;
	padding-left: 56px;
}

.gemash-product-carousel__viewport {
	touch-action: pan-x pan-y pinch-zoom;
}

.gemash-product-carousel__viewport > .gemash-product-grid > li.product {
	flex-basis: var(--gemash-carousel-card-width) !important;
	width: var(--gemash-carousel-card-width) !important;
}

.gemash-carousel-arrow {
	top: 50% !important;
	width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	box-shadow: 0 5px 18px rgba(12, 18, 42, 0.13);
	font-size: 27px !important;
	line-height: 1 !important;
}

.gemash-carousel-arrow--previous {
	left: -4px;
}

.gemash-carousel-arrow--next {
	right: 4px;
}

.gemash-carousel-arrow:not(:disabled):hover {
	box-shadow: 0 7px 22px rgba(12, 18, 42, 0.17);
	transform: translateY(-50%) scale(1.04);
}

.gemash-single-product__inner {
	padding-bottom: 52px;
}

.gemash-single-product__showcase {
	grid-auto-rows: max-content;
}

.gemash-single-product__gallery,
.gemash-single-product__summary {
	align-self: start;
	min-height: 0 !important;
}

.single-product .gemash-single-product__gallery .woocommerce-product-gallery {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.single-product .gemash-single-product__gallery .flex-viewport,
.single-product .gemash-single-product__gallery .woocommerce-product-gallery__wrapper {
	position: relative !important;
	float: none !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .gemash-single-product__gallery .flex-viewport {
	height: auto !important;
	overflow: hidden !important;
}

.single-product .gemash-single-product__gallery .woocommerce-product-gallery__image,
.single-product .gemash-single-product__gallery .woocommerce-product-gallery__image > a,
.single-product .gemash-single-product__gallery .woocommerce-product-gallery__image img {
	min-height: 0 !important;
	max-height: none !important;
}

.single-product .gemash-single-product__gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	left: 0 !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.single-product .gemash-single-product__gallery .woocommerce-product-gallery__image:first-child {
	position: relative !important;
}

.gemash-single-product__summary form.cart {
	gap: 12px;
	margin-top: 20px !important;
}

.gemash-single-product__summary .variations tr {
	margin-bottom: 12px;
}

.gemash-single-product__summary .variations th.label {
	padding-bottom: 8px !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
}

.gemash-single-product__summary .variations select {
	height: 50px !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 0 rgba(12, 18, 42, 0.02);
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
}

.gemash-single-product__summary .variations select:hover,
.gemash-single-product__summary .variations select:focus {
	border-color: var(--gemash-gold) !important;
}

.gemash-quantity-control {
	height: 52px;
	padding-right: 15px;
	padding-left: 15px;
	border-radius: 8px;
}

.gemash-quantity-control__label {
	font-size: 13px;
	font-weight: 600;
}

.gemash-quantity-control__button {
	border-radius: 6px !important;
	font-weight: 600;
}

.gemash-single-product__summary .single_add_to_cart_button,
.gemash-single-product__summary .gemash-buy-now,
.gemash-single-product__summary .gemash-soldout-actions button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
	transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gemash-single-product__summary .single_add_to_cart_button:not(.disabled) {
	border-color: var(--gemash-navy) !important;
	background: var(--gemash-navy) !important;
	color: var(--gemash-gold) !important;
}

.gemash-single-product__summary .single_add_to_cart_button:not(.disabled):hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

/* Buy it now (straight to checkout): gold, so it reads differently from the navy Add to cart. */
.gemash-single-product__summary .gemash-buy-now,
.woocommerce .gemash-single-product__summary .button.gemash-buy-now {
	gap: 10px;
	border: 1.5px solid var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

.woocommerce .gemash-single-product__summary .button.gemash-buy-now:hover {
	border-color: var(--gemash-gold-light) !important;
	background: var(--gemash-gold-light) !important;
	color: var(--gemash-navy) !important;
}

.gemash-buy-now__icon {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	transition: transform 160ms ease;
}

.gemash-buy-now:hover .gemash-buy-now__icon { transform: translateX(3px); }

.gemash-single-product__summary .single_add_to_cart_button:not(.disabled):hover,
.gemash-single-product__summary .gemash-buy-now:hover {
	box-shadow: 0 6px 16px rgba(201, 153, 72, 0.16);
	transform: translateY(-1px);
}

.gemash-single-product__details {
	padding-top: 0;
}

#nm-cart-panel {
	width: min(450px, 100vw) !important;
}

#nm-cart-panel .nm-cart-panel-header {
	height: 74px;
}

#nm-cart-panel .nm-cart-panel-header-inner {
	padding-right: 22px;
	padding-left: 22px;
}

#nm-cart-panel .widget_shopping_cart_content {
	height: calc(100dvh - 74px);
}

#nm-cart-panel #nm-cart-panel-list-wrap {
	padding: 0 22px 26px !important;
}

#nm-cart-panel .woocommerce-mini-cart {
	padding: 0 0 22px !important;
}

#nm-cart-panel .gemash-mini-cart-item {
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 14px;
	min-height: 116px;
	padding: 16px 0 !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap a,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap img {
	width: 88px !important;
	height: 88px !important;
	border-radius: 7px;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-product-title {
	max-height: 44px;
	margin-bottom: 7px !important;
	font-size: 14px !important;
	line-height: 1.42 !important;
}

#nm-cart-panel .gemash-mini-cart-item .remove_from_cart_button {
	top: -2px !important;
	right: -2px !important;
	width: 26px !important;
	height: 26px !important;
	font-size: 19px !important;
}

#nm-cart-panel .gemash-mini-cart-item .variation {
	margin-bottom: 7px !important;
	font-size: 11px;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-quantity-pricing {
	align-items: center;
	gap: 12px;
}

#nm-cart-panel .gemash-quantity-control--mini .quantity {
	grid-template-columns: 28px 38px 28px;
	width: 94px !important;
	height: 31px !important;
}

#nm-cart-panel .gemash-quantity-control--mini .qty {
	width: 38px !important;
	height: 31px !important;
	min-height: 31px !important;
	font-size: 13px;
}

#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button {
	width: 28px !important;
	height: 28px !important;
	min-height: 28px !important;
	font-size: 14px !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-price {
	font-size: 14px !important;
}

#nm-cart-panel .gemash-cart-recommendations {
	padding-top: 24px !important;
}

#nm-cart-panel .gemash-cart-recommendations h3 {
	margin-bottom: 16px !important;
	font-size: 23px !important;
	text-align: left !important;
}

#nm-cart-panel .gemash-cart-recommendations__list {
	gap: 12px;
}

#nm-cart-panel .gemash-cart-recommendation {
	grid-template-columns: 68px minmax(0, 1fr) 32px !important;
	align-items: center;
	gap: 12px;
	min-height: 104px;
	padding: 11px !important;
	border-radius: 12px !important;
}

#nm-cart-panel .gemash-cart-recommendation__image,
#nm-cart-panel .gemash-cart-recommendation__image img {
	width: 68px !important;
	height: 68px !important;
	border-radius: 7px;
}

#nm-cart-panel .gemash-cart-recommendation__details {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: center;
	gap: 5px;
	min-width: 0;
}

#nm-cart-panel .gemash-cart-recommendation__details > a {
	grid-column: 1;
	max-height: 38px;
	font-size: 12px !important;
	line-height: 1.35 !important;
}

#nm-cart-panel .gemash-cart-recommendation__details .price {
	grid-column: 1;
	font-size: 12px !important;
	line-height: 1.25;
	text-align: left;
}

#nm-cart-panel .gemash-cart-recommendation__details label {
	grid-column: 1;
}

#nm-cart-panel .gemash-cart-recommendation__variation {
	width: 100%;
	max-width: 180px;
	height: 29px !important;
	min-height: 29px !important;
	font-size: 10px !important;
}

#nm-cart-panel .gemash-cart-recommendation__add {
	width: 30px !important;
	height: 30px !important;
	min-height: 30px !important;
	font-size: 19px !important;
	cursor: pointer;
}

#nm-cart-panel .nm-cart-panel-summary {
	padding: 17px 22px 22px !important;
}

@media (max-width: 1100px) and (min-width: 992px) {
	.gemash-product-carousel {
		--gemash-carousel-card-width: calc((100% - 180px) / 3);
	}
}

@media (max-width: 991px) and (min-width: 768px) {
	.gemash-product-carousel {
		--gemash-carousel-card-width: calc((100% - 164px) / 3);
		padding-right: 48px;
		padding-left: 48px;
	}

	.gemash-carousel-arrow {
		width: 38px !important;
		height: 38px !important;
		min-height: 38px !important;
	}
}

@media (max-width: 767px) {
	.gemash-product-carousel {
		--gemash-carousel-card-width: calc((100% - 15px) / 2);
		padding-right: 0;
		padding-left: 0;
	}

	.gemash-carousel-arrow {
		display: none !important;
	}

	.gemash-category-rail__inner {
		padding-top: 9px;
	}

	.gemash-category-card {
		min-height: 108px;
	}

	.gemash-single-product__inner {
		padding-bottom: 40px;
	}

	.gemash-single-product__summary {
		padding-top: 24px !important;
	}

	.gemash-single-product__details > .woocommerce-tabs,
	.gemash-single-product__details > .related,
	.gemash-single-product__details > .upsells {
		padding-bottom: 60px !important;
	}
}

@media (max-width: 480px) {
	#nm-cart-panel .nm-cart-panel-header {
		height: 68px;
	}

	#nm-cart-panel .nm-cart-panel-header-inner {
		padding-right: 16px;
		padding-left: 16px;
	}

	#nm-cart-panel .widget_shopping_cart_content {
		height: calc(100dvh - 68px);
	}

	#nm-cart-panel #nm-cart-panel-list-wrap {
		padding: 0 14px 22px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 11px;
		min-height: 104px;
		padding: 14px 0 !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap,
	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap a,
	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap img {
		width: 76px !important;
		height: 76px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-product-title {
		font-size: 13px !important;
	}

	#nm-cart-panel .gemash-cart-recommendations h3 {
		font-size: 21px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation {
		grid-template-columns: 58px minmax(0, 1fr) 30px !important;
		gap: 9px;
		min-height: 96px;
		padding: 9px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__image,
	#nm-cart-panel .gemash-cart-recommendation__image img {
		width: 58px !important;
		height: 58px !important;
	}

	#nm-cart-panel .nm-cart-panel-summary {
		padding: 15px 14px 18px !important;
	}
}

/* Product purchase controls — 4.2.0. */
.gemash-single-product__summary form.cart {
	gap: 14px !important;
	margin-top: 22px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	background: var(--gemash-white);
	box-shadow: none;
}

.gemash-single-product__summary .variations,
.gemash-single-product__summary .variations tbody,
.gemash-single-product__summary .variations tr,
.gemash-single-product__summary .variations th,
.gemash-single-product__summary .variations td {
	border: 0 !important;
	box-shadow: none !important;
}

.gemash-single-product__summary .variations tr::before,
.gemash-single-product__summary .variations tr::after,
.gemash-single-product__summary .variations th::before,
.gemash-single-product__summary .variations th::after,
.gemash-single-product__summary .variations td::before,
.gemash-single-product__summary .variations td::after {
	display: none !important;
	border: 0 !important;
	content: none !important;
}

.gemash-single-product__summary .single_variation,
.gemash-single-product__summary .woocommerce-variation-price,
.gemash-single-product__summary .woocommerce-variation-availability,
.gemash-single-product__summary .woocommerce-variation-description {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.gemash-single-product__summary .variations tr {
	position: relative;
	z-index: 1;
	margin-bottom: 14px;
}

.gemash-single-product__summary .variations tr:has(.gemash-select.is-open) {
	z-index: 20;
}

.gemash-single-product__summary .variations th.label {
	padding-bottom: 7px !important;
	color: var(--gemash-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-transform: uppercase;
}

.gemash-single-product__summary .variations select.gemash-native-variation-select {
	display: none !important;
}

.gemash-select {
	position: relative;
	width: 100%;
}

.gemash-select__trigger {
	display: grid !important;
	grid-template-columns: 12px minmax(0, 1fr) 32px;
	align-items: center;
	gap: 11px;
	width: 100% !important;
	height: 54px !important;
	min-height: 54px !important;
	padding: 0 9px 0 16px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 10px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 2px 8px rgba(12, 18, 42, 0.035) !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	cursor: pointer;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.gemash-select__trigger:hover,
.gemash-select.is-open .gemash-select__trigger {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 0 0 3px rgba(201, 153, 72, 0.14) !important;
}

.gemash-select__trigger:focus-visible {
	outline: 0 !important;
	border-color: var(--gemash-gold) !important;
	box-shadow: 0 0 0 4px rgba(201, 153, 72, 0.2) !important;
}

.gemash-select__marker {
	width: 10px;
	height: 10px;
	border: 2px solid var(--gemash-gold);
	border-radius: 50%;
	background: var(--gemash-gold-soft);
}

.gemash-select.has-value .gemash-select__marker {
	background: var(--gemash-gold);
	box-shadow: inset 0 0 0 2px var(--gemash-white);
}

.gemash-select__value {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gemash-select__chevron {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 34px;
	border-radius: 7px;
	background: var(--gemash-soft);
}

.gemash-select__chevron::before {
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	transform: translateY(-2px) rotate(45deg);
	transition: transform 160ms ease;
}

.gemash-select.is-open .gemash-select__chevron::before {
	transform: translateY(2px) rotate(225deg);
}

.gemash-select__menu {
	position: absolute;
	z-index: 40;
	top: calc(100% + 8px);
	right: 0;
	left: 0;
	display: grid;
	gap: 4px;
	max-height: 270px;
	margin: 0;
	padding: 7px;
	overflow-y: auto;
	border: 1px solid var(--gemash-border);
	border-radius: 12px;
	background: var(--gemash-white);
	box-shadow: 0 18px 46px rgba(12, 18, 42, 0.16);
}

.gemash-select__menu[hidden] {
	display: none !important;
}

.gemash-select__option {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 24px;
	align-items: center;
	gap: 10px;
	width: 100% !important;
	min-height: 43px !important;
	padding: 8px 10px 8px 12px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--gemash-white) !important;
	box-shadow: none !important;
	color: var(--gemash-ink) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	cursor: pointer;
}

.gemash-select__option:hover,
.gemash-select__option:focus-visible {
	outline: 0 !important;
	background: var(--gemash-gold-soft) !important;
}

.gemash-select__option[aria-selected="true"] {
	background: var(--gemash-gold-soft) !important;
	font-weight: 700 !important;
}

.gemash-select__option:disabled {
	color: var(--gemash-muted) !important;
	cursor: not-allowed;
}

.gemash-select__check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--gemash-gold);
	color: var(--gemash-ink);
	font-size: 12px;
	opacity: 0;
}

.gemash-select__check::before {
	width: 5px;
	height: 9px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	content: "";
	transform: translateY(-1px) rotate(45deg);
}

.gemash-select__option[aria-selected="true"] .gemash-select__check {
	opacity: 1;
}

.gemash-quantity-control {
	height: 56px;
	padding: 6px 8px 6px 15px;
	border-color: var(--gemash-border);
	border-radius: 10px;
	background: var(--gemash-soft);
}

.gemash-quantity-control .quantity {
	grid-template-columns: 34px 42px 34px;
	width: 110px !important;
	height: 36px !important;
}

.gemash-quantity-control .qty {
	width: 42px !important;
	height: 34px !important;
	min-height: 34px !important;
	font-size: 14px;
	line-height: 34px !important;
}

.gemash-quantity-control__button {
	width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	border-color: var(--gemash-border) !important;
	border-radius: 8px !important;
	background: var(--gemash-white) !important;
	font-size: 17px !important;
	line-height: 1 !important;
}

.gemash-quantity-control__button:disabled,
.gemash-quantity-control__button[aria-disabled="true"] {
	border-color: var(--gemash-border) !important;
	background: var(--gemash-soft) !important;
	color: var(--gemash-muted) !important;
	cursor: not-allowed !important;
	opacity: 0.72;
}

.gemash-quantity-control__button:disabled:hover,
.gemash-quantity-control__button[aria-disabled="true"]:hover {
	background: var(--gemash-soft) !important;
	box-shadow: none !important;
	transform: none !important;
}

.gemash-single-product__summary .single_add_to_cart_button,
.gemash-single-product__summary .gemash-buy-now,
.gemash-single-product__summary .gemash-soldout-actions button {
	min-height: 56px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.gemash-single-product__summary .gemash-buy-now {
	border: 1.5px solid var(--gemash-gold) !important;
}

@media (max-width: 767px) {
	.gemash-single-product__summary form.cart {
		padding: 0 !important;
	}

	.gemash-select__trigger,
	.gemash-quantity-control,
	.gemash-single-product__summary .single_add_to_cart_button,
	.gemash-single-product__summary .gemash-buy-now,
	.gemash-single-product__summary .gemash-soldout-actions button {
		min-height: 52px !important;
	}
}

/* Cart drawer refinement — 4.2.0. */
#nm-cart-panel {
	width: min(470px, 100vw) !important;
}

#nm-cart-panel .nm-cart-panel-header {
	height: 72px !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--gemash-border) !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 4px 18px rgba(12, 18, 42, 0.04);
}

#nm-cart-panel .nm-cart-panel-header-inner {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100% !important;
	padding-right: 20px !important;
	padding-left: 20px !important;
	border: 0 !important;
}

#nm-cart-panel #nm-cart-panel-close {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
}

#nm-cart-panel .nm-cart-panel-close-title {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-left: auto !important;
	border-radius: 50%;
}

#nm-cart-panel .nm-cart-panel-close-title:hover {
	background: var(--gemash-soft);
}

#nm-cart-panel .nm-cart-panel-title {
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
}

#nm-cart-panel .widget_shopping_cart_content {
	height: calc(100dvh - 72px) !important;
	background: var(--gemash-soft) !important;
}

#nm-cart-panel #nm-cart-panel-list-wrap {
	padding: 12px 14px 26px !important;
	background: var(--gemash-soft) !important;
	scrollbar-gutter: stable;
}

#nm-cart-panel .woocommerce-mini-cart {
	display: grid !important;
	gap: 10px !important;
	padding: 0 0 18px !important;
}

#nm-cart-panel .woocommerce-mini-cart > li,
#nm-cart-panel .gemash-mini-cart-item {
	border: 0 !important;
}

#nm-cart-panel .gemash-mini-cart-item::before,
#nm-cart-panel .gemash-mini-cart-item::after {
	display: none !important;
	content: none !important;
}

#nm-cart-panel .gemash-mini-cart-item {
	display: grid !important;
	grid-template-columns: 82px minmax(0, 1fr) !important;
	align-items: stretch !important;
	gap: 12px !important;
	min-height: 108px !important;
	padding: 11px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 14px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 5px 15px rgba(12, 18, 42, 0.045) !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-thumbnail,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-details {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap a,
#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap img {
	display: block !important;
	width: 82px !important;
	height: 82px !important;
	margin: 0 !important;
	border-radius: 10px !important;
	background: var(--gemash-soft);
	object-fit: cover !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-details {
	position: relative;
	display: flex !important;
	min-width: 0;
	flex-direction: column;
	padding-right: 29px !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-product-title {
	display: -webkit-box !important;
	max-width: 100% !important;
	max-height: 38px !important;
	margin: 1px 0 6px !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gemash-ink) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.42 !important;
}

#nm-cart-panel .gemash-mini-cart-item .remove_from_cart_button {
	position: absolute !important;
	top: -1px !important;
	right: -1px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 25px !important;
	height: 25px !important;
	min-height: 25px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 50% !important;
	background: var(--gemash-soft) !important;
	color: var(--gemash-muted) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer;
}

#nm-cart-panel .gemash-mini-cart-item .remove_from_cart_button:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold-soft) !important;
	color: var(--gemash-ink) !important;
}

#nm-cart-panel .gemash-mini-cart-item .variation {
	display: flex !important;
	max-width: 100%;
	flex-wrap: nowrap !important;
	align-items: center;
	gap: 4px !important;
	margin: 0 0 7px !important;
	overflow: hidden;
	color: var(--gemash-muted);
	font-size: 10px !important;
	line-height: 1.25 !important;
	white-space: nowrap;
}

#nm-cart-panel .gemash-mini-cart-item .variation dt,
#nm-cart-panel .gemash-mini-cart-item .variation dd,
#nm-cart-panel .gemash-mini-cart-item .variation p {
	min-width: 0;
	margin: 0 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#nm-cart-panel .gemash-mini-cart-item .variation dt {
	font-weight: 700;
}

#nm-cart-panel .gemash-mini-cart-item .variation dd {
	padding: 3px 7px;
	border: 1px solid var(--gemash-border);
	border-radius: 6px;
	background: var(--gemash-soft);
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-quantity-pricing {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin-top: auto !important;
}

#nm-cart-panel .gemash-quantity-control--mini {
	width: auto !important;
	height: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

#nm-cart-panel .gemash-quantity-control--mini .quantity {
	display: grid !important;
	grid-template-columns: 29px 36px 29px !important;
	width: 94px !important;
	height: 32px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 8px !important;
	background: var(--gemash-white) !important;
}

#nm-cart-panel .gemash-quantity-control--mini .qty {
	width: 36px !important;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 12px !important;
	font-weight: 700;
	line-height: 30px !important;
}

#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button {
	width: 29px !important;
	height: 30px !important;
	min-height: 30px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: transparent !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button:hover {
	background: var(--gemash-gold-soft) !important;
}

#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button:disabled,
#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button[aria-disabled="true"],
#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button:disabled:hover,
#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button[aria-disabled="true"]:hover {
	background: var(--gemash-soft) !important;
	color: var(--gemash-muted) !important;
}

#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-price {
	max-width: 135px !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: right !important;
	white-space: nowrap;
}

#nm-cart-panel .gemash-cart-recommendations {
	margin-top: 6px !important;
	padding: 18px 0 4px !important;
	border: 0 !important;
	background: transparent !important;
}

#nm-cart-panel .gemash-cart-recommendations h3 {
	margin: 0 0 14px !important;
	font-size: 22px !important;
	font-weight: 750 !important;
	letter-spacing: -0.025em;
	line-height: 1.15 !important;
	text-align: left !important;
}

#nm-cart-panel .gemash-cart-recommendations__list {
	display: grid;
	gap: 10px !important;
}

#nm-cart-panel .gemash-cart-recommendation {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 1fr) 34px !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 94px !important;
	padding: 10px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 13px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 5px 15px rgba(12, 18, 42, 0.045) !important;
}

#nm-cart-panel .gemash-cart-recommendation__image,
#nm-cart-panel .gemash-cart-recommendation__image img {
	display: block !important;
	width: 64px !important;
	height: 64px !important;
	margin: 0 !important;
	border-radius: 9px !important;
	background: var(--gemash-soft);
	object-fit: cover !important;
}

#nm-cart-panel .gemash-cart-recommendation__details {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	align-content: center;
	gap: 4px !important;
	min-width: 0;
}

#nm-cart-panel .gemash-cart-recommendation__details > a {
	display: -webkit-box !important;
	max-height: 34px !important;
	margin: 0 !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--gemash-ink) !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

#nm-cart-panel .gemash-cart-recommendation__details .price {
	display: block !important;
	margin: 0 !important;
	color: var(--gemash-ink) !important;
	font-size: 11px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-align: left !important;
	white-space: nowrap;
}

#nm-cart-panel .gemash-cart-recommendation__details label {
	display: block;
	min-width: 0;
}

#nm-cart-panel .gemash-cart-recommendation__variation {
	width: 100% !important;
	max-width: 190px !important;
	height: 28px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 0 24px 0 7px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 6px !important;
	background-color: var(--gemash-soft) !important;
	font-size: 9.5px !important;
	line-height: 26px !important;
	text-overflow: ellipsis;
	cursor: pointer;
}

#nm-cart-panel .gemash-cart-recommendation__add {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	padding: 0 !important;
	border: 1.5px solid var(--gemash-gold) !important;
	border-radius: 50% !important;
	background: var(--gemash-white) !important;
	color: var(--gemash-gold-dark) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer;
}

#nm-cart-panel .gemash-cart-recommendation__add:hover,
#nm-cart-panel .gemash-cart-recommendation__add:focus-visible {
	outline: 0;
	background: var(--gemash-gold) !important;
	color: var(--gemash-ink) !important;
	transform: translateY(-1px);
}

#nm-cart-panel .nm-cart-panel-summary {
	padding: 16px 18px 18px !important;
	border-top: 1px solid var(--gemash-border) !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 -8px 22px rgba(12, 18, 42, 0.055) !important;
}

@media (max-width: 480px) {
	#nm-cart-panel .nm-cart-panel-header {
		height: 66px !important;
	}

	#nm-cart-panel .nm-cart-panel-header-inner {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}

	#nm-cart-panel .nm-cart-panel-title {
		font-size: 24px !important;
	}

	#nm-cart-panel .widget_shopping_cart_content {
		height: calc(100dvh - 66px) !important;
	}

	#nm-cart-panel #nm-cart-panel-list-wrap {
		padding: 10px 10px 22px !important;
	}

	#nm-cart-panel .woocommerce-mini-cart {
		gap: 8px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item {
		grid-template-columns: 72px minmax(0, 1fr) !important;
		gap: 10px !important;
		min-height: 98px !important;
		padding: 9px !important;
		border-radius: 12px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap,
	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap a,
	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-thumbnail-wrap img {
		width: 72px !important;
		height: 72px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-details {
		padding-right: 27px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-product-title {
		max-height: 35px !important;
		font-size: 12px !important;
		line-height: 1.4 !important;
	}

	#nm-cart-panel .gemash-quantity-control--mini .quantity {
		grid-template-columns: 27px 32px 27px !important;
		width: 86px !important;
	}

	#nm-cart-panel .gemash-quantity-control--mini .qty {
		width: 32px !important;
	}

	#nm-cart-panel .gemash-quantity-control--mini .gemash-quantity-control__button {
		width: 27px !important;
	}

	#nm-cart-panel .gemash-mini-cart-item .nm-cart-panel-item-price {
		max-width: 112px !important;
		font-size: 12.5px !important;
	}

	#nm-cart-panel .gemash-cart-recommendations {
		padding-top: 16px !important;
	}

	#nm-cart-panel .gemash-cart-recommendations h3 {
		margin-bottom: 12px !important;
		font-size: 20px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation {
		grid-template-columns: 56px minmax(0, 1fr) 32px !important;
		gap: 8px !important;
		min-height: 86px !important;
		padding: 8px !important;
		border-radius: 11px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__image,
	#nm-cart-panel .gemash-cart-recommendation__image img {
		width: 56px !important;
		height: 56px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__details > a {
		max-height: 32px !important;
		font-size: 10.5px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__details .price {
		font-size: 10px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__variation {
		height: 26px !important;
		min-height: 26px !important;
		font-size: 9px !important;
		line-height: 24px !important;
	}

	#nm-cart-panel .gemash-cart-recommendation__add {
		width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;
	}

	#nm-cart-panel .nm-cart-panel-summary {
		padding: 14px 12px 16px !important;
	}
}

/* Unified storefront controls, typography and catalogue loading — 4.2.0. */
body.gemash-storefront,
body.gemash-storefront :where(p, a, span, strong, small, button, input, select, textarea, label, legend, table, th, td, dl, dt, dd),
body.gemash-storefront :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--gemash-font) !important;
}

#nm-header .nm-menu > li.current-menu-item > a,
#nm-header .nm-menu > li.current-menu-ancestor > a,
#nm-header .nm-menu > li > a:hover,
#nm-header .sub-menu li.current-menu-item > a,
#nm-header .sub-menu a:hover,
#nm-mobile-menu li.current-menu-item > a,
#nm-mobile-menu a:hover {
	color: var(--gemash-gold) !important;
}

.gemash-category-card,
.gemash-category-card:hover,
.gemash-category-card:focus-visible,
.gemash-category-card__name {
	color: var(--gemash-gold-dark) !important;
}

.gemash-category-card:hover .gemash-category-card__image,
.gemash-category-card:focus-visible .gemash-category-card__image {
	border-color: var(--gemash-gold) !important;
}

body.gemash-storefront select.gemash-native-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 1px !important;
	max-width: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.gemash-select {
	min-width: 0;
}

.gemash-select.opens-upward .gemash-select__menu {
	top: auto;
	bottom: calc(100% + 8px);
}

.gemash-select--compact .gemash-select__trigger {
	grid-template-columns: 9px minmax(0, 1fr) 28px;
	gap: 8px;
	height: 42px !important;
	min-height: 42px !important;
	padding: 0 7px 0 12px !important;
	border-radius: 9px !important;
	font-size: 12px !important;
}

.gemash-select--compact .gemash-select__marker {
	width: 8px;
	height: 8px;
	border-width: 1.5px;
}

.gemash-select--compact .gemash-select__chevron {
	width: 28px;
	height: 30px;
	border-radius: 6px;
}

.gemash-select--compact .gemash-select__chevron::before {
	width: 7px;
	height: 7px;
}

.gemash-select--compact .gemash-select__menu {
	min-width: 190px;
	max-height: 250px;
}

.gemash-select--compact .gemash-select__option {
	min-height: 40px !important;
	font-size: 12px !important;
}

.gemash-select--field,
.woocommerce-cart .gemash-select,
.woocommerce-checkout .gemash-select,
.woocommerce-account .gemash-select {
	width: 100%;
}

.gemash-catalog-control {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.gemash-catalog-control > .gemash-select {
	width: 152px;
}

.gemash-catalog-control--sorting > .gemash-select {
	width: 184px;
}

.gemash-catalog-toolbar__filters,
.gemash-catalog-toolbar__sorting,
.gemash-catalog-toolbar__sorting .gemash-catalog-control {
	display: flex;
	align-items: center;
}

#nm-cart-panel .gemash-cart-recommendation__option,
#nm-cart-panel .gemash-cart-recommendation__option .gemash-select {
	width: 100%;
	min-width: 0;
}

#nm-cart-panel .gemash-cart-recommendation__option .gemash-select__trigger {
	grid-template-columns: minmax(0, 1fr) 24px;
	height: 29px !important;
	min-height: 29px !important;
	padding-left: 7px !important;
	font-size: 9px !important;
}

#nm-cart-panel .gemash-cart-recommendation__option .gemash-select__marker {
	display: none;
}

#nm-cart-panel .gemash-cart-recommendation__option .gemash-select__chevron {
	width: 24px;
	height: 23px;
}

#nm-cart-panel .gemash-cart-recommendation__option .gemash-select__menu {
	right: auto;
	min-width: 220px;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	min-height: 54px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 10px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 2px 8px rgba(12, 18, 42, 0.035) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 52px 0 16px !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 52px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 9px !important;
	right: 9px !important;
	width: 32px !important;
	height: 34px !important;
	border-radius: 7px;
	background: var(--gemash-soft);
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
	top: 11px !important;
	left: 11px !important;
	width: 8px !important;
	height: 8px !important;
	margin: 0 !important;
	border: 0 !important;
	border-right: 2px solid currentColor !important;
	border-bottom: 2px solid currentColor !important;
	transform: rotate(45deg);
}

.select2-container--open .select2-selection--single .select2-selection__arrow b {
	top: 14px !important;
	transform: rotate(225deg);
}

.select2-dropdown {
	overflow: hidden;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 12px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 18px 46px rgba(12, 18, 42, 0.16) !important;
}

.select2-container--default .select2-results__option {
	min-height: 42px;
	padding: 10px 12px !important;
	border-radius: 7px;
	color: var(--gemash-ink) !important;
	font-size: 13px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background: var(--gemash-gold-soft) !important;
	color: var(--gemash-ink) !important;
}

body.gemash-storefront .wc-blocks-components-select__container {
	position: relative;
	min-height: 54px;
	overflow: hidden;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 10px !important;
	background: var(--gemash-white) !important;
	box-shadow: 0 2px 8px rgba(12, 18, 42, 0.035) !important;
}

body.gemash-storefront .wc-blocks-components-select__container:focus-within {
	border-color: var(--gemash-gold) !important;
	box-shadow: 0 0 0 3px rgba(201, 153, 72, 0.18) !important;
}

body.gemash-storefront .wc-blocks-components-select__container::after {
	position: absolute;
	top: 17px;
	right: 20px;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--gemash-ink);
	border-bottom: 2px solid var(--gemash-ink);
	content: "";
	pointer-events: none;
	transform: rotate(45deg);
}

body.gemash-storefront .wc-blocks-components-select__label {
	left: 16px !important;
	color: var(--gemash-muted) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
}

body.gemash-storefront select.wc-blocks-components-select__select {
	min-height: 54px !important;
	padding: 18px 52px 5px 16px !important;
	border: 0 !important;
	border-radius: 10px !important;
	outline: 0 !important;
	background: transparent !important;
	color: var(--gemash-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	appearance: none !important;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host {
	min-height: 0;
	overflow: visible;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host:focus-within {
	border: 0 !important;
	box-shadow: none !important;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host::after {
	display: none !important;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host > .wc-blocks-components-select__expand {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host > .wc-blocks-components-select__label {
	position: static !important;
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	transform: none !important;
	color: var(--gemash-muted) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.055em;
	line-height: 1.2 !important;
	text-transform: uppercase;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host > .gemash-select {
	width: 100%;
}

body.gemash-storefront .wc-blocks-components-select__container.gemash-select-host > select.wc-blocks-components-select__select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-width: 1px !important;
	max-width: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	display: none !important;
}

.woocommerce-checkout .gemash-checkout-item-actions {
	display: flex !important;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin-top: 10px;
}

.woocommerce-checkout .gemash-checkout-item-quantity {
	display: grid;
	grid-template-columns: 28px 32px 28px;
	align-items: center;
	width: 88px;
	height: 30px;
	overflow: hidden;
	border: 1px solid var(--gemash-border);
	border-radius: 8px;
	background: var(--gemash-white);
}

.woocommerce-checkout .gemash-checkout-item-quantity button,
.woocommerce-checkout .gemash-checkout-item-quantity span,
.woocommerce-checkout .gemash-checkout-item-remove {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 28px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gemash-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}

.woocommerce-checkout .gemash-checkout-item-quantity button {
	width: 28px !important;
	cursor: pointer;
}

.woocommerce-checkout .gemash-checkout-item-quantity span {
	width: 32px;
	font-size: 12px !important;
	font-weight: 700 !important;
}

.woocommerce-checkout .gemash-checkout-item-remove {
	position: static !important;
	width: 30px !important;
	border: 1px solid var(--gemash-border) !important;
	border-radius: 50% !important;
	background: var(--gemash-white) !important;
	font-size: 18px !important;
	cursor: pointer;
	transform: none !important;
}

.woocommerce-checkout .gemash-checkout-item-quantity button:hover,
.woocommerce-checkout .gemash-checkout-item-quantity button:focus-visible,
.woocommerce-checkout .gemash-checkout-item-remove:hover,
.woocommerce-checkout .gemash-checkout-item-remove:focus-visible {
	outline: 0 !important;
	background: var(--gemash-gold-soft) !important;
	color: var(--gemash-ink) !important;
}

.woocommerce-checkout .gemash-checkout-item-actions button:disabled {
	background: var(--gemash-soft) !important;
	color: var(--gemash-muted) !important;
	cursor: not-allowed !important;
	opacity: 0.7;
}

.woocommerce-checkout .gemash-checkout-item-actions.is-loading {
	opacity: 0.58;
	cursor: wait;
}

#nm-cart-panel .woocommerce-mini-cart__buttons {
	display: flex !important;
	align-items: center;
	justify-content: center;
	grid-template-columns: none !important;
	width: 100%;
	margin: 12px 0 0 !important;
}

#nm-cart-panel .woocommerce-mini-cart__buttons .checkout {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 auto !important;
	padding: 12px 22px !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

@media (max-width: 480px) {
	#nm-cart-panel .woocommerce-mini-cart__buttons .checkout {
		min-height: 50px !important;
	}
}

html.gemash-js .gemash-pagination {
	display: none !important;
}

html:not(.gemash-js) .gemash-load-more {
	display: none !important;
}

.gemash-load-more {
	display: grid;
	justify-items: center;
	gap: 16px;
	margin-top: 42px;
	padding-top: 28px;
	border-top: 1px solid var(--gemash-border);
	text-align: center;
}

.gemash-load-more__count,
.gemash-load-more__status:not(.screen-reader-text) {
	margin: 0 !important;
	color: var(--gemash-muted);
	font-size: 13px;
	line-height: 1.4;
}

.gemash-load-more__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	min-height: 48px;
	padding: 12px 28px;
	border: 1px solid var(--gemash-navy);
	border-radius: 8px;
	background: var(--gemash-navy);
	color: var(--gemash-gold) !important;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}

.gemash-load-more__button[hidden] {
	display: none !important;
}

.gemash-load-more__button:hover,
.gemash-load-more__button:focus-visible {
	border-color: var(--gemash-gold);
	background: var(--gemash-gold);
	color: var(--gemash-navy) !important;
	transform: translateY(-1px);
}

.gemash-load-more.is-loading .gemash-load-more__button {
	opacity: 0.68;
	cursor: wait;
	transform: none;
}

.gemash-load-more.has-error .gemash-load-more__status:not(.screen-reader-text) {
	color: var(--gemash-danger);
}

.gemash-load-more.is-complete {
	padding-bottom: 4px;
}

@media (max-width: 767px) {
	.gemash-catalog-toolbar__filters {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.gemash-catalog-toolbar__filters .gemash-catalog-control,
	.gemash-catalog-toolbar__filters .gemash-select {
		width: 100%;
	}

	.gemash-catalog-toolbar__sorting {
		align-items: center;
		gap: 8px;
	}

	.gemash-catalog-control--sorting {
		flex: 1 1 auto;
	}

	.gemash-catalog-control--sorting > .gemash-select {
		width: min(190px, 100%);
	}

	.gemash-select--compact .gemash-select__menu {
		min-width: 100%;
	}

	.gemash-load-more {
		margin-top: 32px;
		padding-top: 22px;
	}

	.gemash-load-more__button {
		width: min(100%, 280px);
	}
}

/* Gemash identity: bag panel. Savoy's dark-panel option paints text var(--gemash-border), which vanishes on the white panel. */
body #nm-cart-panel,
body #nm-cart-panel .product_list_widget,
body #nm-cart-panel .variation,
body #nm-cart-panel .nm-cart-panel-summary {
	color: var(--gemash-ink) !important;
}

body #nm-cart-panel .product_list_widget .empty {
	color: var(--gemash-muted) !important;
	font-size: 15px;
}

body #nm-cart-panel .product_list_widget .empty i { background-color: var(--gemash-soft) !important; }

body #nm-cart-panel .nm-cart-panel-title,
body #nm-cart-panel #nm-cart-panel-close { color: var(--gemash-navy) !important; }

body #nm-cart-panel .buttons .button,
body #nm-cart-panel .buttons a:first-child {
	border: 1px solid var(--gemash-navy) !important;
	background: var(--gemash-navy) !important;
	color: var(--gemash-gold-light) !important;
}

body #nm-cart-panel .buttons .button:hover,
body #nm-cart-panel .buttons a:first-child:hover {
	border-color: var(--gemash-gold) !important;
	background: var(--gemash-gold) !important;
	color: var(--gemash-navy) !important;
}

/* Savoy parent: titles and filled buttons/labels use the header navy (body copy stays black). */
.woocommerce-loop-category__title,
.products.grid-list .woocommerce-loop-product__title a,
.woocommerce-tabs .tabs li.active a,
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active a,
.nm-MyAccount-user-info .nm-username strong,
.woocommerce-grouped-product-list-item__label a,
.shop_table.cart .nm-product-details a,
#nm-shop-sidebar .widget.show .nm-widget-title,
#nm-shop-sidebar .widget .nm-widget-title:hover,
.nm-myaccount-login h1,
.nm-myaccount-login h2,
.nm-myaccount-login h3,
.nm-myaccount-lost-reset-password h2,
.woocommerce-order-details__title,
.woocommerce-column__title,
.cart_totals h2 {
	color: var(--gemash-ink) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.nm-shop-loop-attribute-tooltip,
.products.grid-list .nm-shop-loop-actions > a:first-of-type,
#nm-shop-sidebar-popup-button,
.nm-product-pswp .pswp__share-tooltip,
.nm-variation-controls-tooltip .nm-variation-control:not(.nm-variation-control-size) li span,
#order_review .shop_table tbody .product-name .product-quantity,
.nm-order-info {
	background-color: var(--gemash-navy) !important;
}

/* No "View cart" link after adding from a card; the floating bag button takes its place. */
a.added_to_cart.wc-forward { display: none !important; }

/* Floating bag button: springs in on add, bumps on every add, slides out when the bag is empty. */
.gemash-floating-cart {
	position: fixed;
	z-index: 990;
	right: 24px;
	bottom: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px !important;
	height: 62px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 2px solid var(--gemash-gold) !important;
	border-radius: 50% !important;
	background: var(--gemash-navy) !important;
	box-shadow: 0 10px 28px rgba(12, 18, 42, 0.32);
	color: var(--gemash-gold) !important;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transform: translateY(120%) scale(0.6);
	transition: transform 420ms cubic-bezier(0.34, 1.56, 0.64, 1), opacity 220ms ease, box-shadow 160ms ease;
}

.gemash-floating-cart.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.gemash-floating-cart:hover {
	border-color: var(--gemash-gold-light) !important;
	background: var(--gemash-navy) !important;
	box-shadow: 0 14px 32px rgba(12, 18, 42, 0.4);
	color: var(--gemash-gold-light) !important;
}

.gemash-floating-cart svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.6;
}

.gemash-floating-cart__count {
	position: absolute;
	top: -4px;
	right: -4px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border: 2px solid var(--gemash-white);
	border-radius: 12px;
	background: var(--gemash-gold);
	color: var(--gemash-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.gemash-floating-cart.is-bumped { animation: gemash-cart-bump 620ms cubic-bezier(0.34, 1.56, 0.64, 1); }
.gemash-floating-cart.is-bumped .gemash-floating-cart__count { animation: gemash-cart-count 620ms ease; }

@keyframes gemash-cart-bump {
	0% { transform: scale(1); }
	30% { transform: scale(1.18) rotate(-8deg); }
	55% { transform: scale(0.94) rotate(5deg); }
	100% { transform: scale(1) rotate(0); }
}

@keyframes gemash-cart-count {
	0%, 20% { transform: scale(0.4); }
	60% { transform: scale(1.3); }
	100% { transform: scale(1); }
}

/* Keep footer icons clear of the floating corner buttons on wider screens. */
@media (min-width: 768px) {
	.gemash-footer__inner { padding-right: 84px; }
	body.rtl .gemash-footer__inner { padding-right: 0; padding-left: 84px; }
}

/* When the bag button shows, back-to-top sits centred directly above it. */
body:has(.gemash-floating-cart.is-visible) .gemash-back-to-top {
	right: 31px;
	bottom: 98px;
}

@media (max-width: 767px) {
	.gemash-floating-cart {
		right: 16px;
		bottom: 16px;
		width: 56px !important;
		height: 56px !important;
	}

	body:has(.gemash-floating-cart.is-visible) .gemash-back-to-top {
		right: 22px;
		bottom: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gemash-floating-cart { transition: opacity 160ms ease; transform: none; }
	.gemash-floating-cart.is-bumped,
	.gemash-floating-cart.is-bumped .gemash-floating-cart__count { animation: none; }
}

/* Password "show" toggle is an icon, not a filled button. */
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
	border-color: transparent !important;
	background: transparent !important;
	color: var(--gemash-muted) !important;
}

.nm-shop-loop-attribute-tooltip:after { border-bottom-color: var(--gemash-navy) !important; }
.nm-variation-controls-tooltip .nm-variation-control:not(.nm-variation-control-size) li span:after { border-top-color: var(--gemash-navy) !important; }
.widget_price_filter .ui-slider .ui-slider-handle { border-color: var(--gemash-navy) !important; }

/* Content pages (About Us, Contact, policies): centred column, spacing below the header and above the footer. */
.nm-page-default {
	padding-top: clamp(40px, 6vw, 80px);
	padding-bottom: clamp(56px, 7vw, 96px);
}

/* Policies read left-aligned; About Us and Contact are wrapped in .gemash-centered. */
.nm-page-default .entry-content {
	max-width: 820px;
	margin: 0 auto;
	text-align: left;
}

.nm-page-default .entry-content .gemash-centered { text-align: center; }

.nm-page-default .entry-content h2 {
	margin: 0 0 8px;
	color: var(--gemash-ink);
	font-size: clamp(28px, 3.4vw, 40px);
}

.nm-page-default .entry-content ul {
	margin: 0 0 8px !important;
	padding-left: 22px !important;
	list-style: disc outside !important;
}

.nm-page-default .entry-content li {
	display: list-item !important;
	margin: 0 0 6px;
	line-height: 1.7;
	list-style: inherit !important;
}

.nm-page-default .entry-content li::marker { color: var(--gemash-gold); }
.nm-page-default .entry-content em { color: var(--gemash-muted); font-size: 13px; }

.nm-page-default .entry-content h3 {
	margin: 34px 0 10px;
	color: var(--gemash-gold-dark);
	font-size: 19px;
	letter-spacing: 0.02em;
}

.nm-page-default .entry-content p { margin: 0 0 6px; line-height: 1.8; }
.nm-page-default .entry-content a { color: var(--gemash-gold-dark); font-weight: 500; }
.nm-page-default .entry-content a:hover { color: var(--gemash-ink); }

.nm-page-default .entry-content iframe {
	display: block;
	width: 100%;
	margin: 40px 0 0;
	border-radius: 12px;
	box-shadow: var(--gemash-shadow);
}

/* Recommendations live in the bag's item list; stack the heading above the cards instead of Savoy's item row. */
body #nm-cart-panel .product_list_widget > li.gemash-cart-recommendations {
	display: block !important;
	width: 100% !important;
}

/* Chosen colour on bag, cart, checkout and order lines. */
.gemash-cart-color {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gemash-cart-color__dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(12, 18, 42, 0.25);
}

/* Checkout Block "Save" badge: same red as the product cards. */
.wc-block-components-sale-badge {
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--gemash-sale-gradient) !important;
	color: var(--gemash-white) !important;
	font-weight: 700 !important;
}

/* Product page colour picker. */
.gemash-color-picker-field {
	width: 100%;
	min-width: 0;
	margin: 0 0 18px;
	padding: 16px 18px 18px;
	border: 1px solid var(--gemash-border);
	border-radius: 10px;
	background: var(--gemash-soft);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.gemash-color-picker-field.is-missing {
	border-color: var(--gemash-danger);
	box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12);
}

.gemash-color-picker-field__legend {
	float: left;
	width: 100%;
	margin: 0 0 14px;
	padding: 0;
	color: var(--gemash-muted);
	font-size: 14px;
	font-weight: 500;
}

.gemash-color-picker-field__legend strong {
	color: var(--gemash-ink);
	font-weight: 700;
}

.gemash-color-picker-field.is-missing .gemash-color-picker-field__legend strong { color: var(--gemash-danger); }

.gemash-color-picker-field__options {
	display: flex;
	clear: both;
	flex-wrap: wrap;
	gap: 14px 18px;
}

.gemash-color-option {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 76px;
	margin: 0 !important;
	cursor: pointer;
}

.gemash-color-option__input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

/* Colour tile: a rounded square filled with the fabric colour. */
.gemash-color-option__dot {
	position: relative;
	display: block;
	width: 64px;
	height: 64px;
	border-radius: 12px;
	background: var(--gemash-swatch-color, var(--gemash-soft));
	box-shadow: inset 0 0 0 1px rgba(12, 18, 42, 0.18), 0 2px 6px rgba(12, 18, 42, 0.08);
	transition: box-shadow 160ms ease, transform 160ms ease;
}

.gemash-color-option:hover .gemash-color-option__dot { transform: translateY(-2px); }

.gemash-color-option__input:checked + .gemash-color-option__dot {
	box-shadow: inset 0 0 0 1px rgba(12, 18, 42, 0.18), 0 0 0 3px var(--gemash-white), 0 0 0 5px var(--gemash-gold), 0 6px 14px rgba(201, 153, 72, 0.28);
}

/* Check mark on the chosen tile, in a navy badge so it shows on any colour. */
.gemash-color-option__dot::after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--gemash-navy);
	color: var(--gemash-gold-light);
	content: "\2713";
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.6);
	transition: opacity 160ms ease, transform 160ms ease;
}

.gemash-color-option__input:checked + .gemash-color-option__dot::after {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.gemash-color-option__input:focus-visible + .gemash-color-option__dot {
	outline: 3px solid rgba(201, 153, 72, 0.48);
	outline-offset: 3px;
}

.gemash-color-option__name {
	color: var(--gemash-muted);
	font-size: 12px;
	line-height: 1.25;
	text-align: center;
}

.gemash-color-option__input:checked ~ .gemash-color-option__name {
	color: var(--gemash-ink);
	font-weight: 600;
}

@media (max-width: 480px) {
	.gemash-color-picker-field { padding: 14px 14px 16px; }
	.gemash-color-picker-field__options { gap: 14px 12px; }
	.gemash-color-option { width: 66px; }
	.gemash-color-option__dot { width: 56px; height: 56px; }
}

/* Product information tabs: segmented navy/gold selector above one content card. */
.single-product .gemash-product-tabs {
	padding-top: clamp(40px, 5vw, 64px) !important;
}

.gemash-product-tabs__list {
	display: flex;
	gap: 6px;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto 26px;
	padding: 6px;
	overflow-x: auto;
	border: 1px solid var(--gemash-border);
	border-radius: 999px;
	background: var(--gemash-soft);
	scrollbar-width: none;
}

.gemash-product-tabs__list::-webkit-scrollbar { display: none; }

.gemash-product-tabs .gemash-product-tabs__tab {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	min-height: 44px !important;
	padding: 10px 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--gemash-ink) !important;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 160ms ease, color 160ms ease;
}

.gemash-product-tabs .gemash-product-tabs__tab:hover { background: var(--gemash-white) !important; }

.gemash-product-tabs .gemash-product-tabs__tab[aria-selected="true"] {
	background: var(--gemash-navy) !important;
	color: var(--gemash-gold) !important;
}

/* Review count ("Reviews (0)" -> span via Savoy) shown as a badge. */
.gemash-product-tabs__tab span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 11px;
	background: var(--gemash-gold-soft);
	color: var(--gemash-gold-dark);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.gemash-product-tabs__tab[aria-selected="true"] span {
	background: var(--gemash-gold);
	color: var(--gemash-navy);
}

.gemash-product-tabs__panel {
	max-width: 980px;
	margin: 0 auto;
	padding: clamp(22px, 4vw, 40px);
	border: 1px solid var(--gemash-border);
	border-radius: 14px;
	background: var(--gemash-white);
	box-shadow: var(--gemash-shadow);
	color: var(--gemash-text);
	font-size: 15px;
	line-height: 1.8;
}

.gemash-product-tabs__panel[hidden] { display: none !important; }
.gemash-product-tabs__panel:focus { outline: none; }
.gemash-product-tabs__panel:focus-visible { outline: 3px solid rgba(201, 153, 72, 0.48); outline-offset: 3px; }
.gemash-product-tabs__panel > :first-child { margin-top: 0; }
.gemash-product-tabs__panel > :last-child { margin-bottom: 0; }
.gemash-product-tabs__panel img { max-width: 100%; border-radius: 8px; }

.gemash-product-tabs__panel h2,
.gemash-product-tabs__panel h3 {
	margin: 0 0 14px;
	color: var(--gemash-ink);
	font-size: 20px !important;
	font-weight: 600;
}

/* Details: spec list. */
.gemash-specs { margin: 0; }

.gemash-specs__row {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 14px 0;
	border-bottom: 1px solid var(--gemash-border);
}

.gemash-specs__row:first-child { padding-top: 0; }
.gemash-specs__row:last-child { padding-bottom: 0; border-bottom: 0; }

.gemash-specs dt {
	color: var(--gemash-muted);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.gemash-specs dd {
	margin: 0;
	color: var(--gemash-text);
	font-size: 15px;
}

.gemash-specs dd a { color: var(--gemash-gold-dark); }
.gemash-specs dd a:hover { color: var(--gemash-ink); }

.gemash-spec-colors {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gemash-spec-color {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px 5px 5px;
	border: 1px solid var(--gemash-border);
	border-radius: 999px;
	font-size: 14px;
}

.gemash-spec-color__dot {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(12, 18, 42, 0.18);
}

.gemash-product-tabs__empty { margin: 0; color: var(--gemash-muted); }

/* Reviews. */
.gemash-product-tabs__panel #reviews .woocommerce-Reviews-title { margin-bottom: 8px; }
.gemash-product-tabs__panel #reviews .woocommerce-noreviews { margin: 0 0 22px; color: var(--gemash-muted); }

.gemash-product-tabs__panel #review_form_wrapper {
	margin-top: 8px;
	padding-top: 22px;
	border-top: 1px solid var(--gemash-border);
}

.gemash-product-tabs__panel #reply-title,
.gemash-product-tabs__panel .comment-reply-title {
	display: block;
	margin: 0 0 14px;
	color: var(--gemash-ink);
	font-size: 18px;
	font-weight: 600;
}

.gemash-product-tabs__panel .comment-form label {
	display: block;
	margin: 0 0 6px;
	color: var(--gemash-ink);
	font-size: 14px;
	font-weight: 500;
}

.gemash-product-tabs__panel .comment-form textarea,
.gemash-product-tabs__panel .comment-form input[type="text"],
.gemash-product-tabs__panel .comment-form input[type="email"] { width: 100%; }

.gemash-product-tabs__panel p.stars a,
.gemash-product-tabs__panel .star-rating span::before,
.gemash-product-tabs__panel .star-rating::before { color: var(--gemash-gold) !important; }

.gemash-product-tabs__panel .comment-form .form-submit { margin: 18px 0 0; }

.gemash-product-tabs__panel .commentlist {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.gemash-product-tabs__panel .commentlist li {
	padding: 16px 0;
	border-bottom: 1px solid var(--gemash-border);
}

/* No divider lines between product, tabs and related: the tabs card and heading accent separate them. */
.single-product .gemash-single-product__details,
.single-product .gemash-single-product__details > .woocommerce-tabs,
.single-product .gemash-single-product__details > .related,
.single-product .gemash-single-product__details > .upsells {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

/* Related products: same heading style as the home page, 4-up grid, 2x2 on smaller screens. */
.gemash-related-products {
	padding-top: clamp(48px, 6vw, 80px) !important;
}

.gemash-related-products > h2 {
	position: relative;
	margin: 0 0 40px !important;
	padding-bottom: 16px;
	color: var(--gemash-ink) !important;
	font-size: clamp(26px, 3vw, 34px) !important;
	text-align: center;
}

.gemash-related-products > h2::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 56px;
	height: 3px;
	border-radius: 2px;
	background: var(--gemash-gold);
	content: "";
	transform: translateX(-50%);
}

.gemash-single-product__details .gemash-related-products .gemash-product-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 28px !important;
}

@media (max-width: 1100px) {
	.gemash-single-product__details .gemash-related-products .gemash-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px !important;
	}
}

@media (max-width: 767px) {
	.gemash-product-tabs__list {
		width: 100%;
		border-radius: 14px;
	}

	.gemash-product-tabs .gemash-product-tabs__tab {
		flex: 1 0 auto;
		justify-content: center;
		padding: 10px 16px !important;
		border-radius: 10px !important;
		font-size: 14px;
	}

	.gemash-specs__row {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.gemash-single-product__details .gemash-related-products .gemash-product-grid { gap: 12px !important; }
}
