/*
 Theme Name:   Kadence Child Theme
 Theme URI:    https://kilernazilli.com/
 Description:  KilerNazilli — Premium Organic Gourmet Store
 Author:       KilerNazilli
 Template:     kadence
 Version:      5.0.0
 License:      GNU General Public License v2 or later
 Text Domain:  kilernazilli
*/

/* ============================================================================
   DESIGN TOKENS
   ============================================================================ */
:root {
	/* Brand colours */
	--kn-cream:       #f7f3ed;
	--kn-white:       #ffffff;
	--kn-olive:       #4a7c3f;
	--kn-olive-dk:    #375f30;
	--kn-olive-lt:    #6a9e5e;
	--kn-olive-bg:    rgba(74,124,63,.08);
	--kn-brown:       #7a4a28;
	--kn-brown-lt:    #a0653a;
	--kn-tan:         #c8a882;
	--kn-text:        #2c2416;
	--kn-text-muted:  #7a6e62;
	--kn-border:      #e2d9cc;
	--kn-border-lt:   #ede8e1;
	--kn-red:         #c0392b;
	--kn-green:       #27ae60;

	/* Shadows */
	--kn-shadow-sm:   0 1px 4px rgba(44,36,22,.07);
	--kn-shadow:      0 3px 20px rgba(44,36,22,.10);
	--kn-shadow-lg:   0 8px 36px rgba(44,36,22,.16);
	--kn-shadow-xl:   0 20px 60px rgba(44,36,22,.22);

	/* Shape */
	--kn-pill: 999px;
	--kn-r4:   4px;
	--kn-r8:   8px;
	--kn-r12:  12px;
	--kn-r16:  16px;

	/* Motion */
	--kn-dur:      .20s;
	--kn-dur-med:  .32s;
	--kn-ease:     cubic-bezier(.4,0,.2,1);
	--kn-ease-out: cubic-bezier(0,.8,.2,1);

	/* Layout */
	--kn-drawer-w:  320px;
	--kn-header-h:  90px;
	--kn-max:       1320px;
	--kn-px:        32px;
	--kn-sidebar-w: 280px;

	/* Slider */
	--kn-slide-dur:  0.60s;
	--kn-slide-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================================================
   BASE RESET
   ============================================================================ */
*, *::before, *::after { box-sizing: border-box; }
*, *:focus, *:focus-visible, *:active {
	outline-color: var(--kn-olive) !important;
	-webkit-tap-highlight-color: transparent !important;
}
button:focus, button:active { background-color: inherit; outline: none; }
::selection { background: rgba(74,124,63,.20); }
a       { color: inherit; text-decoration: none; }
img     { max-width: 100%; display: block; }
button  { cursor: pointer; font-family: inherit; }
:focus-visible { outline: 2px solid var(--kn-olive) !important; outline-offset: 2px; }

/* ============================================================================
   SUPPRESS KADENCE DEFAULT HEADER + FOOTER
   ============================================================================ */
.site-header, .site-header.header-style-nav-float, .site-header.kadence-header,
#masthead, .site-footer, #colophon, .kadence-footer-wrap, .footer-html-section {
	display: none !important;
}

/* ============================================================================
   BODY SCROLL LOCK
   ============================================================================ */
body.kiler-drawer-active { overflow: hidden; }

/* Prevent horizontal scroll caused by 100vw elements on scrollbar browsers */
#page.site { overflow-x: hidden; }

/* ============================================================================
   HEADER
   ============================================================================ */
.kiler-header {
	position: sticky;
	top: 0;
	z-index: 900;
	background: var(--kn-cream);
	border-bottom: 1px solid var(--kn-border);
	transition: box-shadow var(--kn-dur) var(--kn-ease),
	            background var(--kn-dur) var(--kn-ease);
}
.kiler-header.is-scrolled {
	background: rgba(247,243,237,.97);
	box-shadow: var(--kn-shadow);
}
.kiler-header.is-scrolled .kiler-header__inner { height: 64px; }
.kiler-header.is-scrolled .kiler-logo img { height: 52px; }
.kiler-header__inner {
	display: grid;
	grid-template-columns: 52px auto 1fr auto;
	grid-template-areas: "hamburger logo search icons";
	align-items: center;
	column-gap: 20px;
	max-width: var(--kn-max);
	margin: 0 auto;
	padding: 0 var(--kn-px);
	height: var(--kn-header-h);
	transition: height var(--kn-dur) var(--kn-ease);
}
.kiler-logo {
	grid-area: logo;
	display: flex; align-items: center;
	flex-shrink: 0; outline: none; border-radius: var(--kn-r4);
}
.kiler-logo img {
	height: 78px; width: auto; max-width: 260px; object-fit: contain;
	transition: height var(--kn-dur) var(--kn-ease), opacity var(--kn-dur) var(--kn-ease);
}
.kiler-logo:hover { opacity: .85; }
.kiler-logo:focus-visible { outline: 2px solid var(--kn-olive) !important; }

/* Hamburger */
.kiler-hamburger {
	grid-area: hamburger;
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 5px; width: 44px; height: 44px; padding: 0;
	background: none; border: none; border-radius: var(--kn-r8); flex-shrink: 0;
	-webkit-appearance: none; appearance: none;
	-webkit-tap-highlight-color: transparent !important; outline: none !important;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kiler-hamburger:hover { background: var(--kn-olive-bg) !important; }
.kiler-hamburger:focus, .kiler-hamburger:focus:not(:focus-visible) {
	background: none !important; outline: none !important; box-shadow: none !important;
}
.kiler-hamburger:focus-visible {
	outline: 2px solid var(--kn-olive) !important; outline-offset: 2px; background: none !important;
}
.kiler-hamburger:active { background: rgba(74,124,63,.14) !important; }
.kiler-hamburger__line {
	display: block; width: 22px; height: 2px;
	background: var(--kn-brown); border-radius: 2px;
	transition: transform var(--kn-dur) var(--kn-ease),
	            opacity var(--kn-dur) var(--kn-ease);
}

/* Search bar */
.kiler-search {
	grid-area: search;
	display: flex; align-items: center;
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-pill); overflow: hidden;
	width: 100%; max-width: 600px; margin: 0 auto;
	box-shadow: var(--kn-shadow-sm);
	transition: border-color var(--kn-dur) var(--kn-ease), box-shadow var(--kn-dur) var(--kn-ease);
}
.kiler-search:focus-within {
	border-color: var(--kn-olive-lt);
	box-shadow: 0 0 0 3px rgba(74,124,63,.10), var(--kn-shadow-sm);
}
.kiler-search__btn {
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; width: 52px; height: 52px; padding-left: 4px;
	background: none; border: none; color: var(--kn-olive-lt); outline: none; order: -1;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kiler-search__btn:hover, .kiler-search__btn:focus-visible { color: var(--kn-olive); outline: none; }
.kiler-search__btn svg { width: 22px; height: 22px; }
.kiler-search__input {
	flex: 1; min-width: 0; border: none; outline: none; background: transparent;
	padding: 0 16px 0 4px; height: 52px; font-size: 14.5px; color: var(--kn-text);
	-webkit-appearance: none; appearance: none;
}
.kiler-search__input::placeholder { color: var(--kn-tan); font-size: 14px; }
.kiler-search__input::-webkit-search-cancel-button,
.kiler-search__input::-webkit-search-decoration { display: none; }

/* Icon buttons */
.kiler-header__icons { grid-area: icons; display: flex; align-items: center; gap: 10px; }
.kiler-icon-btn {
	position: relative; display: flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: 50%;
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	outline: none !important; -webkit-tap-highlight-color: transparent !important;
	-webkit-appearance: none; appearance: none; box-shadow: var(--kn-shadow-sm);
	transition: border-color var(--kn-dur) var(--kn-ease),
	            box-shadow   var(--kn-dur) var(--kn-ease),
	            transform    var(--kn-dur) var(--kn-ease);
}
.kiler-icon-btn:hover, .kiler-icon-btn:focus-visible {
	border-color: var(--kn-olive-lt); box-shadow: 0 0 0 3px rgba(74,124,63,.10);
	transform: translateY(-1px); outline: none !important;
}
.kiler-icon-btn:focus:not(:focus-visible) { outline: none !important; box-shadow: none; }
.kiler-icon-btn:active { transform: none; background: var(--kn-olive-bg); }
.kiler-icon-btn svg {
	color: var(--kn-brown); transition: color var(--kn-dur) var(--kn-ease);
}
.kiler-icon-btn:hover svg { color: var(--kn-olive); }
.kiler-cart-count {
	position: absolute; top: -4px; right: -4px;
	min-width: 18px; height: 18px; padding: 0 4px;
	background: var(--kn-olive); color: #fff;
	font-size: 10px; font-weight: 700; line-height: 1;
	border-radius: var(--kn-pill); border: 2px solid var(--kn-cream);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; transform: scale(.5);
	transition: opacity var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease-out);
}
.kiler-cart-count.has-items { opacity: 1; transform: scale(1); }

/* Wishlist heart icon (header) */
.kiler-icon-btn--wishlist svg {
	color: var(--kn-brown);
	transition: color var(--kn-dur) var(--kn-ease), fill var(--kn-dur) var(--kn-ease);
}
.kiler-icon-btn--wishlist:hover svg,
.kiler-icon-btn--wishlist.has-items svg {
	color: var(--kn-red); fill: rgba(192,57,43,.10);
}
.kiler-wishlist-count {
	position: absolute; top: -4px; right: -4px;
	min-width: 18px; height: 18px; padding: 0 4px;
	background: var(--kn-red); color: #fff;
	font-size: 10px; font-weight: 700; line-height: 1;
	border-radius: var(--kn-pill); border: 2px solid var(--kn-cream);
	display: none; align-items: center; justify-content: center;
}
.kiler-icon-btn--wishlist.has-items .kiler-wishlist-count {
	display: flex;
}

/* Nuclear blue-flash kill for hamburger */
#kiler-hamburger,
#kiler-hamburger:focus, #kiler-hamburger:hover, #kiler-hamburger:active,
#kiler-hamburger:focus-visible, #kiler-hamburger:focus:not(:focus-visible) {
	-webkit-tap-highlight-color: transparent !important;
	-webkit-user-select: none; user-select: none;
}
#kiler-hamburger:focus, #kiler-hamburger:focus:not(:focus-visible) {
	background: none !important; outline: none !important; box-shadow: none !important;
}

/* ============================================================================
   OVERLAY
   ============================================================================ */
.kiler-overlay {
	position: fixed; inset: 0; z-index: 1000;
	background: rgba(44,36,22,.50);
	backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
	opacity: 0; pointer-events: none;
	transition: opacity var(--kn-dur-med) var(--kn-ease);
}
.kiler-overlay.is-visible { opacity: 1; pointer-events: auto; }

/* ============================================================================
   DRAWER
   ============================================================================ */
.kiler-drawer {
	position: fixed; inset-block: 0; left: 0; z-index: 1100;
	width: var(--kn-drawer-w); background: var(--kn-white);
	transform: translateX( calc(-1 * var(--kn-drawer-w)) );
	transition: transform var(--kn-dur-med) var(--kn-ease);
	display: flex; flex-direction: column; box-shadow: var(--kn-shadow-xl); overflow: hidden;
}
.kiler-drawer.is-open { transform: translateX(0); }
.kiler-drawer__top {
	display: flex; align-items: center; justify-content: space-between;
	padding: 18px 20px 16px; border-bottom: 1px solid var(--kn-border); flex-shrink: 0;
}
.kiler-drawer__logo-link { display: flex; align-items: center; }
.kiler-drawer__logo-link img { height: 40px; width: auto; object-fit: contain; }
.kiler-drawer__close {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border); color: var(--kn-text);
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease), border-color var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__close:hover { background: rgba(192,57,43,.08); border-color: var(--kn-red); color: var(--kn-red); }
.kiler-drawer__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 24px; }
.kiler-drawer__body::-webkit-scrollbar { width: 3px; }
.kiler-drawer__body::-webkit-scrollbar-thumb { background: var(--kn-border); border-radius: 2px; }
.kiler-drawer__section { padding: 18px 20px 10px; border-bottom: 1px solid var(--kn-border-lt); }
.kiler-drawer__section:last-child { border-bottom: none; }
.kiler-drawer__section-label {
	display: flex; align-items: center; gap: 7px;
	font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase;
	color: var(--kn-text-muted); margin: 0 0 10px;
}
.kiler-drawer__section-label svg { color: var(--kn-olive); flex-shrink: 0; }
.kiler-drawer__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.kiler-drawer__link {
	display: flex; align-items: center; gap: 10px; padding: 10px 12px;
	border-radius: var(--kn-r8); color: var(--kn-text); font-size: 14.5px; font-weight: 500;
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease),
	            padding-left var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__link:hover, .kiler-drawer__link:focus-visible {
	background: var(--kn-olive-bg); color: var(--kn-olive-dk); padding-left: 18px; outline: none;
}
.kiler-drawer__link-dot {
	width: 7px; height: 7px; border-radius: 50%; background: var(--kn-border); flex-shrink: 0;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__link:hover .kiler-drawer__link-dot { background: var(--kn-olive); }
.kiler-drawer__link-dot--all { background: var(--kn-olive); }
.kiler-drawer__link-arrow {
	margin-left: auto; flex-shrink: 0; color: var(--kn-border);
	transition: color var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__link:hover .kiler-drawer__link-arrow { color: var(--kn-olive-lt); transform: translateX(2px); }
.kiler-drawer__item--all .kiler-drawer__link {
	font-weight: 700; color: var(--kn-olive-dk); background: var(--kn-olive-bg); margin-bottom: 4px;
}
.kiler-drawer__item--all .kiler-drawer__link:hover { background: var(--kn-olive); color: #fff; }
.kiler-drawer__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.kiler-drawer__tag {
	display: inline-flex; align-items: center; gap: 5px; padding: 7px 14px;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-pill); color: var(--kn-text); font-size: 13px; font-weight: 500;
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), border-color var(--kn-dur) var(--kn-ease),
	            color var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__tag:hover, .kiler-drawer__tag:focus-visible {
	background: var(--kn-olive); border-color: var(--kn-olive); color: #fff; outline: none;
}
.kiler-drawer__promo {
	margin: 16px 20px; padding: 20px;
	background: linear-gradient(135deg, rgba(74,124,63,.10) 0%, rgba(200,168,130,.16) 100%);
	border: 1.5px solid rgba(74,124,63,.18); border-radius: var(--kn-r12);
}
.kiler-drawer__promo-eyebrow { font-size: 11.5px; color: var(--kn-olive); font-weight: 600; margin: 0 0 5px; }
.kiler-drawer__promo-title { font-size: 14px; font-weight: 700; color: var(--kn-text); line-height: 1.44; margin: 0 0 14px; }
.kiler-drawer__promo-btn {
	display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px;
	background: var(--kn-olive); color: #fff; font-size: 13px; font-weight: 700;
	border-radius: var(--kn-pill); outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__promo-btn:hover { background: var(--kn-olive-dk); outline: none; }
.kiler-drawer__contact { padding: 16px 20px 4px; display: flex; flex-direction: column; gap: 10px; }
.kiler-drawer__contact-link {
	display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--kn-text-muted);
	outline: none; transition: color var(--kn-dur) var(--kn-ease);
}
.kiler-drawer__contact-link:hover, .kiler-drawer__contact-link:focus-visible { color: var(--kn-olive); outline: none; }
.kiler-drawer__contact-link svg { flex-shrink: 0; color: var(--kn-olive-lt); }

/* ============================================================================
   FOOTER
   ============================================================================ */
.kiler-footer { background: #1e1a14; color: #ccc; margin-top: 64px; }
.kiler-footer__top { padding: 52px var(--kn-px) 44px; }
.kiler-footer__inner {
	display: grid; grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
	gap: 44px 36px; max-width: var(--kn-max); margin: 0 auto;
}
.kiler-footer__logo-link img {
	height: 42px; width: auto; object-fit: contain;
	filter: brightness(0) invert(1); opacity: .82; margin-bottom: 12px;
}
.kiler-footer__desc { font-size: 13px; line-height: 1.74; color: #888; max-width: 240px; margin: 0; }
.kiler-footer__heading {
	font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: #fff; margin: 0 0 14px; padding-bottom: 9px;
	border-bottom: 2px solid var(--kn-olive); display: inline-block;
}
.kiler-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kiler-footer__links a { color: #888; font-size: 13.5px; display: inline-block; transition: color var(--kn-dur) var(--kn-ease), padding-left var(--kn-dur) var(--kn-ease); }
.kiler-footer__links a:hover { color: #fff; padding-left: 4px; }
.kiler-footer__contact { font-style: normal; display: flex; flex-direction: column; gap: 11px; }
.kiler-footer__contact p { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: #888; margin: 0; }
.kiler-footer__contact svg { flex-shrink: 0; margin-top: 2px; color: var(--kn-olive-lt); }
.kiler-footer__contact a { color: #888; transition: color var(--kn-dur) var(--kn-ease); }
.kiler-footer__contact a:hover { color: #fff; }
.kiler-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.10);
	padding: 18px var(--kn-px);
}
.kiler-footer__bottom-inner {
	max-width: var(--kn-max); margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
}
.kiler-footer__copy { font-size: 12px; color: #999; margin: 0; }
.kiler-footer__payment {
	display: flex; align-items: center; gap: 10px;
}
.kiler-footer__payment-label { font-size: 11px; color: #999; }
.kn-pay-icon {
	display: inline-flex; align-items: center; flex-shrink: 0;
	border-radius: 4px; overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255,255,255,.12);
}
.kiler-footer__address {
	font-size: 12px; line-height: 1.6; color: #777; margin: 10px 0 0;
}

/* ============================================================================
   HERO SLIDER
   ============================================================================ */
.kn-hero-slider {
	position: relative;
	width: 100vw;
	max-width: 100%;
	margin-left:  calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	overflow: hidden;
	background: transparent;
	touch-action: pan-y;
	line-height: 0;
	font-size: 0;
}
.kn-hero-slider::after {
	content: '';
	position: absolute; bottom: 0; left: 0; right: 0;
	height: 70px;
	background: linear-gradient(to top, rgba(26,15,6,.36) 0%, transparent 100%);
	pointer-events: none; z-index: 5;
}
.kn-slider__track {
	display: flex; width: 100%;
	will-change: transform;
	transition: transform var(--kn-slide-dur) var(--kn-slide-ease);
	line-height: 0; font-size: 0;
}
.kn-slide {
	flex: 0 0 100%; min-width: 100%; position: relative;
	line-height: 0; overflow: hidden;
	height: clamp(400px, 30vw, 500px);
}
.kn-slide__link { display: block; width: 100%; height: 100%; line-height: 0; outline-offset: -4px; }
.kn-slide__link:focus-visible { outline: 3px solid var(--kn-olive) !important; }
.kn-slide picture { display: block; width: 100%; height: 100%; }
.kn-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.kn-slider__arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
	width: 46px; height: 46px; border-radius: 50%;
	background: rgba(255,255,255,.88); border: none; color: var(--kn-text);
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 2px 14px rgba(0,0,0,.20); opacity: .80;
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), opacity var(--kn-dur) var(--kn-ease);
}
.kn-slider__arrow:hover, .kn-slider__arrow:focus-visible { background: #fff; opacity: 1; outline: none; }
.kn-slider__arrow--prev { left: 20px; }
.kn-slider__arrow--next { right: 20px; }
.kn-slider__dots {
	position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%);
	display: flex; align-items: center; gap: 9px; z-index: 10;
}
.kn-dot {
	width: 9px; height: 9px; border-radius: var(--kn-pill);
	background: rgba(255,255,255,.38); border: 2px solid rgba(255,255,255,.68);
	padding: 0; cursor: pointer; flex-shrink: 0;
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: width .30s var(--kn-ease), background .30s var(--kn-ease), border-color .30s var(--kn-ease);
}
.kn-dot.is-active { width: 26px; background: #e8a44a; border-color: #e8a44a; }
.kn-dot:focus-visible { outline: 2px solid var(--kn-olive) !important; }

/* ============================================================================
   HOMEPAGE — Category Showcase
   ============================================================================ */
.kn-cat-showcase {
	max-width: var(--kn-max); margin: 0 auto;
	padding: 48px var(--kn-px) 32px;
}
.kn-cat-showcase__inner { text-align: center; }
.kn-cat-showcase__title {
	font-size: 24px; font-weight: 800; color: var(--kn-text);
	margin: 0 0 32px; letter-spacing: -.02em;
}
.kn-cat-showcase__grid {
	display: grid; grid-template-columns: repeat(4, 1fr);
	gap: 20px; text-align: center;
}
.kn-cat-card {
	display: flex; flex-direction: column; align-items: center;
	padding: 28px 16px 24px;
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); text-align: center;
	transition: border-color var(--kn-dur) var(--kn-ease), box-shadow var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
}
.kn-cat-card:hover {
	border-color: var(--kn-olive-lt); box-shadow: var(--kn-shadow);
	transform: translateY(-4px);
}
.kn-cat-card__icon {
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--kn-olive-bg);
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 14px; color: var(--kn-olive);
	transition: background var(--kn-dur) var(--kn-ease);
}
.kn-cat-card:hover .kn-cat-card__icon { background: rgba(74,124,63,.16); }
.kn-cat-card__img {
	width: 100%; height: 120px; border-radius: var(--kn-r8);
	overflow: hidden; margin-bottom: 14px;
}
.kn-cat-card__img img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .4s var(--kn-ease);
}
.kn-cat-card:hover .kn-cat-card__img img { transform: scale(1.06); }
.kn-cat-card__name {
	font-size: 15px; font-weight: 700; color: var(--kn-text); margin: 0 0 6px;
}
.kn-cat-card__desc {
	font-size: 12.5px; color: var(--kn-text-muted); margin: 0 0 14px; line-height: 1.5;
}
.kn-cat-card__cta {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 13px; font-weight: 700; color: var(--kn-olive);
	transition: gap var(--kn-dur) var(--kn-ease);
}
.kn-cat-card:hover .kn-cat-card__cta { gap: 8px; }

/* ============================================================================
   HOMEPAGE — Trust Bar
   ============================================================================ */
.kn-trust-bar {
	max-width: var(--kn-max); margin: 0 auto;
	padding: 0 var(--kn-px) 48px;
}
.kn-trust-bar__inner {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border-lt);
	border-radius: var(--kn-r12); padding: 24px 20px;
}
.kn-trust-item {
	display: flex; align-items: flex-start; gap: 12px;
	padding: 4px 8px;
}
.kn-trust-item svg { color: var(--kn-olive); flex-shrink: 0; margin-top: 2px; }
.kn-trust-item strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--kn-text); margin-bottom: 2px; }
.kn-trust-item span { font-size: 12px; color: var(--kn-text-muted); line-height: 1.4; }

/* ============================================================================
   WOOCOMMERCE BREADCRUMBS
   ============================================================================ */
.kn-breadcrumb {
	padding: 14px 0 10px; font-size: 13px; color: var(--kn-text-muted);
}
.kn-breadcrumb__inner {
	display: flex; align-items: center; flex-wrap: wrap; gap: 0;
}
.kn-breadcrumb__item a { color: var(--kn-text-muted); transition: color var(--kn-dur) var(--kn-ease); }
.kn-breadcrumb__item a:hover { color: var(--kn-olive); }
.kn-breadcrumb__item:last-child { color: var(--kn-text); font-weight: 600; }
.kn-breadcrumb__sep { display: inline-flex; align-items: center; margin: 0 8px; color: var(--kn-border); }

/* ============================================================================
   WOOCOMMERCE PRODUCT GRID
   ============================================================================ */
.woocommerce ul.products li.product {
	border-radius: var(--kn-r12) !important; overflow: hidden;
	background: var(--kn-white); box-shadow: var(--kn-shadow-sm); padding: 0 !important;
	transition: box-shadow var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
	position: relative;
}
.woocommerce ul.products li.product:hover { box-shadow: var(--kn-shadow-lg); transform: translateY(-3px); }
.woocommerce ul.products li.product a img { transition: transform .40s var(--kn-ease); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button { padding-left: 16px !important; padding-right: 16px !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; font-weight: 600; color: var(--kn-text); padding-top: 14px; }
.woocommerce ul.products li.product .price { color: var(--kn-brown) !important; font-weight: 700; font-size: 15px !important; }
.woocommerce ul.products li.product .price del { color: var(--kn-text-muted) !important; font-weight: 400; font-size: 13px !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--kn-brown) !important; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
	display: block !important; margin: 10px 16px 16px !important; padding: 10px 20px !important;
	background: var(--kn-olive) !important; color: #fff !important; border: none !important;
	border-radius: var(--kn-r8) !important; font-size: 13.5px; font-weight: 600;
	text-align: center;
	transition: background var(--kn-dur) var(--kn-ease);
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover { background: var(--kn-olive-dk) !important; }

/* Sale badge */
.kn-sale-badge {
	position: absolute; top: 12px; left: 12px; z-index: 2;
	display: inline-flex; align-items: center;
	padding: 4px 10px; background: var(--kn-red); color: #fff;
	font-size: 11.5px; font-weight: 700; border-radius: var(--kn-r4);
	letter-spacing: .02em;
}
.woocommerce ul.products li.product .onsale { display: none !important; }

/* Star ratings */
.woocommerce ul.products li.product .star-rating,
.woocommerce .star-rating {
	color: #e8a44a !important;
}

/* ============================================================================
   WOOCOMMERCE — GLOBAL FORM ELEMENTS
   ============================================================================ */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="url"],
.woocommerce input[type="password"],
.woocommerce input[type="number"],
.woocommerce input[type="search"],
.woocommerce select,
.woocommerce textarea {
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r8) !important;
	background: var(--kn-white) !important;
	padding: 11px 14px !important;
	font-size: 14px !important;
	color: var(--kn-text) !important;
	transition: border-color var(--kn-dur) var(--kn-ease), box-shadow var(--kn-dur) var(--kn-ease) !important;
	-webkit-appearance: none !important;
}
.woocommerce input:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	border-color: var(--kn-olive-lt) !important;
	box-shadow: 0 0 0 3px rgba(74,124,63,.10) !important;
	outline: none !important;
}
.woocommerce select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a6e62' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	padding-right: 36px !important;
}
.woocommerce label {
	font-size: 13.5px !important; font-weight: 600 !important; color: var(--kn-text) !important;
	margin-bottom: 4px !important;
}

/* Primary / CTA buttons */
.woocommerce .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce .checkout-button,
.woocommerce #place_order,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background: var(--kn-olive) !important; border-color: var(--kn-olive) !important;
	border-radius: var(--kn-r8) !important; padding: 14px 32px !important;
	font-size: 15px !important; font-weight: 700 !important; color: #fff !important;
	transition: background var(--kn-dur) var(--kn-ease) !important;
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover,
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--kn-olive-dk) !important;
}

/* Secondary / ghost buttons */
.woocommerce button.button,
.woocommerce a.button:not(.checkout-button):not(.add_to_cart_button) {
	border: 1.5px solid var(--kn-border) !important; background: var(--kn-white) !important;
	color: var(--kn-text) !important; border-radius: var(--kn-r8) !important;
	padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important;
	transition: border-color var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease) !important;
}
.woocommerce button.button:hover,
.woocommerce a.button:not(.checkout-button):not(.add_to_cart_button):hover {
	border-color: var(--kn-olive) !important; color: var(--kn-olive) !important;
}

/* ============================================================================
   WOOCOMMERCE — NOTICES & MESSAGES
   ============================================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
	background: var(--kn-white) !important;
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r8) !important;
	padding: 14px 18px !important;
	font-size: 14px !important;
	color: var(--kn-text) !important;
	margin-bottom: 20px !important;
	box-shadow: var(--kn-shadow-sm) !important;
}
.woocommerce-message { border-left: 4px solid var(--kn-green) !important; }
.woocommerce-info    { border-left: 4px solid var(--kn-olive) !important; }
.woocommerce-error   { border-left: 4px solid var(--kn-red)   !important; }
.woocommerce-error li { color: var(--kn-red) !important; }
.woocommerce-message a,
.woocommerce-info a {
	color: var(--kn-olive) !important; font-weight: 600 !important;
}

/* ============================================================================
   WOOCOMMERCE — QUANTITY BUTTONS
   ============================================================================ */
.woocommerce .quantity {
	display: inline-flex !important; align-items: center !important;
	border: 1.5px solid var(--kn-border) !important; border-radius: var(--kn-r8) !important;
	overflow: hidden !important; background: var(--kn-white) !important;
}
.kn-qty-btn {
	display: flex; align-items: center; justify-content: center;
	width: 36px; height: 38px; border: none; background: var(--kn-cream);
	color: var(--kn-text); font-size: 16px; font-weight: 600;
	cursor: pointer; transition: background var(--kn-dur) var(--kn-ease);
	-webkit-tap-highlight-color: transparent;
}
.kn-qty-btn:hover { background: var(--kn-olive-bg); color: var(--kn-olive); }
.woocommerce .quantity .qty {
	border: none !important; width: 44px !important; text-align: center !important;
	font-size: 14px !important; font-weight: 600 !important;
	-moz-appearance: textfield !important; padding: 8px 0 !important;
	background: var(--kn-white) !important;
}
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button { display: none; }

/* ============================================================================
   WOOCOMMERCE — SINGLE PRODUCT
   ============================================================================ */
.kn-product-top {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
	align-items: start; margin-bottom: 40px;
}
.kn-product-page .woocommerce-product-gallery {
	border-radius: var(--kn-r12); overflow: hidden;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border-lt);
}
.kn-product-page .summary.entry-summary {
	padding-top: 8px;
}
.kn-product-page .product_title {
	font-size: 26px !important; font-weight: 800 !important; color: var(--kn-text) !important;
	margin-bottom: 12px !important; line-height: 1.3 !important;
}
.kn-product-page .price {
	font-size: 22px !important; font-weight: 700 !important; color: var(--kn-brown) !important;
	margin-bottom: 20px !important;
}
.kn-product-page .price del { color: var(--kn-text-muted) !important; font-size: 16px !important; }
.kn-product-page .price ins { text-decoration: none !important; }
.kn-product-page .woocommerce-product-details__short-description {
	font-size: 14.5px; line-height: 1.7; color: var(--kn-text-muted);
	margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--kn-border-lt);
}
.kn-product-page .single_add_to_cart_button {
	width: 100%; text-align: center;
}
/* Product meta */
.kn-product-page .product_meta {
	margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--kn-border-lt);
	font-size: 13px; color: var(--kn-text-muted);
}
.kn-product-page .product_meta > span { display: block; margin-bottom: 6px; }
.kn-product-page .product_meta a { color: var(--kn-olive); font-weight: 500; }

/* Product trust strip */
.kn-product-trust {
	display: flex; flex-wrap: wrap; gap: 16px;
	margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--kn-border-lt);
}
.kn-product-trust__item {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: 12.5px; font-weight: 600; color: var(--kn-text-muted);
}
.kn-product-trust__item svg { color: var(--kn-olive); flex-shrink: 0; }

/* Tabs */
.kn-product-page .woocommerce-tabs {
	margin-top: 48px;
}
.kn-product-page .woocommerce-tabs ul.tabs {
	list-style: none !important; margin: 0 0 -1px !important; padding: 0 !important;
	display: flex !important; gap: 0 !important;
	border-bottom: 2px solid var(--kn-border) !important;
	background: transparent !important;
}
.kn-product-page .woocommerce-tabs ul.tabs::before,
.kn-product-page .woocommerce-tabs ul.tabs::after { display: none !important; }
.kn-product-page .woocommerce-tabs ul.tabs li {
	margin: 0 !important; padding: 0 !important;
	background: transparent !important; border: none !important;
	border-radius: 0 !important;
}
.kn-product-page .woocommerce-tabs ul.tabs li::before,
.kn-product-page .woocommerce-tabs ul.tabs li::after { display: none !important; }
.kn-product-page .woocommerce-tabs ul.tabs li a {
	display: block; padding: 12px 24px; font-size: 14px; font-weight: 600;
	color: var(--kn-text-muted); border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: color var(--kn-dur) var(--kn-ease), border-color var(--kn-dur) var(--kn-ease);
}
.kn-product-page .woocommerce-tabs ul.tabs li a:hover { color: var(--kn-olive); }
.kn-product-page .woocommerce-tabs ul.tabs li.active a {
	color: var(--kn-olive); border-bottom-color: var(--kn-olive);
}
.kn-product-page .woocommerce-tabs .panel {
	padding: 28px 0 !important; font-size: 14.5px; line-height: 1.75; color: var(--kn-text);
	border: none !important; box-shadow: none !important;
	background: transparent !important;
}

/* Related products */
.kn-product-page .related.products {
	margin-top: 48px !important; padding-top: 32px;
	border-top: 1px solid var(--kn-border-lt);
}
.kn-product-page .related.products > h2 {
	font-size: 20px !important; font-weight: 800 !important; color: var(--kn-text) !important;
	margin-bottom: 24px !important;
}

/* ============================================================================
   WOOCOMMERCE — CART PAGE
   ============================================================================ */
.kn-cart-page .woocommerce-cart-form table.shop_table {
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r12) !important;
	overflow: hidden;
	border-collapse: separate !important;
}
.kn-cart-page .shop_table thead th {
	background: var(--kn-cream) !important; border-bottom: 1.5px solid var(--kn-border) !important;
	font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important;
	letter-spacing: .06em !important; color: var(--kn-text-muted) !important;
	padding: 14px 16px !important;
}
.kn-cart-page .shop_table td {
	padding: 16px !important; vertical-align: middle !important;
	border-top: 1px solid var(--kn-border-lt) !important;
}
.kn-cart-page .shop_table .product-thumbnail img {
	width: 72px !important; height: auto; border-radius: var(--kn-r8);
}
.kn-cart-page .shop_table .product-name a {
	font-weight: 600; color: var(--kn-text);
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-cart-page .shop_table .product-name a:hover { color: var(--kn-olive); }
.kn-cart-page .shop_table .product-remove a {
	color: var(--kn-text-muted) !important; font-size: 18px !important;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-cart-page .shop_table .product-remove a:hover { color: var(--kn-red) !important; }

/* Cart totals */
.kn-cart-page .cart_totals {
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); overflow: hidden; padding: 0;
}
.kn-cart-page .cart_totals h2 {
	font-size: 16px !important; font-weight: 700 !important;
	padding: 18px 20px !important; margin: 0 !important;
	border-bottom: 1.5px solid var(--kn-border) !important;
	background: var(--kn-cream) !important;
}
.kn-cart-page .cart_totals table {
	border: none !important;
}
.kn-cart-page .cart_totals table th,
.kn-cart-page .cart_totals table td {
	padding: 14px 20px !important; border-top: 1px solid var(--kn-border-lt) !important;
}
.kn-cart-page .cart_totals table th {
	font-size: 13px !important; font-weight: 600 !important; color: var(--kn-text-muted) !important;
}
.kn-cart-page .cart_totals .order-total th,
.kn-cart-page .cart_totals .order-total td {
	font-size: 16px !important; font-weight: 700 !important; color: var(--kn-text) !important;
	border-top: 1.5px solid var(--kn-border) !important;
}
.kn-cart-page .wc-proceed-to-checkout {
	padding: 16px 20px !important;
}
.kn-cart-page .wc-proceed-to-checkout .checkout-button {
	display: block !important; width: 100% !important; text-align: center !important;
}

/* ============================================================================
   WOOCOMMERCE — CHECKOUT PAGE
   ============================================================================ */
.kn-checkout-page .woocommerce-checkout {
	display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start;
}
.kn-checkout-page .col2-set { flex: 1 1 0%; min-width: 0; }
.kn-checkout-page #order_review_heading { display: none; }
.kn-checkout-page #order_review {
	flex: 0 0 400px; max-width: 420px;
	position: sticky; top: calc(var(--kn-header-h) + 20px);
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); overflow: hidden; padding: 0;
}
.kn-checkout-page #order_review::before {
	content: 'Sipariş Özeti';
	display: block; padding: 18px 20px; font-size: 16px; font-weight: 700;
	background: var(--kn-cream); border-bottom: 1.5px solid var(--kn-border);
}
.kn-checkout-page #order_review table {
	border: none !important;
}
.kn-checkout-page #order_review table th,
.kn-checkout-page #order_review table td {
	padding: 12px 20px !important; border-top: 1px solid var(--kn-border-lt) !important;
	font-size: 13.5px !important;
}
.kn-checkout-page #order_review table tfoot .order-total th,
.kn-checkout-page #order_review table tfoot .order-total td {
	font-size: 16px !important; font-weight: 700 !important;
	border-top: 1.5px solid var(--kn-border) !important;
}
.kn-checkout-page #payment {
	background: transparent !important; border: none !important;
	border-radius: 0 !important;
}
.kn-checkout-page #payment .payment_methods {
	list-style: none !important; margin: 0 !important; padding: 16px 20px !important;
	border-top: 1px solid var(--kn-border-lt) !important;
}
.kn-checkout-page #payment .payment_methods li {
	margin-bottom: 12px !important; padding: 0 !important;
}
.kn-checkout-page #payment .payment_methods li label {
	font-size: 14px !important; font-weight: 600 !important;
}
.kn-checkout-page #payment .place-order {
	padding: 16px 20px !important;
}
.kn-checkout-page #place_order {
	width: 100% !important; text-align: center !important;
}
/* Checkout headings */
.kn-checkout-page h3,
.kn-checkout-page .woocommerce-billing-fields h3,
.kn-checkout-page .woocommerce-shipping-fields h3,
.kn-checkout-page .woocommerce-additional-fields h3 {
	font-size: 18px !important; font-weight: 700 !important; color: var(--kn-text) !important;
	margin-bottom: 20px !important; padding-bottom: 12px !important;
	border-bottom: 2px solid var(--kn-border) !important;
}
.kn-checkout-page .form-row { margin-bottom: 16px !important; }

/* ============================================================================
   WOOCOMMERCE — MY ACCOUNT
   ============================================================================ */

/* ── Auth shell — centered single card ── */
.kn-auth-shell {
	display: flex; justify-content: center; align-items: flex-start;
	padding: 40px var(--kn-px) 60px; min-height: 50vh;
}
.kn-auth-card {
	width: 100%; max-width: 520px;
	background: var(--kn-white);
	border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r16);
	box-shadow: var(--kn-shadow);
	overflow: hidden;
}

/* ── Tab nav ── */
.kn-auth-tabs {
	display: grid; grid-template-columns: 1fr 1fr;
	border-bottom: 2px solid var(--kn-border);
}
.kn-auth-tab {
	position: relative; display: flex; align-items: center; justify-content: center;
	padding: 18px 16px; border: none; background: var(--kn-cream);
	font-size: 15px; font-weight: 600; color: var(--kn-text-muted);
	cursor: pointer; transition: color var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease);
	-webkit-tap-highlight-color: transparent; outline: none;
}
.kn-auth-tab:hover { color: var(--kn-text); }
.kn-auth-tab.is-active {
	background: var(--kn-white); color: var(--kn-olive-dk); font-weight: 700;
}
.kn-auth-tab.is-active::after {
	content: ''; position: absolute; bottom: -2px; left: 0; right: 0;
	height: 3px; background: var(--kn-olive); border-radius: 2px 2px 0 0;
}
.kn-auth-tab:focus-visible {
	outline: 2px solid var(--kn-olive) !important; outline-offset: -2px;
}

/* ── Panels (WooCommerce outputs .u-column1 = login, .u-column2 = register) ── */
.kn-auth-card .u-columns,
.kn-auth-card .col2-set,
.kn-auth-card #customer_login {
	display: block !important;
}
.kn-auth-card .u-column1,
.kn-auth-card .u-column2,
.kn-auth-card .col-1,
.kn-auth-card .col-2 {
	padding: 36px 32px 32px !important;
	background: transparent !important; border: none !important;
	border-radius: 0 !important; box-shadow: none !important;
	float: none !important; width: 100% !important; max-width: none !important;
	min-width: 0 !important;
}
/* Login panel visible by default, register hidden */
.kn-auth-card .u-column2,
.kn-auth-card .col-2 {
	display: none !important;
}
.kn-auth-card.kn-show-register .u-column1,
.kn-auth-card.kn-show-register .col-1 {
	display: none !important;
}
.kn-auth-card.kn-show-register .u-column2,
.kn-auth-card.kn-show-register .col-2 {
	display: block !important;
}

/* ── Panel headings (hide — tabs replace them) ── */
.kn-auth-card .u-column1 > h2,
.kn-auth-card .u-column2 > h2,
.kn-auth-card .col-1 > h2,
.kn-auth-card .col-2 > h2 {
	display: none !important;
}

/* ── Forms fill card ── */
.kn-auth-card .woocommerce-form-login,
.kn-auth-card .woocommerce-form-register {
	width: 100% !important;
}

/* ── Form rows ── */
.kn-auth-card .woocommerce-form-row,
.kn-auth-card .form-row {
	margin-bottom: 20px !important;
	width: 100% !important; padding: 0 !important; float: none !important;
}
.kn-auth-card .woocommerce-form-row--wide,
.kn-auth-card .form-row-wide {
	width: 100% !important; clear: both !important;
}

/* ── Labels ── */
.kn-auth-card .woocommerce-form-row label,
.kn-auth-card .form-row > label {
	display: block !important; width: 100% !important;
	font-size: 14px !important; font-weight: 600 !important;
	color: var(--kn-text) !important; margin-bottom: 8px !important;
	line-height: 1.3 !important;
}
.kn-auth-card .required {
	color: var(--kn-red) !important; font-weight: 400 !important;
}

/* ── Inputs ── */
.kn-auth-card input[type="text"],
.kn-auth-card input[type="email"],
.kn-auth-card input[type="password"],
.kn-auth-card .woocommerce-Input,
.kn-auth-card .input-text {
	display: block !important; width: 100% !important;
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r8) !important;
	background: var(--kn-cream) !important;
	padding: 14px 16px !important;
	font-size: 15px !important; color: var(--kn-text) !important;
	height: auto !important; line-height: 1.4 !important;
	box-sizing: border-box !important; -webkit-appearance: none !important;
	transition: border-color var(--kn-dur) var(--kn-ease), box-shadow var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease) !important;
}
.kn-auth-card input:focus,
.kn-auth-card .woocommerce-Input:focus,
.kn-auth-card .input-text:focus {
	border-color: var(--kn-olive-lt) !important;
	background: var(--kn-white) !important;
	box-shadow: 0 0 0 3px rgba(74,124,63,.10) !important;
	outline: none !important;
}

/* ── Password field wrapper ── */
.kn-auth-card .password-input {
	display: block !important; width: 100% !important; position: relative !important;
}
.kn-auth-card .password-input input { padding-right: 48px !important; }
.kn-auth-card .show-password-input {
	position: absolute !important; top: 50% !important; right: 14px !important;
	transform: translateY(-50%) !important;
	width: 24px !important; height: 24px !important; cursor: pointer !important;
	background: none !important; border: none !important; color: var(--kn-text-muted) !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
}

/* ── Buttons ── */
.kn-auth-card .woocommerce-form-login__submit,
.kn-auth-card .woocommerce-form-register__submit,
.kn-auth-card .woocommerce-Button,
.kn-auth-card button[type="submit"] {
	display: block !important;
	background: var(--kn-olive) !important; color: #fff !important;
	border: none !important; border-radius: var(--kn-r8) !important;
	padding: 15px 32px !important; font-weight: 700 !important; font-size: 15px !important;
	width: 100% !important; margin-top: 8px !important;
	cursor: pointer !important; text-align: center !important;
	transition: background var(--kn-dur) var(--kn-ease) !important;
}
.kn-auth-card .woocommerce-form-login__submit:hover,
.kn-auth-card .woocommerce-form-register__submit:hover,
.kn-auth-card .woocommerce-Button:hover,
.kn-auth-card button[type="submit"]:hover {
	background: var(--kn-olive-dk) !important;
}

/* ── Remember me ── */
.kn-auth-card .woocommerce-form__label-for-checkbox,
.kn-auth-card .woocommerce-form-login__rememberme {
	display: inline-flex !important; align-items: center !important; gap: 8px !important;
	font-size: 13.5px !important; font-weight: 400 !important; color: var(--kn-text-muted) !important;
	margin-bottom: 8px !important; cursor: pointer !important; width: auto !important;
}
.kn-auth-card input[type="checkbox"] {
	width: 16px !important; height: 16px !important;
	accent-color: var(--kn-olive) !important; margin: 0 !important;
	padding: 0 !important;
}

/* ── Lost password ── */
.kn-auth-card .woocommerce-LostPassword,
.kn-auth-card .lost_password {
	margin-top: 18px !important; text-align: center !important;
	width: 100% !important; clear: both !important;
}
.kn-auth-card .woocommerce-LostPassword a,
.kn-auth-card .lost_password a {
	font-size: 13.5px !important; color: var(--kn-olive) !important; font-weight: 500 !important;
}
.kn-auth-card .woocommerce-LostPassword a:hover,
.kn-auth-card .lost_password a:hover {
	color: var(--kn-olive-dk) !important; text-decoration: underline !important;
}

/* ── Register legal microcopy ── */
.kn-register-legal {
	margin-top: 20px; padding: 16px 0 0;
	border-top: 1px solid var(--kn-border-lt);
}
.kn-register-legal p {
	font-size: 12.5px; line-height: 1.65; color: var(--kn-text-muted); margin: 0;
}
.kn-register-legal a {
	color: var(--kn-olive); font-weight: 600;
}
.kn-register-legal a:hover { color: var(--kn-olive-dk); text-decoration: underline; }

/* ── WooCommerce privacy text ── */
.kn-auth-card .woocommerce-privacy-policy-text {
	font-size: 12px !important; color: var(--kn-text-muted) !important;
	line-height: 1.6 !important; margin-top: 12px !important;
}
.kn-auth-card .woocommerce-privacy-policy-text a {
	color: var(--kn-olive) !important;
}

/* My Account dashboard */
.kn-account-page .woocommerce-MyAccount-navigation {
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); overflow: hidden;
}
.kn-account-page .woocommerce-MyAccount-navigation ul {
	list-style: none !important; margin: 0 !important; padding: 0 !important;
}
.kn-account-page .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--kn-border-lt);
}
.kn-account-page .woocommerce-MyAccount-navigation li:last-child { border-bottom: none; }
.kn-account-page .woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; gap: 8px;
	padding: 14px 18px; font-size: 14px; font-weight: 500; color: var(--kn-text);
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease), padding-left var(--kn-dur) var(--kn-ease);
}
.kn-account-page .woocommerce-MyAccount-navigation li a:hover {
	background: var(--kn-olive-bg); color: var(--kn-olive-dk); padding-left: 24px;
}
.kn-account-page .woocommerce-MyAccount-navigation li.is-active a,
.kn-account-page .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
	background: var(--kn-olive-bg); color: var(--kn-olive-dk); font-weight: 700;
	border-left: 3px solid var(--kn-olive);
}
.kn-account-page .woocommerce-MyAccount-content {
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); padding: 28px;
}
/* Account welcome */
.kn-account-welcome {
	margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--kn-border-lt);
}
.kn-account-welcome__title {
	font-size: 22px; font-weight: 800; color: var(--kn-text); margin: 0 0 8px;
}
.kn-account-welcome__desc {
	font-size: 14px; color: var(--kn-text-muted); margin: 0; line-height: 1.6;
}
/* Account orders table */
.kn-account-page .woocommerce-orders-table {
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r8) !important;
	overflow: hidden; border-collapse: separate !important;
}
.kn-account-page .woocommerce-orders-table thead th {
	background: var(--kn-cream) !important;
	font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important;
	letter-spacing: .05em !important; color: var(--kn-text-muted) !important;
	padding: 12px 14px !important;
}
.kn-account-page .woocommerce-orders-table td {
	padding: 14px !important; font-size: 14px !important;
}

/* ============================================================================
   WOOCOMMERCE — ORDER RECEIVED (Thank You)
   ============================================================================ */
.kn-thankyou-banner {
	text-align: center; padding: 40px 20px 32px;
}
.kn-thankyou-banner__icon {
	color: var(--kn-green); margin: 0 auto 16px;
}
.kn-thankyou-banner__title {
	font-size: 26px; font-weight: 800; color: var(--kn-text); margin: 0 0 10px;
}
.kn-thankyou-banner__desc {
	font-size: 15px; color: var(--kn-text-muted); margin: 0; max-width: 480px;
	margin-left: auto; margin-right: auto; line-height: 1.6;
}
.kn-thankyou-page .woocommerce-order-details,
.kn-thankyou-page .woocommerce-customer-details {
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); padding: 24px; margin-bottom: 24px;
}
.kn-thankyou-page .woocommerce-order-details h2,
.kn-thankyou-page .woocommerce-customer-details h2 {
	font-size: 17px !important; font-weight: 700 !important; margin-bottom: 16px !important;
	padding-bottom: 12px !important; border-bottom: 2px solid var(--kn-border) !important;
}
/* Thank-you page isolation — prevent checkout layout leaking */
.kn-thankyou-page .woocommerce-checkout,
.kn-thankyou-page .woocommerce-order { display: block !important; }

/* Cart table horizontal scroll safety on narrow viewports */
.kn-cart-page .woocommerce-cart-form { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ============================================================================
   WOOCOMMERCE — PAGINATION
   ============================================================================ */
.woocommerce nav.woocommerce-pagination {
	margin-top: 32px !important;
}
.woocommerce nav.woocommerce-pagination ul {
	display: flex !important; justify-content: center !important;
	gap: 6px !important; border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: flex !important; align-items: center !important; justify-content: center !important;
	min-width: 40px !important; height: 40px !important; padding: 0 10px !important;
	border: 1.5px solid var(--kn-border) !important;
	border-radius: var(--kn-r8) !important;
	background: var(--kn-white) !important;
	font-size: 14px !important; font-weight: 600 !important; color: var(--kn-text) !important;
	transition: border-color var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--kn-olive) !important; color: var(--kn-olive) !important;
	background: var(--kn-olive-bg) !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--kn-olive) !important; border-color: var(--kn-olive) !important;
	color: #fff !important;
}

/* ============================================================================
   EMPTY STATE
   ============================================================================ */
.kn-empty-state {
	display: flex; flex-direction: column; align-items: center;
	padding: 56px 24px; text-align: center;
}
.kn-empty-state__icon {
	color: var(--kn-border); margin-bottom: 20px;
}
.kn-empty-state__title {
	font-size: 20px; font-weight: 800; color: var(--kn-text);
	margin: 0 0 8px;
}
.kn-empty-state__desc {
	font-size: 14.5px; color: var(--kn-text-muted); margin: 0 0 24px; max-width: 340px; line-height: 1.6;
}
.kn-empty-state__actions {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center;
}
.kn-empty-state__btn {
	display: inline-flex; align-items: center; padding: 12px 28px;
	background: var(--kn-olive); color: #fff; border-radius: var(--kn-pill);
	font-size: 14px; font-weight: 700;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kn-empty-state__btn:hover { background: var(--kn-olive-dk); }
.kn-empty-state__btn--ghost {
	background: var(--kn-white); color: var(--kn-text);
	border: 1.5px solid var(--kn-border);
}
.kn-empty-state__btn--ghost:hover { border-color: var(--kn-olive); color: var(--kn-olive); background: var(--kn-olive-bg); }

/* ============================================================================
   SHOP LAYOUT — sidebar + product grid
   ============================================================================ */
.kn-shop-layout {
	display: grid; grid-template-columns: var(--kn-sidebar-w) 1fr;
	gap: 0 32px; align-items: start; width: 100%;
}
.kn-shop-main { min-width: 0; }

/* ── Sidebar container ── */
.kn-shop-sidebar {
	position: sticky;
	top: calc(var(--kn-header-h) + 16px);
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); overflow: hidden; box-shadow: var(--kn-shadow-sm);
	max-height: calc(100vh - var(--kn-header-h) - 32px);
	overflow-y: auto; overscroll-behavior: contain;
}
.kn-shop-sidebar::-webkit-scrollbar { width: 3px; }
.kn-shop-sidebar::-webkit-scrollbar-thumb { background: var(--kn-border-lt); border-radius: 2px; }

/* Mobile toggle bar (hidden on desktop) */
.kn-sidebar__mobile-bar {
	display: none; align-items: center; justify-content: space-between;
	padding: 13px 18px; background: var(--kn-cream); border-bottom: 1px solid var(--kn-border);
}
.kn-sidebar__mobile-title {
	display: flex; align-items: center; gap: 7px;
	font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--kn-olive-dk);
}
.kn-sidebar__toggle {
	display: flex; align-items: center; gap: 5px;
	background: none; border: none; font-size: 12px; color: var(--kn-text-muted);
	outline: none; transition: color var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__toggle:hover { color: var(--kn-olive); }
.kn-sidebar__toggle svg { transition: transform var(--kn-dur) var(--kn-ease); }
.kn-sidebar__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.kn-sidebar__body { display: block; padding: 4px 0; }

/* Widgets */
.kn-sidebar__widget {
	padding: 16px 18px 13px;
	border-bottom: 1px solid var(--kn-border-lt);
}
.kn-sidebar__widget--last { border-bottom: none; }
.kn-sidebar__widget-title {
	font-size: 14px; font-weight: 700;
	color: var(--kn-olive-dk); margin: 0 0 11px;
	display: flex; align-items: center; gap: 8px; line-height: 1.2;
}
.kn-sidebar__widget-title::before {
	content: ''; display: inline-block; width: 3px; height: 15px;
	background: var(--kn-olive); border-radius: 2px; flex-shrink: 0;
}

/* Sidebar search */
.kn-sidebar__search-wrap {
	display: flex; align-items: center;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-pill); overflow: visible;
	clip-path: inset(0 round var(--kn-pill));
	transition: border-color var(--kn-dur) var(--kn-ease), box-shadow var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__search-wrap:focus-within {
	border-color: var(--kn-olive-lt); box-shadow: 0 0 0 2px rgba(74,124,63,.10);
}
.kn-sidebar__search-icon {
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; width: 38px; padding-left: 12px;
	color: var(--kn-olive-lt); pointer-events: none; position: relative; z-index: 1;
}
.kn-sidebar__search-input {
	flex: 1; min-width: 0; border: none; outline: none; background: transparent;
	padding: 10px 12px 10px 5px; font-size: 13px; color: var(--kn-text);
	-webkit-appearance: none; appearance: none; position: relative; z-index: 1;
}
.kn-sidebar__search-input::placeholder { color: var(--kn-tan); }
.kn-sidebar__search-input::-webkit-search-cancel-button,
.kn-sidebar__search-input::-webkit-search-decoration { display: none; }

/* ── Category list ── */
.kn-sidebar__cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1px; }

.kn-sidebar__cat-link {
	display: flex; align-items: center; gap: 9px; padding: 8px 10px;
	border-radius: var(--kn-r8); font-size: 13.5px; color: var(--kn-text);
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease),
	            padding-left var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__cat-link svg { flex-shrink: 0; color: var(--kn-border-lt); transition: color var(--kn-dur) var(--kn-ease); }
.kn-sidebar__cat-link:hover { background: var(--kn-olive-bg); color: var(--kn-olive-dk); padding-left: 14px; }
.kn-sidebar__cat-link:hover svg { color: var(--kn-olive-lt); }

/* Active / current state */
.kn-sidebar__cat-item.is-current > .kn-sidebar__cat-link {
	background: rgba(74,124,63,.13);
	color: var(--kn-olive-dk);
	font-weight: 700;
}
.kn-sidebar__cat-item.is-current > .kn-sidebar__cat-link svg { color: var(--kn-olive); }
.kn-sidebar__cat-item.is-ancestor > .kn-sidebar__cat-link { color: var(--kn-olive-dk); font-weight: 600; }

/* Expanded: show subcategories */
.kn-sidebar__subcat-list { display: none; }
.kn-sidebar__cat-item.is-expanded > .kn-sidebar__subcat-list { display: flex; }

/* Arrow rotation when expanded */
.kn-sidebar__cat-item.is-expanded > .kn-sidebar__cat-link .kn-cat-arrow svg { transform: rotate(90deg); }

/* Category badge + arrow */
.kn-cat-count { margin-left: auto; font-size: 11px; color: var(--kn-text-muted); font-weight: 400; flex-shrink: 0; }
.kn-sidebar__cat-item.is-current .kn-cat-count { color: var(--kn-olive-lt); }

.kn-cat-arrow {
	display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 15px;
}
.kn-cat-arrow svg { color: var(--kn-border); transition: color var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease); }
.kn-sidebar__cat-link:hover .kn-cat-arrow svg { color: var(--kn-olive-lt); }
.kn-sidebar__cat-item.is-current > .kn-sidebar__cat-link .kn-cat-arrow svg { color: var(--kn-olive); }

/* Subcategories */
.kn-sidebar__subcat-list {
	list-style: none; margin: 2px 0 4px 22px; padding: 0;
	flex-direction: column; gap: 1px;
	border-left: 2px solid rgba(74,124,63,.16);
}
.kn-sidebar__subcat-item { padding-left: 4px; }
.kn-sidebar__subcat-link {
	display: flex; align-items: center; gap: 7px; padding: 6px 10px;
	border-radius: var(--kn-r8); font-size: 13px; color: var(--kn-text-muted);
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease),
	            padding-left var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__subcat-link svg { color: var(--kn-border); flex-shrink: 0; transition: color var(--kn-dur) var(--kn-ease); }
.kn-sidebar__subcat-link:hover { background: var(--kn-olive-bg); color: var(--kn-olive-dk); padding-left: 13px; }
.kn-sidebar__subcat-link:hover svg { color: var(--kn-olive-lt); }
.kn-sidebar__subcat-item.is-current .kn-sidebar__subcat-link { color: var(--kn-olive); font-weight: 700; }
.kn-sidebar__subcat-item.is-current svg { color: var(--kn-olive); }

.kn-sidebar__empty { font-size: 13px; color: var(--kn-text-muted); margin: 0; padding: 4px 0; }

/* ── Price filter ── */
.kn-price-range { position: relative; height: 36px; margin-bottom: 8px; }
.kn-price-range__track {
	position: absolute; top: 50%; transform: translateY(-50%);
	left: 0; right: 0; height: 4px; background: var(--kn-border-lt); border-radius: 2px; pointer-events: none;
}
.kn-price-range__fill { position: absolute; top: 0; bottom: 0; background: var(--kn-olive-lt); border-radius: 2px; }
.kn-range-input {
	position: absolute; width: 100%; height: 100%; top: 0; left: 0;
	background: transparent; pointer-events: none; -webkit-appearance: none; appearance: none; outline: none;
}
.kn-range-input::-webkit-slider-thumb {
	-webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%;
	background: var(--kn-olive); border: 2px solid var(--kn-white);
	box-shadow: var(--kn-shadow-sm); pointer-events: all; cursor: pointer;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kn-range-input::-webkit-slider-thumb:hover { background: var(--kn-olive-dk); }
.kn-range-input::-moz-range-thumb {
	width: 18px; height: 18px; border-radius: 50%;
	background: var(--kn-olive); border: 2px solid var(--kn-white); cursor: pointer;
}
.kn-price-range__labels {
	display: flex; justify-content: space-between;
	font-size: 12px; color: var(--kn-text-muted); margin-bottom: 12px; font-weight: 600;
}
.kn-sidebar__price-actions {
	display: flex; align-items: center; gap: 12px;
}
.kn-sidebar__filter-btn {
	flex: 1; padding: 9px; background: var(--kn-olive); color: #fff;
	border: none; border-radius: var(--kn-r8); font-size: 13px; font-weight: 700;
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__filter-btn:hover { background: var(--kn-olive-dk); }
.kn-sidebar__clear-link {
	font-size: 12px; color: var(--kn-text-muted); text-decoration: underline;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__clear-link:hover { color: var(--kn-brown); }

/* Quick filters */
.kn-sidebar__quick-filters { display: flex; flex-direction: column; gap: 5px; }
.kn-sidebar__qf-btn {
	display: flex; align-items: center; gap: 8px; padding: 8px 11px;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border-lt); border-radius: var(--kn-r8);
	font-size: 13px; color: var(--kn-text); outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), border-color var(--kn-dur) var(--kn-ease),
	            color var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
}
.kn-sidebar__qf-btn:hover { background: var(--kn-olive-bg); border-color: var(--kn-olive-lt); color: var(--kn-olive-dk); transform: translateX(3px); }
.kn-sidebar__qf-btn.is-active { background: var(--kn-olive-bg); border-color: var(--kn-olive-lt); color: var(--kn-olive-dk); font-weight: 600; }

/* ============================================================================
   MOBILE FILTER BAR
   ============================================================================ */
.kn-mobile-filter-bar {
	display: none;
	background: var(--kn-white); border-bottom: 1px solid var(--kn-border);
	position: sticky; top: 0; z-index: 800;
	box-shadow: 0 2px 8px rgba(44,36,22,.05);
}
.kn-mobile-filter-bar__inner {
	display: flex; align-items: center; gap: 8px;
	padding: 10px 16px;
	overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.kn-mobile-filter-bar__inner::-webkit-scrollbar { display: none; }
.kn-mfb-btn {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 16px; flex-shrink: 0;
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-pill); font-size: 13.5px; font-weight: 500; color: var(--kn-text);
	white-space: nowrap; outline: none; -webkit-tap-highlight-color: transparent;
	transition: border-color var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease);
}
.kn-mfb-btn:hover, .kn-mfb-btn:focus-visible {
	border-color: var(--kn-olive-lt); color: var(--kn-olive-dk); background: var(--kn-olive-bg); outline: none;
}
.kn-mfb-btn--active { border-color: var(--kn-olive); color: var(--kn-olive); background: var(--kn-olive-bg); }
.kn-mfb-btn svg { flex-shrink: 0; color: var(--kn-olive-lt); }
.kn-mfb-dot {
	display: inline-block; width: 6px; height: 6px; border-radius: 50%;
	background: var(--kn-olive); flex-shrink: 0; margin-left: 2px;
}

/* ============================================================================
   BOTTOM SHEETS
   ============================================================================ */
.kn-bottom-sheet {
	display: none; position: fixed; inset: 0; z-index: 2000; align-items: flex-end;
}
.kn-bottom-sheet.is-open { display: flex; }
.kn-bottom-sheet__backdrop {
	position: absolute; inset: 0;
	background: rgba(44,36,22,.46);
	backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
	animation: kn-fade-in .20s ease;
}
.kn-bottom-sheet__panel {
	position: relative; z-index: 1; width: 100%; max-height: 72vh;
	background: var(--kn-white); border-radius: var(--kn-r16) var(--kn-r16) 0 0;
	display: flex; flex-direction: column; overflow: hidden;
	animation: kn-slide-up .26s cubic-bezier(0,.9,.3,1);
}
.kn-bottom-sheet--tall .kn-bottom-sheet__panel { max-height: 86vh; }
.kn-bottom-sheet__handle {
	width: 38px; height: 4px; border-radius: 2px;
	background: var(--kn-border); margin: 11px auto 3px; flex-shrink: 0;
}
.kn-bottom-sheet__header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 12px 20px 13px; border-bottom: 1px solid var(--kn-border); flex-shrink: 0;
}
.kn-bottom-sheet__title { font-size: 16px; font-weight: 700; color: var(--kn-text); margin: 0; }
.kn-bottom-sheet__close {
	display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: none; border: 1.5px solid var(--kn-border); color: var(--kn-text-muted);
	outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease);
}
.kn-bottom-sheet__close:hover { background: rgba(122,74,40,.08); color: var(--kn-brown); }
.kn-bottom-sheet__body { padding: 16px 20px; overflow-y: auto; overscroll-behavior: contain; flex: 1; }
.kn-bottom-sheet__body--scroll { overflow-y: auto; }
.kn-bottom-sheet__footer {
	padding: 13px 20px; border-top: 1px solid var(--kn-border); flex-shrink: 0;
	display: flex; justify-content: flex-end; gap: 10px;
}
.kn-bottom-sheet__footer--pair { justify-content: space-between; align-items: center; }

/* Sort list */
.kn-sort-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kn-sort-option {
	display: flex; align-items: center; gap: 12px;
	padding: 14px 4px; border-bottom: 1px solid var(--kn-border-lt);
	font-size: 15px; color: var(--kn-text); outline: none; -webkit-tap-highlight-color: transparent;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-sort-option:last-child { border-bottom: none; }
.kn-sort-option:hover { color: var(--kn-olive-dk); }
.kn-sort-option.is-active { font-weight: 700; color: var(--kn-olive); }
.kn-sort-option__check {
	display: flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; flex-shrink: 0; color: var(--kn-olive);
}
/* Category sheet */
.kn-sheet-cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.kn-sheet-cat-link {
	display: flex; align-items: center; gap: 12px;
	padding: 13px 4px; border-bottom: 1px solid var(--kn-border-lt);
	font-size: 15px; color: var(--kn-text); outline: none; -webkit-tap-highlight-color: transparent;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-sheet-cat-link:last-child { border-bottom: none; }
.kn-sheet-cat-link:hover { color: var(--kn-olive-dk); }
.kn-sheet-cat-link.is-active { font-weight: 700; color: var(--kn-olive); }
.kn-sheet-cat-check {
	display: flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; flex-shrink: 0; color: var(--kn-olive);
}
.kn-sheet-cat-count { margin-left: auto; font-size: 13px; color: var(--kn-text-muted); font-weight: 400; }
/* Price labels */
.kn-sheet-price-labels { display: flex; justify-content: space-between; font-size: 14px; font-weight: 700; color: var(--kn-olive); }
/* Sheet sections */
.kn-sheet-section { margin-bottom: 24px; }
.kn-sheet-section__title {
	font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--kn-text-muted); margin: 0 0 12px;
}
/* Sort pills */
.kn-sheet-sort-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.kn-sort-pill { display: inline-flex; }
.kn-sort-pill input[type="radio"] { display: none; }
.kn-sort-pill span {
	display: inline-flex; align-items: center; padding: 8px 16px;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-pill); font-size: 13.5px; color: var(--kn-text); cursor: pointer;
	transition: border-color var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease);
}
.kn-sort-pill input[type="radio"]:checked + span { border-color: var(--kn-olive); background: var(--kn-olive-bg); color: var(--kn-olive); font-weight: 700; }
.kn-sort-pill span:hover { border-color: var(--kn-olive-lt); color: var(--kn-olive-dk); }
/* Action buttons */
.kn-sheet-reset-btn {
	display: inline-flex; align-items: center; padding: 10px 18px;
	background: none; border: 1.5px solid var(--kn-border); border-radius: var(--kn-pill);
	font-size: 14px; color: var(--kn-text-muted); outline: none; -webkit-tap-highlight-color: transparent;
	transition: border-color var(--kn-dur) var(--kn-ease), color var(--kn-dur) var(--kn-ease);
}
.kn-sheet-reset-btn:hover { border-color: var(--kn-brown-lt); color: var(--kn-brown); }
.kn-sheet-apply-btn {
	display: inline-flex; align-items: center; padding: 10px 28px;
	background: var(--kn-olive); color: #fff; border: none; border-radius: var(--kn-pill);
	font-size: 14px; font-weight: 700; outline: none; -webkit-tap-highlight-color: transparent;
	transition: background var(--kn-dur) var(--kn-ease);
}
.kn-sheet-apply-btn:hover { background: var(--kn-olive-dk); }
/* Animations */
@keyframes kn-fade-in  { from { opacity: 0; }        to { opacity: 1; }         }
@keyframes kn-slide-up { from { transform: translateY(100%); } to { transform: translateY(0); } }

/* ============================================================================
   WISHLIST TOGGLE (product cards + single product)
   ============================================================================ */
.kn-wl-toggle {
	position: absolute; top: 10px; right: 10px; z-index: 3;
	display: flex; align-items: center; justify-content: center;
	width: 34px; height: 34px; border-radius: 50%;
	background: rgba(255,255,255,.90); border: 1.5px solid var(--kn-border-lt);
	color: var(--kn-text-muted); cursor: pointer;
	box-shadow: var(--kn-shadow-sm);
	-webkit-tap-highlight-color: transparent; outline: none;
	transition: color var(--kn-dur) var(--kn-ease), background var(--kn-dur) var(--kn-ease), border-color var(--kn-dur) var(--kn-ease);
}
.kn-wl-toggle:hover { color: var(--kn-red); border-color: var(--kn-red); }
.kn-wl-toggle[aria-pressed="true"] {
	color: var(--kn-red); border-color: var(--kn-red);
	background: rgba(192,57,43,.08);
}
.kn-wl-toggle[aria-pressed="true"] svg { fill: var(--kn-red); }

/* ============================================================================
   CHECKOUT — Legal Acceptance
   ============================================================================ */
.kn-checkout-legal {
	margin: 20px 0 8px; padding: 18px 20px;
	background: var(--kn-cream); border: 1.5px solid var(--kn-border-lt);
	border-radius: var(--kn-r8);
}
.kn-checkout-legal__row { margin: 0 0 12px; }
.kn-checkout-legal__row:last-child { margin-bottom: 0; }
.kn-checkout-legal__label {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 13px; line-height: 1.55; color: var(--kn-text); cursor: pointer;
}
.kn-checkout-legal__checkbox {
	flex-shrink: 0; margin-top: 3px; width: 16px; height: 16px;
	accent-color: var(--kn-olive);
}
.kn-checkout-legal__label a {
	color: var(--kn-olive); font-weight: 600; text-decoration: underline;
}
.kn-checkout-legal__label a:hover { color: var(--kn-olive-dk); }
.kn-checkout-legal__label abbr.required {
	color: var(--kn-red); text-decoration: none; font-weight: 700; margin-left: 2px;
}

/* ============================================================================
   LEGAL PAGES & ABOUT PAGE
   ============================================================================ */
.kn-legal-page,
.kn-about-page {
	max-width: 760px; line-height: 1.8; color: var(--kn-text);
}
.kn-legal-page h2,
.kn-about-page h2 {
	font-size: 24px; font-weight: 800; color: var(--kn-text); margin: 0 0 8px;
}
.kn-legal-page h3,
.kn-about-page h3 {
	font-size: 16px; font-weight: 700; color: var(--kn-text); margin: 28px 0 8px;
	padding-bottom: 6px; border-bottom: 1px solid var(--kn-border-lt);
}
.kn-legal-page p,
.kn-about-page p {
	font-size: 14.5px; color: var(--kn-text); margin: 0 0 14px;
}
.kn-legal-page strong,
.kn-about-page strong { color: var(--kn-text); }
.kn-about-page__lead {
	font-size: 18px; font-weight: 700; color: var(--kn-olive-dk);
	margin-bottom: 20px; padding-bottom: 14px; border-bottom: 2px solid var(--kn-olive);
	display: inline-block;
}

/* ============================================================================
   CONTACT PAGE CARDS
   ============================================================================ */
.kn-contact-cards {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px; margin-top: 28px;
}
.kn-contact-card {
	background: var(--kn-white); border: 1.5px solid var(--kn-border);
	border-radius: var(--kn-r12); padding: 24px 20px;
}
.kn-contact-card h3 {
	display: flex; align-items: center; gap: 8px;
	font-size: 14px; font-weight: 700; color: var(--kn-olive-dk);
	margin: 0 0 14px; padding-bottom: 10px;
	border-bottom: 1.5px solid var(--kn-border-lt);
}
.kn-contact-card h3 svg { color: var(--kn-olive); flex-shrink: 0; }
.kn-contact-card p { font-size: 14px; color: var(--kn-text); margin: 0 0 8px; line-height: 1.6; }
.kn-contact-card p:last-child { margin-bottom: 0; }
.kn-contact-link {
	color: var(--kn-olive) !important; font-weight: 700; font-size: 16px;
	transition: color var(--kn-dur) var(--kn-ease);
}
.kn-contact-link:hover { color: var(--kn-olive-dk) !important; }
.kn-contact-note { font-size: 12.5px !important; color: var(--kn-text-muted) !important; }

/* ============================================================================
   WISHLIST PAGE
   ============================================================================ */
.kn-wishlist-page { min-height: 200px; }
.kn-wishlist-loading { text-align: center; padding: 40px 0; color: var(--kn-text-muted); font-size: 14px; }
.kn-wishlist-grid { margin-top: 20px; }

/* ============================================================================
   RESPONSIVE — TABLET ≤1024px
   ============================================================================ */
@media (max-width: 1024px) {
	:root { --kn-px: 20px; }
	.kiler-header__inner {
		grid-template-columns: 48px auto 1fr auto;
		grid-template-areas:
			"hamburger logo    icons"
			"search    search  search";
		height: auto; padding: 10px var(--kn-px) 12px;
		row-gap: 10px; column-gap: 12px;
	}
	.kiler-header.is-scrolled .kiler-header__inner { height: auto; }
	.kiler-search { max-width: 100%; margin: 0; }
	.kiler-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.kn-slide { height: clamp(280px, 42vw, 400px); }
	/* Tablet sidebar — stacks above products, toggled open */
	.kn-shop-layout { grid-template-columns: 1fr; }
	.kn-shop-sidebar {
		border-right: none; border-bottom: 1px solid var(--kn-border);
		position: static; max-height: none; overflow-y: visible;
		border-radius: var(--kn-r8); margin-bottom: 20px;
	}
	.kn-sidebar__body { display: none; }
	.kn-sidebar__body.is-open { display: block; }
	.kn-sidebar__mobile-bar { display: flex; }
	/* Product grid */
	.kn-product-top { grid-template-columns: 1fr 1fr; gap: 24px; }
	/* Checkout */
	.kn-checkout-page .woocommerce-checkout {
		flex-direction: column; gap: 24px;
	}
	.kn-checkout-page #order_review { flex: 1 1 100%; max-width: none; position: static; }
	/* Category showcase */
	.kn-cat-showcase__grid { grid-template-columns: repeat(2, 1fr); }
	.kn-trust-bar__inner { grid-template-columns: repeat(2, 1fr); }
	/* Auth */
	.kn-auth-shell { padding: 28px var(--kn-px) 40px; }
	.kn-auth-card { max-width: 480px; }
}

/* ============================================================================
   RESPONSIVE — MOBILE <768px
   ============================================================================ */
@media (max-width: 767px) {
	:root { --kn-px: 16px; --kn-drawer-w: 290px; }
	.kiler-header__inner { column-gap: 8px; }
	.kiler-logo img { height: 52px; }
	.kiler-search__input { font-size: 14px; }
	.kiler-footer__inner { grid-template-columns: 1fr; gap: 26px; }
	.kiler-footer__top { padding: 36px var(--kn-px) 28px; }
	.kiler-footer__desc { max-width: 100%; }
	.kiler-footer__bottom-inner { flex-direction: column; text-align: center; }
	/* Slider */
	.kn-slide { height: clamp(240px, 54vw, 320px); }
	.kn-hero-slider::after { display: none; }
	.kn-slider__arrow { width: 38px; height: 38px; }
	.kn-slider__arrow--prev { left: 8px; }
	.kn-slider__arrow--next { right: 8px; }
	.kn-slider__arrow svg { width: 8px; height: 15px; }
	.kn-slider__dots { bottom: 10px; gap: 8px; }
	.kn-dot { width: 8px; height: 8px; }
	.kn-dot.is-active { width: 20px; }
	/* Mobile filter bar shown, desktop sidebar hidden */
	.kn-mobile-filter-bar { display: block; }
	.kn-shop-sidebar { display: none; }
	.kn-shop-layout { grid-template-columns: 1fr; }
	/* Single product */
	.kn-product-top { grid-template-columns: 1fr; gap: 20px; }
	.kn-product-page .product_title { font-size: 22px !important; }
	.kn-product-page .price { font-size: 20px !important; }
	/* Category showcase */
	.kn-cat-showcase__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.kn-cat-showcase__title { font-size: 20px; margin-bottom: 20px; }
	.kn-cat-card { padding: 20px 12px 18px; }
	/* Trust bar */
	.kn-trust-bar__inner { grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px 16px; }
	.kn-trust-item { gap: 8px; padding: 2px 4px; }
	.kn-trust-item strong { font-size: 12.5px; }
	.kn-trust-item span { font-size: 11px; }
	/* Login / register */
	.kn-auth-shell { padding: 20px 0 32px; }
	.kn-auth-card { border-radius: var(--kn-r12); }
	.kn-auth-card .u-column1,
	.kn-auth-card .u-column2,
	.kn-auth-card .col-1,
	.kn-auth-card .col-2 { padding: 28px 20px 24px !important; }
	.kn-auth-tab { font-size: 14px; padding: 14px 12px; }
	/* Cart */
	.kn-cart-page .shop_table .product-thumbnail { display: none; }
}

/* ============================================================================
   REDUCED MOTION
   ============================================================================ */
@media (prefers-reduced-motion: reduce) {
	.kn-slider__track { transition: none; }
	.kiler-drawer { transition: none; }
	.kiler-overlay { transition: none; }
	.kn-bottom-sheet__panel { animation: none; }
	.kn-bottom-sheet__backdrop { animation: none; }
	* { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
