/*
Theme Name: Sayal Henna
Theme URI: https://sayalhenna.com
Author: Sayal Henna
Author URI: https://sayalhenna.com
Description: Premium custom WooCommerce theme for Sayal Henna — Authentic Sojat Henna. Naturally Beautiful. Crafted for the Rajasthani Botanical Earth design system: Deep Henna Green, Olive, Warm Ivory and Terracotta, with Playfair Display headings and Plus Jakarta Sans body.
Version: 1.0.40
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sayal-henna
Tags: e-commerce, woocommerce, custom-menu, custom-logo, featured-images, translation-ready
WC requires at least: 8.0
WC tested up to: 11.1
*/

/* ==========================================================================
   1. Fonts (bundled locally — no external requests)
   ========================================================================== */
@font-face {
	font-family: 'Playfair Display';
	src: url('assets/fonts/playfair-display.woff2') format('woff2-variations');
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('assets/fonts/playfair-display-italic.woff2') format('woff2-variations');
	font-weight: 400 900;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	src: url('assets/fonts/plus-jakarta-sans.woff2') format('woff2-variations');
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

/* ==========================================================================
   2. Design tokens — Rajasthani Botanical Earth
   ========================================================================== */
:root {
	--sh-primary: #1e382b;
	--sh-primary-dark: #13241c;
	--sh-primary-light: #2e5542;
	--sh-secondary: #526b4d;
	--sh-secondary-light: #7d9977;
	--sh-terracotta: #b8532f;
	--sh-terracotta-dark: #993e1f;
	--sh-ochre: #c99142;
	--sh-ivory: #fdfbf7;
	--sh-sand: #f5f0e6;
	--sh-sand-deep: #eae3d2;
	--sh-card: #ffffff;
	--sh-text: #1f2421;
	--sh-muted: #5c6660;
	--sh-border: #e4ddd0;
	--sh-border-strong: #c8bfa9;
	--sh-whatsapp: #25d366;
	--font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-body: 'Plus Jakarta Sans', -apple-system, 'Segoe UI', sans-serif;
	--sh-radius: 14px;
	--sh-radius-sm: 10px;
	--sh-shadow: 0 10px 30px rgba(31, 36, 33, 0.08);
	--sh-shadow-lift: 0 18px 44px rgba(31, 36, 33, 0.14);
	--sh-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ==========================================================================
   3. Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--sh-ivory);
	color: var(--sh-text);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: -0.01em;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--sh-primary); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--sh-terracotta); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -0.02em;
	color: var(--sh-primary-dark);
	margin: 0 0 0.5em;
}
h1 { font-size: clamp(2.1rem, 4.4vw, 2.9rem); }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.45rem); }
p { margin: 0 0 1.1em; }
::selection { background: rgba(184, 83, 47, 0.22); }
:focus-visible { outline: 2px solid var(--sh-terracotta); outline-offset: 2px; border-radius: 4px; }

.sh-container { width: min(1320px, 94vw); margin-inline: auto; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}
.skip-link { position: absolute; left: -9999px; top: 0; background: var(--sh-primary); color: #fff; padding: 10px 18px; z-index: 999; border-radius: 0 0 10px 0; }
.skip-link:focus { left: 0; color: #fff; }

/* Buttons ---------------------------------------------------------------- */
.sh-btn,
button,
.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
	padding: 15px 28px;
	border-radius: 999px;
	border: 2px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s var(--sh-ease), color 0.2s var(--sh-ease), border-color 0.2s var(--sh-ease), transform 0.2s var(--sh-ease), box-shadow 0.2s var(--sh-ease);
	background: var(--sh-primary);
	color: #fff;
}
.sh-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--sh-primary-dark); color: #fff; transform: translateY(-1px); box-shadow: var(--sh-shadow); }
.sh-btn:disabled, .sh-btn.disabled,
.woocommerce a.button:disabled, .woocommerce button.button:disabled { opacity: 0.55; cursor: not-allowed; transform: none; box-shadow: none; }
.sh-btn--ghost { background: transparent; color: var(--sh-primary); border-color: var(--sh-primary); }
.sh-btn--ghost:hover { background: var(--sh-primary); color: #fff; }
.sh-btn--terracotta { background: var(--sh-terracotta); }
.sh-btn--terracotta:hover { background: var(--sh-terracotta-dark); }
.sh-btn--sm { padding: 10px 18px; font-size: 13.5px; }
.sh-btn--link { background: none; border: none; color: var(--sh-primary); padding: 8px 4px; text-decoration: underline; text-underline-offset: 4px; }
.sh-btn--link:hover { color: var(--sh-terracotta); background: none; box-shadow: none; }

/* Inputs ----------------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], textarea, select {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--sh-text);
	background: var(--sh-card);
	border: 1.5px solid var(--sh-border);
	border-radius: var(--sh-radius-sm);
	padding: 13px 16px;
	width: 100%;
	transition: border-color 0.2s var(--sh-ease), box-shadow 0.2s var(--sh-ease);
}
input:focus, textarea:focus, select:focus { border-color: var(--sh-primary-light); box-shadow: 0 0 0 3px rgba(46, 85, 66, 0.12); outline: none; }
label { font-weight: 600; font-size: 14px; color: var(--sh-text); }
textarea { min-height: 130px; }

/* Reveal motion ---------------------------------------------------------- */
.sh-reveal { opacity: 0; transform: translateY(16px); transition: opacity 0.5s var(--sh-ease), transform 0.5s var(--sh-ease); }
.sh-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.sh-reveal { opacity: 1; transform: none; transition: none; }
	* { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
}

/* ==========================================================================
   4. Announcement + Header
   ========================================================================== */
.sh-announcement {
	background: var(--sh-primary);
	color: var(--sh-ivory);
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.04em;
	padding: 9px 16px;
}
.sh-announcement a { color: #e4be78; }

.sh-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(253, 251, 247, 0.92);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(228, 221, 208, 0.8);
	transition: box-shadow 0.25s var(--sh-ease);
}
.sh-header.is-scrolled { box-shadow: 0 8px 24px rgba(31, 36, 33, 0.08); }
.sh-header__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 76px;
	padding-block: 10px;
}
.sh-brand { display: inline-flex; flex-direction: column; text-decoration: none; line-height: 1.05; }
.sh-brand__word {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 26px;
	letter-spacing: 0.02em;
	color: var(--sh-primary-dark);
}
.sh-brand__word em { color: var(--sh-terracotta); font-style: normal; }
.sh-brand__sub {
	font-size: 10.5px;
	letter-spacing: 0.32em;
	color: var(--sh-muted);
	text-transform: uppercase;
	margin-top: 4px;
}
.sh-brand img.custom-logo { max-height: 52px; width: auto; }

.sh-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; }
.sh-nav a {
	display: block;
	padding: 10px 13px;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--sh-text);
	text-decoration: none;
	border-radius: 999px;
	transition: color 0.2s var(--sh-ease), background-color 0.2s var(--sh-ease);
}
.sh-nav a:hover, .sh-nav .current-menu-item > a, .sh-nav .current_page_item > a { color: var(--sh-terracotta); background: rgba(184, 83, 47, 0.07); }

/* Desktop Shop mega menu -------------------------------------------------- */
.sh-nav .menu-item-has-children { position: relative; }
.sh-nav .menu-item-has-children > a::after { content: '⌄'; margin-left: 6px; font-size: 12px; opacity: .65; }
.sh-nav > ul > .menu-item-has-children > .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	width: min(820px, calc(100vw - 40px));
	padding: 18px;
	margin: 0;
	background: var(--sh-card);
	border: 1px solid var(--sh-border);
	border-radius: 16px;
	box-shadow: 0 18px 45px rgba(31,36,33,.14);
	display: grid;
	grid-template-columns: 1fr repeat(3, minmax(0, 1fr));
	gap: 12px;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	z-index: 150;
	transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.sh-nav > ul > .menu-item-has-children:hover > .sub-menu,
.sh-nav > ul > .menu-item-has-children:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}
.sh-nav > ul > .menu-item-has-children > .sub-menu::before {
	content: '';
	position: absolute;
	top: -11px;
	left: 0;
	right: 0;
	height: 12px;
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li > a {
	font-weight: 700;
	font-size: 14px;
	padding: 8px 10px;
	border-radius: 8px;
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li > .sub-menu {
	position: static;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
	display: block;
	margin: 4px 0 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	border: 0;
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li > .sub-menu a {
	padding: 6px 10px;
	font-size: 12.5px;
	color: var(--sh-muted);
	border-radius: 7px;
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li > .sub-menu a:hover {
	color: var(--sh-terracotta);
	background: rgba(184,83,47,.06);
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li:first-child {
	grid-column: 1 / -1;
	border-bottom: 1px solid var(--sh-border);
	padding-bottom: 8px;
}
.sh-nav > ul > .menu-item-has-children > .sub-menu > li:first-child a { color: var(--sh-terracotta); }

.sh-header__actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.sh-iconbtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: var(--sh-primary-dark);
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s var(--sh-ease), color 0.2s var(--sh-ease);
}
.sh-iconbtn:hover { background: var(--sh-sand); color: var(--sh-terracotta); }
.sh-iconbtn svg { width: 20px; height: 20px; }
.sh-count {
	position: absolute;
	top: 2px;
	right: 0;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--sh-terracotta);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}
.sh-burger { display: none; }

/* Search overlay ---------------------------------------------------------- */
.sh-search {
	position: fixed;
	inset: 0;
	z-index: 120;
	background: rgba(19, 36, 28, 0.55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	display: none;
}
.sh-search.is-open { display: block; }
.sh-search__panel {
	background: var(--sh-ivory);
	max-width: 640px;
	margin: 12vh auto 0;
	border-radius: 20px;
	padding: 28px;
	box-shadow: var(--sh-shadow-lift);
}
.sh-search__panel form { display: flex; gap: 10px; }
.sh-search__panel input[type="search"] { flex: 1; }
.sh-search__hint { margin-top: 12px; font-size: 13px; color: var(--sh-muted); }

/* Mobile drawer ----------------------------------------------------------- */
.sh-drawer {
	position: fixed;
	inset: 0;
	z-index: 130;
	visibility: hidden;
}
.sh-drawer.is-open { visibility: visible; }
.sh-drawer__scrim { position: absolute; inset: 0; background: rgba(19, 36, 28, 0.5); opacity: 0; transition: opacity 0.3s var(--sh-ease); }
.sh-drawer.is-open .sh-drawer__scrim { opacity: 1; }
.sh-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(380px, 88vw);
	background: var(--sh-ivory);
	transform: translateX(100%);
	transition: transform 0.32s var(--sh-ease);
	display: flex;
	flex-direction: column;
	padding: 20px;
	overflow-y: auto;
}
.sh-drawer.is-open .sh-drawer__panel { transform: none; }
.sh-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.sh-drawer__nav ul { list-style: none; margin: 0; padding: 0; }
.sh-drawer__nav a {
	display: block;
	padding: 14px 6px;
	font-family: var(--font-heading);
	font-size: 22px;
	color: var(--sh-primary-dark);
	text-decoration: none;
	border-bottom: 1px solid var(--sh-border);
}
.sh-drawer__foot { margin-top: auto; padding-top: 20px; display: grid; gap: 10px; }

/* ==========================================================================
   5. Hero + homepage sections
   ========================================================================== */
.sh-hero {
	background:
		radial-gradient(1200px 500px at 85% -10%, rgba(201, 145, 66, 0.14), transparent 60%),
		linear-gradient(115deg, var(--sh-sand) 0%, var(--sh-ivory) 45%, var(--sh-sand-deep) 100%);
	border-bottom: 1px solid var(--sh-border);
	overflow: hidden;
}
.sh-hero__grid {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
	padding: clamp(44px, 7vw, 92px) 0;
}
.sh-hero__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--sh-primary);
	color: var(--sh-ivory);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 999px;
	margin-bottom: 22px;
}
.sh-hero__pill .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sh-ochre); }
.sh-hero h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); letter-spacing: -0.03em; margin-bottom: 0.35em; }
.sh-hero__sub { font-size: clamp(1.02rem, 1.6vw, 1.18rem); color: var(--sh-muted); max-width: 54ch; margin-bottom: 28px; }
.sh-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 30px; }
.sh-hero__trust { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 13.5px; color: var(--sh-muted); }
.sh-hero__trust span { display: inline-flex; align-items: center; gap: 7px; }
.sh-hero__trust svg { width: 14px; height: 14px; color: var(--sh-secondary); }
.sh-hero__media { position: relative; }
.sh-hero__media::before {
	content: "";
	position: absolute;
	inset: -18px -18px auto auto;
	width: 78%;
	height: 78%;
	border: 1.5px solid var(--sh-border-strong);
	border-radius: 24px;
	z-index: 0;
}
.sh-hero__img {
	position: relative;
	z-index: 1;
	border-radius: 24px;
	box-shadow: var(--sh-shadow-lift);
	aspect-ratio: 5 / 4;
	object-fit: cover;
	width: 100%;
}
.sh-hero__badge {
	position: absolute;
	z-index: 2;
	left: -14px;
	bottom: 22px;
	background: var(--sh-card);
	border: 1px solid var(--sh-border);
	border-radius: 16px;
	padding: 12px 18px;
	box-shadow: var(--sh-shadow);
	font-size: 13px;
	display: flex;
	gap: 10px;
	align-items: center;
}
.sh-hero__badge strong { font-family: var(--font-heading); }

/* Trust strip -------------------------------------------------------------- */
.sh-truststrip { background: var(--sh-primary); color: var(--sh-ivory); }
.sh-truststrip__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 34px;
	padding: 15px 0;
	font-size: 13.5px;
	letter-spacing: 0.03em;
}
.sh-truststrip svg { width: 15px; height: 15px; color: #e4be78; margin-right: 8px; vertical-align: -3px; }

/* Sections ----------------------------------------------------------------- */
.sh-section { padding: clamp(52px, 8vw, 96px) 0; }
.sh-section--sand { background: var(--sh-sand); }
.sh-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(24px, 4vw, 44px); flex-wrap: wrap; }
.sh-overline {
	display: block;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--sh-terracotta);
	margin-bottom: 10px;
}
.sh-section__head p { color: var(--sh-muted); max-width: 60ch; margin: 0; }

/* Product cards ------------------------------------------------------------ */
ul.products, .sh-grid { display: grid; gap: 18px; }
ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products { list-style: none; margin: 0; padding: 0; }
ul.products li.product, .sh-card {
	background: var(--sh-card);
	border: 1px solid var(--sh-border);
	border-radius: var(--sh-radius);
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	/* Neutralise WooCommerce's legacy float grid (li.product { float:left;
	   width:22.05% }), which would otherwise collapse cards to a fraction of
	   their CSS-grid cell. */
	float: none;
	width: auto;
	margin: 0;
	clear: none;
	transition: transform 0.28s var(--sh-ease), box-shadow 0.28s var(--sh-ease), border-color 0.28s var(--sh-ease);
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; }
/* woocommerce-smallscreen.css is enqueued AFTER the theme stylesheet and forces
   li.product { width: 48% } on narrow viewports, which shrinks cards to half
   their CSS-grid cell. This is the one place a plugin override needs !important. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
ul.products li.product:hover, .sh-card:hover { transform: translateY(-4px); box-shadow: var(--sh-shadow-lift); border-color: var(--sh-border-strong); }
ul.products li.product .sh-card__media, .sh-card__media {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--sh-sand);
}
ul.products li.product img, .sh-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--sh-ease);
}
ul.products li.product:hover img, .sh-card:hover .sh-card__media img { transform: scale(1.05); }
.sh-card__body { padding: 15px 16px 16px; display: flex; flex-direction: column; gap: 7px; flex: 1; min-width: 0; }
.sh-card__cat { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sh-secondary); font-weight: 700; }
.sh-card__title { font-family: var(--font-heading); font-size: 17px; line-height: 1.28; margin: 0; }
.sh-card__title a { color: var(--sh-primary-dark); text-decoration: none; }
.sh-card__title a:hover { color: var(--sh-terracotta); }
.sh-card__desc { font-size: 13px; line-height: 1.5; color: var(--sh-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.woocommerce ul.products li.product .price, .sh-price { color: var(--sh-primary-dark); font-weight: 700; font-size: 16.5px; display: block; }
.woocommerce ul.products li.product .price del, del { color: var(--sh-muted); opacity: 0.6; font-weight: 500; }
.woocommerce ul.products li.product .price ins, ins { text-decoration: none; color: var(--sh-terracotta); }
.sh-card__actions { display: flex; gap: 10px; margin-top: auto; padding-top: 6px; }
.sh-card__actions .button, .sh-card__actions .sh-btn { flex: 1; padding: 12px 10px; font-size: 13.5px; }
.sh-onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	background: var(--sh-terracotta);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 999px;
}
.woocommerce ul.products li.product .onsale, .woocommerce span.onsale {
	position: absolute; top: 14px; left: 14px; z-index: 2;
	background: var(--sh-terracotta); color: #fff;
	font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 999px; margin: 0; min-height: 0; min-width: 0; line-height: 1.4;
}
.sh-out { position: absolute; top: 14px; right: 14px; z-index: 2; background: var(--sh-text); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.08em; padding: 6px 12px; border-radius: 999px; text-transform: uppercase; }

/* Stars -------------------------------------------------------------------- */
.woocommerce .star-rating, .sh-stars {
	color: var(--sh-ochre);
	font-size: 12.5px;
	letter-spacing: 2px;
	height: 1em;
}
.woocommerce ul.products li.product .star-rating { display: inline-block; }
.woocommerce .woocommerce-review-link { font-size: 12.5px; color: var(--sh-muted); }

/* Category tiles ------------------------------------------------------------ */
.sh-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 2vw, 24px); }
.sh-cat {
	position: relative;
	display: block;
	border-radius: var(--sh-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	text-decoration: none;
	background: var(--sh-sand-deep);
}
.sh-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--sh-ease); }
.sh-cat:hover img { transform: scale(1.06); }
.sh-cat__label {
	position: absolute;
	inset: auto 0 0 0;
	padding: 40px 18px 16px;
	background: linear-gradient(to top, rgba(19, 36, 28, 0.82), transparent);
	color: var(--sh-ivory);
	font-family: var(--font-heading);
	font-size: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.sh-cat__label small { font-family: var(--font-body); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.85; }

/* Story split ---------------------------------------------------------------- */
.sh-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.sh-story__media { position: relative; }
.sh-story__img { border-radius: 24px; aspect-ratio: 4/3.4; object-fit: cover; width: 100%; box-shadow: var(--sh-shadow); }
.sh-story__stamp {
	position: absolute;
	top: -20px;
	right: -10px;
	background: var(--sh-terracotta);
	color: #fff;
	border-radius: 50%;
	width: 108px;
	height: 108px;
	display: grid;
	place-content: center;
	text-align: center;
	font-family: var(--font-heading);
	font-size: 15px;
	line-height: 1.3;
	box-shadow: var(--sh-shadow);
	transform: rotate(6deg);
}
.sh-list { list-style: none; padding: 0; margin: 18px 0 26px; display: grid; gap: 12px; }
.sh-list li { display: flex; gap: 12px; align-items: flex-start; color: var(--sh-muted); font-size: 15px; }
.sh-list svg { flex: none; width: 18px; height: 18px; color: var(--sh-secondary); margin-top: 2px; }

/* Process timeline ------------------------------------------------------------ */
.sh-process { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; counter-reset: step; }
.sh-step {
	background: var(--sh-card);
	border: 1px solid var(--sh-border);
	border-radius: var(--sh-radius);
	padding: 22px 20px 24px;
	position: relative;
	transition: transform 0.25s var(--sh-ease), box-shadow 0.25s var(--sh-ease);
}
.sh-step:hover { transform: translateY(-4px); box-shadow: var(--sh-shadow); }
.sh-step__num {
	font-family: var(--font-heading);
	font-size: 40px;
	font-weight: 400;
	color: transparent;
	-webkit-text-stroke: 1.2px var(--sh-terracotta);
	line-height: 1;
	margin-bottom: 14px;
}
.sh-step h3 { font-size: 17.5px; margin-bottom: 6px; }
.sh-step p { font-size: 13.5px; color: var(--sh-muted); margin: 0; }
.sh-step__img { border-radius: 10px; aspect-ratio: 16/10; object-fit: cover; width: 100%; margin-bottom: 14px; }

/* Journal ---------------------------------------------------------------------- */
.sh-journal { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2.4vw, 28px); }
.sh-post { display: flex; flex-direction: column; }
.sh-post__media { aspect-ratio: 16/10; overflow: hidden; display: block; }
.sh-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--sh-ease); }
.sh-post:hover .sh-post__media img { transform: scale(1.05); }
.sh-post__body { padding: 18px 20px 20px; }
.sh-post__meta { font-size: 12.5px; color: var(--sh-muted); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 8px; }
.sh-post__title { font-family: var(--font-heading); font-size: 19px; line-height: 1.3; }
.sh-post__title a { color: var(--sh-primary-dark); text-decoration: none; }
.sh-post__title a:hover { color: var(--sh-terracotta); }
.sh-post__excerpt { font-size: 13.5px; color: var(--sh-muted); }

/* Social band ------------------------------------------------------------------- */
.sh-social { background: var(--sh-primary); color: var(--sh-ivory); text-align: center; }
.sh-social .sh-section__head { justify-content: center; text-align: center; display: block; }
.sh-social h2, .sh-social .sh-overline { color: var(--sh-ivory); }
.sh-social .sh-overline { color: #e4be78; }
.sh-social__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 30px; }
.sh-social__tile { position: relative; display: block; border-radius: var(--sh-radius-sm); overflow: hidden; aspect-ratio: 1; }
.sh-social__tile img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--sh-ease), opacity 0.3s; }
.sh-social__tile:hover img { transform: scale(1.07); opacity: 0.85; }
.sh-social__tile svg { position: absolute; inset: auto 12px 12px auto; width: 22px; height: 22px; color: #fff; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5)); z-index: 2; }
.sh-social__links { display: flex; justify-content: center; gap: 14px; margin-top: 26px; }
.sh-social__links a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 50%;
	border: 1.5px solid rgba(253, 251, 247, 0.35); color: var(--sh-ivory);
	transition: all 0.25s var(--sh-ease);
}
.sh-social__links a:hover { background: var(--sh-ivory); color: var(--sh-primary); border-color: var(--sh-ivory); transform: translateY(-2px); }
.sh-social__links svg { width: 19px; height: 19px; }

/* Wholesale CTA band -------------------------------------------------------------- */
.sh-cta-band {
	background: linear-gradient(120deg, var(--sh-primary) 0%, var(--sh-primary-light) 100%);
	border-radius: 24px;
	color: var(--sh-ivory);
	padding: clamp(36px, 6vw, 72px);
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 30px;
	align-items: center;
}
.sh-cta-band h2 { color: var(--sh-ivory); }
.sh-cta-band p { color: rgba(253, 251, 247, 0.8); }
.sh-cta-band .sh-btn { background: var(--sh-ivory); color: var(--sh-primary); }
.sh-cta-band .sh-btn:hover { background: var(--sh-sand); color: var(--sh-primary-dark); }

/* ==========================================================================
   6. Footer
   ========================================================================== */
.sh-footer { background: var(--sh-primary-dark); color: #d2ddd6; margin-top: 0; }
.sh-footer__grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1.3fr;
	gap: clamp(24px, 4vw, 56px);
	padding: clamp(44px, 6vw, 80px) 0 40px;
}
.sh-footer h4 {
	color: var(--sh-ivory);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin-bottom: 18px;
}
.sh-footer a { color: #d2ddd6; text-decoration: none; }
.sh-footer a:hover { color: #e4be78; }
.sh-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 14.5px; }
.sh-footer__blurb { font-size: 14.5px; line-height: 1.7; color: rgba(210, 221, 214, 0.85); max-width: 36ch; }
.sh-footer .sh-brand__word { color: var(--sh-ivory); font-size: 24px; }
.sh-footer .sh-social__links { justify-content: flex-start; margin-top: 18px; }
.sh-footer .sh-social__links a { border-color: rgba(210, 221, 214, 0.3); }
.sh-footer .sh-social__links a:hover { background: var(--sh-ivory); color: var(--sh-primary-dark); }
.sh-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.sh-footer__contact svg { width: 16px; height: 16px; margin-top: 3px; color: #e4be78; flex: none; }
.sh-footer__bottom {
	border-top: 1px solid rgba(210, 221, 214, 0.16);
	padding: 20px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: rgba(210, 221, 214, 0.7);
}
.sh-footer__pay { display: inline-flex; gap: 8px; align-items: center; }
.sh-footer__pay span { border: 1px solid rgba(210, 221, 214, 0.3); border-radius: 6px; padding: 3px 9px; font-size: 11px; letter-spacing: 0.04em; }

/* ==========================================================================
   7. Page headers, breadcrumbs, content
   ========================================================================== */
.sh-pagehead { background: linear-gradient(115deg, var(--sh-sand), var(--sh-ivory)); border-bottom: 1px solid var(--sh-border); padding: clamp(36px, 5.5vw, 72px) 0; }
.sh-pagehead h1 { margin-bottom: 6px; }
.sh-pagehead p { color: var(--sh-muted); margin: 0; max-width: 68ch; }
.sh-breadcrumbs { font-size: 13px; color: var(--sh-muted); margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.sh-breadcrumbs a { color: var(--sh-muted); text-decoration: none; }
.sh-breadcrumbs a:hover { color: var(--sh-terracotta); }
.sh-breadcrumbs .sep { opacity: 0.5; }
.sh-content { padding: clamp(36px, 5vw, 64px) 0; }
.sh-content--narrow { max-width: 820px; margin-inline: auto; }
.sh-content h2 { margin-top: 1.6em; }
.sh-content img { border-radius: var(--sh-radius); }
.sh-content figure { margin: 2em 0; }
.sh-content blockquote { border-left: 3px solid var(--sh-terracotta); margin: 1.6em 0; padding: 0.2em 0 0.2em 1.4em; font-family: var(--font-heading); font-size: 1.15em; color: var(--sh-primary-dark); }
.sh-btn-row { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }

/* FAQ accordion ----------------------------------------------------------------- */
.sh-faq { display: grid; gap: 12px; max-width: 860px; }
.sh-faq details { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-radius-sm); padding: 0; overflow: hidden; }
.sh-faq summary {
	cursor: pointer;
	list-style: none;
	padding: 18px 22px;
	font-weight: 600;
	font-size: 15.5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
}
.sh-faq summary::-webkit-details-marker { display: none; }
.sh-faq summary::after { content: "+"; font-size: 20px; color: var(--sh-terracotta); transition: transform 0.25s var(--sh-ease); }
.sh-faq details[open] summary::after { transform: rotate(45deg); }
.sh-faq .sh-faq__a { padding: 0 22px 18px; color: var(--sh-muted); font-size: 14.5px; }

/* ==========================================================================
   8. WooCommerce — shop, single, cart, checkout, account
   ========================================================================== */
.sh-woo { padding: 28px 0 56px; }
.sh-woo__withfilters { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: start; }
/* Explicit placement: WooCommerce emits the sidebar and the catalogue as
   siblings whose order varies by template, so relying on auto-placement can
   drop the product grid into the narrow filter column. */
.sh-woo__withfilters > * { grid-column: 2; }
.sh-woo__withfilters > .sh-filters { grid-column: 1; grid-row: 1 / span 50; }
.sh-shopbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 24px; }
.woocommerce .woocommerce-result-count { color: var(--sh-muted); font-size: 13.5px; margin: 0; }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select { width: auto; padding: 10px 40px 10px 16px; border-radius: 999px; font-size: 13.5px; }

/* Filter widgets */
.sh-filters { position: sticky; top: 96px; display: grid; gap: 22px; }
.sh-filters .widget { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: 20px; }
.sh-filters .widgettitle, .sh-filters .widget-title { font-family: var(--font-heading); font-size: 16.5px; margin-bottom: 12px; color: var(--sh-primary-dark); }
.sh-filters ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.sh-filters a { text-decoration: none; color: var(--sh-muted); }
.sh-filters a:hover, .sh-filters .chosen a, .sh-filters .current-cat a { color: var(--sh-terracotta); font-weight: 600; }
.sh-filters .count { color: var(--sh-border-strong); font-size: 12px; }
.sh-filters .ui-slider { margin: 14px 4px 10px; height: 4px; background: var(--sh-sand-deep); border-radius: 4px; }
.sh-filters .ui-slider-handle { background: var(--sh-primary); border: none; border-radius: 50%; width: 15px; height: 15px; top: -6px; cursor: pointer; }
.sh-filters .price_slider_amount { display: flex; justify-content: space-between; align-items: center; font-size: 13.5px; color: var(--sh-muted); }
.sh-filters .price_slider_amount .button { background: var(--sh-terracotta); padding: 8px 16px; font-size: 12.5px; }
.sh-filters .star-rating { display: inline-block; }
.sh-filters input[type="search"] { padding: 10px 14px; }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(26px, 4.5vw, 64px); }
.woocommerce div.product div.images { width: 100%; margin: 0; position: sticky; top: 100px; align-self: start; }
.woocommerce div.product div.images img { border-radius: var(--sh-radius); border: 1px solid var(--sh-border); }
.woocommerce div.product ol.flex-control-thumbs { display: flex; gap: 10px; list-style: none; padding: 0; margin: 12px 0 0; }
.woocommerce div.product ol.flex-control-thumbs li { width: 72px; flex: none; }
.woocommerce div.product ol.flex-control-thumbs img { border-radius: 8px; border: 2px solid transparent; opacity: 0.75; }
.woocommerce div.product ol.flex-control-thumbs img.flex-active { border-color: var(--sh-terracotta); opacity: 1; }
.woocommerce div.product div.summary { width: 100%; margin: 0; }
.woocommerce div.product .product_title { font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.15; }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--sh-primary-dark);
	font-size: 24px;
	font-weight: 700;
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 14px 0;
}
.woocommerce div.product p.price del { font-size: 17px; }
.woocommerce div.product p.price ins { color: var(--sh-terracotta); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--sh-muted); font-size: 15px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 22px 0 10px; padding: 0; border: none; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; padding: 16px 30px; font-size: 15.5px; }
.sh-buy-now { background: var(--sh-terracotta) !important; }
.sh-buy-now:hover { background: var(--sh-terracotta-dark) !important; }
.sh-single-meta { color: var(--sh-muted); font-size: 13px; display: flex; gap: 18px; flex-wrap: wrap; border-top: 1px dashed var(--sh-border); padding-top: 14px; margin-top: 8px; }
.woocommerce div.product .product_meta { border-top: 1px dashed var(--sh-border); padding-top: 14px; font-size: 13px; color: var(--sh-muted); margin-top: 18px; }
.woocommerce div.product .product_meta a { color: var(--sh-muted); }
.woocommerce div.product .product_meta > span { display: block; margin-bottom: 5px; }

/* Variations as refined selects */
.woocommerce div.product form.cart .variations { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; border: none; padding: 0; margin: 0 0 6px; }
.woocommerce div.product form.cart .variations tbody, .woocommerce div.product form.cart .variations tr, .woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; border: none; padding: 0; }
.woocommerce div.product form.cart .variations label { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sh-muted); display: block; margin-bottom: 6px; }
.woocommerce div.product form.cart .variations select { max-width: 240px; }
.woocommerce div.product form.cart .reset_variations { font-size: 12.5px; color: var(--sh-terracotta); margin-left: 10px; }
.woocommerce-variation-price { margin: 4px 0 10px; }
.woocommerce div.product .stock { color: var(--sh-secondary); font-weight: 600; font-size: 13.5px; }

/* Quantity */
.woocommerce .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--sh-border); border-radius: 999px; overflow: hidden; background: var(--sh-card); }
.woocommerce .quantity .qty { border: none; width: 64px; text-align: center; padding: 11px 6px; font-weight: 600; box-shadow: none; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; padding-top: clamp(20px, 3vw, 40px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; padding: 0; margin: 0 0 26px; border: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 1.5px solid var(--sh-border); border-radius: 999px; padding: 0; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: var(--sh-primary); background: var(--sh-primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 10px 20px; font-size: 13.5px; font-weight: 600; color: var(--sh-text); text-decoration: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sh-ivory); }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { font-size: 20px; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 900px; }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li { border: 1px solid var(--sh-border); border-radius: var(--sh-radius-sm); padding: 18px; margin-bottom: 12px; list-style: none; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { border-radius: 50%; width: 48px; background: var(--sh-sand); border: 1px solid var(--sh-border); padding: 3px; }
.woocommerce #reviews .comment-text .meta { color: var(--sh-muted); font-size: 13px; }
.woocommerce #reviews h3, .woocommerce #reviews .comment-reply-title { font-family: var(--font-heading); }
.woocommerce #review_form .comment-form { display: grid; gap: 12px; }
.woocommerce #review_form .comment-form .comment-form-rating .stars { display: inline-flex; gap: 2px; }
.woocommerce #review_form .comment-form .stars a { color: var(--sh-ochre); font-size: 20px; text-decoration: none; }

/* Related / upsells / recently viewed */
.woocommerce .related, .woocommerce .upsells, .woocommerce .sh-recent, .sh-recent {
	grid-column: 1 / -1;
	width: 100%;
	padding-top: clamp(28px, 4vw, 52px);
	border-top: 1px solid var(--sh-border);
	margin-top: clamp(20px, 3vw, 40px);
}
.woocommerce .related > h2, .woocommerce .upsells > h2, .woocommerce .cross-sells > h2, .sh-recent > h2 { font-size: 24px; margin-bottom: 22px; }

/* Cart table */
.woocommerce table.shop_table { border: 1px solid var(--sh-border); border-radius: var(--sh-radius); border-collapse: separate; border-spacing: 0; overflow: hidden; width: 100%; background: var(--sh-card); }
.woocommerce table.shop_table th { background: var(--sh-sand); font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sh-muted); padding: 14px 16px; text-align: left; font-weight: 700; }
.woocommerce table.shop_table td { border-top: 1px solid var(--sh-border); padding: 16px; vertical-align: middle; }
.woocommerce table.shop_table img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; }
.woocommerce table.shop_table .product-name a { color: var(--sh-primary-dark); font-weight: 600; text-decoration: none; }
.woocommerce table.shop_table .product-name .variation, dl.variation { font-size: 12.5px; color: var(--sh-muted); margin: 4px 0 0; }
.woocommerce table.shop_table .actions .coupon { display: flex; gap: 8px; }
.woocommerce table.shop_table .actions .coupon .input-text { width: 220px; }
.woocommerce .cart-collaterals, .woocommerce-checkout .woocommerce { display: block; }
.woocommerce .cart-collaterals .cart_totals { width: 100%; max-width: 460px; margin-left: auto; }
.woocommerce .cart-collaterals h2 { font-size: 22px; }
.woocommerce a.remove { color: var(--sh-terracotta) !important; border: 1px solid var(--sh-border); border-radius: 50%; width: 28px; height: 28px; line-height: 26px; }
.woocommerce a.remove:hover { background: var(--sh-terracotta); color: #fff !important; }
.sh-cart-layout { display: grid; grid-template-columns: 1fr 380px; gap: 34px; align-items: start; }

/* Checkout */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.25fr 1fr; gap: clamp(24px, 3.4vw, 48px); align-items: start; }
.woocommerce-checkout form.checkout #customer_details .col-1, .woocommerce-checkout form.checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout form.checkout #customer_details { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: clamp(20px, 3vw, 34px); }
.woocommerce-checkout form.checkout #order_review, .woocommerce-checkout form.checkout #order_review_heading { background: var(--sh-sand); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: clamp(18px, 2.6vw, 30px); }
.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 2 / span 2; }
.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0; font-size: 20px; }
.woocommerce-checkout #payment { background: transparent; border-radius: var(--sh-radius-sm); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--sh-border); padding: 0; display: grid; gap: 10px; }
.woocommerce-checkout #payment ul.payment_methods li { background: var(--sh-card); border: 1.5px solid var(--sh-border); border-radius: var(--sh-radius-sm); padding: 14px 16px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.woocommerce-checkout #payment ul.payment_methods li.payment_method_razorpay, .woocommerce-checkout #payment ul.payment_methods li.payment_method_woocommerce_payments { border-color: var(--sh-primary-light); }
.woocommerce-checkout #payment div.payment_box { background: var(--sh-sand); border-radius: 8px; font-size: 13.5px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment .payment_method_label { font-weight: 600; }
.woocommerce-checkout #payment input[type="radio"] { accent-color: var(--sh-primary); }
#place_order { width: 100%; padding: 17px 26px; font-size: 16px; background: var(--sh-terracotta); }
#place_order:hover { background: var(--sh-terracotta-dark); }
.woocommerce-checkout .woocommerce-form__label-for-checkbox { display: inline-flex; gap: 8px; align-items: center; font-size: 13.5px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: var(--sh-muted); }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 13px; }

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: 100%; }
.woocommerce-account .sh-account-layout { display: grid; grid-template-columns: 250px 1fr; gap: clamp(22px, 3.4vw, 44px); align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: 12px 16px; border-radius: 999px;
	color: var(--sh-text); text-decoration: none; font-size: 14.5px; font-weight: 500;
	transition: all 0.2s var(--sh-ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--sh-primary); color: var(--sh-ivory); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--sh-card); border: 1px solid var(--sh-border); border-radius: var(--sh-radius); padding: clamp(18px, 2.6vw, 30px); }
.woocommerce-account .woocommerce-MyAccount-content table { font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-content .button { padding: 10px 20px; font-size: 13.5px; }

/* Notices, pagination, misc */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice {
	border: 1px solid var(--sh-border);
	border-left: 4px solid var(--sh-secondary);
	background: var(--sh-card);
	border-radius: var(--sh-radius-sm);
	padding: 14px 18px;
	margin: 0 0 22px;
	color: var(--sh-text);
	font-size: 14px;
	list-style: none;
}
.woocommerce-message { border-left-color: var(--sh-secondary); }
.woocommerce-info { border-left-color: var(--sh-ochre); }
.woocommerce-error { border-left-color: var(--sh-terracotta); }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button { float: right; padding: 8px 16px; font-size: 12.5px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }
nav.woocommerce-pagination { margin-top: 36px; }
nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 8px; list-style: none; border: none; padding: 0; }
nav.woocommerce-pagination ul li { border: none !important; }
nav.woocommerce-pagination ul li a, nav.woocommerce-pagination ul li span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 8px; border-radius: 50%;
	background: var(--sh-card); border: 1px solid var(--sh-border); color: var(--sh-text); font-weight: 600; font-size: 14px;
	text-decoration: none;
}
nav.woocommerce-pagination ul li span.current, nav.woocommerce-pagination ul li a:hover { background: var(--sh-primary); color: var(--sh-ivory); border-color: var(--sh-primary); }
.woocommerce .woocommerce-breadcrumb { display: none; }

/* Wishlist (YITH) */
.woocommerce .yith-wcwl-add-button a, .yith-wcwl-add-to-wishlist .add_to_wishlist { font-size: 13px !important; }
.yith-wcwl-add-to-wishlist { margin: 6px 0; }
.sh-iconbtn .yith-wcwl-count { position: absolute; top: 2px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: var(--sh-primary); color: #fff; font-size: 10.5px; font-weight: 700; line-height: 17px; text-align: center; }

/* WhatsApp float ----------------------------------------------------------------- */
.sh-wa {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 95;
	display: flex;
	align-items: center;
	gap: 0;
}
.sh-wa__btn {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--sh-whatsapp);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 26px rgba(37, 211, 102, 0.4);
	transition: transform 0.25s var(--sh-ease), box-shadow 0.25s var(--sh-ease);
	text-decoration: none;
}
.sh-wa__btn:hover { transform: scale(1.07); color: #fff; }
.sh-wa__btn svg { width: 29px; height: 29px; }
.sh-wa__label {
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	background: var(--sh-card);
	color: var(--sh-text);
	border: 1px solid var(--sh-border);
	box-shadow: var(--sh-shadow);
	font-size: 13.5px;
	font-weight: 600;
	border-radius: 999px;
	margin-right: 10px;
	transition: max-width 0.35s var(--sh-ease), padding 0.35s var(--sh-ease);
	height: 44px;
	display: flex;
	align-items: center;
	padding: 0;
}
.sh-wa:hover .sh-wa__label { max-width: 340px; padding: 0 18px; }
@media (max-width: 640px) { .sh-wa__label { display: none; } }

/* Sticky add-to-cart bar (mobile product pages) ------------------------------------ */
.sh-stickybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 94;
	background: rgba(253, 251, 247, 0.97);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--sh-border);
	box-shadow: 0 -8px 30px rgba(31, 36, 33, 0.1);
	padding: 10px 16px;
	display: none;
	align-items: center;
	gap: 12px;
	transform: translateY(110%);
	transition: transform 0.3s var(--sh-ease);
}
.sh-stickybar.is-visible { transform: none; }
.sh-stickybar img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.sh-stickybar__info { flex: 1; min-width: 0; }
.sh-stickybar__title { font-family: var(--font-heading); font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sh-stickybar__price { font-size: 14px; font-weight: 700; color: var(--sh-terracotta); }
.sh-stickybar .sh-btn { padding: 13px 22px; font-size: 13.5px; }
@media (max-width: 900px) { .sh-stickybar { display: flex; } body.sh-stickybar-active { padding-bottom: 70px; } }

/* Forms (CF7, search, comments) ----------------------------------------------------- */
.sh-form { display: grid; gap: 16px; max-width: 640px; }
.wpcf7 form { display: grid; gap: 14px; }
.wpcf7 label { display: grid; gap: 6px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"], .wpcf7 input[type="number"], .wpcf7 select, .wpcf7 textarea { width: 100%; }
.wpcf7 input[type="submit"] { justify-self: start; }
.wpcf7-response-output { border: 1px solid var(--sh-border); border-radius: 10px; padding: 12px 16px; font-size: 14px; margin: 6px 0 0; }

/* Quantity steppers */
.sh-qty-btn { border: none; background: var(--sh-sand); color: var(--sh-text); width: 40px; font-size: 17px; cursor: pointer; transition: background-color 0.2s var(--sh-ease); }
.sh-qty-btn:hover { background: var(--sh-sand-deep); }

/* Search results / archives */
.sh-searchhead { background: var(--sh-sand); padding: 34px 0; border-bottom: 1px solid var(--sh-border); }

/* ==========================================================================
   9. Responsive
   ========================================================================== */
@media (max-width: 1100px) {
	.sh-process { grid-template-columns: repeat(3, 1fr); }
	.sh-social__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 940px) {
	.sh-nav { display: none; }
	.sh-burger { display: inline-flex; }
	.sh-hero__grid { grid-template-columns: 1fr; }
	.sh-hero__media { max-width: 560px; }
	.sh-woo__withfilters { grid-template-columns: 1fr; }
	.sh-woo__withfilters > *, .sh-woo__withfilters > .sh-filters { grid-column: 1; grid-row: auto; }
	.sh-filters { position: static; }
	.woocommerce div.product { grid-template-columns: 1fr; }
	.woocommerce div.product div.images { position: static; }
	.sh-story, .sh-cta-band, .sh-cart-layout { grid-template-columns: 1fr; }
	.woocommerce .cart-collaterals .cart_totals { margin-inline: auto; }
	ul.products.columns-4, ul.products.columns-3,
	.woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-4, .woocommerce-page ul.products.columns-3 { grid-template-columns: repeat(2, 1fr); }
	.sh-journal { grid-template-columns: 1fr; }
	.sh-cats { grid-template-columns: repeat(2, 1fr); }
	.sh-footer__grid { grid-template-columns: 1fr 1fr; }
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout #order_review, .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: auto; }
	.woocommerce-account .sh-account-layout { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	ul.products.columns-4, ul.products.columns-3,
	.woocommerce ul.products.columns-4, .woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-4, .woocommerce-page ul.products.columns-3 { grid-template-columns: 1fr 1fr; gap: 12px; }
	.sh-card__body { padding: 12px 14px 14px; }
	.sh-card__title { font-size: 15.5px; }
	.sh-card__actions { flex-direction: column; }
	.sh-process { grid-template-columns: 1fr; }
	.sh-social__grid { grid-template-columns: repeat(2, 1fr); }
	.sh-footer__grid { grid-template-columns: 1fr; }
	.sh-brand__word { font-size: 22px; }
	.sh-iconbtn { width: 38px; height: 38px; }
}

/* --- Brand overrides for WooCommerce default accents (purple leaks) --- */
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled[disabled] {
	background: var(--sh-primary);
	color: #fff;
	opacity: 0.45;
	cursor: not-allowed;
}
.woocommerce .price_slider .ui-slider-range,
.woocommerce .price_slider_wrapper .ui-widget-content { background: var(--sh-primary); }
.woocommerce .price_slider .ui-slider-handle { background: var(--sh-accent); border-color: var(--sh-accent); }
.woocommerce .price_slider_wrapper .ui-widget-content { background-color: color-mix(in srgb, var(--sh-primary) 22%, transparent); }


/* ==========================================================================
   Sayal Henna marketplace purchase icons
   ========================================================================== */
.sh-market-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--sh-border);
}

.sh-market-icon {
	width: 66px;
	height: 66px;
	flex: 0 0 66px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sh-border);
	border-radius: 50%;
	background: #fff;
	color: var(--sh-primary);
	text-decoration: none !important;
	box-shadow: 0 5px 14px rgba(31,36,33,.05);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
	overflow: hidden;
}

.sh-market-icon:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(31,36,33,.10);
	border-color: var(--sh-border-strong);
	color: var(--sh-primary);
}

.sh-market-icon--website {
	background: var(--sh-primary);
	border-color: var(--sh-primary);
	color: #fff;
}

.sh-market-icon--website:hover {
	background: var(--sh-primary-dark);
	border-color: var(--sh-primary-dark);
	color: #fff;
}

.sh-market-icon--website svg {
	width: 31px;
	height: 31px;
	stroke: currentColor;
}

.sh-market-icon img {
	display: block;
	width: 42px;
	height: 42px;
	object-fit: cover;
	object-position: center;
}

.sh-market-icon--amazon img {
	width: 43px;
	height: 43px;
	border-radius: 4px;
}

.sh-market-icon--flipkart img {
	width: 39px;
	height: 39px;
	border-radius: 4px;
}

.sh-market-icon.is-disabled {
	opacity: .42;
	cursor: default;
	filter: grayscale(.35);
}

.sh-market-icon.is-disabled:hover {
	transform: none;
	box-shadow: 0 5px 14px rgba(31,36,33,.05);
}

@media (max-width: 767px) {
	.sh-market-actions {
		gap: 9px;
		margin-top: 14px;
		padding-top: 13px;
	}
	.sh-market-icon {
		width: 52px;
		height: 52px;
		flex-basis: 52px;
	}
	.sh-market-icon--website svg {
		width: 25px;
		height: 25px;
	}
	.sh-market-icon img,
	.sh-market-icon--amazon img {
		width: 34px;
		height: 34px;
	}
	.sh-market-icon--flipkart img {
		width: 32px;
		height: 32px;
	}
}


/* ==========================================================================
   Shop marketplace purchase icons — compact horizontal layout
   ========================================================================== */
.sh-market-actions {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--sh-border);
	min-width: 0;
}

.sh-market-icon {
	width: 52px !important;
	height: 52px !important;
	flex: 0 0 52px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--sh-border);
	border-radius: 50%;
	background: #fff;
	text-decoration: none !important;
	overflow: hidden;
	box-sizing: border-box;
	box-shadow: 0 3px 10px rgba(31,36,33,.06);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.sh-market-icon:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(31,36,33,.10);
	border-color: var(--sh-border-strong);
}

.sh-market-icon img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center !important;
	border-radius: 50%;
}

.sh-market-icon.is-disabled {
	opacity: .55;
	filter: grayscale(.15);
	cursor: default;
}

.sh-market-icon.is-disabled:hover {
	transform: none;
	box-shadow: 0 3px 10px rgba(31,36,33,.06);
}

/* Shop title/breadcrumb area */
.sh-shop-intro {
	grid-column: 2;
	padding-bottom: 4px;
}

.sh-shop-breadcrumb {
	margin: 0 0 7px;
	font-size: 12px;
	color: var(--sh-muted);
}

.sh-shop-breadcrumb a {
	color: var(--sh-muted);
	text-decoration: none;
}

.sh-shop-breadcrumb a:hover { color: var(--sh-terracotta); }

.sh-shop-intro h1 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.65rem);
}

.sh-shop-intro__description {
	margin: 7px 0 0;
	color: var(--sh-muted);
	font-size: 14px;
	max-width: 72ch;
}

.sh-shop-catalogue {
	grid-column: 2;
	min-width: 0;
}

.sh-shop-catalogue .sh-shopbar {
	margin-bottom: 18px;
}

.sh-shop-catalogue ul.products {
	margin: 0;
}

@media (max-width: 1100px) and (min-width: 941px) {
	.sh-woo__withfilters { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
	.sh-market-actions { gap: 7px; }
	.sh-market-icon { width: 46px !important; height: 46px !important; flex-basis: 46px !important; }
}

@media (max-width: 940px) {
	.sh-shop-intro,
	.sh-shop-catalogue { grid-column: 1; }
}

@media (max-width: 560px) {
	.sh-market-actions {
		flex-direction: row !important;
		gap: 8px;
		margin-top: 9px;
		padding-top: 10px;
	}
	.sh-market-icon {
		width: 46px !important;
		height: 46px !important;
		flex-basis: 46px !important;
	}
	.sh-card__body { padding: 12px 12px 13px; }
	.sh-card__title { font-size: 15px; }
	.sh-card__desc { font-size: 12px; }
}

/* Final icon cleanup: supplied artwork fills the circular button with no white canvas showing. */
.sh-market-icon {
    padding: 0 !important;
    line-height: 0 !important;
}
.sh-market-icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}


/* Shop page cleanup: the sidebar should contain filters/categories only. */
.sh-filters .widget_search,
.sh-filters .search-form,
.sh-filters form[role="search"] {
	display: none !important;
}

/* Keep the custom heading compact and prevent the archive from creating a
   large blank title area. */
.sh-shop-intro {
	padding: 2px 0 4px;
	min-height: 0;
}
.sh-shop-intro h1 {
	margin: 0;
	line-height: 1.05;
}
.sh-shop-intro__description p:last-child { margin-bottom: 0; }

/* The WooCommerce result/sort row sits immediately below our heading. */
.sh-woo__withfilters > .woocommerce-notices-wrapper,
.sh-woo__withfilters > .woocommerce-result-count,
.sh-woo__withfilters > .woocommerce-ordering,
.sh-woo__withfilters > .woocommerce-products-header {
	grid-column: 2;
}

@media (max-width: 940px) {
	.sh-shop-intro { margin-bottom: 2px; }
}

/* ==========================================================================
   Shop archive visual filler / shopping guide
   ========================================================================== */
.sh-shop-highlight {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 24px;
	padding: 17px 20px;
	background: linear-gradient(90deg, rgba(26,73,51,.06), rgba(183,108,53,.055));
	border: 1px solid var(--sh-border);
	border-radius: 14px;
}
.sh-shop-highlight__title {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 12px;
}
.sh-shop-highlight__title strong {
	font-family: var(--font-heading);
	font-size: 17px;
	color: var(--sh-primary-dark);
}
.sh-shop-highlight__title span {
	font-size: 12.5px;
	color: var(--sh-muted);
}
.sh-shop-highlight__points {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 14px;
	font-size: 12px;
	color: var(--sh-muted);
	white-space: nowrap;
}
.sh-shop-quickcats {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.sh-shop-quickcats__label {
	font-size: 12px;
	font-weight: 700;
	color: var(--sh-primary-dark);
	margin-right: 3px;
}
.sh-shop-quickcats a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 5px 11px;
	border: 1px solid var(--sh-border);
	border-radius: 999px;
	background: #fff;
	color: var(--sh-muted);
	font-size: 12px;
	text-decoration: none;
	transition: all .18s ease;
}
.sh-shop-quickcats a:hover {
	color: var(--sh-primary-dark);
	border-color: var(--sh-primary);
	background: rgba(26,73,51,.05);
}
.sh-woo__withfilters > .woocommerce-result-count {
	margin-top: 22px !important;
}
.sh-woo__withfilters > .woocommerce-ordering {
	margin-top: 22px !important;
}
@media (max-width: 940px) {
	.sh-shop-highlight {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
	.sh-shop-highlight__points {
		justify-content: flex-start;
		white-space: normal;
	}
}
@media (max-width: 560px) {
	.sh-shop-highlight {
		padding: 13px 14px;
		margin-top: 17px;
	}
	.sh-shop-highlight__title strong { font-size: 15px; }
	.sh-shop-highlight__title span { font-size: 11.5px; }
	.sh-shop-highlight__points { font-size: 11px; gap: 6px 10px; }
	.sh-shop-quickcats { margin-top: 9px; }
	.sh-shop-quickcats a { min-height: 28px; padding: 4px 9px; font-size: 11px; }
	.sh-woo__withfilters > .woocommerce-result-count,
	.sh-woo__withfilters > .woocommerce-ordering {
		margin-top: 15px !important;
	}
}

/* V7: category navigation lives in the main content; remove the duplicate sidebar list */
.sh-woo__withfilters .sh-filter--categories,
.sh-woo__withfilters .sh-filter-categories,
.sh-woo__withfilters .sh-product-categories,
.sh-woo__withfilters .widget_product_categories {
	display: none !important;
}

/* Make the main category strip the single source for category navigation */
.sh-shop-quickcats__all {
	font-weight: 700;
	color: var(--sh-primary-dark) !important;
	background: rgba(26,73,51,.06) !important;
	border-color: rgba(26,73,51,.18) !important;
}

/* V8: Homepage sections explicitly removed by request */
.home .sh-process,
.home .sh-journal,
.home .sh-wholesale,
.home .sh-section--process,
.home .sh-section--journal,
.home .sh-section--wholesale,
.home .process-section,
.home .journal-section,
.home .wholesale-section {
	display: none !important;
}

/* V9: compact Shop archive spacing */
.sh-woo { padding-top: 18px !important; padding-bottom: 48px !important; }
.sh-shop-intro { padding-bottom: 0 !important; }
.sh-shop-intro h1 { margin-bottom: 0 !important; line-height: 1.05; }
.sh-shop-highlight { margin-top: 14px !important; padding: 13px 17px !important; }
.sh-shop-quickcats { margin-top: 8px !important; }
.sh-woo__withfilters > .woocommerce-result-count { margin-top: 12px !important; margin-bottom: 0 !important; }
.sh-woo__withfilters > .woocommerce-ordering { margin-top: 8px !important; margin-bottom: 14px !important; }
.sh-shop-catalogue .sh-shopbar { margin-bottom: 10px !important; }

/* Prevent archive intro from creating a large vertical gap before products. */
.sh-shop-intro + .sh-shop-catalogue { margin-top: 0 !important; }
.sh-shop-catalogue ul.products { margin-top: 0 !important; }

/* Compact filters */
.sh-filter { margin-bottom: 16px !important; }

/* ==========================================================================
   V11: Correct WooCommerce archive flow — filters + one continuous catalogue
   ========================================================================== */
.sh-woo__withfilters {
	display: grid !important;
	grid-template-columns: 230px minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: start !important;
}

.sh-woo__withfilters > .sh-filters {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
}

.sh-woo__withfilters > .sh-shop-catalogue {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.sh-shop-catalogue .sh-shop-intro {
	margin: 0 !important;
	padding: 0 !important;
}

.sh-shop-catalogue .sh-shop-highlight {
	margin-top: 14px !important;
	padding: 13px 17px !important;
}

.sh-shop-catalogue .sh-shop-quickcats {
	margin-top: 9px !important;
	margin-bottom: 0 !important;
}

.sh-shop-catalogue > .woocommerce-result-count {
	display: block !important;
	float: none !important;
	margin: 18px 0 8px !important;
}

.sh-shop-catalogue > .woocommerce-ordering {
	display: block !important;
	float: none !important;
	margin: 0 0 16px !important;
}

.sh-shop-catalogue > .woocommerce-ordering select {
	min-width: 250px;
}

.sh-shop-catalogue ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	clear: both !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.sh-shop-catalogue ul.products::before,
.sh-shop-catalogue ul.products::after {
	display: none !important;
}

.sh-shop-catalogue ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
}

@media (max-width: 1199px) and (min-width: 941px) {
	.sh-woo__withfilters {
		grid-template-columns: 205px minmax(0, 1fr) !important;
		gap: 22px !important;
	}
	.sh-shop-catalogue ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 940px) {
	.sh-woo__withfilters {
		grid-template-columns: 1fr !important;
	}
	.sh-woo__withfilters > .sh-filters,
	.sh-woo__withfilters > .sh-shop-catalogue {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
	.sh-shop-catalogue ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 560px) {
	.sh-shop-catalogue .sh-shop-highlight {
		padding: 12px 13px !important;
	}
	.sh-shop-catalogue ul.products {
		gap: 10px !important;
	}
	.sh-shop-catalogue > .woocommerce-ordering select {
		min-width: 210px;
	}
}

/* ==========================================================================
   Contact page
   ========================================================================== */
.sh-contact-page { background: var(--sh-bg, #faf8f3); }
.sh-contact-hero {
	padding: 72px 0 58px;
	background: linear-gradient(135deg, rgba(26,73,51,.09), rgba(183,108,53,.05));
	border-bottom: 1px solid var(--sh-border);
}
.sh-contact-hero__eyebrow,
.sh-contact-details__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .22em;
	color: #b76c35;
}
.sh-contact-hero h1 {
	max-width: 760px;
	margin: 12px 0 15px;
	font-family: var(--font-heading);
	font-size: clamp(42px, 6vw, 72px);
	line-height: .98;
	color: var(--sh-primary-dark, #123d2b);
}
.sh-contact-hero p {
	max-width: 760px;
	margin: 0;
	font-size: 18px;
	line-height: 1.7;
	color: var(--sh-muted, #64706a);
}
.sh-contact-main { padding: 64px 0 90px; }
.sh-contact-grid {
	display: grid;
	grid-template-columns: .82fr 1.18fr;
	gap: 70px;
	align-items: start;
}
.sh-contact-details h2 {
	margin: 10px 0 12px;
	font-family: var(--font-heading);
	font-size: 38px;
	color: var(--sh-primary-dark, #123d2b);
}
.sh-contact-details > p {
	max-width: 470px;
	margin-bottom: 38px;
	color: var(--sh-muted, #64706a);
	line-height: 1.7;
}
.sh-contact-item {
	padding: 18px 0;
	border-top: 1px solid var(--sh-border);
}
.sh-contact-item:last-child { border-bottom: 1px solid var(--sh-border); }
.sh-contact-item strong {
	display: block;
	margin-bottom: 6px;
	color: var(--sh-primary-dark, #123d2b);
}
.sh-contact-item span,
.sh-contact-item a {
	color: var(--sh-muted, #64706a);
	line-height: 1.6;
	text-decoration: none;
}
.sh-contact-item a:hover { color: #b76c35; }
.sh-contact-form-wrap {
	padding: 34px;
	background: #fff;
	border: 1px solid var(--sh-border);
	border-radius: 18px;
	box-shadow: 0 10px 35px rgba(18,61,43,.05);
}
.sh-contact-form { display: grid; gap: 18px; }
.sh-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sh-contact-form label { display: grid; gap: 7px; }
.sh-contact-form label span {
	font-size: 13px;
	font-weight: 700;
	color: var(--sh-primary-dark, #123d2b);
}
.sh-contact-form input,
.sh-contact-form textarea {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--sh-border);
	border-radius: 9px;
	background: #fff;
	color: #17382b;
	font: inherit;
	box-sizing: border-box;
}
.sh-contact-form textarea { resize: vertical; min-height: 150px; }
.sh-contact-form input:focus,
.sh-contact-form textarea:focus {
	outline: 2px solid rgba(183,108,53,.18);
	border-color: #b76c35;
}
.sh-contact-form button {
	justify-self: start;
	border: 0;
	border-radius: 999px;
	padding: 13px 23px;
	background: var(--sh-primary-dark, #123d2b);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.sh-contact-form button span { margin-left: 8px; }
.sh-contact-alert {
	margin-bottom: 18px;
	padding: 13px 15px;
	border-radius: 9px;
	font-size: 14px;
}
.sh-contact-alert--success { background: #edf7ef; color: #205b35; border: 1px solid #cfe7d3; }
.sh-contact-alert--error { background: #fff2ef; color: #9a3d28; border: 1px solid #efd0c7; }
@media (max-width: 800px) {
	.sh-contact-hero { padding: 50px 0 42px; }
	.sh-contact-main { padding: 45px 0 65px; }
	.sh-contact-grid { grid-template-columns: 1fr; gap: 38px; }
	.sh-contact-form-wrap { padding: 24px; }
}
@media (max-width: 560px) {
	.sh-form-row { grid-template-columns: 1fr; }
	.sh-contact-hero h1 { font-size: 42px; }
	.sh-contact-hero p { font-size: 16px; }
}

/* ========================================================================== 
   V18 premium polish — no homepage reviews/search changes
   ========================================================================== */
.sh-truststrip { padding: 18px 0; }
.sh-truststrip__inner { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.sh-truststrip__item { display:flex; align-items:center; gap:11px; padding:12px 14px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.045); }
.sh-truststrip__icon { width:36px; height:36px; display:grid; place-items:center; flex:none; border-radius:50%; background:rgba(228,190,120,.12); }
.sh-truststrip__icon svg { width:18px; height:18px; color:#e4be78; margin:0; }
.sh-truststrip__item strong { display:block; color:var(--sh-ivory); font-size:13px; }
.sh-truststrip__item small { display:block; margin-top:3px; color:rgba(253,251,247,.68); font-size:11px; line-height:1.35; }
.sh-home-faq { background:var(--sh-card); }
.sh-faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sh-faq-item { border:1px solid var(--sh-border); border-radius:16px; background:var(--sh-ivory); overflow:hidden; }
.sh-faq-item summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; font-weight:700; color:var(--sh-primary-dark); }
.sh-faq-item summary::-webkit-details-marker { display:none; }
.sh-faq-item summary span { width:25px; height:25px; border:1px solid var(--sh-border); border-radius:50%; display:grid; place-items:center; color:var(--sh-terracotta); flex:none; font-size:17px; transition:transform .2s ease; }
.sh-faq-item[open] summary span { transform:rotate(45deg); }
.sh-faq-item > div { padding:0 20px 19px; color:var(--sh-muted); line-height:1.7; font-size:14px; }
.sh-product-breadcrumb { margin:0 0 22px; font-size:13px; color:var(--sh-muted); }
.sh-product-breadcrumb a { color:var(--sh-muted); text-decoration:none; }
.sh-product-breadcrumb a:hover { color:var(--sh-terracotta); }
.sh-product-reassurance { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 4px; }
.sh-product-reassurance > div { padding:13px 12px; border:1px solid var(--sh-border); border-radius:14px; background:var(--sh-card); }
.sh-product-reassurance span { display:block; margin-bottom:6px; }
.sh-product-reassurance span svg { width:18px; height:18px; color:var(--sh-terracotta); }
.sh-product-reassurance strong { display:block; font-size:12px; color:var(--sh-primary-dark); }
.sh-product-reassurance small { display:block; margin-top:3px; color:var(--sh-muted); font-size:10.5px; line-height:1.4; }
.sh-card__quickadd { display:flex; align-items:center; justify-content:center; width:100%; margin-top:12px; min-height:38px; padding:8px 14px; border-radius:999px; background:var(--sh-primary); color:var(--sh-ivory) !important; text-decoration:none !important; font-size:12px; font-weight:700; transition:transform .2s ease, background .2s ease; }
.sh-card__quickadd:hover { background:var(--sh-primary-dark); transform:translateY(-1px); }
.sh-card__quickadd--outline { background:transparent; border:1px solid var(--sh-border-strong); color:var(--sh-primary-dark) !important; }
.sh-card__quickadd--outline:hover { background:var(--sh-sand); }

@media (max-width: 940px) {
  .sh-truststrip__inner { grid-template-columns:repeat(2,1fr); }
  .sh-faq-grid { grid-template-columns:1fr; }
  .sh-product-reassurance { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .sh-truststrip__inner { grid-template-columns:1fr; }
  .sh-truststrip__item { padding:10px 12px; }
  .sh-faq-item summary { padding:15px 16px; font-size:14px; }
  .sh-faq-item > div { padding:0 16px 16px; }
}

/* V19 — replace social/community strip with a shopping decision guide */
.sh-choose-henna { background: var(--sh-bg, #faf8f3); }
.sh-choose-henna .sh-section__head { align-items: end; }
.sh-choose-henna .sh-section__head > div { max-width: 720px; }
.sh-choose-henna__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.sh-choose-henna__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 245px;
	padding: 25px 23px 22px;
	border: 1px solid var(--sh-border);
	border-radius: 18px;
	background: var(--sh-ivory, #fdfbf7);
	color: var(--sh-primary-dark);
	text-decoration: none;
	overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.sh-choose-henna__card::after {
	content: '';
	position: absolute;
	right: -42px;
	bottom: -48px;
	width: 135px;
	height: 135px;
	border-radius: 50%;
	background: rgba(183,108,53,.07);
	pointer-events: none;
}
.sh-choose-henna__card:hover {
	transform: translateY(-4px);
	border-color: rgba(183,108,53,.35);
	box-shadow: 0 16px 35px rgba(18,61,43,.08);
}
.sh-choose-henna__number {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 28px;
	border-radius: 50%;
	background: var(--sh-primary-dark, #123d2b);
	color: #e4be78;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
}
.sh-choose-henna__title {
	font-family: var(--font-heading);
	font-size: 25px;
	line-height: 1.1;
}
.sh-choose-henna__text {
	margin-top: 10px;
	color: var(--sh-muted);
	font-size: 13px;
	line-height: 1.65;
}
.sh-choose-henna__link {
	margin-top: auto;
	padding-top: 20px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .03em;
	color: var(--sh-terracotta, #b76c35);
}
.sh-choose-henna__link span { margin-left: 5px; transition: margin .2s ease; }
.sh-choose-henna__card:hover .sh-choose-henna__link span { margin-left: 9px; }
@media (max-width: 1000px) {
	.sh-choose-henna__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.sh-choose-henna .sh-section__head { align-items: start; }
	.sh-choose-henna__grid { grid-template-columns: 1fr; }
	.sh-choose-henna__card { min-height: 205px; padding: 21px 20px 19px; }
	.sh-choose-henna__number { margin-bottom: 22px; }
}

/* V20: category-first Shop landing page */
.sh-shop-landing {
	grid-column: 1 / -1;
	padding: 10px 0 30px;
}
.sh-shop-landing__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 22px;
}
.sh-shop-landing__head h1 { margin: 5px 0 7px; }
.sh-shop-landing__head p { margin: 0; color: var(--sh-muted); max-width: 620px; }
.sh-shop-landing__all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	padding: 11px 16px;
	border-radius: 999px;
	background: var(--sh-primary);
	color: #fff !important;
	text-decoration: none;
	font-weight: 700;
	font-size: 13px;
}
.sh-shop-landing__all:hover { background: var(--sh-primary-dark); }
.sh-shop-landing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.sh-shop-landing__card {
	position: relative;
	display: block;
	min-height: 250px;
	overflow: hidden;
	border-radius: 18px;
	background: var(--sh-card);
	border: 1px solid var(--sh-border);
	text-decoration: none;
	box-shadow: 0 8px 26px rgba(17, 48, 35, .06);
}
.sh-shop-landing__card img,
.sh-shop-landing__placeholder {
	display: block;
	width: 100%;
	height: 250px;
	object-fit: cover;
	background: linear-gradient(135deg, #eef0df, #e5d2b8);
}
.sh-shop-landing__cardbody {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 34px 17px 15px;
	background: linear-gradient(transparent, rgba(12, 35, 26, .86));
	color: #fff;
}
.sh-shop-landing__cardbody strong { display: block; font-family: var(--font-heading); font-size: 20px; }
.sh-shop-landing__cardbody small { display: block; margin-top: 4px; opacity: .85; font-size: 11px; }
.sh-shop-landing__card:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(17, 48, 35, .12); }
.sh-all-products-page { padding: 28px 0 70px; }
.sh-all-products-page__head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin: 18px 0 30px; }
.sh-all-products-page__head h1 { margin: 4px 0 7px; }
.sh-all-products-page__head p { margin:0; color:var(--sh-muted); }
.sh-all-products-page__catalogue ul.products { margin-top: 0; }

/* Shop itself is now a category directory; products live under All Products
 * or the individual category archive pages. */
body.post-type-archive-product .sh-woo__withfilters > .sh-filters,
body.post-type-archive-product .sh-woo__withfilters > .sh-shop-catalogue > .woocommerce-result-count,
body.post-type-archive-product .sh-woo__withfilters > .sh-shop-catalogue > .woocommerce-ordering,
body.post-type-archive-product .sh-woo__withfilters > .sh-shop-catalogue > ul.products,
body.post-type-archive-product .sh-woo__withfilters > .sh-shop-catalogue > .woocommerce-pagination,
body.post-type-archive-product .sh-woo__withfilters > .sh-shop-catalogue > .woocommerce-no-products-found { display:none !important; }
body.post-type-archive-product .sh-woo__withfilters { display:block; }
body.post-type-archive-product .sh-shop-catalogue { width:100%; }

@media (max-width: 760px) {
	.sh-shop-landing__head, .sh-all-products-page__head { align-items:flex-start; flex-direction:column; }
	.sh-shop-landing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
	.sh-shop-landing__card, .sh-shop-landing__card img, .sh-shop-landing__placeholder { min-height:190px; height:190px; }
	.sh-shop-landing__cardbody strong { font-size:17px; }
}
@media (max-width: 480px) {
	.sh-shop-landing__grid { grid-template-columns:1fr; }
	.sh-shop-landing__card, .sh-shop-landing__card img, .sh-shop-landing__placeholder { height:220px; }
}

/* V20: Shop dropdown navigation */
.sh-nav > ul > li.menu-item-has-children { position: relative; }
.sh-nav > ul > li.menu-item-has-children > a::after {
	content: '⌄';
	font-size: 11px;
	margin-left: 6px;
	vertical-align: 1px;
}
.sh-nav > ul > li.menu-item-has-children > .sub-menu {
	position: absolute;
	z-index: 100;
	top: 100%;
	left: 0;
	min-width: 215px;
	display: none;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	background: #fff;
	border: 1px solid var(--sh-border);
	border-radius: 14px;
	box-shadow: 0 18px 40px rgba(17,48,35,.14);
}
.sh-nav > ul > li.menu-item-has-children:hover > .sub-menu,
.sh-nav > ul > li.menu-item-has-children:focus-within > .sub-menu { display: flex; }
.sh-nav .sub-menu li { width: 100%; }
.sh-nav .sub-menu a {
	padding: 9px 11px;
	border-radius: 9px;
	font-size: 13px;
	white-space: nowrap;
}
.sh-nav .sub-menu a:hover { background: rgba(26,73,51,.06); }
.sh-drawer__nav .sub-menu { margin: -2px 0 8px; padding: 0 0 0 14px; }
.sh-drawer__nav .sub-menu a { font-family: inherit; font-size: 15px; padding: 11px 8px; color: var(--sh-muted); border-bottom: 1px solid rgba(17,48,35,.08); }
.sh-drawer__nav .sub-menu a:hover { color: var(--sh-primary-dark); }


/* V23: stable Shop dropdown — no collapse while moving the pointer into it. */
.sh-nav > ul > li.menu-item-has-children { position: relative; }
.sh-nav > ul > li.menu-item-has-children::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 10px;
    z-index: 99;
}
.sh-nav > ul > li.menu-item-has-children > .sub-menu {
    top: calc(100% + 6px);
}
.sh-nav > ul > li.menu-item-has-children:hover > .sub-menu,
.sh-nav > ul > li.menu-item-has-children:focus-within > .sub-menu {
    display: flex;
}

/* V25 marketplace links: place Amazon + Flipkart beside the header actions. */
.sh-header__actions{display:flex;align-items:center;gap:8px}
.sh-marketplace-links{display:flex;align-items:center;gap:6px;margin-right:2px}
.sh-marketplace-link{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;text-decoration:none;transition:transform .2s ease,opacity .2s ease}
.sh-marketplace-link:hover{transform:translateY(-1px);opacity:.9}
.sh-marketplace-link img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:782px){
 .sh-marketplace-links{gap:4px;margin-right:0}
 .sh-marketplace-link{width:27px;height:27px}
}

/* V29 — premium single-product purchase layout */
.woocommerce div.product{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(32px,5vw,76px);align-items:start}
.woocommerce div.product div.summary{background:var(--sh-card);border:1px solid var(--sh-border);border-radius:22px;padding:clamp(22px,3vw,34px);box-shadow:0 10px 30px rgba(25,55,43,.06)}
.woocommerce div.product .product_title{margin-top:0;margin-bottom:10px}
.woocommerce div.product .woocommerce-product-details__short-description{line-height:1.75}
.sh-single-marketplaces{border-top:1px solid var(--sh-border);margin:20px 0 6px;padding-top:18px}
.sh-single-marketplaces__label{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sh-muted);margin-bottom:10px}
.sh-single-marketplaces__links{display:flex;gap:10px;flex-wrap:wrap}
.sh-single-marketplace{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sh-border);background:#fff;border-radius:999px;padding:7px 13px;text-decoration:none;color:var(--sh-primary-dark);font-size:13px;font-weight:700;transition:.2s ease}
.sh-single-marketplace:hover{border-color:var(--sh-terracotta);transform:translateY(-1px)}
.sh-single-marketplace img{width:27px;height:27px;object-fit:cover;border-radius:50%;display:block}
.sh-pack-selector{width:100%;margin:0 0 16px;padding:15px 16px;border:1px solid var(--sh-border);border-radius:16px;background:var(--sh-sand)}
.sh-pack-selector__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.sh-pack-selector__head strong{font-size:13px;color:var(--sh-primary-dark)}
.sh-pack-selector__head span{font-size:12px;color:var(--sh-muted)}
.sh-pack-selector__options{display:flex;flex-wrap:wrap;gap:9px}
.sh-pack-option{appearance:none;border:1.5px solid var(--sh-border-strong);background:#fff;color:var(--sh-primary-dark);border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:.18s ease}
.sh-pack-option:hover,.sh-pack-option.is-active{border-color:var(--sh-primary);background:var(--sh-primary);color:var(--sh-ivory);box-shadow:0 4px 12px rgba(25,55,43,.12)}
.woocommerce div.product form.cart .variations .label{display:none}
.woocommerce div.product form.cart .variations select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.woocommerce div.product form.cart .variations{margin:0!important;min-height:0!important}
.woocommerce div.product form.cart .variations td.value{padding:0!important}
@media(max-width:900px){
 .woocommerce div.product{grid-template-columns:1fr;gap:24px}
 .woocommerce div.product div.images{position:relative;top:auto}
 .woocommerce div.product div.summary{padding:22px}
}
@media(max-width:600px){
 .sh-single-marketplace{padding:6px 10px}
 .sh-pack-selector__head{display:block}
 .sh-pack-selector__head span{display:block;margin-top:3px}
 .sh-pack-option{padding:9px 13px}
}

/* V30: two-level Shop menu for Henna / Herbal / Skin & Natural Care. */
.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children { position: relative; }
.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
    content: '›';
    float: right;
    margin-left: 18px;
    font-size: 15px;
    line-height: 1;
}
.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
    position: absolute;
    left: calc(100% + 6px);
    top: -8px;
    min-width: 230px;
    max-height: 70vh;
    overflow-y: auto;
    display: none;
    flex-direction: column;
    gap: 2px;
    padding: 8px;
    background: #fff;
    border: 1px solid var(--sh-border);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(17,48,35,.14);
}
.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children:hover > .sub-menu,
.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children:focus-within > .sub-menu { display: flex; }

/* V31 worldwide storefront */
.sh-checkout-remove{font-size:12px;margin-left:8px;text-decoration:none;opacity:.72;white-space:nowrap}
.sh-checkout-remove:hover{opacity:1;text-decoration:underline}

/* V36 final menu + performance polish ------------------------------------ */
@media (min-width: 761px) {
	.sh-nav > ul > li.menu-item-has-children > .sub-menu {
		top: calc(100% + 10px);
		left: 50%;
		min-width: 0;
		width: min(820px, calc(100vw - 40px));
		max-height: min(78vh, 720px);
		overflow-y: auto;
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: start;
		gap: 12px;
		padding: 18px;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateX(-50%) translateY(4px);
		transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
	}
	.sh-nav > ul > li.menu-item-has-children:hover > .sub-menu,
	.sh-nav > ul > li.menu-item-has-children:focus-within > .sub-menu {
		display: grid;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0);
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li:first-child {
		grid-column: 1 / -1;
		border-bottom: 1px solid var(--sh-border);
		padding-bottom: 8px;
		margin-bottom: 2px;
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
		position: static;
		left: auto;
		top: auto;
		min-width: 0;
		max-height: none;
		overflow: visible;
		display: block;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		padding: 0;
		margin: 4px 0 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a::after {
		display: none;
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li > a {
		font-weight: 700;
		font-size: 13.5px;
		white-space: normal;
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu a {
		font-size: 12px;
		white-space: normal;
		padding: 5px 10px;
		color: var(--sh-muted);
	}
	.sh-nav > ul > li.menu-item-has-children > .sub-menu > li > .sub-menu a:hover {
		color: var(--sh-terracotta);
		background: rgba(184,83,47,.06);
	}
}


/* V36.1: definitive Shop mega-menu layout. This is visual only; no DB writes. */
@media (min-width: 941px) {
  .sh-nav > ul > li.menu-item-has-children > .sub-menu {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(900px, calc(100vw - 40px)) !important;
    max-height: min(78vh, 720px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-items: start !important;
    padding: 20px !important;
    gap: 18px !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li:first-child {
    grid-column: 1 / -1 !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children {
    width: auto !important;
    min-width: 0 !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--sh-primary-dark) !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu a {
    font-size: 12.5px !important;
    padding: 5px 8px !important;
    white-space: normal !important;
  }
}

.sh-empty-catalogue{padding:48px 24px;text-align:center;border:1px solid rgba(17,48,35,.12);border-radius:18px;background:#fff;margin:20px 0 60px}.sh-empty-catalogue h2{margin:0 0 10px}.sh-empty-catalogue p{color:var(--sh-muted);max-width:650px;margin:0 auto 20px}.sh-empty-catalogue .sh-btn{display:inline-flex}


/* V39: compact horizontal category navigation. Shop is replaced by three
 * top-level category menus; each child list is contained and scroll-safe. */
@media (min-width: 941px) {
  .sh-nav > ul > li.menu-item-has-children > .sub-menu {
    width: min(360px, calc(100vw - 40px)) !important;
    max-height: min(68vh, 560px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    padding: 14px !important;
    gap: 0 !important;
  }
  .sh-nav > ul > li.menu-item-has-children:hover > .sub-menu,
  .sh-nav > ul > li.menu-item-has-children:focus-within > .sub-menu {
    display: block !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li > a {
    display: block !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    white-space: normal !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > .sub-menu {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 0 6px 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  .sh-nav > ul > li.menu-item-has-children > .sub-menu > li.menu-item-has-children > a {
    font-weight: 700 !important;
    color: var(--sh-primary-dark) !important;
  }
}
@media (max-width: 940px) {
  .sh-nav > ul > li.menu-item-has-children > .sub-menu { max-height: 60vh; overflow-y: auto; }
}


/* V39: direct WooCommerce catalogue rendering on All Products. */
.sh-all-products-grid { margin: 0 !important; }


/* V40 definitive category navigation: independent of the saved WP menu. */
.sh-v40-nav { display:block !important; }
.sh-v40-nav-list { list-style:none; display:flex; align-items:center; gap:3px; margin:0; padding:0; }
.sh-v40-nav-list > .sh-v40-nav-item > a { display:flex; align-items:center; gap:5px; padding:10px 12px; color:var(--sh-text); text-decoration:none; border-radius:999px; font-size:14px; white-space:nowrap; }
.sh-v40-nav-list > .sh-v40-nav-item > a:hover { color:var(--sh-terracotta); background:rgba(184,83,47,.07); }
.sh-v40-nav-item { position:relative; }
.sh-v40-chevron { font-size:11px; opacity:.65; }
.sh-v40-dropdown { position:absolute; top:calc(100% + 6px); left:50%; transform:translateX(-50%); min-width:235px; max-width:min(300px,calc(100vw - 30px)); max-height:65vh; overflow:auto; padding:8px; background:#fff; border:1px solid var(--sh-border); border-radius:14px; box-shadow:0 18px 42px rgba(31,36,33,.15); opacity:0; visibility:hidden; pointer-events:none; z-index:300; }
.sh-v40-dropdown:before { content:""; position:absolute; top:-8px; left:0; right:0; height:9px; }
.sh-v40-nav-item:hover > .sh-v40-dropdown, .sh-v40-nav-item:focus-within > .sh-v40-dropdown { opacity:1; visibility:visible; pointer-events:auto; }
.sh-v40-dropdown-inner { display:flex; flex-direction:column; }
.sh-v40-dropdown a { display:block; padding:8px 10px; color:var(--sh-text); text-decoration:none; border-radius:8px; font-size:13px; line-height:1.25; }
.sh-v40-dropdown a:hover { background:rgba(26,73,51,.07); color:var(--sh-terracotta); }
.sh-v40-mobile-extra { display:flex; flex-direction:column; margin-top:8px; padding-top:8px; border-top:1px solid var(--sh-border); }
.sh-v40-mobile-extra a { padding:11px 8px; text-decoration:none; color:var(--sh-text); }
.sh-v40-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.sh-v40-product-card { background:#fff; border:1px solid var(--sh-border); border-radius:16px; overflow:hidden; box-shadow:0 6px 22px rgba(17,48,35,.06); }
.sh-v40-product-image { display:block; aspect-ratio:1/1; background:#f2eee5; overflow:hidden; }
.sh-v40-product-image img { width:100%; height:100%; object-fit:cover; display:block; }
.sh-v40-product-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#eee9dd,#e0d5c1); }
.sh-v40-product-body { padding:14px; }
.sh-v40-product-body h2 { margin:0 0 8px; font-size:16px; line-height:1.3; }
.sh-v40-product-body h2 a { color:var(--sh-text); text-decoration:none; }
.sh-v40-product-price { margin-bottom:12px; font-weight:700; }
.sh-v40-product-button { display:inline-flex; padding:9px 13px; border-radius:9px; background:var(--sh-primary); color:#fff !important; text-decoration:none; font-size:13px; font-weight:700; }
@media (max-width:1100px) and (min-width:941px) { .sh-v40-nav-list > .sh-v40-nav-item > a { padding-left:8px; padding-right:8px; font-size:13px; } .sh-v40-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:940px) { .sh-v40-nav { display:none !important; } .sh-v40-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:560px) { .sh-v40-product-grid{grid-template-columns:1fr;} }

/* V41 definitive header navigation --------------------------------------- */
.sh-v41-nav-list{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0;white-space:nowrap}
.sh-v41-item{position:relative;margin:0;padding:0}
.sh-v41-item>a{display:flex;align-items:center;gap:4px;padding:10px 8px;color:var(--sh-text);text-decoration:none;border-radius:999px;font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap}
.sh-v41-item>a:hover,.sh-v41-item>a:focus-visible{color:var(--sh-terracotta);background:rgba(184,83,47,.07);outline:none}
.sh-v41-chevron{font-size:10px;opacity:.65;line-height:1}
/* No physical gap between trigger and panel. The whole panel is a child of
   the li, so moving the pointer from the trigger into the panel keeps :hover. */
.sh-v41-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:245px;max-width:min(320px,calc(100vw - 24px));max-height:min(68vh,620px);overflow-y:auto;overflow-x:hidden;padding:10px;background:#fff;border:1px solid var(--sh-border);border-radius:0 0 14px 14px;box-shadow:0 18px 42px rgba(31,36,33,.16);opacity:0;visibility:hidden;pointer-events:none;z-index:500;transition:opacity .12s ease,visibility .12s ease}
.sh-v41-dropdown:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.sh-v41-has-children:hover>.sh-v41-dropdown,.sh-v41-has-children:focus-within>.sh-v41-dropdown{opacity:1;visibility:visible;pointer-events:auto}
.sh-v41-dropdown-inner{display:flex;flex-direction:column;gap:1px}
.sh-v41-dropdown a{display:block;padding:8px 10px;color:var(--sh-text);text-decoration:none;border-radius:8px;font-size:13px;line-height:1.25;white-space:normal}
.sh-v41-dropdown a:hover,.sh-v41-dropdown a:focus-visible{background:rgba(26,73,51,.07);color:var(--sh-terracotta);outline:none}
@media (min-width:941px){
  .sh-v40-nav{flex:1 1 auto;min-width:0}
  .sh-v41-nav-list{width:100%;justify-content:center}
  .sh-v41-item>a{font-size:12.5px;padding-left:7px;padding-right:7px}
}
@media (max-width:940px){
  .sh-v41-mobile-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
  .sh-v41-mobile-nav .sh-v41-item>a{display:flex;padding:12px 10px;border-radius:9px;text-decoration:none;color:var(--sh-text);font-size:15px}
  .sh-v41-mobile-nav .sh-v41-dropdown{position:static;display:block;opacity:1;visibility:visible;pointer-events:auto;transform:none;max-width:none;max-height:none;overflow:visible;box-shadow:none;border:0;border-top:1px solid var(--sh-border);border-radius:0;padding:4px 0 4px 12px}
  .sh-v41-mobile-nav .sh-v41-dropdown:before{display:none}
  .sh-v41-mobile-nav .sh-v41-dropdown a{padding:9px 10px;font-size:14px}
}


/* V42: stable category navigation — no hover gap, persistent bridge and scrollable columns. */
.sh-v41-nav-list > .sh-v41-item { position: relative; }
.sh-v41-nav-list > .sh-v41-has-children::after { content:""; position:absolute; left:-10px; right:-10px; top:100%; height:14px; }
.sh-v41-nav-list .sh-v41-dropdown { z-index:99999; pointer-events:auto; }
.sh-v41-nav-list .sh-v41-dropdown-inner { max-height:min(70vh,520px); overflow-y:auto; overscroll-behavior:contain; }
.sh-v41-nav-list .sh-v41-dropdown-inner a { display:block; white-space:nowrap; }
.sh-v41-nav-list > .sh-v41-has-children:hover .sh-v41-dropdown,
.sh-v41-nav-list > .sh-v41-has-children:focus-within .sh-v41-dropdown { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
.sh-v41-nav-list > .sh-v41-has-children:hover > a,
.sh-v41-nav-list > .sh-v41-has-children:focus-within > a { position:relative; z-index:100001; }

/* V43 — Homepage Browse by Category / child-category product showcase */
.sh-browse-category { background: var(--sh-bg, #faf8f3); }
.sh-browse-category .sh-section__head { align-items: end; }
.sh-browse-category .sh-section__head > div { max-width: 760px; }
.sh-browse-category__parent { margin-top: 42px; }
.sh-browse-category__parent + .sh-browse-category__parent { margin-top: 54px; padding-top: 46px; border-top: 1px solid rgba(40,35,28,.10); }
.sh-browse-category__parent-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:22px; }
.sh-browse-category__parent-title { margin:0; font-size:clamp(26px,3vw,38px); letter-spacing:-.02em; }
.sh-browse-category__parent-link { white-space:nowrap; font-size:14px; font-weight:700; text-decoration:none; }
.sh-browse-category__child { margin-top:26px; }
.sh-browse-category__child-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.sh-browse-category__child-title { margin:0; font-size:20px; }
.sh-browse-category__child-link { font-size:13px; font-weight:700; text-decoration:none; }
.sh-browse-category__products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sh-browse-category__product { min-width:0; }
.sh-browse-category__product .woocommerce-loop-product__link { display:block; text-decoration:none; }
.sh-browse-category__product img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:14px; background:var(--sh-sand,#eee7da); }
.sh-browse-category__product-title { display:block; margin-top:10px; font-size:15px; line-height:1.35; font-weight:700; }
.sh-browse-category__product-price { display:block; margin-top:5px; font-size:14px; }
.sh-browse-category__empty { padding:18px; border:1px dashed rgba(40,35,28,.16); border-radius:12px; font-size:14px; }
@media (max-width: 900px) {
  .sh-browse-category__products { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .sh-browse-category__parent-head,.sh-browse-category__child-head { align-items:flex-start; }
  .sh-browse-category__parent-head { flex-direction:column; }
  .sh-browse-category__products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .sh-browse-category__parent { margin-top:32px; }
  .sh-browse-category__parent + .sh-browse-category__parent { margin-top:38px; padding-top:34px; }
}

/* V44 — homepage category links + exactly 12 best sellers */
.sh-category-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sh-category-link-card{border:1px solid rgba(0,0,0,.10);border-radius:18px;padding:24px;background:#fff}
.sh-category-link-card__title{display:flex;justify-content:space-between;align-items:center;font-size:20px;font-weight:700;text-decoration:none;margin-bottom:14px}
.sh-category-link-card__children{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
.sh-category-link-card__children a{display:flex;justify-content:space-between;gap:8px;text-decoration:none;font-size:14px;padding:7px 0}
.sh-best-sellers__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.sh-best-seller-card{min-width:0}
.sh-best-seller-card__image-link{display:block;border-radius:16px;overflow:hidden;background:#f7f5f0}
.sh-best-seller-card__image-link img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.sh-best-seller-card__body{padding:13px 4px 0}
.sh-best-seller-card__category{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.65}
.sh-best-seller-card h3{font-size:16px;line-height:1.35;margin:5px 0}
.sh-best-seller-card h3 a{text-decoration:none}
.sh-best-seller-card__price{font-weight:600}
@media(max-width:900px){.sh-category-link-grid{grid-template-columns:1fr}.sh-best-sellers__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.sh-best-sellers__grid{grid-template-columns:1fr 1fr}.sh-category-link-card__children{grid-template-columns:1fr}}


/* V47: show all three top-level Browse by Category cards. */
.sh-browse-category .sh-category-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
@media (max-width: 980px){.sh-browse-category .sh-category-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.sh-browse-category .sh-category-link-grid{grid-template-columns:1fr}}


/* V48 — premium homepage hero + three category cards */
.sh-hero__img--default{display:block;object-fit:cover;object-position:center;width:100%;height:auto;min-height:390px;background:var(--sh-sand)}
.sh-hero h1 em{font-style:normal;color:#a54a25}
.sh-hero__media{min-width:0}
.sh-hero__badge--overlay{display:none}
.sh-category-intro{text-align:center;max-width:850px;margin:0 auto 34px}
.sh-category-intro h2{margin:.18em 0 .15em;font-size:clamp(2rem,4vw,3.1rem);letter-spacing:-.035em}
.sh-category-intro p{margin:0;color:var(--sh-muted);font-size:1.03rem}
.sh-category-link-grid--premium{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.sh-category-link-card--premium{position:relative;overflow:hidden;min-height:370px;padding:0;border-radius:18px;background:#fff;border:1px solid rgba(32,45,35,.12);box-shadow:0 12px 32px rgba(37,32,24,.07);isolation:isolate}
.sh-category-link-card--premium::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 45%,rgba(255,255,255,.08) 100%);z-index:-1}
.sh-category-link-card--premium::before{content:"";position:absolute;right:-5%;bottom:-4%;width:58%;height:78%;background-image:var(--sh-category-image);background-size:cover;background-position:center;background-repeat:no-repeat;z-index:-2;opacity:.98;mix-blend-mode:multiply}
.sh-category-card__content{padding:28px 28px 24px;position:relative;z-index:2;max-width:68%;min-height:370px;display:flex;flex-direction:column}
.sh-category-link-card--premium .sh-category-link-card__title{font-family:var(--font-heading);font-size:clamp(1.8rem,2.4vw,2.35rem);line-height:1.05;margin:0 0 4px;color:var(--sh-primary);text-decoration:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.sh-category-link-card--premium .sh-category-link-card__title span:last-child{font-family:var(--font-body);font-size:20px}
.sh-category-card__tagline{margin:0 0 18px;color:var(--sh-muted);font-size:14px;line-height:1.4}
.sh-category-link-card--premium .sh-category-link-card__children{display:grid;grid-template-columns:1fr;gap:4px}
.sh-category-link-card--premium .sh-category-link-card__children a{display:block;text-decoration:none;padding:3px 0;color:var(--sh-ink);font-size:14px;line-height:1.35}
.sh-category-link-card--premium .sh-category-link-card__children a::before{content:"✓";display:inline-block;margin-right:8px;font-weight:700}
.sh-category-link-card--premium .sh-category-card__cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:auto;width:max-content;max-width:100%;padding:11px 17px;border-radius:999px;background:var(--sh-primary);color:#fff;text-decoration:none;font-size:13px;font-weight:700}
.sh-category-link-card--premium.is-herbal{background:#fff7ec}
.sh-category-link-card--premium.is-herbal .sh-category-card__cta{background:#b75b2b}
.sh-category-link-card--premium.is-skin{background:#fff0f0}
.sh-category-link-card--premium.is-skin .sh-category-card__cta{background:#a52d5c}
.sh-category-link-card--premium.is-skin::after{background:linear-gradient(90deg,rgba(255,244,244,.98) 0%,rgba(255,244,244,.90) 45%,rgba(255,244,244,.08) 100%)}
.sh-category-link-card--premium.is-herbal::after{background:linear-gradient(90deg,rgba(255,247,236,.98) 0%,rgba(255,247,236,.90) 45%,rgba(255,247,236,.08) 100%)}
@media(max-width:980px){.sh-category-link-grid--premium{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-category-link-card--premium:last-child{grid-column:1/-1}.sh-category-card__content{max-width:72%}}
@media(max-width:640px){.sh-category-link-grid--premium{grid-template-columns:1fr}.sh-category-link-card--premium:last-child{grid-column:auto}.sh-category-card__content{max-width:70%;padding:24px;min-height:350px}.sh-category-link-card--premium{min-height:350px}.sh-category-link-card--premium::before{width:62%;opacity:.88}.sh-hero__img--default{min-height:280px}}


/* V49 — balanced premium category cards: curated subcategory lists keep all three cards equal height. */
.sh-category-link-grid--premium{align-items:stretch}
.sh-category-link-card--premium{height:390px;min-height:390px}
.sh-category-card__content{height:100%;min-height:0;box-sizing:border-box}
.sh-category-link-card--premium .sh-category-link-card__children{gap:2px}
.sh-category-link-card--premium .sh-category-link-card__children a{font-size:13px;padding:2px 0;line-height:1.25}
.sh-category-link-card--premium .sh-category-card__cta{margin-top:auto;position:relative;z-index:3}
@media(max-width:980px){.sh-category-link-card--premium{height:390px;min-height:390px}}
@media(max-width:640px){.sh-category-link-card--premium{height:370px;min-height:370px}.sh-category-card__content{min-height:0;height:100%}}
