/*
Theme Name: MomAndKidsHub
Theme URI: https://example.com/momandkidshub-theme
Author: MomAndKidsHub Team
Author URI: https://example.com
Description: A warm, modern WooCommerce-ready WordPress theme built for baby, kids and parenting stores. Product-first layouts, soft pastel palette, mobile-first responsive design, and full translation readiness.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: momandkidshub
Tags: e-commerce, custom-menu, custom-logo, featured-images, threaded-comments, translation-ready, one-column, two-columns, right-sidebar, footer-widgets
*/

/* -------------------------------------------------------------------------
   1. Design tokens
-------------------------------------------------------------------------- */
:root {
	/* Color */
	--mkh-color-primary: #ff8fab;
	--mkh-color-primary-light: #ffc2d1;
	--mkh-color-primary-dark: #c2185b;
	--mkh-color-primary-deep: #97123f;
	--mkh-color-secondary: #bfe3f8;
	--mkh-color-secondary-dark: #8fcbee;
	--mkh-color-accent: #ffd166;
	--mkh-color-accent-text: #9a6a00;
	--mkh-color-bg: #fffbf9;
	--mkh-color-surface: #ffffff;
	--mkh-color-surface-alt: #fff5f8;
	--mkh-color-text: #2b2b2b;
	--mkh-color-text-muted: #6b6b6b;
	--mkh-color-text-soft: #96898f;
	--mkh-color-border: #f2e9f0;
	--mkh-color-border-strong: #ead9e0;
	--mkh-color-success: #2e7d4f;
	--mkh-color-success-bg: #e8f5ee;
	--mkh-color-error: #c0392b;
	--mkh-color-error-bg: #fbeae7;

	/* Gradients */
	--mkh-gradient-primary: linear-gradient(135deg, #ff9db8 0%, #f4548a 100%);
	--mkh-gradient-primary-hover: linear-gradient(135deg, #ff85a6 0%, #e13b73 100%);
	--mkh-gradient-hero: linear-gradient(135deg, #ffc7d6 0%, #ffe3d6 45%, #cdeaf9 100%);
	--mkh-gradient-dark: linear-gradient(160deg, #322a2f 0%, #1c1418 100%);
	--mkh-gradient-gold: linear-gradient(135deg, #ffe29a 0%, #ffb347 100%);

	/* Typography (system-font stack kept for performance — see README) */
	--mkh-font-heading: 'Hind Siliguri', 'Segoe UI', system-ui, -apple-system, sans-serif;
	--mkh-font-body: 'Hind Siliguri', 'Segoe UI', system-ui, -apple-system, sans-serif;

	/* Fluid type scale */
	--mkh-fs-sm: clamp(0.82rem, 0.79rem + 0.15vw, 0.9rem);
	--mkh-fs-base: 1rem;
	--mkh-fs-md: clamp(1.05rem, 1rem + 0.25vw, 1.15rem);
	--mkh-fs-lg: clamp(1.2rem, 1.1rem + 0.5vw, 1.45rem);
	--mkh-fs-xl: clamp(1.5rem, 1.3rem + 1vw, 1.9rem);
	--mkh-fs-2xl: clamp(1.85rem, 1.55rem + 1.5vw, 2.4rem);
	--mkh-fs-3xl: clamp(2.2rem, 1.7rem + 2.5vw, 3.2rem);

	/* Spacing scale */
	--mkh-space-1: 4px;
	--mkh-space-2: 8px;
	--mkh-space-3: 12px;
	--mkh-space-4: 16px;
	--mkh-space-5: 24px;
	--mkh-space-6: 32px;
	--mkh-space-7: 48px;
	--mkh-space-8: 64px;
	--mkh-space-9: 96px;

	/* Radii */
	--mkh-radius-sm: 10px;
	--mkh-radius-md: 18px;
	--mkh-radius-lg: 28px;
	--mkh-radius-xl: 36px;
	--mkh-radius-pill: 999px;

	/* Elevation */
	--mkh-shadow-xs: 0 1px 3px rgba(43, 20, 30, 0.06);
	--mkh-shadow-sm: 0 3px 14px rgba(43, 20, 30, 0.07);
	--mkh-shadow-md: 0 14px 34px rgba(43, 20, 30, 0.11);
	--mkh-shadow-lg: 0 26px 60px rgba(43, 20, 30, 0.16);
	--mkh-shadow-glow: 0 0 0 4px rgba(255, 143, 171, 0.20);
	--mkh-shadow-button: 0 10px 24px rgba(226, 60, 118, 0.30);

	/* Layout */
	--mkh-container: 1240px;

	/* Motion */
	--mkh-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--mkh-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--mkh-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
	--mkh-dur-fast: 0.16s;
	--mkh-dur-base: 0.28s;
	--mkh-dur-slow: 0.5s;
}

/* -------------------------------------------------------------------------
   2. Reset & base
-------------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

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

[id] {
	scroll-margin-top: calc(var(--mkh-header-height, 90px) + 12px);
}

body {
	margin: 0;
	background: var(--mkh-color-bg);
	color: var(--mkh-color-text);
	font-family: var(--mkh-font-body);
	font-size: 16px;
	line-height: 1.68;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.mkh-scroll-lock {
	overflow: hidden;
}

::selection {
	background: var(--mkh-color-primary);
	color: #fff;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track {
	background: var(--mkh-color-bg);
}

::-webkit-scrollbar-thumb {
	background: var(--mkh-color-primary-light);
	border-radius: var(--mkh-radius-pill);
}

::-webkit-scrollbar-thumb:hover {
	background: var(--mkh-color-primary);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

svg {
	max-width: 100%;
}

a {
	color: var(--mkh-color-primary-dark);
	text-decoration: none;
	transition: color var(--mkh-dur-fast) var(--mkh-ease);
}

a:hover,
a:focus {
	color: var(--mkh-color-primary);
}

:focus-visible {
	outline: 3px solid var(--mkh-color-primary-dark);
	outline-offset: 2px;
	border-radius: 4px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mkh-font-heading);
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.01em;
	margin: 0 0 0.55em;
	color: var(--mkh-color-text);
}

h1 { font-size: var(--mkh-fs-3xl); }
h2 { font-size: var(--mkh-fs-2xl); }
h3 { font-size: var(--mkh-fs-xl); }

p {
	margin: 0 0 1.2em;
}

ul, ol {
	padding-left: 1.4em;
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 1rem;
}

hr {
	border: none;
	border-top: 1px solid var(--mkh-color-border);
	margin: var(--mkh-space-6) 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--mkh-color-text);
	color: #fff;
	padding: 0.9em 1.4em;
	z-index: 10000;
	border-radius: 0 0 var(--mkh-radius-sm) 0;
	font-weight: 600;
}

.skip-link:focus {
	left: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* -------------------------------------------------------------------------
   3. Layout helpers
-------------------------------------------------------------------------- */
.mkh-container {
	width: 100%;
	max-width: var(--mkh-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.mkh-section {
	padding: var(--mkh-space-8) 0;
}

.mkh-section--tinted {
	background: var(--mkh-color-surface-alt);
	border-radius: var(--mkh-radius-lg);
}

.mkh-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	color: var(--mkh-color-primary-dark);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 auto 10px;
	font-size: 0.78rem;
}

.mkh-eyebrow::before,
.mkh-eyebrow::after {
	content: '';
	width: 22px;
	height: 2px;
	border-radius: var(--mkh-radius-pill);
	background: var(--mkh-color-primary);
	opacity: 0.55;
}

.mkh-section-title {
	text-align: center;
	margin-bottom: 10px;
	font-size: var(--mkh-fs-2xl);
}

.mkh-section-subtitle {
	text-align: center;
	color: var(--mkh-color-text-muted);
	margin: 0 auto 40px;
	max-width: 560px;
	font-size: var(--mkh-fs-md);
}

.mkh-grid {
	display: grid;
	gap: var(--mkh-space-5);
}

.mkh-grid--6 { grid-template-columns: repeat(6, 1fr); }
.mkh-grid--4 { grid-template-columns: repeat(4, 1fr); }
.mkh-grid--3 { grid-template-columns: repeat(3, 1fr); }
.mkh-grid--2 { grid-template-columns: repeat(2, 1fr); }

/* -------------------------------------------------------------------------
   4. Buttons
-------------------------------------------------------------------------- */
.mkh-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.9em 1.9em;
	border-radius: var(--mkh-radius-pill);
	background: var(--mkh-gradient-primary);
	color: #fff;
	font-weight: 700;
	font-size: 0.98rem;
	border: none;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	box-shadow: var(--mkh-shadow-button);
	transition: transform var(--mkh-dur-fast) var(--mkh-ease-out), box-shadow var(--mkh-dur-fast) var(--mkh-ease-out), background var(--mkh-dur-base) var(--mkh-ease);
}

.mkh-btn::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.45) 48%, transparent 66%);
	transform: translateX(-120%);
	transition: transform var(--mkh-dur-slow) var(--mkh-ease-out);
}

.mkh-btn:hover,
.mkh-btn:focus-visible {
	background: var(--mkh-gradient-primary-hover);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(226, 60, 118, 0.38);
}

.mkh-btn:hover::before {
	transform: translateX(120%);
}

.mkh-btn:active {
	transform: translateY(0) scale(0.98);
	box-shadow: var(--mkh-shadow-sm);
}

.mkh-btn--outline {
	background: transparent;
	border: 2px solid var(--mkh-color-text);
	color: var(--mkh-color-text);
	box-shadow: none;
}

.mkh-btn--outline::before {
	display: none;
}

.mkh-btn--outline:hover,
.mkh-btn--outline:focus-visible {
	background: var(--mkh-color-text);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--mkh-shadow-md);
}

.mkh-btn--secondary {
	background: var(--mkh-color-secondary);
	color: var(--mkh-color-text);
	box-shadow: var(--mkh-shadow-sm);
}

.mkh-btn--secondary::before {
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.6) 48%, transparent 66%);
}

.mkh-btn--secondary:hover,
.mkh-btn--secondary:focus-visible {
	background: var(--mkh-color-secondary-dark);
	color: var(--mkh-color-text);
	box-shadow: var(--mkh-shadow-md);
}

.mkh-btn--sm {
	padding: 0.6em 1.3em;
	font-size: 0.86rem;
}

/* -------------------------------------------------------------------------
   5. Forms
-------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select {
	width: 100%;
	padding: 0.8em 1.05em;
	border: 2px solid var(--mkh-color-border);
	border-radius: var(--mkh-radius-sm);
	background: var(--mkh-color-surface);
	color: var(--mkh-color-text);
	transition: border-color var(--mkh-dur-fast) var(--mkh-ease), box-shadow var(--mkh-dur-fast) var(--mkh-ease);
}

select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--mkh-color-text-muted) 50%), linear-gradient(135deg, var(--mkh-color-text-muted) 50%, transparent 50%);
	background-position: calc(100% - 22px) center, calc(100% - 16px) center;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-right: 2.6em;
}

input::placeholder,
textarea::placeholder {
	color: var(--mkh-color-text-soft);
}

input:hover,
textarea:hover,
select:hover {
	border-color: var(--mkh-color-border-strong);
}

input:focus,
input:focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible {
	outline: none;
	border-color: var(--mkh-color-primary-dark);
	box-shadow: var(--mkh-shadow-glow);
}

label {
	font-weight: 600;
}

.search-form {
	display: flex;
	gap: 8px;
}

/* -------------------------------------------------------------------------
   6. Header
-------------------------------------------------------------------------- */
.mkh-topbar {
	background: var(--mkh-gradient-dark);
	color: #fff;
	font-size: var(--mkh-fs-sm);
	padding: 8px 0;
}

.mkh-topbar .mkh-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 28px;
	text-align: center;
}

.mkh-topbar .mkh-container > span {
	display: inline-flex;
	align-items: center;
}

.mkh-topbar a {
	color: #fff;
	font-weight: 600;
}

.mkh-topbar a:hover {
	color: var(--mkh-color-accent);
}

.site-header {
	background: rgba(255, 255, 255, 0.86);
	backdrop-filter: blur(14px) saturate(160%);
	-webkit-backdrop-filter: blur(14px) saturate(160%);
	box-shadow: var(--mkh-shadow-xs);
	position: sticky;
	top: 0;
	z-index: 999;
	transition: box-shadow var(--mkh-dur-base) var(--mkh-ease), padding var(--mkh-dur-base) var(--mkh-ease);
}

.site-header.is-scrolled {
	box-shadow: var(--mkh-shadow-sm);
}

.site-header .mkh-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 16px;
	padding-bottom: 16px;
	gap: 24px;
	transition: padding var(--mkh-dur-base) var(--mkh-ease);
}

.site-header.is-scrolled .mkh-container {
	padding-top: 10px;
	padding-bottom: 10px;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.site-branding img {
	max-height: 52px;
	width: auto;
	transition: max-height var(--mkh-dur-base) var(--mkh-ease);
}

.site-title {
	margin: 0;
	font-size: 1.45rem;
	letter-spacing: -0.02em;
}

.site-title a {
	color: var(--mkh-color-text);
}

.site-title a:hover {
	color: var(--mkh-color-primary-dark);
}

.site-description {
	margin: 0;
	font-size: 0.78rem;
	color: var(--mkh-color-text-muted);
}

.main-navigation {
	flex: 1;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 30px;
	justify-content: center;
}

.main-navigation li {
	position: relative;
}

.main-navigation > ul > li > a {
	display: block;
	position: relative;
	padding: 10px 2px;
	color: var(--mkh-color-text);
	font-weight: 600;
	font-size: 0.98rem;
}

.main-navigation > ul > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 4px;
	width: 100%;
	height: 2px;
	border-radius: var(--mkh-radius-pill);
	background: var(--mkh-color-primary-dark);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--mkh-dur-base) var(--mkh-ease-out);
}

.main-navigation > ul > li > a:hover,
.main-navigation > ul > li > a:focus-visible,
.main-navigation .current-menu-item > a {
	color: var(--mkh-color-primary-dark);
}

.main-navigation > ul > li > a:hover::after,
.main-navigation > ul > li > a:focus-visible::after,
.main-navigation .current-menu-item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.main-navigation .sub-menu {
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 230px;
	background: var(--mkh-color-surface);
	box-shadow: var(--mkh-shadow-lg);
	border-radius: var(--mkh-radius-md);
	padding: 10px;
	flex-direction: column;
	gap: 2px;
	transition: opacity var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease), visibility 0s var(--mkh-dur-fast);
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
	display: flex;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease), visibility 0s;
}

.main-navigation .sub-menu a {
	padding: 9px 14px;
	border-radius: var(--mkh-radius-sm);
	display: block;
}

.main-navigation .sub-menu a:hover {
	background: var(--mkh-color-surface-alt);
	color: var(--mkh-color-primary-dark);
}

.mkh-nav-drawer-head {
	display: none;
}

.mkh-header-search {
	display: flex;
	align-items: center;
	flex: 0 1 320px;
	background: var(--mkh-color-surface-alt);
	border: 2px solid transparent;
	border-radius: var(--mkh-radius-pill);
	padding: 4px 4px 4px 18px;
	transition: border-color var(--mkh-dur-fast) var(--mkh-ease), box-shadow var(--mkh-dur-fast) var(--mkh-ease), background var(--mkh-dur-fast) var(--mkh-ease);
}

.mkh-header-search:focus-within {
	border-color: var(--mkh-color-primary-dark);
	background: var(--mkh-color-surface);
	box-shadow: var(--mkh-shadow-glow);
}

.mkh-header-search input[type="search"] {
	border: none;
	background: transparent;
	padding: 0.5em 0.2em;
	width: 100%;
	box-shadow: none;
}

.mkh-header-search input[type="search"]:focus {
	outline: none;
	box-shadow: none;
	border: none;
}

.mkh-header-search button {
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: none;
	background: var(--mkh-gradient-primary);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform var(--mkh-dur-fast) var(--mkh-ease-spring);
}

.mkh-header-search button:hover {
	transform: scale(1.08);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

.header-actions a {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--mkh-color-surface-alt);
	color: var(--mkh-color-text);
	font-size: 1.15rem;
	transition: background var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease-spring), color var(--mkh-dur-fast) var(--mkh-ease);
}

.header-actions a:hover,
.header-actions a:focus-visible {
	background: var(--mkh-color-primary-light);
	color: var(--mkh-color-primary-deep);
	transform: translateY(-2px);
}

.mkh-cart-count,
.mkh-wishlist-count {
	position: absolute;
	top: -2px;
	right: -2px;
	background: var(--mkh-color-primary-dark);
	color: #fff;
	border-radius: 50%;
	font-size: 0.65rem;
	font-weight: 700;
	min-width: 19px;
	height: 19px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	box-shadow: 0 0 0 2px var(--mkh-color-surface);
	transition: transform var(--mkh-dur-fast) var(--mkh-ease-spring);
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: var(--mkh-color-surface-alt);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.2rem;
	color: var(--mkh-color-text);
	transition: background var(--mkh-dur-fast) var(--mkh-ease);
}

.menu-toggle:hover {
	background: var(--mkh-color-primary-light);
}

.mkh-nav-overlay {
	position: fixed;
	inset: 0;
	background: rgba(24, 12, 18, 0.5);
	backdrop-filter: blur(3px);
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	transition: opacity var(--mkh-dur-base) var(--mkh-ease), visibility 0s var(--mkh-dur-base);
}

.mkh-nav-overlay.is-open {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--mkh-dur-base) var(--mkh-ease), visibility 0s 0s;
}

@media (min-width: 783px) {
	.mkh-nav-overlay {
		display: none;
	}
}

/* -------------------------------------------------------------------------
   7. Hero
-------------------------------------------------------------------------- */
.mkh-hero {
	position: relative;
	background: var(--mkh-gradient-hero);
	color: var(--mkh-color-text);
	padding: var(--mkh-space-9) 0;
	border-radius: 0 0 var(--mkh-radius-xl) var(--mkh-radius-xl);
	overflow: hidden;
	isolation: isolate;
}

.mkh-hero::before,
.mkh-hero::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	filter: blur(2px);
	z-index: -1;
	opacity: 0.55;
}

.mkh-hero::before {
	width: 260px;
	height: 260px;
	background: radial-gradient(circle at 30% 30%, #ffffff, rgba(255, 255, 255, 0));
	top: -80px;
	right: 8%;
	animation: mkh-blob-float 9s ease-in-out infinite;
}

.mkh-hero::after {
	width: 180px;
	height: 180px;
	background: radial-gradient(circle at 30% 30%, #ffffff, rgba(255, 255, 255, 0));
	bottom: -60px;
	left: 6%;
	animation: mkh-blob-float 11s ease-in-out infinite reverse;
}

@keyframes mkh-blob-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50% { transform: translate(-16px, 18px) scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
	.mkh-hero::before,
	.mkh-hero::after {
		animation: none;
	}
}

.mkh-hero .mkh-container {
	display: flex;
	align-items: center;
	gap: 48px;
	flex-wrap: wrap;
}

.mkh-hero__content {
	flex: 1 1 420px;
}

.mkh-hero__content h1 {
	color: var(--mkh-color-text);
	font-size: var(--mkh-fs-3xl);
	margin-bottom: 18px;
}

.mkh-hero__content p {
	color: var(--mkh-color-text);
	opacity: 0.85;
	font-size: var(--mkh-fs-md);
	max-width: 480px;
	margin-bottom: 30px;
}

.mkh-hero__actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

.mkh-hero__image {
	flex: 1 1 360px;
	text-align: center;
}

.mkh-hero__image img {
	border-radius: var(--mkh-radius-lg);
	box-shadow: var(--mkh-shadow-lg);
}

/* -------------------------------------------------------------------------
   8. Category / Product cards
-------------------------------------------------------------------------- */
.mkh-category-card {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	overflow: hidden;
	text-align: center;
	box-shadow: var(--mkh-shadow-sm);
	transition: transform var(--mkh-dur-base) var(--mkh-ease-out), box-shadow var(--mkh-dur-base) var(--mkh-ease-out);
}

.mkh-category-card:hover,
.mkh-category-card:focus-visible {
	transform: translateY(-6px);
	box-shadow: var(--mkh-shadow-lg);
}

.mkh-category-card__image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--mkh-color-surface-alt);
}

.mkh-category-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--mkh-dur-slow) var(--mkh-ease-out);
}

.mkh-category-card:hover .mkh-category-card__image img {
	transform: scale(1.08);
}

.mkh-category-card__title {
	padding: 16px 10px;
	font-weight: 700;
	font-size: 1rem;
}

.mkh-product-card {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	overflow: hidden;
	box-shadow: var(--mkh-shadow-sm);
	transition: transform var(--mkh-dur-base) var(--mkh-ease-out), box-shadow var(--mkh-dur-base) var(--mkh-ease-out);
	position: relative;
	border: 1px solid transparent;
}

.mkh-product-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--mkh-shadow-lg);
	border-color: var(--mkh-color-border);
}

.mkh-product-card__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--mkh-gradient-primary);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	padding: 5px 11px;
	border-radius: var(--mkh-radius-pill);
	box-shadow: 0 6px 14px rgba(226, 60, 118, 0.35);
	z-index: 2;
}

/* -------------------------------------------------------------------------
   9. Blog / content
-------------------------------------------------------------------------- */
.mkh-content-layout {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 40px;
	align-items: start;
}

.mkh-content-layout--full {
	grid-template-columns: 1fr;
}

article.post,
article.page {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	padding: 30px;
	margin-bottom: 28px;
	box-shadow: var(--mkh-shadow-sm);
	transition: box-shadow var(--mkh-dur-base) var(--mkh-ease);
}

.entry-thumbnail img {
	border-radius: var(--mkh-radius-sm);
	margin-bottom: 18px;
}

.entry-meta {
	color: var(--mkh-color-text-muted);
	font-size: 0.85rem;
	margin-bottom: 10px;
}

.entry-meta a {
	color: var(--mkh-color-text-muted);
}

.entry-title a {
	color: var(--mkh-color-text);
}

.pagination,
.nav-links {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 30px 0;
}

.pagination a,
.pagination span,
.nav-links a,
.nav-links span {
	padding: 9px 16px;
	border-radius: var(--mkh-radius-sm);
	background: var(--mkh-color-surface);
	box-shadow: var(--mkh-shadow-sm);
	font-weight: 600;
	transition: transform var(--mkh-dur-fast) var(--mkh-ease), box-shadow var(--mkh-dur-fast) var(--mkh-ease);
}

.pagination a:hover,
.nav-links a:hover {
	transform: translateY(-2px);
	box-shadow: var(--mkh-shadow-md);
}

.pagination .current {
	background: var(--mkh-gradient-primary);
	color: #fff;
}

.widget {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	padding: 24px;
	margin-bottom: 24px;
	box-shadow: var(--mkh-shadow-sm);
}

.widget-title {
	font-size: 1.1rem;
	border-bottom: 2px solid var(--mkh-color-border);
	padding-bottom: 10px;
	margin-bottom: 14px;
}

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

.widget li {
	padding: 7px 0;
	border-bottom: 1px dashed var(--mkh-color-border);
}

/* -------------------------------------------------------------------------
   10. Footer
-------------------------------------------------------------------------- */
.site-footer {
	background: var(--mkh-gradient-dark);
	color: #e9e3e5;
	margin-top: 70px;
	position: relative;
}

.site-footer a {
	color: #e9e3e5;
}

.site-footer a:hover {
	color: var(--mkh-color-accent);
}

.footer-widgets {
	padding: 60px 0 32px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 36px;
}

.footer-widgets .widget {
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.footer-widgets .widget-title {
	color: #fff;
	border-bottom-color: rgba(255, 255, 255, 0.14);
	font-size: 1.05rem;
}

.footer-widgets li {
	border-bottom-color: rgba(255, 255, 255, 0.08);
	transition: transform var(--mkh-dur-fast) var(--mkh-ease);
}

.footer-widgets li a {
	display: inline-block;
	position: relative;
	transition: transform var(--mkh-dur-fast) var(--mkh-ease), color var(--mkh-dur-fast) var(--mkh-ease);
}

.footer-widgets li a:hover {
	transform: translateX(4px);
}

.mkh-social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	margin-right: 10px;
	font-size: 0.78rem;
	font-weight: 700;
	transition: background var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease-spring);
}

.mkh-social-links a:last-child {
	margin-right: 0;
}

.mkh-social-links a:hover {
	background: var(--mkh-gradient-primary);
	color: #fff;
	transform: translateY(-3px);
}

.site-info {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding: 20px 0;
	text-align: center;
	font-size: 0.85rem;
	color: #b9adb2;
}

/* -------------------------------------------------------------------------
   11. WooCommerce base overrides (see also assets/css/woocommerce.css)
-------------------------------------------------------------------------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mkh-space-5);
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
}

.woocommerce ul.products li.product {
	list-style: none;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.woocommerce input.button {
	background: var(--mkh-gradient-primary);
	color: #fff;
	border-radius: var(--mkh-radius-pill);
	padding: 0.8em 1.7em;
	border: none;
	font-weight: 700;
	cursor: pointer;
	box-shadow: var(--mkh-shadow-button);
	transition: transform var(--mkh-dur-fast) var(--mkh-ease-out), box-shadow var(--mkh-dur-fast) var(--mkh-ease-out);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--mkh-gradient-primary-hover);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 16px 30px rgba(226, 60, 118, 0.38);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--mkh-color-primary-dark);
	font-weight: 800;
}

/* -------------------------------------------------------------------------
   12. Responsive: core
-------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.mkh-grid--4,
	.mkh-grid--6,
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr);
	}

	.footer-widgets {
		grid-template-columns: repeat(2, 1fr);
	}

	.mkh-header-search {
		flex-basis: 220px;
	}
}

@media (max-width: 900px) {
	.site-header .mkh-container {
		flex-wrap: wrap;
	}

	.mkh-header-search {
		order: 5;
		flex: 1 1 100%;
		max-width: none;
	}
}

@media (max-width: 782px) {
	.main-navigation {
		position: fixed;
		top: 0;
		right: 0;
		width: min(330px, 88vw);
		height: 100dvh;
		background: var(--mkh-color-surface);
		box-shadow: var(--mkh-shadow-lg);
		z-index: 1001;
		display: flex;
		flex-direction: column;
		padding: var(--mkh-space-5);
		overflow-y: auto;
		flex: none;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform var(--mkh-dur-base) var(--mkh-ease-out), visibility 0s var(--mkh-dur-base);
	}

	.main-navigation.is-open {
		transform: translateX(0);
		visibility: visible;
		transition: transform var(--mkh-dur-base) var(--mkh-ease-out), visibility 0s 0s;
	}

	.mkh-nav-drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-bottom: var(--mkh-space-4);
		margin-bottom: var(--mkh-space-3);
		border-bottom: 1px solid var(--mkh-color-border);
	}

	.mkh-nav-drawer-title {
		font-weight: 800;
		font-size: 1.1rem;
	}

	.mkh-nav-close {
		width: 38px;
		height: 38px;
		border-radius: 50%;
		border: none;
		background: var(--mkh-color-surface-alt);
		font-size: 1.3rem;
		line-height: 1;
		cursor: pointer;
		color: var(--mkh-color-text);
		transition: background var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease);
	}

	.mkh-nav-close:hover {
		background: var(--mkh-color-primary-light);
		transform: rotate(90deg);
	}

	.main-navigation ul {
		flex-direction: column;
		gap: 2px;
	}

	.main-navigation ul > li {
		opacity: 0;
		transform: translateX(14px);
		transition: opacity 0.32s ease, transform 0.32s ease;
	}

	.main-navigation.is-open ul > li {
		opacity: 1;
		transform: translateX(0);
	}

	.main-navigation.is-open ul > li:nth-child(1) { transition-delay: 0.04s; }
	.main-navigation.is-open ul > li:nth-child(2) { transition-delay: 0.08s; }
	.main-navigation.is-open ul > li:nth-child(3) { transition-delay: 0.12s; }
	.main-navigation.is-open ul > li:nth-child(4) { transition-delay: 0.16s; }
	.main-navigation.is-open ul > li:nth-child(5) { transition-delay: 0.2s; }
	.main-navigation.is-open ul > li:nth-child(6) { transition-delay: 0.24s; }
	.main-navigation.is-open ul > li:nth-child(7) { transition-delay: 0.28s; }
	.main-navigation.is-open ul > li:nth-child(8) { transition-delay: 0.32s; }

	.main-navigation > ul > li > a {
		padding: 12px 4px;
		font-size: 1.05rem;
	}

	.main-navigation > ul > li > a::after {
		display: none;
	}

	.main-navigation .sub-menu {
		position: static;
		box-shadow: none;
		padding-left: 14px;
		opacity: 1;
		visibility: visible;
		transform: none;
		display: none;
	}

	.main-navigation .sub-menu a {
		padding: 10px 12px;
	}

	.site-header .mkh-container {
		flex-wrap: wrap;
	}

	.menu-toggle {
		display: flex;
	}

	@media (prefers-reduced-motion: reduce) {
		.main-navigation,
		.main-navigation ul > li {
			transition: none;
		}
	}

	.mkh-content-layout {
		grid-template-columns: 1fr;
	}

	.mkh-grid--4,
	.mkh-grid--6,
	.mkh-grid--3,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.mkh-hero__content h1 {
		font-size: clamp(1.8rem, 1.5rem + 3vw, 2.4rem);
	}
}

@media (max-width: 480px) {
	.mkh-grid--4,
	.mkh-grid--6,
	.mkh-grid--3,
	.mkh-grid--2,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr);
	}

	.footer-widgets {
		grid-template-columns: 1fr;
	}

	.mkh-hero {
		padding: var(--mkh-space-7) 0;
		border-radius: 0 0 var(--mkh-radius-lg) var(--mkh-radius-lg);
	}
}

/* -------------------------------------------------------------------------
   13. Hero animation (baby crying -> mom gives toy -> baby happy)
   Pure CSS + inline SVG, no external animation library.
-------------------------------------------------------------------------- */
.mkh-hero__animation {
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	aspect-ratio: 1 / 1;
	position: relative;
	filter: drop-shadow(0 20px 40px rgba(43, 20, 30, 0.18));
}

.mkh-baby-scene {
	width: 100%;
	height: 100%;
}

.mkh-baby-scene .mkh-tear {
	opacity: 0;
	animation: mkh-tear-fall 4.5s ease-in-out infinite;
}

.mkh-baby-scene .mkh-tear--2 {
	animation-delay: 0.4s;
}

.mkh-baby-scene .mkh-mouth-sad {
	opacity: 1;
	animation: mkh-mouth-swap 4.5s steps(1) infinite;
}

.mkh-baby-scene .mkh-mouth-happy {
	opacity: 0;
	animation: mkh-mouth-swap-happy 4.5s steps(1) infinite;
}

.mkh-baby-scene .mkh-toy {
	opacity: 0;
	transform: translate(60px, 20px) scale(0.6) rotate(-15deg);
	transform-origin: center;
	animation: mkh-toy-arrive 4.5s var(--mkh-ease) infinite;
}

.mkh-baby-scene .mkh-sparkle {
	opacity: 0;
	animation: mkh-sparkle-pop 4.5s ease-in-out infinite;
}

.mkh-baby-scene .mkh-cheek {
	opacity: 0;
	animation: mkh-cheek-blush 4.5s ease-in-out infinite;
}

@keyframes mkh-tear-fall {
	0%, 8% { opacity: 0; transform: translateY(0); }
	12% { opacity: 1; }
	32% { opacity: 0; transform: translateY(18px); }
	100% { opacity: 0; transform: translateY(0); }
}

@keyframes mkh-mouth-swap {
	0%, 55% { opacity: 1; }
	65%, 100% { opacity: 0; }
}

@keyframes mkh-mouth-swap-happy {
	0%, 55% { opacity: 0; }
	65%, 100% { opacity: 1; }
}

@keyframes mkh-toy-arrive {
	0%, 30% { opacity: 0; transform: translate(60px, 20px) scale(0.6) rotate(-15deg); }
	55% { opacity: 1; transform: translate(0, 0) scale(1) rotate(0deg); }
	100% { opacity: 1; transform: translate(0, 0) scale(1) rotate(0deg); }
}

@keyframes mkh-sparkle-pop {
	0%, 58% { opacity: 0; transform: scale(0.4); }
	68% { opacity: 1; transform: scale(1.1); }
	78%, 100% { opacity: 0; transform: scale(0.8); }
}

@keyframes mkh-cheek-blush {
	0%, 55% { opacity: 0; }
	70%, 100% { opacity: 0.55; }
}

@media (prefers-reduced-motion: reduce) {
	.mkh-baby-scene * {
		animation: none !important;
	}

	.mkh-baby-scene .mkh-mouth-happy,
	.mkh-baby-scene .mkh-toy,
	.mkh-baby-scene .mkh-cheek {
		opacity: 1;
		transform: none;
	}

	.mkh-baby-scene .mkh-mouth-sad,
	.mkh-baby-scene .mkh-tear,
	.mkh-baby-scene .mkh-sparkle {
		opacity: 0;
	}
}

/* -------------------------------------------------------------------------
   14. Best Sellers / New Arrivals / Flash Sale sections
-------------------------------------------------------------------------- */
.mkh-flash-sale {
	position: relative;
	background: linear-gradient(135deg, #fff0f5 0%, #eaf7ff 100%);
	border-radius: var(--mkh-radius-xl);
	overflow: hidden;
}

.mkh-flash-sale__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 34px;
}

.mkh-flash-sale .mkh-eyebrow,
.mkh-flash-sale .mkh-section-title {
	text-align: left;
	justify-content: flex-start;
	margin-left: 0;
}

.mkh-countdown {
	display: flex;
	gap: 10px;
}

.mkh-countdown__unit {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-sm);
	padding: 10px 16px;
	text-align: center;
	box-shadow: var(--mkh-shadow-sm);
	min-width: 62px;
	position: relative;
}

.mkh-countdown__value {
	display: block;
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--mkh-color-primary-dark);
	font-variant-numeric: tabular-nums;
}

.mkh-countdown__label {
	font-size: 0.68rem;
	color: var(--mkh-color-text-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* -------------------------------------------------------------------------
   15. Why Choose Us
-------------------------------------------------------------------------- */
.mkh-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mkh-space-5);
}

.mkh-feature {
	text-align: center;
	padding: 34px 22px;
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	box-shadow: var(--mkh-shadow-sm);
	transition: transform var(--mkh-dur-base) var(--mkh-ease-out), box-shadow var(--mkh-dur-base) var(--mkh-ease-out);
}

.mkh-feature:hover {
	transform: translateY(-6px);
	box-shadow: var(--mkh-shadow-md);
}

.mkh-feature__icon {
	width: 62px;
	height: 62px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--mkh-color-secondary) 0%, var(--mkh-color-secondary-dark) 100%);
	border-radius: 50%;
	font-size: 1.7rem;
	transition: transform var(--mkh-dur-base) var(--mkh-ease-spring);
}

.mkh-feature:hover .mkh-feature__icon {
	transform: scale(1.1) rotate(-6deg);
}

.mkh-feature__title {
	font-size: 1.05rem;
	margin-bottom: 8px;
}

.mkh-feature__desc {
	color: var(--mkh-color-text-muted);
	font-size: 0.9rem;
	margin: 0;
}

/* -------------------------------------------------------------------------
   16. Testimonials
-------------------------------------------------------------------------- */
.mkh-testimonial {
	position: relative;
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	padding: 30px 26px 26px;
	box-shadow: var(--mkh-shadow-sm);
	transition: transform var(--mkh-dur-base) var(--mkh-ease-out), box-shadow var(--mkh-dur-base) var(--mkh-ease-out);
}

.mkh-testimonial:hover {
	transform: translateY(-4px);
	box-shadow: var(--mkh-shadow-md);
}

.mkh-testimonial::before {
	content: '\201C';
	position: absolute;
	top: 8px;
	right: 22px;
	font-size: 3.6rem;
	font-family: Georgia, serif;
	color: var(--mkh-color-primary-light);
	line-height: 1;
	z-index: 0;
}

.mkh-testimonial__stars {
	color: var(--mkh-color-accent-text);
	margin-bottom: 12px;
	letter-spacing: 2px;
}

.mkh-testimonial__quote {
	position: relative;
	font-style: italic;
	margin-bottom: 18px;
	z-index: 1;
}

.mkh-testimonial__author {
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
}

.mkh-testimonial__author img {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 3px var(--mkh-color-surface-alt);
}

/* -------------------------------------------------------------------------
   17. FAQ (native <details>, zero JS)
-------------------------------------------------------------------------- */
.mkh-faq {
	max-width: 780px;
	margin: 0 auto;
}

.mkh-faq details {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	padding: 4px 24px;
	margin-bottom: 14px;
	box-shadow: var(--mkh-shadow-sm);
	transition: box-shadow var(--mkh-dur-base) var(--mkh-ease);
}

.mkh-faq details[open] {
	box-shadow: var(--mkh-shadow-md);
}

.mkh-faq summary {
	cursor: pointer;
	font-weight: 700;
	padding: 18px 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
}

.mkh-faq summary::-webkit-details-marker {
	display: none;
}

.mkh-faq summary::after {
	content: '+';
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mkh-color-surface-alt);
	font-size: 1.3rem;
	color: var(--mkh-color-primary-dark);
	transition: transform var(--mkh-dur-base) var(--mkh-ease), background var(--mkh-dur-base) var(--mkh-ease);
}

.mkh-faq details[open] summary::after {
	transform: rotate(135deg);
	background: var(--mkh-color-primary-light);
}

.mkh-faq .mkh-faq__answer {
	padding-bottom: 20px;
	color: var(--mkh-color-text-muted);
	animation: mkh-faq-in 0.25s var(--mkh-ease-out);
}

@keyframes mkh-faq-in {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* -------------------------------------------------------------------------
   18. Newsletter
-------------------------------------------------------------------------- */
.mkh-newsletter {
	position: relative;
	background: var(--mkh-gradient-dark);
	border-radius: var(--mkh-radius-xl);
	color: #fff;
	padding: 56px 40px;
	text-align: center;
	overflow: hidden;
	isolation: isolate;
}

.mkh-newsletter::before {
	content: '';
	position: absolute;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 143, 171, 0.35), transparent 70%);
	top: -140px;
	right: -80px;
	z-index: -1;
}

.mkh-newsletter h2 {
	color: #fff;
}

.mkh-newsletter p {
	color: #d8cfd3;
}

.mkh-newsletter__form {
	display: flex;
	gap: 10px;
	max-width: 480px;
	margin: 26px auto 0;
}

.mkh-newsletter__form input[type="email"] {
	border: none;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.14);
}

.mkh-newsletter__form input[type="email"]:focus {
	box-shadow: inset 0 0 0 2px var(--mkh-color-primary-light);
}

/* -------------------------------------------------------------------------
   19. Product card (custom WooCommerce loop card)
-------------------------------------------------------------------------- */
.mkh-product-card__image-wrap {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--mkh-radius-md);
	background: var(--mkh-color-surface-alt);
	display: block;
}

.mkh-product-card__image-wrap::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 10, 15, 0.28), transparent 45%);
	opacity: 0;
	transition: opacity var(--mkh-dur-base) var(--mkh-ease);
}

.mkh-product-card:hover .mkh-product-card__image-wrap::after {
	opacity: 1;
}

.mkh-product-card__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--mkh-dur-slow) var(--mkh-ease-out);
}

.mkh-product-card:hover .mkh-product-card__image-wrap img {
	transform: scale(1.08);
}

.mkh-wishlist-btn {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 3;
	box-shadow: var(--mkh-shadow-sm);
	transition: transform var(--mkh-dur-fast) var(--mkh-ease-spring), background var(--mkh-dur-fast) var(--mkh-ease);
}

.mkh-wishlist-btn:hover {
	transform: scale(1.12);
	background: #fff;
}

.mkh-wishlist-btn[data-active="true"] {
	color: var(--mkh-color-primary-dark);
	animation: mkh-heart-pop 0.4s var(--mkh-ease-spring);
}

@keyframes mkh-heart-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.35); }
	100% { transform: scale(1); }
}

.mkh-product-card__body {
	padding: 16px 6px 6px;
	text-align: left;
}

.mkh-product-card__title {
	font-size: 0.98rem;
	font-weight: 600;
	margin-bottom: 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
}

.mkh-product-card__title a {
	color: var(--mkh-color-text);
}

.mkh-product-card__title a:hover {
	color: var(--mkh-color-primary-dark);
}

.mkh-product-card__price {
	font-weight: 800;
	color: var(--mkh-color-primary-dark);
	font-size: 1.02rem;
}

.mkh-product-card__price del {
	color: var(--mkh-color-text-soft);
	font-weight: 400;
	margin-right: 6px;
	font-size: 0.88em;
}

.mkh-product-card__cta {
	display: block;
	width: 100%;
	margin-top: 12px;
	text-align: center;
	padding: 0.65em 1em;
	border-radius: var(--mkh-radius-pill);
	background: var(--mkh-color-surface-alt);
	color: var(--mkh-color-text);
	font-weight: 700;
	font-size: 0.9rem;
	border: none;
	cursor: pointer;
	transition: background var(--mkh-dur-fast) var(--mkh-ease), color var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease-out), box-shadow var(--mkh-dur-fast) var(--mkh-ease-out);
}

.mkh-product-card__cta:hover {
	background: var(--mkh-gradient-primary);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: var(--mkh-shadow-button);
}

.mkh-product-card__actions {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.mkh-product-card__actions .mkh-product-card__cta {
	margin-top: 0;
	flex: 1;
	padding: 0.65em 0.4em;
	font-size: 0.82rem;
}

.mkh-product-card__cta--order {
	background: var(--mkh-gradient-primary);
	color: #fff;
	box-shadow: var(--mkh-shadow-button);
}

.mkh-product-card__cta--order:hover {
	background: var(--mkh-gradient-primary-hover);
	color: #fff;
}

.mkh-product-card__cta--cart:hover {
	background: var(--mkh-color-text);
	color: #fff;
}

@media (max-width: 480px) {
	.mkh-product-card__actions {
		flex-direction: column;
	}
}

/* -------------------------------------------------------------------------
   20. Single product page
-------------------------------------------------------------------------- */
.woocommerce div.product {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	column-gap: 52px;
	row-gap: 0;
	align-items: start;
	position: relative;
}

/* Pin gallery + summary to row 1 explicitly. Without this, WooCommerce's
   default "Sale!" <span class="onsale"> — which is also a direct child of
   div.product, printed before the gallery — grabs the first grid cell for
   itself, bumping the gallery into the second cell and pushing the whole
   summary (title, price, add-to-cart) down into row 2, under the image,
   full width. Explicit placement keeps the two-column layout correct
   regardless of what else WooCommerce or plugins print as siblings. */
.woocommerce div.product > .mkh-product-gallery {
	grid-column: 1;
	grid-row: 1;
}

.woocommerce div.product > .summary.entry-summary {
	grid-column: 2;
	grid-row: 1;
}

/* "Sale!" ribbon: taken out of grid flow entirely and layered over the
   product image's top corner instead of eating a grid cell. */
.woocommerce div.product > span.onsale {
	position: absolute;
	top: 14px;
	inset-inline-start: 14px;
	z-index: 5;
	background: var(--mkh-gradient-primary);
	color: #fff;
	font-weight: 800;
	font-size: 0.82rem;
	letter-spacing: 0.02em;
	padding: 6px 16px;
	border-radius: var(--mkh-radius-pill);
	box-shadow: var(--mkh-shadow-sm);
	pointer-events: none;
}



/* Gallery + summary auto-place into row 1 (source order); everything
   WooCommerce hooks in afterwards (tabs, related, upsells, and our own
   frequently-bought / same-tag / FAQ sections) lives as a further direct
   child of div.product too, so it must span full width on its own row. */
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related.products,
.woocommerce div.product > .upsells.products {
	grid-column: 1 / -1;
	margin-top: var(--mkh-space-8);
}

.woocommerce div.product > .mkh-section {
	grid-column: 1 / -1;
}

.mkh-product-gallery {
	position: sticky;
	top: calc(var(--mkh-header-height, 90px) + 16px);
}

.mkh-product-gallery__main {
	border-radius: var(--mkh-radius-lg);
	overflow: hidden;
	background: var(--mkh-color-surface);
	box-shadow: var(--mkh-shadow-sm);
	aspect-ratio: 1 / 1;
	position: relative;
	cursor: zoom-in;
}

.mkh-product-gallery__main img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--mkh-dur-base) var(--mkh-ease);
}

.mkh-product-gallery__main.is-zoomed img {
	transform: scale(1.9);
	cursor: zoom-out;
}

.mkh-product-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 4px;
}

.mkh-product-gallery__thumbs button {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	border-radius: var(--mkh-radius-sm);
	overflow: hidden;
	border: 2px solid transparent;
	padding: 0;
	background: none;
	cursor: pointer;
	scroll-snap-align: start;
	transition: border-color var(--mkh-dur-fast) var(--mkh-ease), transform var(--mkh-dur-fast) var(--mkh-ease);
}

.mkh-product-gallery__thumbs button:hover {
	transform: translateY(-2px);
}

.mkh-product-gallery__thumbs button.is-active {
	border-color: var(--mkh-color-primary-dark);
}

.mkh-product-gallery__thumbs img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.summary.entry-summary {
	min-width: 0;
}

.summary.entry-summary .product_title {
	font-size: var(--mkh-fs-xl);
	margin-bottom: 10px;
}

.summary.entry-summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.summary.entry-summary p.price {
	font-size: 1.7rem;
	font-weight: 800;
	color: var(--mkh-color-primary-dark);
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.summary.entry-summary p.price del {
	font-size: 1.05rem;
	color: var(--mkh-color-text-soft);
	font-weight: 400;
	opacity: 1;
}

.summary.entry-summary p.price ins {
	text-decoration: none;
}

.summary.entry-summary .woocommerce-product-details__short-description {
	color: var(--mkh-color-text-muted);
	margin-bottom: 18px;
}

.summary.entry-summary form.cart {
	background: var(--mkh-color-surface-alt);
	border-radius: var(--mkh-radius-md);
	padding: 20px;
	margin: 20px 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.mkh-badge-discount {
	background: var(--mkh-gradient-gold);
	color: var(--mkh-color-accent-text);
	padding: 4px 13px;
	border-radius: var(--mkh-radius-pill);
	font-size: 0.8rem;
	font-weight: 800;
}

.mkh-stock-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 700;
	margin-bottom: 18px;
	padding: 6px 14px;
	border-radius: var(--mkh-radius-pill);
	font-size: 0.88rem;
}

.mkh-stock-status--in {
	color: var(--mkh-color-success);
	background: var(--mkh-color-success-bg);
}

.mkh-stock-status--out {
	color: var(--mkh-color-error);
	background: var(--mkh-color-error-bg);
}

.mkh-delivery-info {
	background: var(--mkh-color-surface-alt);
	border-radius: var(--mkh-radius-md);
	padding: 20px 22px;
	margin: 22px 0;
}

.mkh-delivery-info__row {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin-bottom: 10px;
	font-size: 0.92rem;
}

.mkh-delivery-info__row:last-child {
	margin-bottom: 0;
}

.mkh-buy-actions {
	display: flex;
	gap: 12px;
	margin: 22px 0;
}

.mkh-buy-actions .mkh-btn {
	flex: 1;
	text-align: center;
	font-size: 1.05rem;
	padding: 0.95em 1em;
}

.mkh-sticky-buy-bar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: -120px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(12px) saturate(160%);
	-webkit-backdrop-filter: blur(12px) saturate(160%);
	box-shadow: 0 -12px 34px rgba(43, 20, 30, 0.14);
	padding: 14px 16px;
	z-index: 998;
	transition: bottom var(--mkh-dur-base) var(--mkh-ease-out);
}

.mkh-sticky-buy-bar.is-visible {
	bottom: 0;
}

.mkh-sticky-buy-bar .mkh-container {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-left: 0;
	padding-right: 0;
}

.mkh-sticky-buy-bar__info {
	flex: 1;
	min-width: 0;
}

.mkh-sticky-buy-bar__title {
	font-size: 0.85rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.mkh-sticky-buy-bar__price {
	font-weight: 800;
	color: var(--mkh-color-primary-dark);
}

.mkh-sticky-buy-bar__thumb {
	border-radius: var(--mkh-radius-sm);
	flex: 0 0 auto;
	box-shadow: var(--mkh-shadow-sm);
}

/* -------------------------------------------------------------------------
   21. Simplified checkout
-------------------------------------------------------------------------- */
.mkh-checkout-layout {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 40px;
	align-items: start;
}

.mkh-checkout-form,
.mkh-order-summary {
	position: relative;
	background:
		radial-gradient(circle at 100% 0%, var(--mkh-color-primary-light) 0%, transparent 42%),
		radial-gradient(circle at 0% 100%, var(--mkh-color-secondary) 0%, transparent 38%),
		var(--mkh-color-surface);
	border: 1px solid var(--mkh-color-border);
	border-radius: var(--mkh-radius-xl);
	padding: 32px 30px;
	box-shadow: var(--mkh-shadow-md);
}

.mkh-order-summary {
	background:
		radial-gradient(circle at 100% 0%, var(--mkh-color-accent) 0%, transparent 32%),
		radial-gradient(circle at 0% 100%, var(--mkh-color-primary-light) 0%, transparent 38%),
		var(--mkh-color-surface);
	position: sticky;
	top: calc(var(--mkh-header-height, 90px) + 16px);
}

.mkh-checkout-form h2,
.mkh-order-summary h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	font-size: 1.3rem;
	color: var(--mkh-color-primary-deep);
}

.mkh-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--mkh-color-surface-alt);
	box-shadow: var(--mkh-shadow-xs);
	font-size: 1.15rem;
}

.mkh-form-row {
	margin-bottom: 18px;
}

.mkh-form-row label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.mkh-form-row .required {
	color: var(--mkh-color-error);
}

.mkh-payment-cod {
	background: linear-gradient(135deg, var(--mkh-color-success-bg), var(--mkh-color-surface-alt));
	border: 1px solid rgba(46, 125, 79, 0.18);
	border-radius: var(--mkh-radius-md);
	padding: 18px;
	margin: 22px 0;
	display: flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
}

.mkh-order-summary__item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid var(--mkh-color-border);
}

.mkh-order-summary__item img {
	width: 58px;
	height: 58px;
	object-fit: cover;
	border-radius: var(--mkh-radius-sm);
	box-shadow: var(--mkh-shadow-xs);
}

.mkh-order-summary__totals {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 2px solid var(--mkh-color-border);
}

.mkh-order-summary__totals-row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 9px;
}

.mkh-order-summary__totals-row--grand {
	font-weight: 800;
	font-size: 1.2rem;
	color: var(--mkh-color-primary-dark);
}

/* -------------------------------------------------------------------------
   22. Thank you page
-------------------------------------------------------------------------- */
.mkh-thankyou {
	text-align: center;
	max-width: 640px;
	margin: 0 auto;
	padding: 64px 20px;
}

.mkh-thankyou__icon {
	width: 92px;
	height: 92px;
	border-radius: 50%;
	background: linear-gradient(135deg, #3fae72, var(--mkh-color-success));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
	margin: 0 auto 26px;
	box-shadow: 0 16px 32px rgba(46, 125, 79, 0.3);
	animation: mkh-heart-pop 0.5s var(--mkh-ease-spring);
}

.mkh-thankyou__icon--error {
	background: linear-gradient(135deg, #d8503f, var(--mkh-color-error));
	box-shadow: 0 16px 32px rgba(192, 57, 43, 0.3);
}

.mkh-thankyou__order-box {
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-lg);
	box-shadow: var(--mkh-shadow-sm);
	padding: 26px;
	margin-top: 26px;
	text-align: left;
}

.mkh-thankyou__items {
	margin-top: 16px;
}

.mkh-order-summary__item-total {
	margin-left: auto;
	font-weight: 700;
	color: var(--mkh-color-primary-dark);
}

.mkh-thankyou__shop-link {
	margin-top: 28px;
}

/* -------------------------------------------------------------------------
   23. Responsive: new sections
-------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.mkh-features {
		grid-template-columns: repeat(2, 1fr);
	}

	.woocommerce div.product,
	.mkh-checkout-layout {
		grid-template-columns: 1fr;
	}

	.woocommerce div.product > .mkh-product-gallery,
	.woocommerce div.product > .summary.entry-summary {
		grid-column: 1;
	}

	.woocommerce div.product > .summary.entry-summary {
		grid-row: 2;
	}

	.mkh-product-gallery,
	.mkh-order-summary {
		position: static;
	}
}

@media (max-width: 782px) {
	.mkh-flash-sale__header {
		flex-direction: column;
		align-items: flex-start;
	}

	.mkh-newsletter {
		padding: 40px 22px;
	}

	.mkh-newsletter__form {
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	.mkh-features {
		grid-template-columns: 1fr;
	}

	.mkh-countdown__unit {
		min-width: 52px;
		padding: 8px 10px;
	}

	.mkh-buy-actions {
		flex-direction: column;
	}
}

/* -------------------------------------------------------------------------
   24. 404 page
-------------------------------------------------------------------------- */
.mkh-404 {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: var(--mkh-space-8) 0;
}

.mkh-404__code {
	font-size: 6rem;
	font-weight: 800;
	line-height: 1;
	margin: 0 0 0.2em;
	background: var(--mkh-gradient-primary);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.mkh-404__shop-link,
.mkh-404__search {
	margin-top: 20px;
}

/* -------------------------------------------------------------------------
   25. Frequently bought together
-------------------------------------------------------------------------- */
.mkh-fbt-item-row {
	display: flex;
	gap: 12px;
	align-items: center;
	background: var(--mkh-color-surface);
	border-radius: var(--mkh-radius-md);
	padding: 14px;
	box-shadow: var(--mkh-shadow-sm);
	cursor: pointer;
	transition: box-shadow var(--mkh-dur-base) var(--mkh-ease), transform var(--mkh-dur-base) var(--mkh-ease-out);
}

.mkh-fbt-item-row:hover {
	box-shadow: var(--mkh-shadow-md);
	transform: translateY(-3px);
}

.mkh-fbt-item-row img {
	border-radius: var(--mkh-radius-sm);
	flex-shrink: 0;
}

.mkh-fbt-item-row__name {
	display: block;
	font-size: 0.9rem;
	margin-bottom: 2px;
}

.mkh-fbt-item-row__price {
	color: var(--mkh-color-primary-dark);
	font-weight: 700;
}

.mkh-fbt-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	flex-wrap: wrap;
	gap: 14px;
}

.mkh-fbt-total {
	color: var(--mkh-color-primary-dark);
	font-size: 1.25rem;
}

/* -------------------------------------------------------------------------
   26. Misc utility classes
-------------------------------------------------------------------------- */
.mkh-section-title--left {
	text-align: left;
	justify-content: flex-start;
	margin-left: 0;
}

.mkh-section-title--left.mkh-section-title--flush {
	margin-bottom: 0;
}

.mkh-faq--flush {
	margin: 0;
}

.mkh-placeholder-icon {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.2rem;
	background: var(--mkh-color-surface-alt);
}

/* -------------------------------------------------------------------------
   27. Scroll reveal (progressive enhancement — see assets/js/main.js)
   Class is only ever added by JS, so content is always visible without it.
-------------------------------------------------------------------------- */
.mkh-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.6s var(--mkh-ease-out), transform 0.6s var(--mkh-ease-out);
}

.mkh-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.mkh-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
