/*
Theme Name: Kadosh Store
Theme URI: https://store.kadoshmechatronics.com
Author: Kadosh Mechatronics
Author URI: https://kadoshmechatronics.com
Description: A premium, mobile-first WooCommerce block theme for electronics, kits and engineering products. Store details live under Appearance → Store Theme; brand colours and fonts in theme.json.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Version: 1.8.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kadosh-store
Tags: e-commerce, block-patterns, full-site-editing, custom-colors, wide-blocks
WC requires at least: 9.0
WC tested up to: 11.2

Inter font: SIL Open Font License 1.1 (rsms/inter).
*/

/* ---------- Tokens ---------- */
:root {
	--ks-ivory: var(--wp--preset--color--base);
	--ks-char: var(--wp--preset--color--contrast);
	--ks-muted: var(--wp--preset--color--muted);
	--ks-line: var(--wp--preset--color--border);
	--ks-orange: var(--wp--preset--color--primary);
	--ks-deep: var(--wp--preset--color--primary-deep);
	--ks-soft: var(--wp--preset--color--primary-soft);
	--ks-r-card: 22px;
	--ks-r-panel: 28px;
	--ks-shadow: 0 1px 2px rgba(24,24,27,.04), 0 10px 30px -14px rgba(24,24,27,.16);
	--ks-shadow-lift: 0 28px 56px -28px rgba(24,24,27,.34);
	--ks-ease: cubic-bezier(.2,.7,.2,1);
	--ks-gutter: clamp(1rem, 4vw, 2rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--ks-orange); outline-offset: 2px; border-radius: 10px; }
::selection { background: var(--ks-orange); color: #000; }
.ks-main { min-height: 50vh; }
.ks-main > * + * { margin-block-start: 0; }

/* ---------- Announcement ---------- */
.ks-announce { position: relative; padding-block: .55rem; font-size: .75rem; letter-spacing: .01em; }
.ks-announce p { margin: 0; line-height: 1.45; }
.ks-announce strong { color: #fff; }
.ks-announce span { color: var(--ks-orange); font-weight: 700; }
.ks-announce::after { content: ""; position: absolute; inset: auto 0 0 0; height: 2px; background: var(--wp--preset--gradient--brand); }

/* ---------- Header ---------- */
.ks-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .ks-header-wrap { top: 46px; }
@media (min-width: 783px) { .admin-bar .ks-header-wrap { top: 32px; } }
.ks-header { background: rgba(255,255,255,.86) !important; backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid var(--ks-line); padding-block: .7rem .55rem; }
.ks-header > * { margin-block: 0 !important; }
.ks-header__row { gap: .75rem; }
.ks-brand { gap: .6rem !important; min-width: 0; }
.ks-brand__logo img { width: 44px !important; height: auto; display: block; }
.ks-brand__tag { gap: 0 !important; min-width: 0; }
.ks-brand__name { margin: 0; font-weight: 900; font-size: 1.05rem; letter-spacing: -.03em; line-height: 1.05; white-space: nowrap; }
.ks-brand__name a { color: var(--ks-char); }
.ks-brand__sub { margin: 0; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ks-muted); white-space: nowrap; }

.ks-search { display: none; flex: 1 1 auto; max-width: 560px; margin: 0 !important; }
.ks-search .wp-block-search__inside-wrapper { border: 1px solid var(--ks-line) !important; border-radius: 9999px !important; background: #F8F8F8; padding: 4px !important; transition: border-color .2s, box-shadow .2s, background .2s; }
.ks-search .wp-block-search__inside-wrapper:focus-within { border-color: var(--ks-orange) !important; background: #fff; box-shadow: 0 0 0 4px rgba(255,159,28,.18); }
.ks-search .wp-block-search__input { border: 0 !important; background: transparent; padding: .55rem .9rem !important; font-size: .9rem; min-height: 0; }
.ks-search .wp-block-search__input:focus { outline: none; }
.ks-search .wp-block-search__button { margin: 0 !important; border-radius: 9999px !important; background: var(--ks-char) !important; color: #fff !important; padding: .5rem .8rem !important; min-width: 0; }
.ks-search .wp-block-search__button svg { fill: currentColor; width: 20px; height: 20px; }

.ks-actions { gap: .25rem !important; flex: none; }
.ks-icon-btn { display: inline-flex; }
.ks-icon-btn a, .ks-icon-btn > button, .ks-cart .wc-block-mini-cart__button { display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 9999px; color: var(--ks-char) !important; transition: background .2s; padding: 0 !important; }
.ks-icon-btn a:hover, .ks-cart .wc-block-mini-cart__button:hover { background: #F4F4F5; }
.ks-icon-btn svg { width: 22px; height: 22px; }
.ks-cart .wc-block-mini-cart__badge { background: var(--ks-orange) !important; color: #000 !important; font-weight: 800; border: 2px solid #fff; }

.ks-nav-row { margin-top: .45rem !important; gap: 1rem; }
.ks-nav { font-size: .88rem; font-weight: 700; }
.ks-nav .wp-block-navigation__container { gap: .25rem !important; }
.ks-nav .wp-block-navigation-item__content { padding: .45rem .8rem !important; border-radius: 9999px; color: var(--ks-char); transition: background .2s, color .2s; }
.ks-nav .wp-block-navigation-item__content:hover, .ks-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--ks-soft); color: var(--ks-deep); }
.ks-nav .wp-block-navigation__submenu-container { border: 1px solid var(--ks-line) !important; border-radius: 16px; padding: .4rem !important; box-shadow: var(--ks-shadow-lift); min-width: 220px !important; }
.ks-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 10px; }
.ks-nav .wp-block-navigation__responsive-container-open { width: 42px; height: 42px; border-radius: 9999px; border: 1px solid var(--ks-line); place-items: center; justify-content: center; align-items: center; }
.ks-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem var(--ks-gutter) 2rem !important; }
.ks-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; align-items: stretch; }
.ks-nav .is-menu-open .wp-block-navigation__container { gap: .25rem !important; width: 100%; }
.ks-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.ks-nav .is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: .85rem 1rem !important; width: 100%; border-radius: 14px; }
.ks-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 0 1rem !important; }
.ks-nav-row__help { display: none; margin: 0 !important; font-size: .75rem; color: var(--ks-muted); white-space: nowrap; }
.ks-nav-row__help a { font-weight: 800; }

/* Mobile header: logo · actions · burger on one row, search full-width below */
@media (max-width: 899px) {
	.ks-header { padding-block: .6rem; }
	.ks-header__row { flex-wrap: wrap !important; }
	.ks-brand { order: 1; flex: 1 1 auto; }
	.ks-actions { order: 2; }
	.ks-search { display: block; order: 3; flex: 1 0 100%; max-width: none; }
	.ks-nav-row { position: absolute; top: .6rem; right: calc(var(--ks-gutter) + 92px); margin: 0 !important; }
	.ks-header { position: relative; }
	.ks-brand__sub { display: none; }
}
@media (min-width: 900px) {
	.ks-search { display: block; }
	.ks-brand__logo img { width: 52px !important; }
	.ks-brand__name { font-size: 1.2rem; }
	.ks-nav-row__help { display: block; }
}

/* Nothing may push the layout wider than the viewport. */
.ks-header__row, .ks-nav-row, .ks-section__head { min-width: 0; }
.ks-hero__lead, .ks-hero__title { overflow-wrap: anywhere; }

/* ---------- Shared section styles ---------- */
.ks-section { padding-block: clamp(2.5rem, 6vw, 4.5rem) 0; }
.ks-section:last-child { padding-bottom: clamp(3rem, 7vw, 5.5rem); }
.ks-section__head { margin-bottom: clamp(1.25rem, 3vw, 2rem) !important; gap: .75rem; }
.ks-section__head h2 { margin: 0; }
.ks-section__head > .wp-block-group { gap: .35rem !important; }
.ks-kicker { margin: 0; font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; color: var(--ks-deep); }
.ks-link-arrow { margin: 0; font-weight: 800; font-size: .9rem; }
.ks-link-arrow a { color: var(--ks-char); display: inline-flex; align-items: center; gap: .4rem; }
.ks-link-arrow a::after { content: "→"; transition: transform .2s var(--ks-ease); }
.ks-link-arrow a:hover::after { transform: translateX(4px); }
.ks-eyebrow { display: inline-flex; flex-wrap: wrap; max-width: 100%; line-height: 1.35; align-items: center; gap: .55rem; margin: 0; padding: .45rem .9rem; border-radius: 9999px; background: var(--ks-char); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ks-dot { flex: none; width: 7px; height: 7px; border-radius: 9999px; background: var(--ks-orange); box-shadow: 0 0 0 4px rgba(255,159,28,.25); animation: ks-pulse 2.4s ease-in-out infinite; }
@keyframes ks-pulse { 50% { box-shadow: 0 0 0 7px rgba(255,159,28,.05); } }
.ks-accent { background: linear-gradient(90deg, #FF9F1C, #EA580C); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .18s var(--ks-ease), box-shadow .2s, background .2s; box-shadow: 0 12px 24px -14px rgba(24,24,27,.5); }
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-ks-cta .wp-block-button__link { background: var(--wp--preset--gradient--cta) !important; color: #fff !important; box-shadow: 0 14px 28px -14px rgba(234,88,12,.7); }
.wp-block-button.is-style-ks-ghost .wp-block-button__link { background: #fff !important; color: var(--ks-char) !important; border: 1px solid var(--ks-line); box-shadow: none; }
.wp-block-button.is-style-ks-ghost .wp-block-button__link:hover { border-color: var(--ks-char); }

/* ---------- Hero ---------- */
.ks-hero { position: relative; overflow: hidden; padding-block: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 5vw, 3.5rem); background: radial-gradient(1200px 520px at 85% -10%, #FFE8C7 0%, rgba(255,232,199,0) 60%), radial-gradient(900px 480px at -10% 110%, #D9F7E8 0%, rgba(217,247,232,0) 60%), var(--wp--preset--gradient--warm); border-bottom: 1px solid var(--ks-line); }
.ks-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(24,24,27,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(24,24,27,.035) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(ellipse at 30% 40%, #000 30%, transparent 75%); pointer-events: none; }
.ks-hero__cols > .wp-block-column, .ks-feature__cols > .wp-block-column, .ks-footer__cols > .wp-block-column { min-width: 0; }
.ks-hero__cols { position: relative; gap: clamp(1.5rem, 4vw, 3rem) !important; }
.ks-hero__copy > * + * { margin-top: 1.1rem !important; }
.ks-hero__title { font-size: clamp(2.3rem, 7.2vw, 4.4rem) !important; line-height: .98 !important; letter-spacing: -.045em !important; font-weight: 900 !important; max-width: 13ch; }
.ks-hero__lead { font-size: clamp(1rem, 1.7vw, 1.2rem); color: var(--ks-muted); max-width: 46ch; line-height: 1.6; }
.ks-hero__ctas { gap: .7rem !important; margin-top: 1.6rem !important; flex-wrap: wrap; }
.ks-hero__chips { list-style: none; padding: 0; margin-top: 1.6rem !important; display: flex; flex-wrap: wrap; gap: .5rem; }
.ks-hero__chips li { font-size: .78rem; font-weight: 800; padding: .45rem .85rem; border-radius: 9999px; background: #fff; border: 1px solid var(--ks-line); box-shadow: 0 1px 2px rgba(24,24,27,.05); }
.ks-hero__chips li::before { content: "✓"; color: #16A34A; margin-right: .4rem; }
.ks-hero__img { margin: 0; }
.ks-hero__img img { width: 100%; height: auto; filter: drop-shadow(0 30px 40px rgba(24,24,27,.08)); animation: ks-float 7s ease-in-out infinite; }
@keyframes ks-float { 50% { transform: translateY(-8px); } }
@media (max-width: 781px) {
	.ks-eyebrow { font-size: .6rem; letter-spacing: .07em; padding: .45rem .8rem; gap: .45rem; flex-wrap: nowrap; }
	.ks-hero__art { margin-top: .5rem; }
	.ks-hero__ctas .wp-block-button { flex: 1 1 100%; }
	.ks-hero__ctas .wp-block-button__link { width: 100%; text-align: center; }
	.ks-hero__chips { display: none; }
}

/* Hero product showcase (bento) */
.ks-bento { display: grid; gap: clamp(.6rem, 1.6vw, 1rem); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ks-bento__tile { position: relative; display: block; overflow: hidden; border-radius: 20px; background: #fff; border: 1px solid var(--ks-line); box-shadow: var(--ks-shadow); color: var(--ks-char); isolation: isolate; transition: transform .3s var(--ks-ease), box-shadow .3s; }
.ks-bento__tile:hover { transform: translateY(-3px); box-shadow: var(--ks-shadow-lift); }
.ks-bento__tile img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ks-ease); }
.ks-bento__tile:hover img { transform: scale(1.04); }
.ks-bento__tile--big { grid-column: 1 / -1; }
.ks-bento__tile--big img { aspect-ratio: 16 / 10; object-position: center 55%; }
.ks-bento--n2 .ks-bento__tile:not(.ks-bento__tile--big), .ks-bento--n3 .ks-bento__tile:not(.ks-bento__tile--big) { grid-column: span 3; }
.ks-bento--n3 { grid-template-columns: repeat(2, minmax(0,1fr)); } .ks-bento--n3 .ks-bento__tile:not(.ks-bento__tile--big) { grid-column: auto; }
.ks-bento__meta { position: absolute; left: .5rem; right: .5rem; bottom: .5rem; display: flex; flex-direction: column; gap: .1rem; padding: .45rem .6rem; border-radius: 12px; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 6px 16px -10px rgba(24,24,27,.4); }
.ks-bento__name { font-size: .72rem; font-weight: 800; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ks-bento__price { font-size: .72rem; font-weight: 900; color: var(--ks-deep); }
.ks-bento__tile--big .ks-bento__meta { left: .9rem; right: auto; bottom: .9rem; padding: .7rem 1rem; max-width: calc(100% - 1.8rem); }
.ks-bento__tile--big .ks-bento__name { font-size: clamp(.9rem, 1.6vw, 1.05rem); white-space: normal; }
.ks-bento__tile--big .ks-bento__price { font-size: .85rem; }
@media (min-width: 782px) {
	.ks-bento { max-width: 620px; margin-left: auto; }
	.ks-bento--n1 { grid-template-columns: 1fr; }
	.ks-bento__name { font-size: .78rem; }
}
@media (max-width: 420px) { .ks-bento__meta { left: .35rem; right: .35rem; bottom: .35rem; padding: .35rem .45rem; } .ks-bento__name { font-size: .64rem; } .ks-bento__price { font-size: .66rem; } }

/* ---------- Product + category cards (shortcodes and blocks) ---------- */
.woocommerce ul.products, .wp-block-woocommerce-product-collection .wc-block-product-template { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: clamp(.75rem, 2.4vw, 1.5rem) !important; margin: 0 !important; padding: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
@media (min-width: 782px) { .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0,1fr)) !important; } .woocommerce ul.products.columns-4, .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(3, minmax(0,1fr)) !important; } }
@media (min-width: 1100px) { .woocommerce ul.products.columns-4, .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(4, minmax(0,1fr)) !important; } }

.woocommerce ul.products li.product, .wp-block-woocommerce-product-collection .wc-block-product { position: relative; width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ks-line); border-radius: var(--ks-r-card); padding: clamp(.55rem, 1.6vw, .85rem) clamp(.55rem, 1.6vw, .85rem) clamp(.8rem, 2vw, 1.1rem) !important; transition: transform .25s var(--ks-ease), box-shadow .25s, border-color .25s; text-align: left !important; }
.woocommerce ul.products li.product:hover, .wp-block-woocommerce-product-collection .wc-block-product:hover { transform: translateY(-3px); box-shadow: var(--ks-shadow-lift); border-color: rgba(255,159,28,.65); }
.woocommerce ul.products li.product a img, .wp-block-woocommerce-product-collection .wc-block-components-product-image img { aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--ks-r-card) - 8px); margin: 0 0 .8rem !important; background: #F4F4F5; transition: transform .5s var(--ks-ease); }
.woocommerce ul.products li.product:hover a img { transform: scale(1.025); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wp-block-woocommerce-product-collection .wp-block-post-title, .wp-block-woocommerce-product-collection h3.wp-block-post-title { font-size: clamp(.86rem, 1.4vw, 1rem) !important; font-weight: 800 !important; line-height: 1.3 !important; letter-spacing: -.01em; color: var(--ks-char); padding: 0 .15rem !important; margin: 0 0 .35rem !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wp-block-woocommerce-product-collection .wp-block-post-title a { color: inherit; }
.woocommerce ul.products li.product .price, .wp-block-woocommerce-product-collection .wc-block-components-product-price { color: var(--ks-deep) !important; font-weight: 900 !important; font-size: clamp(.95rem, 1.6vw, 1.1rem) !important; padding: 0 .15rem; margin: 0 0 .75rem !important; }
.woocommerce ul.products li.product .button, .wp-block-woocommerce-product-collection .wp-block-button__link, .wp-block-woocommerce-product-collection .wc-block-components-product-button__button { margin-top: auto !important; width: 100%; text-align: center; border-radius: 9999px !important; background: var(--ks-char) !important; color: #fff !important; font-weight: 800 !important; font-size: .8rem !important; padding: .7rem .9rem !important; border: 0 !important; line-height: 1.2; }
.woocommerce ul.products li.product .button:hover { background: #000 !important; }
.woocommerce ul.products li.product .added_to_cart { display: block; text-align: center; font-size: .75rem; font-weight: 700; margin-top: .4rem; }
.woocommerce span.onsale { background: var(--ks-orange) !important; color: #000 !important; border-radius: 9999px !important; min-height: 0 !important; min-width: 0 !important; line-height: 1 !important; padding: .4rem .7rem !important; font-weight: 900; font-size: .7rem; top: 1rem !important; left: 1rem !important; right: auto !important; }

/* Category tiles */
.ks-cats ul.products li.product-category { padding: 0 !important; overflow: hidden; }
.ks-cats ul.products li.product-category a { display: block; color: var(--ks-char); }
.ks-cats ul.products li.product-category img { margin: 0 !important; border-radius: 0 !important; aspect-ratio: 4/3; }
.ks-cats ul.products li.product-category .woocommerce-loop-category__title { font-size: clamp(.95rem, 1.8vw, 1.25rem) !important; font-weight: 900; letter-spacing: -.02em; padding: .9rem 1rem 1rem !important; margin: 0 !important; display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.ks-cats ul.products li.product-category .woocommerce-loop-category__title::after { content: "→"; color: var(--ks-deep); transition: transform .2s var(--ks-ease); }
.ks-cats ul.products li.product-category:hover .woocommerce-loop-category__title::after { transform: translateX(4px); }
.ks-cats ul.products li.product-category .ks-count { background: var(--ks-soft); color: var(--ks-deep); border-radius: 9999px; font-size: .68rem; padding: .25rem .6rem; font-weight: 800; margin-left: auto; white-space: nowrap; letter-spacing: 0; }
@media (max-width: 599px) { .ks-cats ul.products { grid-template-columns: 1fr !important; } .ks-cats ul.products li.product-category a { display: grid; grid-template-columns: 112px 1fr; align-items: center; } .ks-cats ul.products li.product-category img { aspect-ratio: 1; height: 100%; } }

/* ---------- Feature banner ---------- */
.ks-feature { position: relative; overflow: hidden; border-radius: var(--ks-r-panel); background: radial-gradient(700px 360px at 100% 0%, rgba(255,159,28,.28), transparent 60%), radial-gradient(600px 360px at 0% 100%, rgba(124,58,237,.25), transparent 60%), #111113; color: #D4D4D8; padding: clamp(1.25rem, 4vw, 3rem); }
.ks-feature h2 { color: #fff !important; font-size: clamp(1.7rem, 4vw, 2.6rem) !important; }
.ks-feature__cols { gap: clamp(1.25rem, 4vw, 3rem) !important; }
.ks-feature__copy > * + * { margin-top: 1rem !important; }
.ks-feature__lead { font-size: clamp(.98rem, 1.6vw, 1.1rem); line-height: 1.65; max-width: 52ch; }
.ks-feature__art img { border-radius: 20px; background: #fff; box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); width: 100%; }
.ks-eyebrow--dark { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.ks-feature .is-style-ks-ghost .wp-block-button__link { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.28); }
.ks-feature .wp-block-buttons { gap: .6rem; margin-top: 1.5rem !important; }

/* ---------- Trust strip ---------- */
.ks-trust__grid { display: grid; grid-template-columns: 1fr; gap: .75rem; }
@media (min-width: 600px) { .ks-trust__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .ks-trust__grid { grid-template-columns: repeat(4, 1fr); } }
.ks-trust__item { display: flex; gap: .9rem; align-items: flex-start; background: #fff; border: 1px solid var(--ks-line); border-radius: var(--ks-r-card); padding: 1.1rem 1.15rem; }
.ks-trust__icon { flex: none; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #FF9F1C, #EA580C); box-shadow: 0 10px 20px -10px rgba(234,88,12,.7); }
.ks-trust__icon svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ks-trust__item h3 { font-size: .98rem !important; margin: .1rem 0 .2rem; letter-spacing: -.01em; }
.ks-trust__item p { margin: 0; font-size: .85rem; color: var(--ks-muted); line-height: 1.5; }

/* ---------- Steps ---------- */
.ks-steps__panel { border-radius: var(--ks-r-panel); border: 1px solid var(--ks-line); background: linear-gradient(135deg, #FFFBEB 0%, #fff 55%, #FFFCF8 100%); padding: clamp(1.4rem, 4vw, 3rem); }
.ks-steps__panel h2 { margin: .35rem 0 0; max-width: 22ch; }
.ks-steps__list { list-style: none; margin: clamp(1.25rem, 3vw, 2rem) 0 0; padding: 0; display: grid; gap: .75rem; grid-template-columns: 1fr; counter-reset: none; }
@media (min-width: 782px) { .ks-steps__list { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
.ks-steps__list li { background: #fff; border: 1px solid var(--ks-line); border-radius: 18px; padding: 1.15rem 1.2rem; }
.ks-steps__list b { display: inline-block; font-size: .72rem; font-weight: 900; letter-spacing: .1em; color: var(--ks-deep); background: var(--ks-soft); border-radius: 9999px; padding: .25rem .6rem; }
.ks-steps__list h3 { font-size: 1.02rem !important; margin: .7rem 0 .3rem; }
.ks-steps__list p { margin: 0; color: var(--ks-muted); font-size: .9rem; }

/* ---------- Shop / archive ---------- */
.ks-shop { padding-block: clamp(1.25rem, 4vw, 2.5rem) clamp(3rem, 7vw, 5rem); }
.ks-shop__head { margin-bottom: 1rem; }
.ks-shop__title { font-size: clamp(1.9rem, 5vw, 3rem) !important; margin: .4rem 0 .3rem !important; }
.ks-shop__desc { color: var(--ks-muted); max-width: 60ch; }
.ks-shop__bar { gap: .75rem; }
.ks-shop__bar .woocommerce-result-count { margin: 0; font-size: .85rem; color: var(--ks-muted); font-weight: 600; }
.woocommerce-ordering select, .wc-block-catalog-sorting select { appearance: none; -webkit-appearance: none; border: 1px solid var(--ks-line); border-radius: 9999px; padding: .55rem 2.3rem .55rem 1rem; font: inherit; font-size: .85rem; font-weight: 700; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%2318181B' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1rem center; color: var(--ks-char); }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: .8rem; color: var(--ks-muted); }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--ks-muted); font-weight: 600; }
.wp-block-query-pagination { margin-top: 2rem; gap: .35rem; font-weight: 800; }
.wp-block-query-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 40px; height: 40px; border-radius: 9999px; border: 1px solid var(--ks-line); background: #fff; color: var(--ks-char); }
.wp-block-query-pagination .page-numbers.current { background: var(--ks-char); color: #fff; border-color: var(--ks-char); }

/* ---------- Single product (WooCommerce block template) ---------- */
.single-product .wp-block-woocommerce-product-image-gallery img, .woocommerce div.product div.images img { border-radius: var(--ks-r-card); border: 1px solid var(--ks-line); background: #fff; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-top: .6rem !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 12px; opacity: .65; transition: opacity .2s; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active, .woocommerce div.product div.images .flex-control-thumbs img:hover { opacity: 1; border-color: var(--ks-orange); }
.single-product .wp-block-post-title { font-size: clamp(1.8rem, 4.5vw, 2.8rem) !important; font-weight: 900 !important; letter-spacing: -.035em !important; line-height: 1.05 !important; }
.single-product .wp-block-woocommerce-product-price, .woocommerce div.product p.price { font-size: clamp(1.4rem, 3vw, 1.9rem) !important; color: var(--ks-deep) !important; font-weight: 900 !important; }
.single-product .wp-block-post-excerpt, .woocommerce-product-details__short-description { color: var(--ks-muted); font-size: 1.02rem; line-height: 1.65; }
.woocommerce div.product form.cart, .wc-block-add-to-cart-form form.cart { display: flex; flex-wrap: wrap; gap: .6rem; align-items: stretch; }
.woocommerce .quantity .qty, .wc-block-add-to-cart-form .quantity .qty { height: 52px; width: 84px; border: 1px solid var(--ks-line); border-radius: 9999px; text-align: center; font-weight: 800; font-size: 1rem; background: #fff; }
.single_add_to_cart_button, .woocommerce div.product form.cart .button { flex: 1 1 200px; min-height: 52px; border-radius: 9999px !important; background: var(--wp--preset--gradient--cta) !important; color: #fff !important; font-weight: 900 !important; font-size: .95rem !important; border: 0 !important; box-shadow: 0 16px 30px -16px rgba(234,88,12,.75); }
.km-quote { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem !important; }
.km-quote .button, .km-quote-btn { display: inline-flex !important; align-items: center; justify-content: center; min-height: 50px; padding: .8rem 1.4rem !important; border-radius: 9999px !important; font-weight: 900 !important; font-size: .9rem !important; background: var(--wp--preset--gradient--cta) !important; color: #fff !important; border: 0 !important; text-decoration: none !important; flex: 1 1 220px; }
.km-quote .km-quote-alt { background: #fff !important; color: var(--ks-char) !important; border: 1px solid var(--ks-line) !important; }
.woocommerce-tabs, .wp-block-woocommerce-product-details { margin-top: clamp(2rem, 5vw, 3.5rem) !important; }
.woocommerce-tabs ul.tabs, .wp-block-woocommerce-product-details ul.tabs { display: flex; gap: .4rem; flex-wrap: wrap; padding: 0 !important; margin: 0 0 1.25rem !important; border: 0 !important; }
.woocommerce-tabs ul.tabs::before, .wp-block-woocommerce-product-details ul.tabs::before { display: none !important; }
.woocommerce-tabs ul.tabs li, .wp-block-woocommerce-product-details ul.tabs li { border: 1px solid var(--ks-line) !important; border-radius: 9999px !important; background: #fff !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce-tabs ul.tabs li a, .wp-block-woocommerce-product-details ul.tabs li a { padding: .55rem 1.1rem !important; font-weight: 800 !important; font-size: .85rem; color: var(--ks-char) !important; }
.woocommerce-tabs ul.tabs li.active, .wp-block-woocommerce-product-details ul.tabs li.active { background: var(--ks-orange) !important; border-color: var(--ks-orange) !important; }
.woocommerce-Tabs-panel, .wp-block-woocommerce-product-details .woocommerce-Tabs-panel { background: #fff; border: 1px solid var(--ks-line); border-radius: var(--ks-r-card); padding: clamp(1.1rem, 3vw, 2rem) !important; }
.woocommerce-Tabs-panel h2:first-child { display: none; }
.woocommerce-Tabs-panel ul { padding-left: 1.1rem; }
.woocommerce-Tabs-panel li { margin: .3rem 0; }
.related.products > h2, .wp-block-woocommerce-related-products h2 { font-size: clamp(1.4rem, 3vw, 2rem) !important; margin: clamp(2rem, 5vw, 3.5rem) 0 1.25rem !important; }

/* ---------- Forms, cart, checkout ---------- */
.ks-page { padding-block: clamp(1.5rem, 4vw, 3rem) clamp(3rem, 7vw, 5rem); }
.ks-page__title { font-size: clamp(1.9rem, 5vw, 3rem) !important; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], textarea, select { border-radius: 14px; border: 1px solid var(--ks-line); background: #fff; font: inherit; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select { border-radius: 14px !important; border-color: var(--ks-line) !important; }
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 9999px !important; background: var(--wp--preset--gradient--cta) !important; color: #fff !important; font-weight: 900 !important; min-height: 52px; border: 0 !important; }
.wc-block-cart, .wc-block-checkout { gap: clamp(1rem, 3vw, 2rem); }
.wc-block-components-sidebar-layout .wc-block-components-sidebar, .wp-block-woocommerce-checkout-order-summary-block, .wp-block-woocommerce-cart-order-summary-block { background: #fff; border: 1px solid var(--ks-line); border-radius: var(--ks-r-card); padding: clamp(1rem, 3vw, 1.5rem) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-radius: 14px !important; }
.wc-block-components-notice-banner { border-radius: 16px !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 16px; border: 1px solid var(--ks-line); background: #fff; border-left: 4px solid var(--ks-orange); }
.woocommerce-order, .woocommerce-bacs-bank-details { background: #fff; border: 1px solid var(--ks-line); border-radius: var(--ks-r-card); padding: clamp(1rem, 3vw, 1.75rem); }
.wc-bacs-bank-details-account-name { font-weight: 900; }

/* ---------- Footer ---------- */
.ks-footer { margin-top: 0 !important; padding-block: clamp(2.75rem, 6vw, 4.5rem) 1.5rem; font-size: .9rem; position: relative; }
.ks-footer::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--wp--preset--gradient--brand); }
.ks-footer a { color: #fff; }
.ks-footer a:hover { color: var(--ks-orange); }
.ks-footer__cols { gap: clamp(1.75rem, 4vw, 3rem) !important; }
.ks-footer__logo { margin: 0 0 1rem !important; }
.ks-footer__about p { max-width: 40ch; line-height: 1.65; }
.ks-footer__h { color: #fff !important; font-size: .78rem !important; letter-spacing: .14em !important; text-transform: uppercase; font-weight: 900 !important; margin-bottom: .9rem !important; }
.ks-footer__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.ks-footer__list a { color: #D4D4D8; font-weight: 600; }
.ks-footer__pay { display: inline-flex; flex-direction: column; gap: .15rem; padding: .7rem .9rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.04); font-size: .8rem; color: #fff; }
.ks-footer__pay span { font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; color: var(--ks-orange); font-weight: 900; }
.ks-footer__contact a { font-weight: 800; }
.ks-footer__bottom { margin-top: clamp(2rem, 5vw, 3rem) !important; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; gap: .5rem; }
.ks-footer__bottom p { margin: 0; }
@media (max-width: 781px) { .ks-footer__cols { display: grid !important; grid-template-columns: 1fr 1fr; } .ks-footer__cols > .wp-block-column:first-child, .ks-footer__cols > .wp-block-column:last-child { grid-column: 1 / -1; } .ks-footer__cols > .wp-block-column { flex-basis: auto !important; } }

/* ---------- 404 ---------- */
.ks-404 { padding-block: clamp(3rem, 10vw, 7rem); text-align: center; }
.ks-404__code { font-size: clamp(4rem, 14vw, 8rem); font-weight: 900; letter-spacing: -.06em; line-height: 1; margin: 0; background: var(--wp--preset--gradient--brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ks-404 .wp-block-buttons { justify-content: center; }
.ks-search--block { display: block; max-width: 520px; margin: 1.5rem auto !important; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Product-collection blocks (shop, related, upsells): neutralise heading/link styles inherited from the block. */
.wp-block-woocommerce-product-collection .wc-block-product { list-style: none; }
.wp-block-woocommerce-product-collection .wc-block-product .wp-block-post-title, .wp-block-woocommerce-product-collection .wc-block-product .wp-block-post-title a { text-align: left !important; color: var(--ks-char) !important; font-family: inherit; }
.wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-price, .wp-block-woocommerce-product-collection .wc-block-product .wp-block-woocommerce-product-price { text-align: left !important; justify-content: flex-start; }
.wp-block-woocommerce-product-collection .wc-block-product .wp-block-button, .wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-button { margin-top: auto !important; width: 100%; justify-content: stretch; }
.wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-image { margin: 0 !important; }
.wp-block-woocommerce-product-collection .wc-block-product .wc-block-components-product-image a { display: block; }
.wp-block-woocommerce-product-collection h2.wp-block-heading { font-size: clamp(1.4rem, 3vw, 2rem) !important; margin: clamp(2rem, 5vw, 3.5rem) 0 1.25rem !important; }

/* =====================================================================
   v1.2 — card & layout language inspired by clean electronics-store UIs:
   flat cards on a soft image panel, name/price row, outline pill CTA,
   colour-tinted category tiles, filter chips, 3-part utility bar.
   ===================================================================== */

/* Utility bar */
.ks-announce { padding-block: 0; }
.ks-announce__bar { display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 38px; }
.ks-announce__msg { margin: 0; text-align: center; flex: 1 1 auto; }
.ks-announce__side { display: none; align-items: center; gap: .4rem; color: #D4D4D8 !important; font-weight: 700; font-size: .72rem; white-space: nowrap; }
.ks-announce__side:hover { color: var(--ks-orange) !important; }
.ks-announce__side svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (min-width: 900px) { .ks-announce__side { display: inline-flex; } .ks-announce__msg { flex: 0 1 auto; } .ks-announce__bar { justify-content: space-between; } }

/* Header actions with text labels on desktop */
.ks-account .wc-block-customer-account__account-icon + span, .ks-account a > span { display: none; }
@media (min-width: 900px) {
	.ks-actions { gap: .5rem !important; }
	.ks-account a, .ks-cart .wc-block-mini-cart__button { width: auto !important; padding: 0 .8rem !important; gap: .45rem; display: inline-flex !important; align-items: center; font-weight: 700; font-size: .85rem; }
	.ks-account a > span { display: inline; }
	.ks-cart .wc-block-mini-cart__button::after { content: "Cart"; font-weight: 700; font-size: .85rem; }
}

/* Product cards (product-collection blocks everywhere) */
.wp-block-woocommerce-product-collection .wc-block-product-template { gap: clamp(1rem, 2.6vw, 1.75rem) clamp(.75rem, 2vw, 1.5rem) !important; }
.wp-block-woocommerce-product-collection .wc-block-product { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; transform: none !important; gap: 0; }
.wp-block-woocommerce-product-collection .wc-block-product:hover { box-shadow: none !important; }
.wp-block-woocommerce-product-collection .ks-card__img, .wp-block-woocommerce-product-collection .wc-block-components-product-image { position: relative; background: #F4F4F5; border-radius: 18px; overflow: hidden; margin: 0 0 .85rem !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-image img { margin: 0 !important; border-radius: 0 !important; aspect-ratio: 1; object-fit: cover; transition: transform .6s var(--ks-ease); }
.wp-block-woocommerce-product-collection .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.045); }
.wp-block-woocommerce-product-collection .wc-block-components-product-sale-badge { border-radius: 9999px; background: var(--ks-orange); color: #000; border: 0; font-weight: 900; font-size: .68rem; }
.ks-card__row { gap: .6rem !important; align-items: flex-start !important; margin: 0 0 .25rem !important; }
.wp-block-woocommerce-product-collection .ks-card__row .wp-block-post-title { flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; font-size: clamp(.9rem, 1.3vw, 1.02rem) !important; font-weight: 700 !important; letter-spacing: -.01em; line-height: 1.3 !important; }
.wp-block-woocommerce-product-collection .ks-card__row .wc-block-components-product-price, .wp-block-woocommerce-product-collection .ks-card__price { flex: none; margin: 0 !important; padding: 0 !important; font-size: clamp(.92rem, 1.4vw, 1.05rem) !important; font-weight: 900 !important; color: var(--ks-char) !important; white-space: nowrap; }
.wp-block-woocommerce-product-collection .ks-card__desc { margin: 0 0 .4rem !important; }
.wp-block-woocommerce-product-collection .ks-card__desc p, .wp-block-woocommerce-product-collection .ks-card__desc .wp-block-post-excerpt__excerpt { margin: 0; font-size: .8rem; line-height: 1.45; color: var(--ks-muted); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.wp-block-woocommerce-product-collection .wp-block-post-excerpt__more-text { display: none; }
.wp-block-woocommerce-product-collection .ks-card__rating { margin: 0 0 .5rem !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-rating__stars { color: #F59E0B; font-size: .8rem; }
.wp-block-woocommerce-product-collection .ks-card__btn, .wp-block-woocommerce-product-collection .wc-block-components-product-button { margin-top: auto !important; width: auto !important; justify-content: flex-start !important; align-items: flex-start !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button, .wp-block-woocommerce-product-collection .ks-card__btn .wp-block-button__link {
	width: auto !important; display: inline-flex !important; align-items: center; gap: .4rem; padding: .55rem 1.05rem !important; border-radius: 9999px !important;
	background: transparent !important; color: var(--ks-char) !important; border: 1.5px solid var(--ks-char) !important; box-shadow: none !important; font-size: .78rem !important; font-weight: 800 !important; transition: background .2s, color .2s !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover, .wp-block-woocommerce-product-collection .ks-card__btn .wp-block-button__link:hover { background: var(--ks-char) !important; color: #fff !important; transform: none; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button.loading { opacity: .6; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button .added_to_cart { font-size: .75rem; font-weight: 800; margin-top: .35rem; color: var(--ks-deep); }
@media (max-width: 599px) {
	.ks-card__row { flex-direction: column !important; gap: .15rem !important; }
	.wp-block-woocommerce-product-collection .ks-card__desc { display: none; }
	.wp-block-woocommerce-product-collection .wc-block-components-product-button__button { padding: .5rem .85rem !important; font-size: .74rem !important; }
}

/* Category tiles: colour-tinted panels */
.ks-cats ul.products li.product-category { border: 0 !important; border-radius: 22px; padding: clamp(.9rem, 2vw, 1.2rem) !important; background: #FFF1DD; transition: transform .3s var(--ks-ease); }
.ks-cats ul.products li.product-category:nth-child(3n+2) { background: #DDF5EA; }
.ks-cats ul.products li.product-category:nth-child(3n+3) { background: #ECE7FD; }
.ks-cats ul.products li.product-category:hover { transform: translateY(-3px); box-shadow: none; border: 0; }
.ks-cats ul.products li.product-category a { display: flex !important; flex-direction: column-reverse; gap: .9rem; }
.ks-cats ul.products li.product-category img { border-radius: 16px !important; aspect-ratio: 16 / 11 !important; box-shadow: 0 18px 30px -22px rgba(24,24,27,.45); }
.ks-cats ul.products li.product-category .woocommerce-loop-category__title { padding: 0 !important; font-size: clamp(1.05rem, 2vw, 1.35rem) !important; }
@media (max-width: 599px) {
	.ks-cats ul.products li.product-category a { display: grid !important; grid-template-columns: 1fr 108px; flex-direction: row; align-items: center; }
	.ks-cats ul.products li.product-category img { aspect-ratio: 1 !important; height: auto; }
	.ks-cats ul.products li.product-category .woocommerce-loop-category__title { flex-direction: column; align-items: flex-start; gap: .4rem; }
	.ks-cats ul.products li.product-category .woocommerce-loop-category__title::after { display: none; }
	.ks-cats ul.products li.product-category .ks-count { margin-left: 0; }
}

/* Shop filter chips + sorting */
.ks-shop__bar { border: 0 !important; padding: 0 !important; margin-block: .5rem .4rem !important; gap: .75rem; align-items: flex-start !important; }
.ks-shop__bar > .wp-block-html, .ks-chips { min-width: 0; flex: 1 1 auto; }
.ks-chips__row { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding: 2px 2px 6px; -webkit-overflow-scrolling: touch; }
.ks-chips__row::-webkit-scrollbar { display: none; }
.ks-chips__row--sub { margin-top: .25rem; }
.ks-chip { flex: none; display: inline-flex; align-items: center; padding: .55rem 1rem; border-radius: 9999px; background: #F4F4F5; color: var(--ks-char) !important; font-size: .82rem; font-weight: 700; white-space: nowrap; transition: background .2s, color .2s; border: 1px solid transparent; }
.ks-chip:hover { background: #E4E4E7; }
.ks-chip.is-parent { border-color: var(--ks-char); background: #fff; }
.ks-chip.is-active { background: var(--ks-char); color: #fff !important; }
.ks-chip--sub { background: #fff; border-color: var(--ks-line); font-size: .78rem; padding: .45rem .9rem; }
.ks-chip--sub.is-active { background: var(--ks-orange); border-color: var(--ks-orange); color: #000 !important; }
.ks-shop__bar .wc-block-catalog-sorting, .ks-shop__bar .woocommerce-ordering { flex: none; margin: 0 !important; }
.ks-shop__count { margin-block: .25rem 1.25rem !important; font-size: .82rem; color: var(--ks-muted); font-weight: 600; }
.ks-shop__count p { margin: 0; }
@media (max-width: 599px) { .ks-shop__bar { flex-wrap: wrap !important; } .ks-shop__bar .wc-block-catalog-sorting { order: 2; } .ks-shop__bar > .wp-block-html { flex: 1 0 100%; } }

/* Product page */
.ks-pdp { padding-block: clamp(1rem, 3vw, 2rem) clamp(3rem, 7vw, 5rem); }
.ks-pdp__cols { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-top: 1rem !important; }
.ks-pdp__cols > .wp-block-column { min-width: 0; }
.ks-pdp__info > * + * { margin-top: .9rem !important; }
.ks-pdp__cats { font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--ks-deep); margin: 0 !important; }
.ks-pdp__cats a { color: inherit; }
.ks-pdp__title { margin-top: .35rem !important; }
.ks-pdp__price { font-size: clamp(1.5rem, 3vw, 2rem) !important; }
.ks-pdp__summary p { margin: 0 0 .75rem; color: var(--ks-muted); font-size: 1.02rem; line-height: 1.65; }
.ks-pdp__media .woocommerce-product-gallery { background: #F4F4F5; border-radius: 24px; padding: clamp(.5rem, 1.5vw, .9rem); }
.ks-pdp__media .woocommerce-product-gallery img { border: 0 !important; border-radius: 18px !important; background: #F4F4F5; }
.ks-pdp__media .woocommerce-product-gallery__trigger { border-radius: 9999px; background: #fff; box-shadow: var(--ks-shadow); }
.ks-assure { list-style: none; margin: 1.25rem 0 0 !important; padding: 0; display: grid; gap: .5rem; border-top: 1px solid var(--ks-line); padding-top: 1.1rem; }
.ks-assure li { display: grid; grid-template-columns: 22px 1fr; column-gap: .65rem; font-size: .85rem; line-height: 1.45; color: var(--ks-muted); }
.ks-assure li::before { content: "✓"; grid-row: span 2; width: 22px; height: 22px; border-radius: 9999px; background: var(--ks-soft); color: var(--ks-deep); display: grid; place-items: center; font-weight: 900; font-size: .72rem; }
.ks-assure strong { color: var(--ks-char); font-size: .88rem; }
.ks-pdp__meta { font-size: .8rem; color: var(--ks-muted); margin-top: 1.25rem !important; }
.ks-pdp__details { margin-top: clamp(2.5rem, 6vw, 4rem) !important; }
.ks-related { margin-top: clamp(3rem, 7vw, 5rem) !important; }
.ks-related__title { font-size: clamp(1.4rem, 3vw, 2rem) !important; margin: 0 0 1.25rem !important; }
@media (max-width: 781px) { .ks-pdp__title { font-size: clamp(1.6rem, 7vw, 2.2rem) !important; } }

.ks-pdp__media .wp-block-woocommerce-product-image-gallery, .ks-pdp__media .woocommerce-product-gallery { width: 100% !important; max-width: none !important; float: none !important; }
.ks-pdp__media .woocommerce-product-gallery .flex-viewport { border-radius: 18px; }
.ks-pdp__media .woocommerce-product-gallery .flex-control-thumbs { margin-top: .75rem !important; }
@media (min-width: 782px) { .ks-pdp__info { position: sticky; top: 140px; align-self: flex-start; } }

/* Mobile category tiles: compact horizontal rows */
@media (max-width: 599px) {
	.ks-cats ul.products { gap: .6rem !important; }
	.ks-cats ul.products li.product-category { padding: .65rem !important; border-radius: 18px; }
	.ks-cats ul.products li.product-category a { grid-template-columns: 1fr 96px !important; gap: .75rem; }
	.ks-cats ul.products li.product-category img { width: 96px !important; height: 96px !important; aspect-ratio: 1 !important; border-radius: 12px !important; justify-self: end; }
	.ks-cats ul.products li.product-category .woocommerce-loop-category__title { font-size: 1.02rem !important; padding-left: .35rem !important; }
}
@media (max-width: 599px) {
	.ks-cats ul.products li.product-category a { grid-template-columns: 1fr 96px !important; }
	.ks-cats ul.products li.product-category a img { grid-column: 2; grid-row: 1; }
	.ks-cats ul.products li.product-category a .woocommerce-loop-category__title { grid-column: 1; grid-row: 1; }
}

/* =====================================================================
   v1.3 — calmer storefront: single-row header, flat promo banner,
   plain section titles, services cards, Buy now + Add to cart.
   ===================================================================== */

/* Header: logo · nav · search · account/cart in one row */
.ks-header { padding-block: .75rem !important; }
.ks-header__row { gap: clamp(.75rem, 2vw, 1.75rem) !important; }
.ks-header .ks-nav { flex: none; }
.ks-header .ks-nav .wp-block-navigation__container { gap: .1rem !important; }
.ks-header .ks-nav .wp-block-navigation-item__content { background: none !important; padding: .5rem .7rem !important; font-weight: 600; font-size: .9rem; }
.ks-header .ks-nav .wp-block-navigation-item__content:hover { color: var(--ks-deep) !important; }
.ks-search { max-width: 440px; margin-left: auto !important; }
@media (min-width: 900px) {
	/* Categories dropdown as a panel */
	.ks-nav .ks-mega > .wp-block-navigation__submenu-container { display: grid !important; grid-template-columns: repeat(2, minmax(190px, 1fr)); gap: .1rem .75rem; padding: .9rem !important; min-width: 440px !important; border-radius: 18px; left: -.5rem !important; }
	.ks-nav .ks-mega__all, .ks-nav .ks-mega__top { grid-column: auto; }
	.ks-nav .ks-mega__all { grid-column: 1 / -1; border-bottom: 1px solid var(--ks-line); margin-bottom: .35rem; padding-bottom: .35rem; }
	.ks-nav .ks-mega__all > a { font-weight: 800 !important; color: var(--ks-deep) !important; }
	.ks-nav .ks-mega__top > a { font-weight: 800 !important; }
	.ks-nav .ks-mega__sub > a { color: var(--ks-muted) !important; font-weight: 500 !important; padding-left: 1.4rem !important; }
	.ks-nav .ks-mega .wp-block-navigation-item__content { border-radius: 10px; }
	.ks-nav .ks-mega .wp-block-navigation-item__content:hover { background: #F4F4F5 !important; }
}
@media (max-width: 899px) {
	.ks-header .ks-brand { order: 1; }
	.ks-header .ks-actions { order: 2; }
	.ks-header .ks-nav { order: 3; }
	.ks-header .ks-search { order: 4; margin-left: 0 !important; }
	.ks-nav .is-menu-open .ks-mega__sub .wp-block-navigation-item__content { font-size: 1rem; color: var(--ks-muted); padding-left: 1.75rem !important; }
	.ks-nav .is-menu-open .ks-mega > .wp-block-navigation-item__content { font-weight: 900; }
}

/* Buttons used in patterns */
.ks-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 50px; padding: .8rem 1.6rem; border-radius: 9999px; font-weight: 800; font-size: .92rem; line-height: 1.2; text-decoration: none !important; transition: background .2s, transform .15s var(--ks-ease); }
.ks-btn--dark { background: var(--ks-char); color: #fff !important; }
.ks-btn--dark:hover { background: #000; transform: translateY(-1px); }
.ks-btn--link { padding-inline: .25rem; color: var(--ks-char) !important; min-height: 0; }
.ks-btn--link:hover { color: var(--ks-deep) !important; }

/* Promo banner */
.ks-promo-wrap { padding-top: clamp(1rem, 3vw, 1.75rem); }
.ks-promo { display: grid; grid-template-columns: 1fr; align-items: center; gap: 1rem; background: #FBEEE2; border-radius: 22px; overflow: hidden; padding: clamp(1.5rem, 5vw, 3.25rem) clamp(1.25rem, 5vw, 4rem) 0; }
.ks-promo__title { font-size: clamp(1.75rem, 4.2vw, 3rem) !important; font-weight: 800 !important; letter-spacing: -.03em !important; line-height: 1.08 !important; color: var(--ks-char); margin: 0 0 .75rem; max-width: 16ch; }
.ks-promo__title .ks-accent { background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--ks-deep); }
.ks-promo__text { margin: 0 0 1.5rem; color: var(--ks-muted); font-size: clamp(.95rem, 1.4vw, 1.05rem); line-height: 1.6; max-width: 46ch; }
.ks-promo__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; }
.ks-promo__art { display: flex; justify-content: center; align-self: end; }
.ks-promo__art img { width: min(100%, 420px); height: auto; display: block; margin-bottom: -6%; }
@media (min-width: 782px) {
	.ks-promo { grid-template-columns: 1.1fr .9fr; padding-bottom: 0; min-height: 360px; }
	.ks-promo__copy { padding-bottom: clamp(1.5rem, 4vw, 3.25rem); }
	.ks-promo__art img { width: min(100%, 460px); }
}
@media (max-width: 781px) { .ks-promo__ctas .ks-btn--dark { flex: 1 1 100%; } .ks-promo__art img { width: min(78%, 340px); } }

/* Plain section titles */
.ks-section { padding-top: clamp(2rem, 5vw, 3.5rem); }
.ks-section__head h2, .ks-trust__title { font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important; font-weight: 800 !important; letter-spacing: -.02em !important; }
.ks-section__head { margin-bottom: 1.1rem !important; align-items: center !important; }
.ks-link-arrow { font-size: .85rem; }

/* Services to help you shop */
.ks-trust__title { margin-block: 0 1.1rem !important; }
.ks-trust__grid { gap: 1rem; }
.ks-trust__item { display: block; background: #F4F4F5; border: 0; border-radius: 16px; padding: 1.4rem 1.3rem 1.6rem; border-bottom: 6px solid var(--ks-orange); }
.ks-trust__item:nth-child(4n+2) { border-bottom-color: #10B981; }
.ks-trust__item:nth-child(4n+3) { border-bottom-color: #8B5CF6; }
.ks-trust__item:nth-child(4n+4) { border-bottom-color: #F59E0B; }
.ks-trust__item h3 { font-size: 1.12rem !important; font-weight: 800; margin: 0 0 .5rem; line-height: 1.25; }
.ks-trust__item p { font-size: .86rem; }

/* Product page: qty · Add to cart (outline) · Buy now (filled) */
.ks-pdp__buy { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.ks-pdp__buy > .ks-pdp__cart { flex: 1 1 280px; margin: 0 !important; }
.ks-pdp__buy form.cart { margin: 0 !important; flex-wrap: nowrap !important; }
.ks-pdp__buy .single_add_to_cart_button { background: #fff !important; color: var(--ks-char) !important; border: 1.5px solid var(--ks-char) !important; box-shadow: none !important; }
.ks-pdp__buy .single_add_to_cart_button:hover { background: var(--ks-char) !important; color: #fff !important; }
.ks-pdp__buy .ks-buy-now { flex: 1 1 160px; min-height: 52px; }
.ks-pdp__buy > .wp-block-html { display: contents; }
@media (max-width: 599px) { .ks-pdp__buy .ks-buy-now { flex-basis: 100%; } }
.ks-assure { border: 1px solid var(--ks-line); border-radius: 16px; padding: 0; gap: 0; background: #fff; overflow: hidden; }
.ks-assure li { padding: .9rem 1rem; border-top: 1px solid var(--ks-line); }
.ks-assure li:first-child { border-top: 0; }
.ks-assure li::before { background: none; color: var(--ks-deep); font-size: .95rem; }

/* Cards: closer to the reference — lighter title, grey panel */
.wp-block-woocommerce-product-collection .ks-card__row .wp-block-post-title { font-weight: 600 !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-image { background: #F5F5F5; }

.ks-pdp__buy .wc-block-add-to-cart-form form.cart .single_add_to_cart_button.button, .woocommerce div.product .ks-pdp__buy form.cart .button.single_add_to_cart_button { background: #fff !important; color: var(--ks-char) !important; border: 1.5px solid var(--ks-char) !important; box-shadow: none !important; }
.woocommerce div.product .ks-pdp__buy form.cart .button.single_add_to_cart_button:hover { background: var(--ks-char) !important; color: #fff !important; }
.ks-pdp__buy form.cart, .ks-pdp__buy .wc-block-add-to-cart-form { margin-block: 0 !important; }
.ks-steps__panel h2 { font-size: clamp(1.35rem, 2.4vw, 1.75rem) !important; font-weight: 800 !important; }

.ks-pdp__buy > *, .ks-pdp__buy .ks-buy-now { margin-block: 0 !important; }
.ks-announce__msg--link { color: #fff !important; text-decoration: none !important; }
.ks-announce__msg--link:hover .ks-announce__cta { text-decoration: underline; }
.ks-announce__cta { color: var(--ks-orange); font-weight: 800; white-space: nowrap; }

/* Banner slider (same banner design, swipeable) */
.ks-slider { position: relative; }
.ks-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 22px; gap: 0; }
.ks-slider__track::-webkit-scrollbar { display: none; }
.ks-slider__slide { flex: 0 0 100%; scroll-snap-align: start; border-radius: 22px; }
.ks-slider__slide .ks-promo__art img { max-height: 380px; width: auto; max-width: min(100%, 460px); object-fit: contain; }
.ks-slider__dots { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); display: flex; gap: 6px; }
.ks-slider__dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 9999px; background: rgba(24,24,27,.25); cursor: pointer; transition: width .25s var(--ks-ease), background .2s; box-shadow: none; }
.ks-slider__dots button[aria-current] { width: 24px; background: var(--ks-char); }
.ks-slider__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 9999px; border: 1px solid var(--ks-line); background: rgba(255,255,255,.92); color: var(--ks-char); font-size: 1.6rem; line-height: 1; padding: 0; display: none; place-items: center; cursor: pointer; box-shadow: var(--ks-shadow); }
.ks-slider__nav:hover { background: #fff; }
.ks-slider__nav--prev { left: 12px; } .ks-slider__nav--next { right: 12px; }
@media (min-width: 900px) { .ks-slider__nav { display: grid; } .ks-slider:not(:hover) .ks-slider__nav { opacity: 0; } .ks-slider__nav { transition: opacity .2s; } }
@media (max-width: 781px) { .ks-slider__slide { padding-bottom: 1.75rem; } .ks-slider__slide .ks-promo__art img { max-height: 260px; } }
.ks-slider__slide .ks-promo__art { align-self: center; padding-block: 1rem 1.75rem; }
.ks-slider__slide .ks-promo__art img { margin-bottom: 0; max-height: 330px; }
@media (max-width: 781px) { .ks-slider__slide .ks-promo__art { padding-block: .5rem 1rem; } .ks-slider__slide .ks-promo__art img { max-height: 240px; } }

/* Product gallery: square panel, photo fitted inside (no giant portrait images) */
.ks-pdp__media { max-width: 560px; }
.ks-pdp__media .woocommerce-product-gallery__image img, .ks-pdp__media .woocommerce-product-gallery__image a img { width: 100% !important; aspect-ratio: 1 / 1; height: auto !important; object-fit: contain; background: #F5F5F5; }
.ks-pdp__media .woocommerce-product-gallery .flex-control-thumbs img { aspect-ratio: 1 / 1; object-fit: cover; }
.ks-pdp__title { font-size: clamp(1.6rem, 3vw, 2.4rem) !important; line-height: 1.1 !important; }
@media (min-width: 782px) { .ks-pdp__cols { align-items: flex-start; } }

/* Product gallery fills its square, no frame */
.ks-pdp__media .woocommerce-product-gallery { background: none !important; padding: 0 !important; border-radius: 0; }
.ks-pdp__media .woocommerce-product-gallery__image img, .ks-pdp__media .woocommerce-product-gallery__image a img { object-fit: cover !important; object-position: center; border-radius: 20px !important; }
.ks-pdp__media .woocommerce-product-gallery .flex-viewport { border-radius: 20px; }
.ks-pdp__media .woocommerce-product-gallery .flex-control-thumbs img { border-radius: 12px !important; }

/* Compact product cards */
.wp-block-woocommerce-product-collection .wc-block-product-template { gap: 1.25rem .9rem !important; }
@media (min-width: 1280px) { .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
.wp-block-woocommerce-product-collection .ks-card__img, .wp-block-woocommerce-product-collection .wc-block-components-product-image { margin-bottom: .6rem !important; border-radius: 14px; }
.wp-block-woocommerce-product-collection .ks-card__row { margin-bottom: .5rem !important; gap: .5rem !important; }
.wp-block-woocommerce-product-collection .ks-card__row .wp-block-post-title { font-size: .9rem !important; line-height: 1.3 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wp-block-woocommerce-product-collection .ks-card__row .wc-block-components-product-price { font-size: .92rem !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button { padding: .42rem .9rem !important; font-size: .74rem !important; border-width: 1.25px !important; }

/* =====================================================================
   v1.6 — icon actions on product images, wishlist, stacked name/price
   ===================================================================== */
.wp-block-woocommerce-product-collection .wc-block-product { position: relative; container-type: inline-size; }
/* name on its own line, price below — no awkward breaks */
.wp-block-woocommerce-product-collection .ks-card__row { flex-direction: column !important; align-items: flex-start !important; gap: .2rem !important; }
.wp-block-woocommerce-product-collection .ks-card__row .wp-block-post-title { width: 100%; overflow-wrap: normal; word-break: normal; hyphens: none; }

/* Wishlist heart (cards + wishlist page) */
.ks-wish { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border-radius: 9999px; border: 0; background: rgba(255,255,255,.95); color: var(--ks-char); cursor: pointer; box-shadow: 0 4px 14px -6px rgba(24,24,27,.35); transition: transform .15s var(--ks-ease), color .2s; }
.ks-wish svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; }
.ks-wish:hover { transform: scale(1.06); }
.ks-wish[aria-pressed="true"] { color: #E11D48; }
.ks-wish[aria-pressed="true"] svg { fill: currentColor; }
.ks-wish--card { position: absolute; top: .55rem; right: .55rem; z-index: 3; }

/* Add-to-cart as an icon on the image (bottom-right) */
.wp-block-woocommerce-product-collection .ks-card__btn, .wp-block-woocommerce-product-collection .wc-block-components-product-button { position: absolute !important; top: calc(100cqw - 50px); right: .55rem; margin: 0 !important; width: auto !important; z-index: 3; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button {
	width: 42px !important; height: 42px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 9999px !important;
	background: var(--ks-char) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3Cpath d='M13 9.5v4M11 11.5h4'/%3E%3C/svg%3E") center / 21px no-repeat !important;
	color: transparent !important; font-size: 0 !important; overflow: hidden; box-shadow: 0 8px 18px -8px rgba(24,24,27,.6) !important; transition: transform .15s var(--ks-ease), background-color .2s !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover { background-color: #000 !important; transform: scale(1.06); }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button * { font-size: 0 !important; }
/* made-to-order (link, not purchasable): chat/arrow icon in brand orange */
.wp-block-woocommerce-product-collection a.wc-block-components-product-button__button {
	background: var(--ks-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button .added_to_cart, .wp-block-woocommerce-product-collection .wc-block-components-product-button__button + a { display: none !important; }
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button.loading { opacity: .6; }
@media (max-width: 599px) { .ks-wish { width: 34px; height: 34px; } .wp-block-woocommerce-product-collection .wc-block-components-product-button__button { width: 38px !important; height: 38px !important; } .wp-block-woocommerce-product-collection .ks-card__btn, .wp-block-woocommerce-product-collection .wc-block-components-product-button { top: calc(100cqw - 46px); right: .45rem; } .ks-wish--card { top: .45rem; right: .45rem; } }

/* Header wishlist link */
.ks-wish-link { position: relative; display: inline-flex; align-items: center; gap: .45rem; height: 42px; padding: 0 .55rem; border-radius: 9999px; color: var(--ks-char) !important; font-weight: 700; font-size: .85rem; text-decoration: none !important; }
.ks-wish-link:hover { background: #F4F4F5; }
.ks-wish-link svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.ks-wish-link__label { display: none; }
.ks-wish-link__count { position: absolute; top: 2px; left: 22px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9999px; background: #E11D48; color: #fff; font-size: .66rem; font-weight: 800; display: grid; place-items: center; border: 2px solid #fff; }
.ks-wish-link__count[hidden] { display: none; }
@media (min-width: 1100px) { .ks-wish-link__label { display: inline; } }
.ks-actions > .wp-block-html { display: contents; }

/* Product page heart next to Buy now */
.ks-wish--pdp { width: 52px; height: 52px; border: 1.5px solid var(--ks-line); box-shadow: none; flex: none; }
.ks-wish--pdp svg { width: 22px; height: 22px; }

/* Wishlist page */
.ks-wishlist__grid { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 1.25rem .9rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 782px) { .ks-wishlist__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ks-wishlist__item { position: relative; display: flex; flex-direction: column; gap: .3rem; }
.ks-wishlist__img img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; background: #F5F5F5; margin-bottom: .4rem; }
.ks-wishlist__name { color: var(--ks-char) !important; font-weight: 600; font-size: .92rem; line-height: 1.3; }
.ks-wishlist__price { font-weight: 900; font-size: .95rem; }
.ks-wishlist__buy { margin-top: .4rem; min-height: 40px; padding: .5rem 1rem; font-size: .8rem; align-self: flex-start; }
.ks-wishlist__empty { text-align: center; padding: 3rem 1rem; border: 1px dashed var(--ks-line); border-radius: 20px; background: #fff; }
.ks-wishlist__empty p { color: var(--ks-muted); margin: 0 0 1.25rem; }
.wp-block-woocommerce-product-collection .ks-card__btn .wp-block-button__link.wc-block-components-product-button__button {
	width: 42px !important; height: 42px !important; padding: 0 !important; border: 0 !important; color: transparent !important; font-size: 0 !important;
	background: var(--ks-char) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3Cpath d='M13 9.5v4M11 11.5h4'/%3E%3C/svg%3E") center / 21px no-repeat !important; }
.wp-block-woocommerce-product-collection .ks-card__btn a.wp-block-button__link.wc-block-components-product-button__button {
	background: var(--ks-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 20px no-repeat !important; }
.wp-block-woocommerce-product-collection .ks-card__btn .wp-block-button__link.wc-block-components-product-button__button:hover { background-color: #000 !important; transform: scale(1.06); }
@media (max-width: 599px) { .wp-block-woocommerce-product-collection .ks-card__btn .wp-block-button__link.wc-block-components-product-button__button { width: 38px !important; height: 38px !important; } }

/* Homepage promo banners (Kadosh Build, AI generator) */
.ks-promos__grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 782px) { .ks-promos__grid--n2, .ks-promos__grid--n4 { grid-template-columns: repeat(2, 1fr); } .ks-promos__grid--n3 { grid-template-columns: repeat(3, 1fr); } }
.ks-promo-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: .55rem; min-height: 220px; padding: clamp(1.4rem, 3vw, 2.25rem); border-radius: 22px; text-decoration: none !important; color: #fff !important; background: #18181B; transition: transform .25s var(--ks-ease); }
.ks-promo-card:hover { transform: translateY(-3px); }
.ks-promo-card--0 { background: radial-gradient(500px 260px at 100% 0%, rgba(255,159,28,.35), transparent 60%), #18181B; }
.ks-promo-card--1 { background: radial-gradient(500px 260px at 100% 0%, rgba(124,58,237,.45), transparent 60%), #1E1B2E; }
.ks-promo-card::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 180px; height: 180px; border-radius: 9999px; border: 28px solid rgba(255,255,255,.05); }
.ks-promo-card__kicker { align-self: flex-start; font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; padding: .35rem .7rem; border-radius: 9999px; background: rgba(255,255,255,.1); color: #FFD9A8; }
.ks-promo-card--1 .ks-promo-card__kicker { color: #D9CCFF; }
.ks-promo-card__title { font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; max-width: 22ch; }
.ks-promo-card__text { font-size: .9rem; line-height: 1.55; color: #D4D4D8; max-width: 46ch; }
.ks-promo-card__cta { margin-top: auto; padding-top: .6rem; align-self: flex-start; font-weight: 800; font-size: .88rem; padding: .65rem 1.15rem; border-radius: 9999px; background: #fff; color: var(--ks-char); }
.ks-promo-card--0 .ks-promo-card__cta { background: var(--ks-orange); color: #000; }

/* Latest tutorials (from Kadosh Build) */
.ks-learn { position: relative; overflow: hidden; border-radius: 28px; padding: clamp(1.4rem, 4vw, 2.75rem); color: #fff; background: radial-gradient(700px 380px at 92% -10%, rgba(255,159,28,.38), transparent 60%), radial-gradient(600px 360px at -5% 110%, rgba(124,58,237,.38), transparent 60%), #111113; isolation: isolate; }
.ks-learn::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 38px 38px; mask-image: radial-gradient(ellipse at 70% 20%, #000 20%, transparent 70%); }
.ks-learn__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.2rem, 3vw, 2rem); }
.ks-learn__kicker { display: inline-flex; align-items: center; gap: .5rem; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #FFD9A8; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 9999px; padding: .4rem .8rem; }
.ks-learn__title { color: #fff !important; margin: .7rem 0 .35rem !important; font-size: clamp(1.6rem, 3.6vw, 2.5rem) !important; font-weight: 900 !important; letter-spacing: -.035em !important; line-height: 1.05 !important; }
.ks-learn__title span { background: linear-gradient(90deg, #FF9F1C, #FFB347); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ks-learn__lead { margin: 0; max-width: 52ch; color: #D4D4D8; font-size: .95rem; line-height: 1.6; }
.ks-learn__all { flex: none; color: #fff !important; font-weight: 800; font-size: .88rem; padding: .7rem 1.2rem; border-radius: 9999px; border: 1px solid rgba(255,255,255,.22); text-decoration: none !important; transition: background .2s, border-color .2s; }
.ks-learn__all:hover { background: #fff; color: #111 !important; }
.ks-learn__grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ks-learn__grid { grid-template-columns: 1.25fr 1fr; align-items: stretch; } }
.ks-tut { display: flex; text-decoration: none !important; color: #fff !important; border-radius: 22px; overflow: hidden; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); transition: transform .3s var(--ks-ease), border-color .3s, background .3s; }
.ks-tut:hover { transform: translateY(-4px); border-color: rgba(255,159,28,.7); background: rgba(255,255,255,.09); }
.ks-tut__media { position: relative; display: block; overflow: hidden; background: linear-gradient(135deg, #2a2a30, #1b1b20); }
.ks-tut__media img { display: block; width: 100%; height: 100%; object-fit: contain; background: #FFFCF8; transition: none; }
.ks-tut:hover .ks-tut__media img { transform: none; }
.ks-tut__badge { position: absolute; left: 1rem; top: 1rem; background: var(--ks-orange); color: #000; font-weight: 900; font-size: .7rem; padding: .35rem .7rem; border-radius: 9999px; box-shadow: 0 0 0 0 rgba(255,159,28,.6); animation: ks-badge 2.4s ease-out infinite; }
@keyframes ks-badge { 0% { box-shadow: 0 0 0 0 rgba(255,159,28,.55); } 70%, 100% { box-shadow: 0 0 0 14px rgba(255,159,28,0); } }
.ks-tut__body { display: flex; flex-direction: column; gap: .4rem; padding: 1.1rem 1.2rem 1.25rem; min-width: 0; }
.ks-tut__meta { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFD9A8; }
.ks-tut__title { font-weight: 800; font-size: 1.02rem; line-height: 1.3; letter-spacing: -.01em; }
.ks-tut__summary { color: #D4D4D8; font-size: .9rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ks-tut__cta { margin-top: auto; padding-top: .5rem; align-self: flex-start; font-weight: 900; font-size: .88rem; color: #000; background: var(--ks-orange); border-radius: 9999px; padding: .65rem 1.15rem; }
.ks-tut__cta span { display: inline-block; transition: transform .2s; } .ks-tut:hover .ks-tut__cta span { transform: translateX(4px); }
.ks-tut--lead { flex-direction: column; }
.ks-tut--lead .ks-tut__media { aspect-ratio: 16 / 9; }
.ks-tut--lead .ks-tut__title { font-size: clamp(1.2rem, 2.2vw, 1.55rem); font-weight: 900; }
.ks-learn__list { display: grid; gap: .75rem; align-content: start; }
.ks-tut--row { align-items: center; }
.ks-tut--row .ks-tut__media { flex: none; width: 112px; aspect-ratio: 1; }
.ks-tut--row .ks-tut__body { flex: 1; padding: .8rem 1rem; }
.ks-tut--row .ks-tut__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ks-tut__arrow { flex: none; margin-right: 1rem; width: 36px; height: 36px; border-radius: 9999px; display: grid; place-items: center; background: rgba(255,255,255,.1); font-weight: 900; transition: background .2s, color .2s, transform .2s; }
.ks-tut--row:hover .ks-tut__arrow { background: var(--ks-orange); color: #000; transform: rotate(8deg); }
@media (max-width: 599px) { .ks-tut--row .ks-tut__media { width: 84px; } .ks-tut__arrow { display: none; } }
@media (prefers-reduced-motion: reduce) { .ks-tut__badge { animation: none; } }

/* Mobile header: logo + 4 icon buttons on one row */
@media (max-width: 899px) {
	.ks-header__row { flex-wrap: wrap !important; row-gap: .6rem !important; column-gap: .25rem !important; }
	.ks-header .ks-brand { flex: 1 1 0; min-width: 0; }
	.ks-header .ks-brand__name { overflow: hidden; text-overflow: ellipsis; }
	.ks-header .ks-actions { gap: 0 !important; }
	.ks-wish-link, .ks-icon-btn a, .ks-cart .wc-block-mini-cart__button { width: 38px !important; height: 38px !important; padding: 0 !important; justify-content: center; }
	.ks-wish-link__count { left: 20px; }
	.ks-header .ks-nav { flex: none; }
	.ks-header .ks-nav .wp-block-navigation__responsive-container-open { width: 38px; height: 38px; }
}
@media (max-width: 359px) { .ks-header .ks-brand__name { display: none; } }

/* ---------- Checkout: readable fields and a generous order summary ---------- */
.wc-block-checkout {
	--wc-form-border-color: #D4D4D8;
	--wc-form-border-radius: 8px;
	--wc-form-color-text: var(--ks-char);
	--wc-form-color-background: #fff;
	width: 100%;
	min-width: 0;
}
.wc-block-checkout .wc-block-components-main,
.wc-block-checkout .wc-block-components-sidebar { min-width: 0; }
/* A single panel: the old sidebar + inner summary each had their own padding. */
.wc-block-checkout.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 !important;
	margin: 0;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	border: 1px solid var(--ks-line);
	border-radius: 10px;
	padding: 24px !important;
	background: #fff;
}
.wc-block-checkout .wc-block-components-checkout-step { margin-bottom: 28px; }
.wc-block-checkout .wc-block-components-checkout-step__heading { margin-bottom: 16px; }
.wc-block-checkout .wc-block-components-checkout-step__title { font-size: 1.125rem; font-weight: 700; }
.wc-block-checkout .wc-block-components-checkout-step__description { color: var(--ks-muted); font-size: .875rem; }
.wc-block-checkout .wc-block-components-address-form { row-gap: 18px; column-gap: 16px; }
.wc-block-checkout .wc-block-components-address-form > :is(.wc-block-components-text-input, .wc-block-components-country-input, .wc-block-components-state-input, .wc-block-components-select-input) { margin-top: 0 !important; min-width: 0; }
/* Keep WooCommerce's native labels, field associations and validation. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input {
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input label,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
	position: static !important;
	order: -1;
	transform: none !important;
	max-width: 100%;
	margin: 0;
	font-size: .8125rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ks-char);
	white-space: normal;
	transition: none;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input input,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
	width: 100%;
	height: 52px;
	min-height: 52px;
	padding: 12px 14px !important;
	border: 1px solid #D4D4D8 !important;
	border-radius: 8px !important;
	background-color: #fff;
	color: var(--ks-char);
	font-size: 16px;
	line-height: 1.5;
	box-shadow: none;
}
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__container {
	display: flex;
	flex-direction: column;
	gap: 7px;
	background: transparent;
}
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select { padding-right: 42px !important; }
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__expand { top: auto; bottom: 14px; transform: none; }
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input input:hover,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:hover { border-color: #A1A1AA !important; }
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--ks-deep) !important;
	outline: 2px solid var(--ks-orange);
	outline-offset: 2px;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input.has-error input,
.wc-block-checkout .has-error .wc-blocks-components-select__select { border-color: #CC1818 !important; }
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input.has-error label,
.wc-block-checkout .has-error .wc-blocks-components-select__label { color: #CC1818; }
.wc-block-checkout .wc-block-components-validation-error { font-size: .8125rem; }
.wc-block-checkout .wc-block-components-checkbox label { min-height: 44px; align-items: center; }
.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-radio-control-accordion-option { border-radius: 8px !important; }
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 54px;
	border-radius: 8px !important;
	background: var(--ks-deep) !important;
	box-shadow: none;
	font-weight: 700 !important;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover { background: var(--ks-char) !important; }
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: start;
	padding-block: 16px;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
	width: 56px;
	margin: 0;
	padding: 0;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img {
	width: 56px;
	max-width: 56px;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 6px;
}
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description { padding: 0; min-width: 0; }
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-product-name { font-size: .9375rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; word-break: normal; }
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-product-metadata__description { display: none; }
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices { font-size: .8125rem; color: var(--ks-muted); }
.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { padding: 0; margin: 0; font-size: .9375rem; font-weight: 600; white-space: nowrap; }
.wc-block-checkout .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text { margin-left: 0; font-size: 1.125rem; font-weight: 700; }
@media (min-width: 1000px) {
	.wc-block-checkout.wc-block-components-sidebar-layout {
		display: grid;
		grid-template-columns: minmax(0, 1.45fr) minmax(340px, 1fr);
		gap: clamp(24px, 3vw, 40px);
		align-items: start;
	}
	.wc-block-checkout.wc-block-components-sidebar-layout > .wc-block-components-main,
	.wc-block-checkout.wc-block-components-sidebar-layout > .wc-block-components-sidebar { width: auto; }
}
@media (max-width: 999px) {
	.wc-block-checkout.wc-block-components-sidebar-layout { gap: 24px; }
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 20px !important; }
}
@media (max-width: 600px) {
	body.woocommerce-checkout .ks-page { padding-top: 24px; }
	body.woocommerce-checkout .ks-page__title { font-size: 1.75rem !important; margin-bottom: 24px; }
	.wc-block-checkout .wc-block-components-address-form { gap: 16px; }
	.wc-block-checkout .wc-block-components-address-form > :is(.wc-block-components-text-input, .wc-block-components-country-input, .wc-block-components-state-input, .wc-block-components-select-input) { flex: 0 0 100% !important; width: 100%; }
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 16px !important; }
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item { grid-template-columns: 48px minmax(0, 1fr) auto; gap: 12px; }
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image,
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__image > img { width: 48px; max-width: 48px; }
	.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { font-size: .875rem; }
	.wc-block-checkout .wc-block-components-checkout-step { padding-inline: 0; }
}
