/* Khoka 247 storefront layer. Tokens from the Khoka 247 design system; light/dark follows the device. */

@font-face { font-family: "Unbounded"; src: url(fonts/Unbounded-800.woff2) format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Unbounded"; src: url(fonts/Unbounded-700.woff2) format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url(fonts/DMSans-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url(fonts/DMSans-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "DM Sans"; src: url(fonts/DMSans-700.woff2) format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Noto Nastaliq Urdu"; src: url(fonts/NotoNastaliqUrdu-700.woff2) format("woff2"); font-weight: 700; font-display: swap; }

/* ---------- Tokens ---------- */
:root {
	--yellow: #ffd60a; --yellow-deep: #f0c400; --yellow-soft: #fff1b0; --on-yellow: #141414;
	--night: #141414; --cream: #fff8e7;
	--surface: #fffbf0; --surface-raised: #ffffff;
	--ink: #141414; --ink-muted: #5c564c; --line: #e6dfcf;
	--teal: #0b6f73; --on-teal: #ffffff; --red: #c62a1f; --success: #1f7a3d; --focus: #141414;
	--shadow-sticker: 4px 4px 0 #141414; --sticker-ink: #141414;
	--font-display: "Unbounded", "Arial Black", system-ui, sans-serif;
	--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-urdu: "Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", serif;
	--space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;
	--radius-sm: 6px; --radius-md: 10px; --radius-lg: 16px; --radius-xl: 28px; --radius-pill: 999px;
	--ease-spring: cubic-bezier(.2, .9, .25, 1.15);
	--header-h: 64px;
}
@media (prefers-color-scheme: dark) {
	:root {
		--yellow-deep: #ffe14d; --yellow-soft: #3a3105;
		--surface: #121110; --surface-raised: #1d1b18;
		--ink: #f7f1e3; --ink-muted: #b3ab9b; --line: #34302a;
		--teal: #48c6c9; --on-teal: #141414; --red: #ff7a6b; --success: #5fd38a; --focus: #ffd60a;
		--shadow-sticker: 4px 4px 0 #f7f1e3; --sticker-ink: #f7f1e3;
	}
}

/* ---------- Blocksy bridge (palette, type, buttons, links) ---------- */
:root:root {
	--theme-palette-color-1: var(--yellow);
	--theme-palette-color-2: var(--yellow-deep);
	--theme-palette-color-3: var(--ink-muted);
	--theme-palette-color-4: var(--ink);
	--theme-palette-color-5: var(--line);
	--theme-palette-color-6: var(--yellow-soft);
	--theme-palette-color-7: var(--surface);
	--theme-palette-color-8: var(--surface-raised);
	--theme-text-color: var(--ink);
	--theme-headings-color: var(--ink);
	--theme-link-initial-color: var(--teal);
	--theme-link-hover-color: var(--ink);
	--theme-border-color: var(--line);
	--theme-button-text-initial-color: var(--on-yellow);
	--theme-button-text-hover-color: var(--on-yellow);
	--theme-button-background-initial-color: var(--yellow);
	--theme-button-background-hover-color: var(--yellow-deep);
	--theme-button-border-radius: var(--radius-md);
	--theme-font-family: var(--font-sans);
	--theme-content-spacing: 1.2em;
	--theme-form-field-border-initial-color: var(--ink-muted);
	--theme-form-field-border-focus-color: var(--ink);
	--theme-form-field-background-initial-color: var(--surface-raised);
	--theme-form-field-background-focus-color: var(--surface-raised);
	--theme-form-field-border-radius: var(--radius-md);
	--theme-form-text-initial-color: var(--ink);
	--theme-form-text-focus-color: var(--ink);
	color-scheme: light dark;
}
body.khoka { background: var(--surface); color: var(--ink); font-family: var(--font-sans); -webkit-font-smoothing: antialiased; }
.khoka h1, .khoka h2, .khoka h3, .khoka .page-title, .khoka .entry-title {
	font-family: var(--font-display); font-weight: 800; letter-spacing: -0.015em; line-height: 1.1; color: var(--ink);
}
.khoka h4, .khoka h5, .khoka h6 { font-family: var(--font-sans); font-weight: 700; }
.khoka :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.khoka .elementor-widget-heading .elementor-heading-title { font-family: var(--font-display); }

/* Buttons everywhere: yellow sticker */
.khoka .button, .khoka button.button, .khoka .wp-element-button, .khoka .ct-button,
.khoka .elementor-button, .khoka .wc-block-components-button:not(.is-link), .khoka input[type="submit"] {
	font-family: var(--font-sans); font-weight: 700; border-radius: var(--radius-md);
	background: var(--yellow); color: var(--on-yellow); border: 2px solid var(--night);
	box-shadow: 4px 4px 0 var(--night); transition: transform .12s var(--ease-spring), box-shadow .12s ease, background-color .12s ease;
	min-height: 44px;
}
.khoka .button:hover, .khoka .wp-element-button:hover, .khoka .elementor-button:hover, .khoka .wc-block-components-button:not(.is-link):hover { background: var(--yellow-deep); color: var(--on-yellow); }
.khoka .button:active, .khoka .wp-element-button:active, .khoka .elementor-button:active, .khoka .wc-block-components-button:not(.is-link):active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--night); }
.khoka .elementor-button.khoka-btn-ghost, .khoka .khoka-btn-ghost .elementor-button { background: transparent; color: var(--cream); border-color: var(--cream); box-shadow: none; }
.khoka .khoka-btn-ghost .elementor-button:hover { background: rgba(255, 248, 231, .12); }

/* ---------- Design-system components ---------- */
.k-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; padding: var(--space-3) var(--space-6); font: 700 16px/24px var(--font-sans); border-radius: var(--radius-md); border: 2px solid transparent; cursor: pointer; text-decoration: none; transition: transform .1s ease, box-shadow .1s ease; }
.k-btn--primary { background: var(--yellow); color: var(--on-yellow); border-color: var(--night); box-shadow: 4px 4px 0 var(--night); }
.k-btn--primary:hover { background: var(--yellow-deep); color: var(--on-yellow); }
.k-btn--primary:active { transform: translate(4px, 4px); box-shadow: none; }
.k-btn--secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
.k-badge { display: inline-flex; align-items: center; gap: var(--space-1); padding: 2px var(--space-2); border-radius: var(--radius-sm); font: 700 11px/16px var(--font-sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.k-badge--age { color: var(--ink); border: 1.5px solid currentColor; }
.k-badge--late { background: var(--red); color: var(--on-teal); }
.k-timer { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-4) var(--space-1) var(--space-3); border-radius: var(--radius-pill); background: var(--yellow); color: var(--on-yellow); font: 800 15px/24px var(--font-display); white-space: nowrap; }
.k-timer__lines { display: inline-grid; gap: 2px; }
.k-timer__lines i { display: block; height: 3px; border-radius: 2px; background: currentColor; justify-self: end; }
.k-timer__lines i:nth-child(1) { width: 14px; } .k-timer__lines i:nth-child(2) { width: 10px; } .k-timer__lines i:nth-child(3) { width: 6px; }
.k-awning { --k-stripe: 28px; --k-a: var(--night); --k-b: var(--yellow); height: calc(var(--k-stripe) * 1.25); width: 100%;
	background:
		radial-gradient(circle at 50% 0, var(--k-a) calc(var(--k-stripe) / 2), transparent calc(var(--k-stripe) / 2 + .5px)) calc(var(--k-stripe) * -.5) calc(var(--k-stripe) * .75) / calc(var(--k-stripe) * 2) var(--k-stripe) repeat-x,
		radial-gradient(circle at 50% 0, var(--k-b) calc(var(--k-stripe) / 2), transparent calc(var(--k-stripe) / 2 + .5px)) calc(var(--k-stripe) * .5) calc(var(--k-stripe) * .75) / calc(var(--k-stripe) * 2) var(--k-stripe) repeat-x,
		repeating-linear-gradient(90deg, var(--k-a) 0 var(--k-stripe), var(--k-b) var(--k-stripe) calc(var(--k-stripe) * 2)) 0 0 / 100% calc(var(--k-stripe) * .75) no-repeat; }
.k-awning--sm { --k-stripe: 16px; }

/* ---------- Header (night band in both themes) ---------- */
.khoka #header [data-row] { --theme-palette-color-4: var(--cream); }
.khoka #header [data-row="middle"] { background: var(--night) !important; border-bottom: 0; }
.khoka #header [data-row="middle"] .ct-container { min-height: var(--header-h); }
.khoka #header .ct-menu-link, .khoka #header .ct-header-trigger, .khoka #header .ct-header-search { color: var(--cream); --theme-icon-color: var(--cream); --theme-link-initial-color: var(--cream); --theme-link-hover-color: var(--yellow); }
.khoka #header .site-logo-container img { height: 34px; width: auto; }
.khoka #offcanvas .ct-panel-inner { background: var(--night); color: var(--cream); }

/* ---------- Mini-cart (WooCommerce block) ---------- */
.khoka-minicart .wc-block-mini-cart__button { color: var(--cream); padding: 6px 10px; border-radius: var(--radius-pill); gap: 8px; font: 700 15px/1 var(--font-sans); }
.khoka-minicart .wc-block-mini-cart__button:hover { background: rgba(255, 248, 231, .1); }
.khoka-minicart .wc-block-mini-cart__icon { color: var(--cream); width: 26px; height: 26px; }
.khoka-minicart .wc-block-mini-cart__badge { background: var(--yellow) !important; color: var(--on-yellow) !important; border: 2px solid var(--night); font-weight: 800; }
.khoka-minicart .wc-block-mini-cart__amount { color: var(--cream); font-family: var(--font-display); font-weight: 800; font-size: 13px; }
.khoka .wc-block-mini-cart__drawer .components-modal__content, .khoka .wc-block-components-drawer { background: var(--surface); color: var(--ink); }
.khoka .wc-block-components-drawer { border-left: 2px solid var(--night); max-width: min(420px, 100vw); }
.khoka .wc-block-mini-cart__title { font-family: var(--font-display); font-weight: 800; font-size: 20px; letter-spacing: -0.01em; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.khoka .wc-block-mini-cart__items .wc-block-cart-items__row { padding: 14px 0; border-bottom: 1px solid var(--line); }
.khoka .wc-block-cart-item__image img { border-radius: var(--radius-md); }
.khoka .wc-block-components-product-name { color: var(--ink); font-weight: 700; text-decoration: none; }
.khoka .wc-block-components-quantity-selector { border: 2px solid var(--ink); border-radius: var(--radius-pill); overflow: hidden; background: var(--surface-raised); }
.khoka .wc-block-components-quantity-selector::after { display: none; }
.khoka .wc-block-components-quantity-selector__button { color: var(--ink); font-weight: 800; min-width: 34px; }
.khoka .wc-block-components-quantity-selector__button:hover { background: var(--yellow); color: var(--on-yellow); }
.khoka .wc-block-components-quantity-selector__input { color: var(--ink); font-weight: 700; background: transparent; }
.khoka .wc-block-mini-cart__footer { background: var(--yellow-soft); border-top: 2px solid var(--night); }
.khoka .wc-block-mini-cart__footer .wc-block-components-totals-item__value { font-family: var(--font-display); font-weight: 800; }
.khoka .wc-block-mini-cart__footer-cart.wc-block-components-button { background: transparent; box-shadow: none; color: var(--ink); border-color: var(--ink); }
.khoka .wc-block-mini-cart__empty-cart-wrapper { text-align: center; }

/* ---------- Category chips ---------- */
.khoka-cats { margin: 0 calc(-1 * var(--space-4)); padding: var(--space-3) var(--space-4); background: color-mix(in srgb, var(--surface) 88%, transparent); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); z-index: 20; }
.khoka-cats.is-sticky { position: sticky; top: var(--k-sticky-top, 0px); }
.admin-bar .khoka-cats.is-sticky { --k-sticky-top: 46px; }
@media (min-width: 783px) { .admin-bar .khoka-cats.is-sticky { --k-sticky-top: 32px; } }
.khoka-cats ul { display: flex; gap: var(--space-2); margin: 0; padding: 2px 4px 6px; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.khoka-cats ul::-webkit-scrollbar { display: none; }
.khoka-cats li { flex: 0 0 auto; scroll-snap-align: start; margin: 0; }
.khoka-chip { --k-chip-bg: var(--surface-raised); display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; padding: 6px 14px 6px 8px; border-radius: var(--radius-pill); border: 1.5px solid var(--line); background: var(--k-chip-bg); color: var(--ink); font: 700 14px/1 var(--font-sans); text-decoration: none; transition: transform .15s var(--ease-spring), border-color .15s, box-shadow .15s; }
.khoka-chip__ico { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--yellow); color: var(--on-yellow); }
a.khoka-chip:hover { border-color: var(--ink); transform: translateY(-2px); color: var(--ink); }
.khoka-chip.is-active { --k-chip-bg: var(--night); background: var(--night); color: var(--cream); border-color: var(--night); box-shadow: 3px 3px 0 var(--yellow); }
.khoka-chip.is-locked { opacity: .6; cursor: default; }
.khoka-chip.is-locked .khoka-chip__ico { background: var(--line); color: var(--ink-muted); }
.khoka-chip .k-badge { font-size: 10px; padding: 1px 6px; }

/* ---------- Product cards (Blocksy archive + Essential Addons grid) ---------- */
.khoka ul.products { --khoka-cols: 2; gap: 12px !important; }
.khoka ul.products li.product, .khoka .eael-product-grid .product .eael-product-wrap {
	position: relative; display: flex; flex-direction: column; gap: 6px;
	background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--radius-lg);
	padding: 10px 10px 12px; text-align: left; transform-style: preserve-3d;
	transform: perspective(800px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--ty, 0));
	transition: transform .35s var(--ease-spring), border-color .2s, box-shadow .2s;
	will-change: transform;
}
.khoka ul.products li.product:hover, .khoka .eael-product-grid .product .eael-product-wrap:hover { --ty: -4px; border-color: var(--sticker-ink); box-shadow: var(--shadow-sticker); }
.khoka ul.products li.product.is-featured-card { border: 2px solid var(--sticker-ink); box-shadow: var(--shadow-sticker); }
.khoka ul.products li.product .ct-media-container, .khoka ul.products li.product figure, .khoka .eael-product-grid .product .product-image-wrap, .khoka .eael-product-grid .product .image-wrap {
	border-radius: var(--radius-md); overflow: hidden; margin: 0 0 4px; background: var(--yellow-soft); transform: translateZ(28px);
}
.khoka ul.products li.product img, .khoka .eael-product-grid .product img { border-radius: var(--radius-md); transition: transform .5s var(--ease-spring); aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; }
.khoka ul.products li.product:hover img, .khoka .eael-product-grid .product .eael-product-wrap:hover img { transform: scale(1.06) rotate(-2deg); }
.khoka ul.products li.product .woocommerce-loop-product__title, .khoka .eael-product-grid .product .woocommerce-loop-product__title, .khoka .eael-product-grid .product .eael-product-title h2 {
	font: 700 14px/1.3 var(--font-sans) !important; color: var(--ink) !important; margin: 2px 0 0 !important; letter-spacing: 0; transform: translateZ(14px);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em;
}
.khoka ul.products li.product .woocommerce-loop-product__title a { color: inherit; }
.khoka ul.products li.product .price, .khoka .eael-product-grid .product .price, .khoka .eael-product-grid .product .eael-product-price {
	font: 800 14px/1.2 var(--font-display) !important; color: var(--ink) !important; margin: 0 !important; display: flex; gap: 6px; align-items: baseline; flex-wrap: wrap;
}
.khoka ul.products li.product .price del, .khoka .eael-product-grid .product .price del { font: 500 12px var(--font-sans); color: var(--ink-muted); opacity: 1; }
.khoka ul.products li.product .price ins, .khoka .eael-product-grid .product .price ins { text-decoration: none; background: none; }
.khoka ul.products li.product .ct-woo-card-actions, .khoka .eael-product-grid .product .eael-product-wrap > .add-to-cart-button-wrap { margin-top: auto; }
.khoka ul.products li.product .button, .khoka .eael-product-grid .product .button {
	width: 100%; min-height: 40px; margin-top: 6px !important; font-size: 14px !important; padding: 8px 12px !important;
	box-shadow: 3px 3px 0 var(--night); display: inline-flex !important; align-items: center; justify-content: center; gap: 6px;
}
.khoka ul.products li.product .button::before, .khoka .eael-product-grid .product .add_to_cart_button::before { content: "+"; font: 800 18px/1 var(--font-display); }
.khoka ul.products li.product .button.loading, .khoka .eael-product-grid .product .button.loading { opacity: .7; }
.khoka ul.products li.product .button.added::before, .khoka .eael-product-grid .product .button.added::before { content: "✓"; }
.khoka ul.products li.product .added_to_cart, .khoka .eael-product-grid .product .added_to_cart { display: none !important; }
.khoka ul.products li.product .onsale, .khoka .eael-product-grid .product .onsale, .khoka .eael-product-grid .product .eael-onsale {
	position: absolute; top: 16px; left: 16px; z-index: 3; min-height: 0; min-width: 0; padding: 2px 8px; border-radius: var(--radius-sm);
	background: var(--night) !important; color: var(--yellow) !important; font: 700 11px/16px var(--font-sans); text-transform: uppercase; letter-spacing: .06em; transform: translateZ(40px); line-height: 16px; height: auto; width: auto;
}
.khoka .eael-product-grid .product .star-rating, .khoka ul.products li.product .star-rating { display: none; }
.khoka .eael-product-grid .eael-product-excerpt { display: none; }
@media (min-width: 690px) { .khoka ul.products { gap: 16px !important; } .khoka ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; } }
@media (min-width: 1000px) { .khoka ul.products li.product, .khoka .eael-product-grid .product .eael-product-wrap { padding: 12px 12px 14px; } }

/* EA grid layout normalise */
.khoka .eael-product-grid .woocommerce ul.products { display: grid !important; grid-template-columns: repeat(var(--khoka-cols, 2), minmax(0, 1fr)); margin: 0 !important; }
.khoka .eael-product-grid .woocommerce ul.products::before, .khoka .eael-product-grid .woocommerce ul.products::after { display: none; }
.khoka .eael-product-grid .woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; transform: none; }
.khoka .eael-product-grid .product .eael-product-wrap { height: 100%; }
@media (min-width: 768px) { .khoka .eael-product-grid .woocommerce ul.products { --khoka-cols: 3; } }
@media (min-width: 1100px) { .khoka .eael-product-grid .woocommerce ul.products { --khoka-cols: 4; } }

/* Locked (restricted) items */
.khoka ul.products li.product .button:not(.add_to_cart_button) { background: var(--surface); box-shadow: none; border-color: var(--line); color: var(--ink-muted); }
.khoka-age-note { display: flex; gap: 8px; align-items: center; color: var(--ink-muted); font-size: 14px; }

/* ---------- Home sections (classes set in Elementor) ---------- */
.khoka-hero { position: relative; overflow: hidden; background: var(--night) !important; color: var(--cream); isolation: isolate; }
.khoka-hero::before { content: ""; position: absolute; inset: auto -10% -40% 40%; height: 120%; background: radial-gradient(closest-side, rgba(255, 214, 10, .22), transparent 70%); z-index: -1; pointer-events: none; }
.khoka-hero .elementor-heading-title { color: var(--cream) !important; }
.khoka-hero h1.elementor-heading-title { font-size: clamp(34px, 9vw, 64px) !important; line-height: 1.02 !important; letter-spacing: -0.025em !important; }
.khoka-hero h1 .khoka-hl { color: var(--yellow); }
.khoka-hero .elementor-widget-text-editor { color: rgba(255, 248, 231, .82); font-size: 17px; line-height: 1.5; max-width: 34ch; }
.khoka-hero .khoka-urdu { font-family: var(--font-urdu); color: var(--yellow); font-size: 28px; line-height: 2; }

/* 3D floating product stack */
.khoka-stack { position: relative; min-height: 300px; perspective: 1000px; }
.khoka-stack .elementor-widget-image { position: absolute !important; width: 46% !important; max-width: 240px; transform-style: preserve-3d; animation: khoka-float 6s ease-in-out infinite; }
.khoka-stack .elementor-widget-image img { border-radius: var(--radius-lg); border: 2px solid var(--cream); box-shadow: 6px 6px 0 var(--yellow); }
.khoka-stack .elementor-widget-image:nth-child(1) { left: 4%; top: 12%; --r: -8deg; z-index: 2; }
.khoka-stack .elementor-widget-image:nth-child(2) { left: 30%; top: 0; --r: 4deg; z-index: 3; animation-delay: -2s; }
.khoka-stack .elementor-widget-image:nth-child(3) { left: 54%; top: 18%; --r: 10deg; z-index: 1; animation-delay: -4s; }
@keyframes khoka-float {
	0%, 100% { transform: rotateY(-14deg) rotateX(6deg) rotate(var(--r)) translateY(0); }
	50% { transform: rotateY(-6deg) rotateX(2deg) rotate(var(--r)) translateY(-12px); }
}
@media (min-width: 900px) { .khoka-stack { min-height: 420px; } }

/* Zone checker */
.khoka-zone { display: grid; gap: 8px; margin: 0; max-width: 460px; }
.khoka-zone__label { font: 700 13px/1 var(--font-sans); letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 248, 231, .7); }
.khoka-zone__row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.khoka-zone__select { flex: 1 1 200px; min-height: 48px; border-radius: var(--radius-md) !important; border: 2px solid var(--cream) !important; background: var(--night) !important; color: var(--cream) !important; font: 700 16px var(--font-sans) !important; padding: 0 14px !important; }
.khoka-zone__msg { margin: 0; min-height: 22px; font-weight: 700; color: var(--yellow); }
.khoka-zone__msg.is-out { color: #ff9a8f; }

/* Restricted teaser */
.khoka-soon { border: 2px dashed var(--line); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: 6px; justify-items: start; background: var(--surface-raised); }
.khoka-soon__title { margin: 0; font: 800 20px/1.2 var(--font-display); color: var(--ink); }
.khoka-soon__body { margin: 0; color: var(--ink-muted); max-width: 52ch; }

/* Promise strip (Elementor icon boxes) */
.khoka-promise .elementor-icon-box-wrapper { display: flex; gap: 12px; align-items: center; text-align: left !important; }
.khoka-promise .elementor-icon { background: var(--yellow); color: var(--on-yellow) !important; fill: var(--on-yellow) !important; border-radius: 12px; padding: 10px; font-size: 22px !important; border: 2px solid var(--night); }
.khoka-promise .elementor-icon svg { fill: var(--on-yellow); width: 22px; height: 22px; }
.khoka-promise .elementor-icon-box-title { font: 800 15px/1.2 var(--font-display) !important; margin: 0 0 2px !important; color: var(--ink) !important; }
.khoka-promise .elementor-icon-box-description { font-size: 14px; color: var(--ink-muted) !important; margin: 0; }

.khoka-section-title .elementor-heading-title { font-size: clamp(22px, 5vw, 30px) !important; }
.khoka-link .elementor-button { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--teal) !important; padding: 0 !important; min-height: 0; font-weight: 700; }

/* ---------- Sticky mobile cart bar ---------- */
.khoka-bar { position: fixed; z-index: 999; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); display: grid; gap: 6px; transform: translateY(140%); transition: transform .35s var(--ease-spring); pointer-events: none; }
.khoka-bar.is-on { transform: none; pointer-events: auto; }
.khoka-bar__btn { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px 16px 8px 8px; border-radius: var(--radius-pill); border: 2px solid var(--night); background: var(--yellow); color: var(--on-yellow); box-shadow: 4px 4px 0 var(--night); font: 700 16px/1 var(--font-sans); cursor: pointer; }
.khoka-bar__btn:active { transform: translate(4px, 4px); box-shadow: none; }
.khoka-bar__count { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border-radius: var(--radius-pill); background: var(--night); color: var(--yellow); font: 800 15px/1 var(--font-display); }
.khoka-bar__label { flex: 1; text-align: left; }
.khoka-bar__total { font: 800 16px/1 var(--font-display); }
.khoka-bar__hint { margin: 0; justify-self: center; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--night); color: var(--cream); font-size: 13px; font-weight: 500; }
.khoka-bar__hint:empty { display: none; }
.khoka-bar.bump .khoka-bar__count { animation: khoka-bump .45s var(--ease-spring); }
@keyframes khoka-bump { 30% { transform: scale(1.3) rotate(-6deg); } }
@media (min-width: 1000px) { .khoka-bar { display: none; } }
body.khoka.has-khoka-bar { padding-bottom: 88px; }
@media (min-width: 1000px) { body.khoka.has-khoka-bar { padding-bottom: 0; } }

/* ---------- Age gate ---------- */
.khoka-gate { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; background: rgba(20, 20, 20, .72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.khoka-gate[hidden] { display: none; }
.khoka-gate__card { width: min(420px, 100%); background: var(--surface-raised); color: var(--ink); border: 2px solid var(--sticker-ink); box-shadow: 6px 6px 0 var(--yellow); border-radius: var(--radius-xl); padding: 28px 24px; display: grid; gap: 10px; justify-items: start; }
.khoka-gate__title { margin: 0; font: 800 28px/1.1 var(--font-display); }
.khoka-gate__card p { margin: 0; color: var(--ink-muted); }
.khoka-gate__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 8px; }

/* ---------- Checkout & cart pages ---------- */
.khoka .wc-block-checkout, .khoka .wc-block-cart { --wp--preset--color--contrast: var(--ink); }
.khoka .wc-block-components-title, .khoka .wc-block-checkout__step-title, .khoka .wc-block-components-checkout-step__title { font-family: var(--font-display); font-weight: 800; }
.khoka .wc-block-components-text-input input, .khoka .wc-block-components-select select, .khoka .wc-blocks-components-select__select, .khoka .wc-block-components-textarea {
	border-radius: var(--radius-md) !important; border-color: var(--ink-muted) !important; background: var(--surface-raised) !important; color: var(--ink) !important;
}
.khoka .wc-block-components-sidebar .wc-block-components-panel, .khoka .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { border-color: var(--line); }
.khoka .wc-block-components-order-summary, .khoka .wp-block-woocommerce-checkout-order-summary-block { background: var(--yellow-soft); border-radius: var(--radius-lg); }
.khoka .wc-block-components-checkout-place-order-button { width: 100%; min-height: 56px; font-size: 17px !important; }
.khoka .wc-block-components-notice-banner { border-radius: var(--radius-md); }

/* Dark-mode text contrast fixes for plugin defaults */
@media (prefers-color-scheme: dark) {
	.khoka .woocommerce-message, .khoka .woocommerce-info { background: var(--surface-raised); color: var(--ink); }
	.khoka .wc-block-components-product-metadata, .khoka .wc-block-components-product-price { color: var(--ink-muted); }
	.khoka .wc-block-components-drawer__close { color: var(--ink); }
}

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion: reduce) {
	.khoka *, .khoka *::before, .khoka *::after { animation: none !important; transition: none !important; }
	.khoka ul.products li.product, .khoka .eael-product-grid .product .eael-product-wrap { transform: none !important; }
	.khoka-stack .elementor-widget-image { transform: rotate(var(--r)); }
}

/* ---------- v1.0.1 fixes after visual QA ---------- */
.khoka .eael-product-grid .eael-product-wrap { overflow: hidden; }
.khoka .eael-product-grid .eael-product-wrap > img { margin: 0 0 4px !important; background: var(--yellow-soft); }
.khoka .eael-product-grid .eael-product-wrap:hover > img { transform: scale(1.04); }
.khoka .eael-product-grid .woocommerce ul.products li.product .eael-product-wrap .button,
.khoka .eael-product-grid .woocommerce ul.products li.product .eael-product-wrap .button:hover {
	background: var(--yellow) !important; color: var(--on-yellow) !important; border: 2px solid var(--night) !important;
	border-radius: var(--radius-md) !important; box-shadow: 3px 3px 0 var(--night) !important;
	width: calc(100% - 3px) !important; max-width: none; margin: auto 0 3px !important; align-self: flex-start;
	font: 700 14px/1 var(--font-sans) !important; text-transform: none !important; letter-spacing: 0 !important; height: auto !important; padding: 10px 12px !important;
}
.khoka .eael-product-grid .woocommerce ul.products li.product .eael-product-wrap .button:hover { background: var(--yellow-deep) !important; }
.khoka .eael-product-grid .woocommerce ul.products li.product .eael-product-wrap .button:active { transform: translate(3px, 3px); box-shadow: none !important; }
.khoka .eael-product-grid .eael-product-title a { text-decoration: none; }
.khoka .eael-product-grid .eael-product-price { min-height: 20px; }
.khoka .eael-product-grid .onsale { top: 12px !important; left: 12px !important; }
/* header mini-cart: no global button skin */
.khoka #header .khoka-minicart .wc-block-mini-cart__button { background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 44px; color: var(--cream) !important; }
.khoka #header .khoka-minicart .wc-block-mini-cart__button:hover { background: rgba(255, 248, 231, .1) !important; }
.khoka #header .khoka-minicart .wc-block-mini-cart__icon { fill: none; stroke: currentColor; }
/* hero stack: image with transparent-looking card */
.khoka-stack .elementor-widget-image img { background: var(--night); }
.khoka .eael-product-grid .woocommerce ul.products li.product .eael-product-wrap .button.added { display: inline-flex !important; }
.khoka .wc-block-components-drawer__close { border: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--ink) !important; min-height: 0; }
.khoka-min-banner { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 20px; padding: 12px 16px; border-radius: var(--radius-md); background: var(--yellow-soft); color: var(--ink); border: 1.5px solid var(--ink); font-weight: 500; }
.khoka-min-banner a { font-weight: 700; color: var(--teal); }
.khoka ul.products[data-products] { --shop-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: var(--shop-columns) !important; }
@media (min-width: 690px) { .khoka ul.products[data-products] { --shop-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .khoka ul.products[data-products] { --shop-columns: repeat(4, minmax(0, 1fr)); } }
.khoka ul.products li.product .entry-meta, .khoka ul.products li.product ul[data-type="simple"] { display: none; }
