/* ==========================================================================
   Kiara Impex — main styles (on top of Bootstrap 5.3)
   Tokens taken from the Kiara Figma file.
   ========================================================================== */

:root {
	--k-orange: #ee6c12;
	--k-orange-600: #d95f0c;
	--k-brown: #9e4300;
	--k-brown-700: #783100;
	--k-brown-900: #341100;
	--k-peach: #ffdbcb;
	--k-ink: #191c1f;
	--k-ink-2: #1f1b16;
	--k-muted: #645d57;
	--k-text-2: #584237;
	--k-dark: #2e3134;
	--k-bg: #f8f9fd;
	--k-surface: #ffffff;
	--k-surface-2: #f2f3f7;
	--k-surface-3: #eceef2;
	--k-line: #e7e8ec;
	--k-stone: #cfc5bd;
	--k-sand: #ebe1d9;
	--k-sand-2: #e8ded6;
	--k-mint: #6ffbbe;
	--k-mint-ink: #002113;
	--k-green: #006c49;
	--k-green-2: #00a773;
	--k-light: #eff1f5;

	--k-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--k-font-head: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;

	--k-shadow-xs: 0 1px 1px rgba(0, 0, 0, .05);
	--k-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);
	--k-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
	--k-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
	--k-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
	--k-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);

	--k-gutter: 24px;
	--k-header-h: 168px;

	/* Bootstrap overrides */
	--bs-body-font-family: var(--k-font);
	--bs-body-color: var(--k-ink);
	--bs-body-bg: var(--k-bg);
	--bs-link-color: var(--k-brown);
	--bs-link-color-rgb: 158, 67, 0;
	--bs-link-hover-color: var(--k-orange);
	--bs-link-hover-color-rgb: 238, 108, 18;
	--bs-border-color: var(--k-line);
	--bs-primary: var(--k-orange);
	--bs-primary-rgb: 238, 108, 18;
	--bs-focus-ring-color: rgba(238, 108, 18, .3);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	font-family: var(--k-font);
	font-size: 15px;
	line-height: 1.6;
	color: var(--k-ink);
	background: var(--k-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; }
a { color: var(--k-brown); text-decoration: none; transition: color .15s; }
a:hover { color: var(--k-orange); }
:focus-visible { outline: 2px solid var(--k-orange); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--k-peach); color: var(--k-brown-900); }

.k-skip { position: absolute; left: 16px; top: 8px; z-index: 2000; background: var(--k-ink); color: #fff; padding: 8px 16px; border-radius: 8px; }
.k-main { display: block; min-height: 40vh; }
.k-icon { display: inline-block; flex-shrink: 0; vertical-align: middle; }

.k-container {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--k-gutter);
}
@media (max-width: 575.98px) { :root { --k-gutter: 16px; } }

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
.k-display {
	font-family: var(--k-font-head);
	font-weight: 800;
	font-size: clamp(30px, 4.2vw, 44px);
	line-height: 1.18;
	letter-spacing: -.025em;
	color: var(--k-ink);
	margin: 0;
}
.k-display--light { color: var(--k-light); letter-spacing: -.03em; }
.k-display--brown { color: var(--k-brown-900); letter-spacing: -.03em; }
.k-display--orange { color: var(--k-orange); font-size: clamp(64px, 12vw, 120px); display: block; }

.k-h1, .k-h2 {
	font-family: var(--k-font-head);
	font-weight: 700;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.25;
	letter-spacing: -.02em;
	color: var(--k-ink);
	margin: 0;
}
.k-h1 { letter-spacing: -.025em; }
.k-h4 { font-family: var(--k-font-head); font-weight: 700; font-size: 22px; line-height: 1.3; margin: 0 0 8px; }
.k-h5 { font-family: var(--k-font-head); font-weight: 600; font-size: 18px; line-height: 24px; letter-spacing: -.01em; color: var(--k-ink); }
.k-h6 { font-family: var(--k-font); font-weight: 700; font-size: 15px; line-height: 20px; letter-spacing: .01em; color: var(--k-ink); }

.k-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 11px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--k-brown);
}
.k-eyebrow--dot::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--k-orange); }
.k-eyebrow--muted { color: var(--k-text-2); }

.k-muted { color: var(--k-muted); }
.k-lead { font-size: 18px; line-height: 28px; color: var(--k-muted); }

.k-prose { color: var(--k-muted); font-size: 15px; line-height: 24px; }
.k-prose > *:first-child { margin-top: 0; }
.k-prose h1, .k-prose h2, .k-prose h3 { font-family: var(--k-font-head); font-weight: 700; color: var(--k-ink); letter-spacing: -.02em; margin: 1.2em 0 .5em; }
.k-prose h2, .k-prose h3:first-child { font-size: clamp(24px, 3vw, 32px); line-height: 1.25; }
.k-prose h3 { font-size: 22px; line-height: 1.3; }
.k-prose h4 { font-family: var(--k-font-head); font-size: 18px; font-weight: 600; color: var(--k-ink); }
.k-prose p:first-of-type { font-size: 18px; line-height: 28px; }
.k-prose ul { padding-left: 1.2em; }
.k-prose li { margin-bottom: 6px; }
.k-prose a { text-decoration: underline; text-underline-offset: 2px; }
.k-prose img { border-radius: 12px; }
.k-prose blockquote { border-left: 4px solid var(--k-orange); padding: 8px 16px; background: var(--k-surface-2); border-radius: 0 12px 12px 0; color: var(--k-ink); }

/* --------------------------------------------------------------------------
   Buttons, pills, chips, tiles
   -------------------------------------------------------------------------- */
.k-btn {
	--k-btn-bg: var(--k-surface);
	--k-btn-color: var(--k-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 12px 24px;
	border: 0;
	border-radius: 8px;
	background: var(--k-btn-bg);
	color: var(--k-btn-color);
	font-family: var(--k-font);
	font-size: 15px;
	line-height: 20px;
	font-weight: 600;
	letter-spacing: .01em;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s, color .15s, box-shadow .15s, transform .15s;
}
.k-btn:hover { color: var(--k-btn-color); transform: translateY(-1px); }
.k-btn:active { transform: translateY(0); }
.k-btn[disabled], .k-btn.disabled { opacity: .55; pointer-events: none; }
.k-btn--primary { --k-btn-bg: var(--k-orange); --k-btn-color: #fff; }
.k-btn--primary:hover { --k-btn-bg: var(--k-orange-600); }
.k-btn--white { box-shadow: var(--k-shadow-xs), 0 0 0 1px rgba(0, 0, 0, .02); }
.k-btn--white:hover { --k-btn-bg: #fff; box-shadow: var(--k-shadow-md); }
.k-btn--dark { --k-btn-bg: var(--k-dark); --k-btn-color: var(--k-light); font-weight: 700; }
.k-btn--dark:hover { --k-btn-bg: #1f2124; }
.k-btn--brown { --k-btn-bg: var(--k-brown); --k-btn-color: #fff; font-weight: 700; border-radius: 12px; min-height: 56px; padding-inline: 40px; }
.k-btn--brown:hover { --k-btn-bg: var(--k-brown-700); }
.k-btn--lg { min-height: 48px; padding-inline: 40px; }
.k-btn--white.k-btn--lg { padding-inline: 24px; }
.k-btn--wide { padding-inline: 40px; }
.k-btn--block { display: flex; width: 100%; }
.k-btn--xs { min-height: 28px; padding: 6px 12px; font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .04em; border-radius: 8px; }
.k-btn--shadow { box-shadow: var(--k-shadow-md); }
.k-btn--primary.k-btn--shadow:hover { box-shadow: var(--k-shadow-lg); }

.k-pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 9999px;
	font-size: 10px;
	line-height: 15px;
	font-weight: 700;
	letter-spacing: .025em;
	text-transform: uppercase;
	color: #fff;
	background: var(--k-orange);
	white-space: nowrap;
}
.k-pill.is-brown { background: var(--k-brown); }
.k-pill.is-orange, .k-pill--orange { background: var(--k-orange); }
.k-pill.is-green { background: var(--k-green); }
.k-pill--dark { background: var(--k-dark); }
.k-pill--md { font-size: 11px; line-height: 16px; letter-spacing: .05em; padding: 4px 12px; }

.k-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 6px 16px;
	border-radius: 9999px;
	font-size: 11px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--k-brown-900);
	box-shadow: var(--k-shadow-xs);
}
.k-chip--peach { background: var(--k-peach); }
.k-chip--mint { background: var(--k-mint); color: var(--k-mint-ink); }
.k-chip--grey { background: var(--k-line); color: var(--k-text-2); box-shadow: none; padding: 4px 10px; }
.k-chip--sm { padding: 4px 12px; letter-spacing: .025em; gap: 4px; }

.k-tile {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: var(--k-surface-2);
}
.k-tile--lg { border-radius: 12px; }
.k-tile--sm { width: 32px; height: 32px; }
.k-tile--peach { background: var(--k-peach); }
.k-tile--mint { background: var(--k-mint); }
.k-tile--sand { background: var(--k-sand); }
.k-tile--grey { background: var(--k-line); }
.k-tile--green { background: var(--k-green-2); }

.k-dot-live { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--k-green); flex-shrink: 0; }
.k-dot-live.is-orange { width: 8px; height: 8px; background: var(--k-orange); }

.k-card { background: var(--k-surface); border-radius: 16px; box-shadow: var(--k-shadow-xs), 0 0 0 1px rgba(25, 28, 31, .02); }

.k-stars { display: inline-flex; align-items: center; line-height: 0; }
.k-star.is-empty { opacity: .25; filter: grayscale(1); }

.k-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	line-height: 20px;
	font-weight: 600;
	letter-spacing: .01em;
	color: var(--k-brown);
	white-space: nowrap;
}
.k-link-arrow .k-icon { transition: transform .15s; }
.k-link-arrow:hover .k-icon { transform: translateX(3px); }
.k-link-arrow--sm { font-size: 13px; }

.k-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin: 0; }
.k-price__now { font-family: var(--k-font-head); font-weight: 800; font-size: 24px; line-height: 32px; letter-spacing: -.015em; color: var(--k-ink); }
.k-price__was { font-size: 13px; line-height: 20px; color: var(--k-muted); }

.k-stock { display: flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 11px; line-height: 16.5px; font-weight: 600; color: var(--k-green); }
.k-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.k-stock.is-out { color: #b42318; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.k-header {
	position: relative;
	z-index: 1030;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	box-shadow: 0 1px 8px rgba(0, 0, 0, .04);
}
@media (min-width: 992px) {
	.k-header { position: sticky; top: 0; }
	.admin-bar .k-header { top: 32px; }
}

.k-topbar { background: var(--k-dark); color: var(--k-peach); }
.k-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: 1280px;
	margin-inline: auto;
	padding: 8px 16px;
	font-size: 11px;
	line-height: 16px;
	font-weight: 700;
	letter-spacing: .04em;
}
.k-topbar__list { display: flex; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; }
.k-topbar__list li { display: flex; align-items: center; gap: 4px; }
.k-topbar__sep { color: var(--k-stone); }
.k-topbar__light { color: var(--k-light); }
.k-topbar__right { display: flex; align-items: center; gap: 24px; }
.k-topbar__right a { display: inline-flex; align-items: center; gap: 4px; }
.k-topbar__right a:hover { color: var(--k-peach); }
@media (max-width: 991.98px) {
	.k-topbar__inner { justify-content: center; }
	.k-topbar__list { justify-content: center; }
}

.k-header__main { max-width: 1280px; margin-inline: auto; }
.k-header__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 80px;
	padding-inline: var(--k-gutter);
}
.k-logo { display: inline-flex; flex-shrink: 0; }
.k-logo img { display: block; width: auto; height: 64px; }
.k-logo--footer img { height: 56px; }
.custom-logo-link img { max-height: 64px; width: auto; }

.k-search {
	flex: 1 1 auto;
	max-width: 672px;
	margin-inline: 24px;
	display: flex;
	align-items: center;
	padding: 4px;
	border-radius: 8px;
	background: var(--k-surface-2);
	transition: box-shadow .15s;
}
.k-search:focus-within { box-shadow: 0 0 0 2px rgba(238, 108, 18, .35); background: #fff; }
.k-search__cat {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent url("../icons/chevron-down.svg") no-repeat right 4px center / 10px;
	padding: 6px 24px 6px 12px;
	max-width: 180px;
	font-size: 13px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: .015em;
	color: var(--k-text-2);
	cursor: pointer;
}
.k-search__cat:focus { outline: none; }
.k-search__divider { width: .7px; height: 16px; background: var(--k-stone); margin-inline: 4px; flex-shrink: 0; }
.k-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 8px;
	font-size: 13px;
	color: var(--k-ink);
}
.k-search__input::placeholder { color: var(--k-muted); }
.k-search__input:focus { outline: none; }
.k-search__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 8px;
	background: var(--k-orange);
	transition: background-color .15s;
}
.k-search__btn:hover { background: var(--k-orange-600); }

.k-header__actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.k-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px;
	border-radius: 8px;
	background: var(--k-surface-2);
	color: var(--k-ink);
	transition: background-color .15s;
}
.k-action--wish { padding: 8px 8px 10px; }
.k-action:hover { background: var(--k-line); color: var(--k-ink); }
.k-action__text { flex-direction: column; line-height: 1; }
.k-action__label { font-size: 10px; line-height: 10px; text-transform: uppercase; color: var(--k-muted); }
.k-cart-total { font-size: 13px; line-height: 16.25px; font-weight: 700; letter-spacing: .015em; color: var(--k-ink); }
.k-cart-total .woocommerce-Price-amount { font-weight: 700; }
.k-badge-count {
	position: absolute;
	top: -4px;
	right: -4.33px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 16px;
	height: 16px;
	padding: 0 4px 1px;
	border-radius: 9999px;
	background: var(--k-orange);
	color: #fff;
	font-size: 10px;
	line-height: 15px;
	font-weight: 700;
}
.k-header__divider { width: 1px; height: 24px; background: var(--k-line); }
.k-avatar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--k-peach);
	transition: box-shadow .15s;
}
.k-avatar-btn:hover { box-shadow: 0 0 0 3px rgba(238, 108, 18, .2); }

.k-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 8px;
	background: var(--k-surface-2);
}
.k-burger { display: inline-flex; flex-direction: column; gap: 4px; }
.k-burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--k-ink); }

.k-navbar { background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .02); }
.k-navbar__inner { max-width: 1280px; margin-inline: auto; padding-inline: var(--k-gutter); }
.k-nav { display: flex; align-items: center; gap: 4px; margin: 0; padding: 8px 0; list-style: none; }
.k-nav-link {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .015em;
	color: var(--k-text-2);
	white-space: nowrap;
	transition: background-color .15s, color .15s;
}
.k-nav-link:hover { background: var(--k-surface-2); color: var(--k-ink); }
.k-nav-link.is-active, .k-nav .current-menu-item > .k-nav-link { background: var(--k-orange); color: #fff; font-size: 16px; line-height: 24px; font-weight: 700; letter-spacing: 0; }

@media (max-width: 1199.98px) {
	.k-search { margin-inline: 8px; }
	.k-search__cat { display: none; }
	.k-search__divider { display: none; }
	.k-nav-link { padding-inline: 12px; }
}
@media (max-width: 991.98px) {
	.k-header__row { flex-wrap: wrap; min-height: 0; padding-block: 10px; gap: 10px 12px; }
	.k-logo img, .custom-logo-link img { height: 46px; }
	.k-header__row > .k-logo, .k-header__row > .custom-logo-link { margin-right: auto; }
	.k-header__actions { gap: 8px; }
	.k-search { order: 5; flex-basis: 100%; max-width: none; margin: 0; }
	.k-search__btn { width: 36px; height: 36px; }
	.k-action { padding: 8px; }
}

/* Mobile offcanvas navigation */
.k-offcanvas { --bs-offcanvas-width: min(340px, 88vw); }
.k-offcanvas .offcanvas-header { border-bottom: 1px solid var(--k-line); }
.k-offcanvas .k-logo img { height: 46px; }
.k-mobile-nav .k-nav { flex-direction: column; align-items: stretch; gap: 4px; padding: 0; }
.k-mobile-nav .k-nav-link { display: flex; padding: 12px 16px; font-size: 15px; }
.k-mobile-nav .k-nav-link.is-active { font-size: 15px; line-height: 20px; }
.k-mobile-perks { margin-top: 24px; padding: 16px; border-radius: 12px; background: var(--k-surface-2); }
.k-mobile-perks p { display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 0; font-size: 13px; font-weight: 600; color: var(--k-text-2); }

/* --------------------------------------------------------------------------
   Sections & headings
   -------------------------------------------------------------------------- */
.k-section { padding-block: 80px; }
.k-section--light { background: var(--k-bg); }
.k-section--grey { background: var(--k-surface-2); }
.k-section--tight { padding-block: 64px; }
@media (max-width: 767.98px) {
	.k-section { padding-block: 56px; }
	.k-section--tight { padding-block: 40px; }
}

.k-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 48px;
}
.k-section-head__text { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 6px; }
.k-section-head--center { justify-content: center; text-align: center; margin-bottom: 32px; }
.k-section-head--center .k-section-head__text { align-items: center; max-width: 576px; }
.k-section-head--center-y { align-items: center; margin-bottom: 24px; }
.k-section-head__desc { margin: 2px 0 0; font-size: 15px; line-height: 24px; color: var(--k-muted); }
@media (max-width: 767.98px) {
	.k-section-head { flex-wrap: wrap; align-items: flex-start; margin-bottom: 28px; }
}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.k-hero {
	position: relative;
	overflow: hidden;
	padding: 48px 0 80px;
	background: linear-gradient(180deg, rgba(231, 232, 236, .4) 0%, var(--k-bg) 50%, var(--k-bg) 100%);
}
.k-hero__blob { position: absolute; border-radius: 50%; filter: blur(32px); pointer-events: none; }
.k-hero__blob--a { width: 650px; height: 650px; left: 59%; top: -176px; background: rgba(255, 219, 203, .3); }
.k-hero__blob--b { width: 500px; height: 500px; left: -15%; top: 60%; background: rgba(232, 222, 214, .4); }
.k-hero__grid { padding-top: 32px; --bs-gutter-x: 40px; }
.k-hero .k-chip { margin-bottom: 16px; }
.k-hero .k-display { max-width: 576px; }
.k-hero__lead { max-width: 512px; margin: 16px 0 0; font-size: 18px; line-height: 29.25px; color: var(--k-muted); }
.k-hero__ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 24px; }
.k-hero__rating { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin: 24px 0 0; font-size: 13px; line-height: 20px; color: var(--k-muted); }
.k-hero__rating strong { color: var(--k-ink); }

.k-hero__showcase {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--k-shadow-xl);
}
.k-hero__pics { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.k-hero__pic { position: relative; margin: 0; overflow: hidden; border-radius: 12px; background: var(--k-surface-2); }
.k-hero__pic img { display: block; width: 100%; height: 223px; object-fit: cover; transition: transform .5s; }
.k-hero__pic:hover img { transform: scale(1.04); }
.k-hero__pic .k-pill { position: absolute; left: 8px; top: 8px; padding: 2px 8px; }
.k-hero__strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 8px;
	background: rgba(255, 255, 255, .9);
	box-shadow: var(--k-shadow-sm);
	font-size: 11px;
	line-height: 16px;
	font-weight: 700;
}
.k-hero__strip-price { display: inline-flex; align-items: center; gap: 8px; letter-spacing: .04em; color: var(--k-ink); }
.k-hero__strip-note { color: var(--k-brown); }
.k-hero__float {
	position: absolute;
	left: -24px;
	bottom: -15.5px;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 17px;
	border: 1px solid var(--k-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--k-shadow-xl);
}
.k-hero__float strong { display: block; font-size: 13px; line-height: 18px; letter-spacing: .015em; }
.k-hero__float small { display: block; font-size: 13px; line-height: 20px; color: var(--k-muted); }

.k-pillars {
	display: flex;
	gap: 16px;
	margin-top: 64px;
	padding: 32px 24px 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--k-shadow-xs);
}
.k-pillar { flex: 1 1 0; display: flex; align-items: center; gap: 16px; padding: 8px; min-width: 0; }
.k-pillar__title { display: block; font-size: 15px; line-height: 20px; font-weight: 700; letter-spacing: .01em; }
.k-pillar__desc { display: block; font-size: 13px; line-height: 20px; color: var(--k-muted); }

@media (max-width: 991.98px) {
	.k-hero { padding: 24px 0 56px; }
	.k-hero__grid { padding-top: 8px; }
	.k-hero__float { left: 8px; }
	.k-pillars { display: grid; grid-template-columns: 1fr 1fr; margin-top: 56px; padding: 16px; }
}
@media (max-width: 575.98px) {
	.k-hero .k-chip { font-size: 10px; letter-spacing: .03em; padding: 6px 12px; }
	.k-hero__lead { font-size: 16px; line-height: 26px; }
	.k-hero__ctas .k-btn { flex: 1 1 100%; }
	.k-hero__pic img { height: 150px; }
	.k-hero__float { position: relative; left: 0; bottom: 0; margin-top: 4px; padding: 12px; box-shadow: none; }
	.k-pillars { grid-template-columns: 1fr; gap: 4px; }
	.k-pillar { padding: 6px 0; }
}

/* --------------------------------------------------------------------------
   Category strip
   -------------------------------------------------------------------------- */
.k-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.k-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 176px;
	padding: 16px 8px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--k-shadow-xs);
	text-align: center;
	color: var(--k-ink);
	transition: transform .2s, box-shadow .2s;
}
.k-cat:hover { color: var(--k-ink); transform: translateY(-4px); box-shadow: var(--k-shadow-lg); }
.k-cat__img {
	display: block;
	width: 96px;
	height: 96px;
	margin-bottom: 8px;
	padding: 4px;
	border-radius: 50%;
	background: var(--k-surface-3);
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, .05);
	overflow: hidden;
}
.k-cat__img img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.k-cat__name { font-size: 15px; line-height: 20px; font-weight: 700; letter-spacing: .01em; }
.k-cat__desc { font-size: 13px; line-height: 20px; color: var(--k-muted); }
@media (max-width: 1199.98px) { .k-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
	.k-cats {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 148px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-inline: calc(var(--k-gutter) * -1);
		padding: 4px var(--k-gutter) 12px;
		scrollbar-width: none;
	}
	.k-cats::-webkit-scrollbar { display: none; }
	.k-cat { scroll-snap-align: start; min-height: 160px; }
	.k-cat__img { width: 80px; height: 80px; }
}

/* --------------------------------------------------------------------------
   Segment tabs & product grids
   -------------------------------------------------------------------------- */
.k-segment { display: inline-flex; flex-wrap: nowrap; padding: 4px; border-radius: 12px; background: #fff; box-shadow: var(--k-shadow-xs); }
.k-segment__btn {
	padding: 6px 16px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	font-size: 13px;
	line-height: 18px;
	font-weight: 600;
	letter-spacing: .015em;
	color: var(--k-muted);
	white-space: nowrap;
	transition: background-color .15s, color .15s;
}
.k-segment__btn:hover { color: var(--k-ink); }
.k-segment__btn.active { background: var(--k-orange); color: #fff; font-weight: 700; }

.k-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1199.98px) { .k-grid-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991.98px) { .k-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }

/* Product card (home / related) */
.k-card-product {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--k-shadow-xs), 0 0 0 1px rgba(25, 28, 31, .02);
	transition: box-shadow .2s, transform .2s;
}
.k-card-product:hover { box-shadow: var(--k-shadow-lg); transform: translateY(-2px); }
.k-card-product--home { padding: 16px; }
.k-card-product__media { position: relative; overflow: hidden; border-radius: 12px; background: var(--k-surface-3); }
.k-card-product__media > a { display: block; }
.k-card-product__img,
.k-card-product__media > a img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s; }
.k-card-product:hover .k-card-product__media > a img { transform: scale(1.05); }
.k-card-product__badge { position: absolute; left: 12px; top: 12px; }
.k-wish {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .8);
	backdrop-filter: blur(4px);
	box-shadow: var(--k-shadow-sm);
	transition: transform .15s, background-color .15s;
}
.k-wish .k-icon { width: 15px; height: 13.76px; }
.k-wish:hover { transform: scale(1.08); background: #fff; }
.k-wish.is-active, .k-icon-square.is-active { background: var(--k-peach); }
.k-wish.is-active img, .k-icon-square.is-active img { filter: invert(38%) sepia(94%) saturate(2400%) hue-rotate(10deg) brightness(97%); }

.k-card-product__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 16px; }
.k-card-product__cat { margin: 0; font-size: 11px; line-height: 16.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--k-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.k-card-product__score { display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0; font-size: 12px; line-height: 16px; }
.k-card-product__score span { font-size: 11px; color: var(--k-muted); }
.k-card-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 4px 0 0;
	min-height: 48px;
	font-family: var(--k-font-head);
	font-size: 18px;
	line-height: 24px;
	font-weight: 700;
	letter-spacing: -.01em;
}
.k-card-product__title a { color: var(--k-ink); }
.k-card-product__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.k-card-product__title a:hover { color: var(--k-brown); }
.k-card-product__price { margin-top: auto; padding-top: 28px; }

@media (max-width: 575.98px) {
	.k-card-product--home { padding: 10px; }
	.k-card-product__title { font-size: 15px; line-height: 20px; min-height: 40px; }
	.k-price__now { font-size: 20px; line-height: 28px; }
	.k-card-product__price { padding-top: 12px; }
	.k-card-product__meta { flex-wrap: wrap; margin-top: 10px; }
	.k-card-product__badge { left: 8px; top: 8px; }
	.k-wish { right: 8px; top: 8px; width: 32px; height: 32px; }
}

/* --------------------------------------------------------------------------
   Highlight (dark feature panel)
   -------------------------------------------------------------------------- */
.k-highlight { overflow: hidden; border-radius: 24px; background: var(--k-dark); box-shadow: var(--k-shadow-2xl); }
.k-highlight__body { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; height: 100%; padding: 56px; }
.k-highlight__body .k-display { margin-top: 8px; }
.k-highlight__lead { max-width: 576px; margin: 0; font-size: 18px; line-height: 29.25px; color: var(--k-stone); }
.k-highlight__specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: 100%; margin: 16px 0 16px; }
.k-glass { display: flex; flex-direction: column; gap: 3px; padding: 16px 16px 17px; border-radius: 12px; background: rgba(225, 226, 230, .1); backdrop-filter: blur(2px); }
.k-glass strong { font-family: var(--k-font-head); font-size: 24px; line-height: 32px; font-weight: 700; letter-spacing: -.015em; color: var(--k-peach); }
.k-glass span { font-size: 13px; line-height: 20px; color: #e1e2e6; }
.k-highlight__media { display: flex; align-items: center; justify-content: center; height: 100%; padding: 24px; background: var(--k-line); }
.k-highlight__media img { width: 100%; max-width: 465px; max-height: 420px; aspect-ratio: 465 / 420; object-fit: cover; box-shadow: 0 25px 25px rgba(0, 0, 0, .15); }
@media (max-width: 991.98px) {
	.k-highlight__body { padding: 32px 24px; }
	.k-highlight__media img { max-height: 320px; }
}
@media (max-width: 575.98px) {
	.k-highlight { border-radius: 16px; }
	.k-highlight__lead { font-size: 15px; line-height: 24px; }
	.k-highlight__specs { gap: 8px; }
	.k-glass { padding: 12px 10px; }
	.k-glass strong { font-size: 20px; line-height: 28px; }
	.k-glass span { font-size: 11px; line-height: 16px; }
	.k-highlight__body .k-btn { width: 100%; white-space: normal; }
}

/* --------------------------------------------------------------------------
   Reviews carousel
   -------------------------------------------------------------------------- */
.k-carousel-nav { display: flex; gap: 8px; }
.k-square-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--k-shadow-xs);
	transition: box-shadow .15s;
}
.k-square-btn:hover { box-shadow: var(--k-shadow-md); }
.k-scroller {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 48px) / 3);
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.k-scroller::-webkit-scrollbar { display: none; }
.k-review {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--k-shadow-xs);
	scroll-snap-align: start;
}
.k-review__top { display: flex; align-items: center; justify-content: space-between; font-size: 11px; line-height: 16.5px; color: var(--k-muted); }
.k-review__title { margin: 16px 0 7px; font-family: var(--k-font-head); font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: -.01em; }
.k-review__text { margin: 0 0 24px; font-size: 15px; line-height: 24.38px; color: var(--k-muted); }
.k-review__author { display: flex; align-items: center; gap: 12px; padding-top: 16px; }
.k-review__avatar { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--k-sand); font-size: 16px; font-weight: 700; color: var(--k-ink-2); }
.k-review__name { display: flex; align-items: center; gap: 6px; font-size: 13px; line-height: 18px; font-weight: 700; letter-spacing: .015em; }
.k-review__meta { display: block; margin-top: 4px; font-size: 12px; line-height: 18px; color: var(--k-muted); }
@media (max-width: 991.98px) { .k-scroller { grid-auto-columns: 70%; gap: 16px; } }
@media (max-width: 575.98px) {
	.k-scroller { grid-auto-columns: 86%; margin-inline: calc(var(--k-gutter) * -1); padding-inline: var(--k-gutter); scroll-padding-inline: var(--k-gutter); }
	.k-carousel-nav { display: none; }
}

/* --------------------------------------------------------------------------
   Guides / blog cards
   -------------------------------------------------------------------------- */
.k-guide { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: var(--k-shadow-sm); transition: box-shadow .2s, transform .2s; }
.k-guide:hover { box-shadow: var(--k-shadow-lg); transform: translateY(-2px); }
.k-guide__media { position: relative; display: block; height: 224px; padding: 16px; background: var(--k-surface-3); }
.k-guide__media img { width: 100%; height: 100%; border-radius: 8px; object-fit: cover; }
.k-guide__tag { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; border-radius: 4px; background: rgba(255, 255, 255, .9); backdrop-filter: blur(4px); font-size: 11px; line-height: 16px; font-weight: 700; letter-spacing: .04em; color: var(--k-ink); }
.k-guide__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.k-guide__meta { display: flex; gap: 8px; margin: 0; font-size: 12px; line-height: 18px; color: var(--k-muted); }
.k-guide__title { margin: 8px 0 0; font-family: var(--k-font-head); font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: -.01em; }
.k-guide__title a { color: var(--k-ink); }
.k-guide__title a:hover { color: var(--k-brown); }
.k-guide__text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 8px 0 0; font-size: 15px; line-height: 24px; color: var(--k-muted); }
.k-guide__more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 19px; font-size: 13px; line-height: 18px; font-weight: 700; letter-spacing: .015em; color: var(--k-brown); }

/* --------------------------------------------------------------------------
   Community gallery
   -------------------------------------------------------------------------- */
.k-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 16px; }
.k-gallery__item { margin: 0; padding: 8px; overflow: hidden; border-radius: 12px; background: #fff; box-shadow: var(--k-shadow-sm); }
.k-gallery__item img { display: block; width: 100%; height: 283px; border-radius: 8px; object-fit: cover; transition: transform .5s; }
.k-gallery__item:hover img { transform: scale(1.04); }
@media (max-width: 767.98px) {
	.k-gallery { grid-template-columns: 1fr 1fr; }
	.k-gallery__item img { height: auto; aspect-ratio: 1; }
}

/* --------------------------------------------------------------------------
   Opt-in banner
   -------------------------------------------------------------------------- */
.k-optin {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	overflow: hidden;
	padding: 56px;
	border-radius: 24px;
	background: var(--k-peach);
	box-shadow: var(--k-shadow-lg);
}
.k-optin__circle { position: absolute; right: -64px; top: -64px; width: 320px; height: 320px; border-radius: 50%; background: rgba(238, 108, 18, .1); pointer-events: none; }
.k-optin__copy { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; max-width: 576px; }
.k-optin__copy .k-display { margin-top: 4px; }
.k-optin__lead { margin: 0; font-size: 18px; line-height: 28px; color: var(--k-brown-700); }
.k-optin__form { position: relative; flex: 1 1 auto; max-width: 448px; }
.k-optin__row { display: flex; gap: 0; }
.k-optin__row input {
	flex: 1 1 auto;
	min-width: 0;
	height: 56px;
	margin-right: -8px;
	padding: 0 24px 0 16px;
	border: 0;
	border-radius: 12px 0 0 12px;
	background: #fff;
	box-shadow: var(--k-shadow-sm);
	font-size: 15px;
	color: var(--k-ink);
}
.k-optin__row input:focus { outline: 2px solid var(--k-brown); outline-offset: 0; }
.k-optin__row .k-btn { position: relative; }
.k-optin__note, .k-optin__note.k-subscribe__msg { margin: 8px 0 0; font-size: 12px; line-height: 18px; font-weight: 400; color: var(--k-brown-700); }
.k-optin__note.is-error { color: #b42318; font-weight: 600; }
@media (max-width: 991.98px) {
	.k-optin { flex-direction: column; align-items: stretch; padding: 32px 24px; }
	.k-optin__form { max-width: none; }
}
@media (max-width: 575.98px) {
	.k-optin { border-radius: 16px; }
	.k-optin__lead { font-size: 15px; line-height: 24px; }
	.k-optin__row { flex-direction: column; gap: 8px; }
	.k-optin__row input { margin: 0; border-radius: 12px; }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.k-footer { background: var(--k-surface-2); }
.k-footer__features { padding-block: 40px; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .04); }
.k-feature { display: flex; align-items: center; gap: 16px; height: 100%; padding: 16px; border-radius: 12px; background: var(--k-surface-2); }
.k-feature__title { display: block; font-size: 15px; line-height: 20px; font-weight: 700; letter-spacing: .01em; }
.k-feature__desc { display: block; font-size: 13px; line-height: 20px; color: var(--k-muted); }
.k-footer__body { padding-block: 40px; }
.k-footer__about { max-width: 384px; margin: 16px 0; font-size: 15px; line-height: 24px; color: var(--k-muted); }
.k-footer__title { margin: 0 0 8px; font-family: var(--k-font); font-size: 15px; line-height: 20px; font-weight: 700; letter-spacing: .01em; color: var(--k-ink); }
.k-footer__small { margin: 0; font-size: 13px; line-height: 20px; color: var(--k-muted); }
.k-subscribe { display: flex; gap: 4px; max-width: 448px; margin-top: 8px; }
.k-subscribe__input { flex: 1 1 auto; min-width: 0; height: 48px; padding: 0 16px; border: 0; border-radius: 8px; background: #fff; font-size: 13px; color: var(--k-ink); }
.k-subscribe__input:focus { outline: 2px solid var(--k-orange); }
.k-subscribe .k-btn { min-height: 48px; }
.k-subscribe__msg { margin: 6px 0 0; font-size: 12px; font-weight: 600; color: var(--k-green); min-height: 1px; }
.k-subscribe__msg.is-error { color: #b42318; }
.k-footer__label { margin: 16px 0 8px; font-size: 11px; line-height: 16.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--k-muted); }
.k-paychips { display: flex; flex-wrap: wrap; gap: 8px 8px; margin: 0; padding: 0; list-style: none; max-width: 420px; }
.k-paychips li { padding: 5px 11px; border: 1px solid var(--k-line); border-radius: 4px; background: #fff; font-size: 12px; line-height: 16px; font-weight: 700; }
.k-paychips .is-razorpay { border-color: transparent; background: #0c2451; color: #fff; }
.k-paychips .is-cod { border-color: transparent; background: var(--k-mint); color: var(--k-mint-ink); }
.k-footer-links { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.k-footer-links a { font-size: 15px; line-height: 24px; color: var(--k-muted); }
.k-footer-links a:hover { color: var(--k-orange); }
.k-footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--k-line); font-size: 13px; line-height: 20px; color: var(--k-muted); }
.k-footer__bottom .k-footer-links { flex-direction: row; gap: 16px; }
.k-footer__bottom .k-footer-links a { font-size: 13px; line-height: 20px; }
@media (max-width: 767.98px) {
	.k-footer__features { padding-block: 24px; }
	.k-feature { flex-direction: column; align-items: flex-start; gap: 10px; padding: 12px; }
	.k-feature__title { font-size: 13px; line-height: 18px; }
	.k-feature__desc { font-size: 12px; line-height: 16px; }
	.k-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* --------------------------------------------------------------------------
   Generic page head, breadcrumb, articles, empty states
   -------------------------------------------------------------------------- */
.k-page-head { padding-block: 16px 20px; background: #fff; box-shadow: var(--k-shadow-xs); margin-bottom: 24px; }
.k-page-head__title { margin-top: 4px; }
.k-page-head__desc { max-width: 768px; margin: 4px 0 0; font-size: 13px; line-height: 20px; color: var(--k-muted); }
.k-page-head__desc p { margin: 0; }
.k-page-head__row { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.k-page-body { padding-bottom: 64px; }

.k-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .015em; color: var(--k-ink); }
.k-breadcrumb a { color: var(--k-muted); }
.k-breadcrumb a:hover { color: var(--k-orange); }
.k-breadcrumb .k-crumb:first-child a { display: inline-flex; align-items: center; gap: 4px; }
.k-breadcrumb .k-crumb:first-child a::before { content: ""; width: 9.33px; height: 10.5px; background: url("../icons/home.svg") no-repeat center / contain; }
.k-crumb-sep { color: var(--k-stone); }

.k-article { padding: 32px; }
.k-article__media { margin: -32px -32px 24px; overflow: hidden; border-radius: 16px 16px 0 0; }
.k-article__media img { width: 100%; height: auto; }
.k-article__tags a { display: inline-block; margin: 4px 4px 0 0; padding: 4px 10px; border-radius: 9999px; background: var(--k-surface-2); font-size: 12px; color: var(--k-text-2); }
.k-post-nav { display: flex; justify-content: space-between; gap: 16px; margin: 24px 0; font-weight: 600; }
.k-comments { margin-top: 24px; padding: 32px; }
.k-comment-list { padding-left: 0; list-style: none; }
.k-comment-list .comment-body { padding: 16px 0; border-bottom: 1px solid var(--k-line); }
@media (max-width: 575.98px) {
	.k-article, .k-comments { padding: 20px; }
	.k-article__media { margin: -20px -20px 20px; }
}

.k-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 640px; margin: 24px auto; padding: 48px 24px; text-align: center; }
.k-searchform { display: flex; gap: 8px; width: 100%; max-width: 440px; }
.k-searchform .k-input { flex: 1; }

/* Generic inputs */
.k-input,
.form-control.k-input {
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid transparent;
	border-radius: 8px;
	background-color: var(--k-surface-2);
	font-size: 15px;
	color: var(--k-ink);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
.k-input:focus,
.form-control.k-input:focus { background-color: #fff; border-color: var(--k-orange); box-shadow: 0 0 0 3px rgba(238, 108, 18, .15); outline: none; }
.k-label { display: block; margin-bottom: 6px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--k-text-2); }

.form-check-input:checked { background-color: var(--k-orange); border-color: var(--k-orange); }
.form-check-input:focus { border-color: var(--k-orange); box-shadow: 0 0 0 3px rgba(238, 108, 18, .2); }

/* Toast */
.k-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 2000;
	transform: translate(-50%, 150%);
	padding: 12px 20px;
	border-radius: 12px;
	background: var(--k-dark);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	box-shadow: var(--k-shadow-xl);
	transition: transform .3s;
}
.k-toast.is-visible { transform: translate(-50%, 0); }

/* Widgets */
.widget h2, .widget .wp-block-heading { margin: 0 0 12px; font-family: var(--k-font-head); font-size: 18px; line-height: 24px; font-weight: 700; }
.widget ul { margin: 0; padding-left: 0; list-style: none; }
.widget li { padding: 4px 0; font-size: 14px; }
.widget .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
.widget .wp-block-search__input { flex: 1; min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: 8px; background: var(--k-surface-2); }
.widget .wp-block-search__button { min-height: 44px; padding: 8px 16px; border: 0; border-radius: 8px; background: var(--k-orange); color: #fff; font-weight: 700; }

/* ==========================================================================
   Stitch Design System & Page Templates (About, Contact, Returns, Privacy)
   ========================================================================== */

.material-symbols-outlined {
	font-family: 'Material Symbols Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	vertical-align: middle;
	-webkit-font-smoothing: antialiased;
}

.k-stitch-page {
	padding-bottom: 64px;
	background-color: var(--k-bg);
}

.k-stitch-hero {
	padding: 48px 0 56px;
	background-color: #ffffff;
	border-bottom: 1px solid var(--k-line);
}

.k-stitch-hero-bar {
	padding: 32px 0 40px;
	background-color: var(--k-surface-2);
	border-bottom: 1px solid var(--k-line);
	margin-bottom: 32px;
}
.k-stitch-hero-bar__title {
	font-family: var(--k-font-head);
	font-size: clamp(28px, 3.5vw, 40px);
	font-weight: 800;
	color: var(--k-ink);
	margin-bottom: 6px;
}
.k-stitch-hero-bar__desc {
	font-size: 16px;
	color: var(--k-muted);
	max-width: 650px;
	margin-bottom: 0;
}

.k-stitch-breadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--k-muted);
	margin-bottom: 24px;
}
.k-stitch-breadcrumb a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--k-muted);
	transition: color .15s;
}
.k-stitch-breadcrumb a:hover {
	color: var(--k-orange);
}
.k-stitch-breadcrumb .k-sep {
	color: var(--k-stone);
}
.k-stitch-breadcrumb .k-current {
	color: var(--k-ink);
	font-weight: 700;
}

.k-stitch-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 14px;
	border-radius: 9999px;
	background: var(--k-peach);
	color: var(--k-brown-900);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 16px;
}
.k-stitch-badge .material-symbols-outlined {
	font-size: 16px;
	color: var(--k-brown);
}

.k-stitch-badge-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 9999px;
	font-size: 12px;
	font-weight: 700;
}
.k-stitch-badge-pill--green {
	background: var(--k-mint);
	color: var(--k-mint-ink);
}
.k-stitch-badge-pill--stone {
	background: var(--k-surface-3);
	color: var(--k-ink);
}

.k-pulse-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--k-green-2);
	display: inline-block;
	box-shadow: 0 0 0 0 rgba(0, 167, 115, .7);
	animation: kPulse 2s infinite;
}
@keyframes kPulse {
	0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 167, 115, 0.7); }
	70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(0, 167, 115, 0); }
	100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(0, 167, 115, 0); }
}

.k-stitch-hero__title {
	font-family: var(--k-font-head);
	font-size: clamp(32px, 4.5vw, 46px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.03em;
	color: var(--k-ink);
	margin-bottom: 16px;
}
.k-stitch-highlight {
	display: block;
	color: var(--k-orange);
}
.k-stitch-hero__lead {
	font-size: clamp(16px, 1.8vw, 18px);
	line-height: 1.6;
	color: var(--k-muted);
	margin-bottom: 28px;
}
.k-stitch-hero__card {
	background: var(--k-surface-2);
	padding: 12px;
	border-radius: 24px;
	box-shadow: var(--k-shadow-md);
	display: inline-block;
}
.k-stitch-hero__card img {
	border-radius: 18px;
	object-fit: cover;
	max-height: 380px;
	width: 100%;
}

.k-stitch-section {
	padding: 56px 0;
}

.k-stitch-icon-box {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}
.k-stitch-icon-box .material-symbols-outlined { font-size: 24px; }
.k-stitch-icon-box--peach { background: var(--k-peach); color: var(--k-brown-900); }
.k-stitch-icon-box--mint { background: var(--k-mint); color: var(--k-mint-ink); }
.k-stitch-icon-box--sand { background: var(--k-sand); color: var(--k-ink-2); }
.k-stitch-icon-box--stone { background: var(--k-surface-3); color: var(--k-ink); }

.k-stitch-icon-circle {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.k-stitch-icon-circle .material-symbols-outlined { font-size: 20px; }
.k-stitch-icon-circle--peach { background: var(--k-peach); color: var(--k-brown); }
.k-stitch-icon-circle--mint { background: var(--k-mint); color: var(--k-green); }
.k-stitch-icon-circle--sand { background: var(--k-sand); color: var(--k-orange); }
.k-stitch-icon-circle--stone { background: var(--k-surface-3); color: var(--k-muted); }

.k-stitch-card {
	background: #ffffff;
	border: 1px solid var(--k-line);
	border-radius: 20px;
	padding: 28px;
	box-shadow: var(--k-shadow-xs);
	transition: transform .2s, box-shadow .2s;
}
.k-stitch-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--k-shadow-md);
}
.k-stitch-card__title {
	font-family: var(--k-font-head);
	font-size: 19px;
	font-weight: 700;
	color: var(--k-ink);
	margin-bottom: 8px;
}
.k-stitch-card__desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--k-muted);
	margin-bottom: 0;
}

.k-stitch-step-card {
	background: #ffffff;
	border: 1px solid var(--k-line);
	border-radius: 20px;
	padding: 28px;
	box-shadow: var(--k-shadow-xs);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .2s, box-shadow .2s;
}
.k-stitch-step-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--k-shadow-md);
}
.k-stitch-step-num {
	font-family: var(--k-font-head);
	font-size: 28px;
	font-weight: 800;
	color: var(--k-stone);
	line-height: 1;
}
.k-stitch-step-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--k-surface-2);
	font-size: 12px;
	font-weight: 600;
	color: var(--k-ink);
}

.k-stitch-stat-card {
	background: var(--k-surface-2);
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	border: 1px solid var(--k-line);
}
.k-stitch-stat-number {
	display: block;
	font-family: var(--k-font-head);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 800;
	color: var(--k-orange);
	line-height: 1.2;
	margin-bottom: 4px;
}
.k-stitch-stat-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--k-muted);
}

.k-stitch-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 9999px;
	background: var(--k-peach);
	color: var(--k-brown-900);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.k-stitch-pill--center {
	margin-left: auto;
	margin-right: auto;
}

.k-stitch-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--k-ink);
}
.k-stitch-checklist .material-symbols-outlined {
	font-size: 18px;
	margin-top: 2px;
	flex-shrink: 0;
}

.k-stitch-cta-banner {
	background: linear-gradient(135deg, var(--k-ink) 0%, #341100 100%);
	border-radius: 24px;
	padding: clamp(32px, 5vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	box-shadow: var(--k-shadow-lg);
}
@media (min-width: 768px) {
	.k-stitch-cta-banner {
		flex-direction: row;
		text-align: left;
	}
}

.k-btn--whatsapp {
	background: #25D366;
	color: #ffffff !important;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border-radius: 8px;
	border: 0;
	transition: background .15s, transform .15s;
}
.k-btn--whatsapp:hover {
	background: #1ebc59;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.k-stitch-box {
	background: #ffffff;
	border: 1px solid var(--k-line);
	border-radius: 20px;
	padding: clamp(24px, 4vw, 36px);
	box-shadow: var(--k-shadow-sm);
}
.k-stitch-box__title {
	font-family: var(--k-font-head);
	font-size: 24px;
	font-weight: 800;
	color: var(--k-ink);
	margin-bottom: 4px;
}
.k-stitch-box__sub {
	font-size: 14px;
	color: var(--k-muted);
	margin-bottom: 24px;
}

.k-stitch-card-box {
	background: #ffffff;
	border: 1px solid var(--k-line);
	border-radius: 16px;
	padding: 20px;
	box-shadow: var(--k-shadow-xs);
}

.k-form-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--k-ink);
	margin-bottom: 6px;
	display: block;
}
.k-stitch-form__footer {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: flex-start;
}
@media (min-width: 576px) {
	.k-stitch-form__footer {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}
.k-stitch-form__hours {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--k-muted);
}

.k-stitch-faq-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.k-stitch-faq-item {
	background: #ffffff;
	border: 1px solid var(--k-line);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--k-shadow-xs);
	transition: border-color .15s;
}
.k-stitch-faq-toggle {
	width: 100%;
	padding: 18px 22px;
	background: transparent;
	border: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	font-size: 15px;
	font-weight: 700;
	color: var(--k-ink);
	cursor: pointer;
	gap: 16px;
}
.k-stitch-faq-toggle:hover {
	color: var(--k-orange);
}
.k-faq-icon {
	color: var(--k-muted);
	transition: transform .2s ease;
	flex-shrink: 0;
}
.k-stitch-faq-item.is-open .k-faq-icon {
	transform: rotate(180deg);
}
.k-stitch-faq-content {
	padding: 0 22px 20px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--k-muted);
}

.k-stitch-glow {
	position: absolute;
	right: -60px;
	top: -60px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 219, 203, 0.4) 0%, rgba(111, 251, 190, 0.2) 100%);
	filter: blur(48px);
	pointer-events: none;
}

.k-stitch-toc-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	color: var(--k-muted);
	transition: background-color .15s, color .15s;
}
.k-stitch-toc-link:hover,
.k-stitch-toc-link.is-active {
	background-color: var(--k-surface-2);
	color: var(--k-ink);
}
.k-stitch-toc-link.is-active .k-stitch-toc-num {
	background-color: var(--k-orange);
	color: #ffffff;
}
.k-stitch-toc-num {
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: var(--k-surface-3);
	color: var(--k-muted);
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.k-stitch-toc-num--lg {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--k-peach);
	color: var(--k-brown-900);
	font-size: 13px;
	font-weight: 800;
}
.k-stitch-policy-card {
	scroll-margin-top: 180px;
}
