/**
 * K01 BabyMart tokens and skin.
 *
 * Measured from the department-store reference layout (color, type, radius, spacing).
 * Scoped to body.kap-preset-k01. GenerateBlocks owns the markup; this file only skins it.
 * WooCommerce still owns product cards, prices, and add to cart.
 */

body.kap-preset-k01 {
	--kap-k01-font: "Poppins", "Segoe UI", sans-serif;
	--kap-k01-topbar: #a96bde;
	--kap-k01-topbar-text: #ffffff;
	--kap-k01-primary: #0abeb3;
	--kap-k01-primary-ink: #ffffff;
	--kap-k01-page: #f8f8f8;
	--kap-k01-surface: #ffffff;
	--kap-k01-heading: #222222;
	--kap-k01-text: #666666;
	--kap-k01-ink: #000000;
	--kap-k01-line: #e6e6e6;
	--kap-k01-form-border: #d2d2d2;
	--kap-k01-mist: #e7ebf0;
	--kap-k01-sale: #ec2b04;
	--kap-k01-container: 1230px;
	--kap-k01-radius: 5px;
	--kap-k01-radius-promo: 8px;
	--kap-k01-radius-pill: 55px;
	--kap-k01-control-h: 48px;
	--kap-k01-title-size: 18px;
	--kap-k01-title-weight: 600;
	--kap-k01-promo-title: 36px;
	--kap-k01-age: 109px;
	/* Product card density — override per surface (--shop / --rail / --compact). */
	--kap-k01-card-gap: 0.55rem;
	--kap-k01-card-media-ratio: 1 / 1;
	--kap-k01-card-media-radius: var(--kap-k01-radius);
	--kap-k01-card-cat-size: 11px;
	--kap-k01-card-title-size: 14px;
	--kap-k01-card-title-weight: 500;
	--kap-k01-card-price-size: 14px;
	--kap-k01-card-atc-min-h: 38px;
	--kap-k01-card-atc-pad-x: 1.1rem;
	--kap-k01-card-atc-font: 14px;
	--kap-k01-card-badge-size: 13px;
	--kap-k01-card-badge-pad: 4px 10px;
	/* Shared KAP button / type tokens — patterns use kap-button-* / kap-section-heading */
	--kap-button-bg: var(--kap-k01-primary);
	--kap-button-color: var(--kap-k01-primary-ink);
	--kap-button-border: var(--kap-k01-primary);
	--kap-button-bg-hover: var(--kap-k01-ink);
	--kap-button-color-hover: var(--kap-k01-surface);
	--kap-button-radius: var(--kap-k01-radius-pill);
	--kap-button-padding: 0 1.15rem;
	--kap-button-min-height: 42px;
	--kap-button-font-size: 15px;
	--kap-button-font-weight: 600;
	--kap-button-letter-spacing: 0;
	--kap-button-text-transform: none;
	--kap-button-link-font-size: 15px;
	--kap-button-link-letter-spacing: 0;
	--kap-button-link-padding-bottom: 0;
	--kap-caption-font-size: 15px;
	--kap-caption-letter-spacing: 0;
	--kap-caption-text-transform: none;
	--kap-caption-color: inherit;
	background: var(--kap-k01-page);
	color: var(--kap-k01-text);
	font-family: var(--kap-k01-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}

body.kap-preset-k01 .site,
body.kap-preset-k01 .site-content {
	background: var(--kap-k01-page);
}

body.kap-preset-k01 h1,
body.kap-preset-k01 h2,
body.kap-preset-k01 h3,
body.kap-preset-k01 .kap-k01-title {
	color: var(--kap-k01-heading);
	font-family: var(--kap-k01-font);
	font-weight: var(--kap-k01-title-weight);
}

body.kap-preset-k01 .kap-container {
	width: min(var(--kap-k01-container), calc(100% - 2rem));
	margin-inline: auto;
}

body.kap-preset-k01 .kap-k01-title {
	margin: 0 0 0.65rem;
	font-size: var(--kap-k01-title-size);
	line-height: 1.3;
	color: var(--kap-k01-ink);
}

body.kap-preset-k01 .kap-k01-topbar {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 0.5rem 1.5rem;
	align-items: center;
	min-height: 40px;
	padding: 0.35rem 1.25rem;
	background: var(--kap-k01-topbar);
	color: var(--kap-k01-topbar-text);
	font-size: 14px;
	font-weight: 500;
}

body.kap-preset-k01 .kap-k01-topbar__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem 1.15rem;
}

body.kap-preset-k01 .kap-k01-topbar a {
	color: inherit;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-topbar__note {
	margin: 0;
	text-align: center;
}

body.kap-preset-k01 .kap-k01-topbar__links {
	justify-self: start;
}

body.kap-preset-k01 .kap-k01-header {
	background: var(--kap-k01-surface);
}

body.kap-preset-k01 .kap-k01-header__main {
	display: grid;
	grid-template-columns: auto minmax(12rem, 1fr) auto;
	gap: 1rem 1.25rem;
	align-items: center;
	padding: 0.85rem 0;
}

body.kap-preset-k01 .kap-k01-brand .kap-logo,
body.kap-preset-k01 .kap-k01-brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 172px;
	color: var(--kap-k01-heading);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
}

body.kap-preset-k01 .kap-k01-brand .custom-logo,
body.kap-preset-k01 .kap-k01-brand img {
	display: block;
	width: auto;
	max-width: 172px;
	max-height: 48px;
}

body.kap-preset-k01 .kap-k01-search {
	display: flex;
	align-items: stretch;
	height: var(--kap-k01-control-h);
	border: 1px solid var(--kap-k01-form-border);
	border-radius: var(--kap-k01-radius);
	overflow: hidden;
	background: var(--kap-k01-surface);
}

body.kap-preset-k01 .kap-k01-search input[type="search"] {
	flex: 1;
	border: 0;
	margin: 0;
	padding: 0 1rem;
	background: transparent;
	color: var(--kap-k01-text);
	font: 500 15px/1 var(--kap-k01-font);
}

body.kap-preset-k01 .kap-k01-search button {
	border: 0;
	margin: 0;
	padding: 0 1.15rem;
	background: transparent;
	color: var(--kap-k01-primary);
	font: 600 15px/1 var(--kap-k01-font);
	cursor: pointer;
}

body.kap-preset-k01 .kap-k01-utils {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 15px;
	font-weight: 600;
}

body.kap-preset-k01 .kap-k01-utils a {
	color: var(--kap-k01-heading);
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-utils .kap-cart-count {
	display: inline-flex;
	min-width: 1.15rem;
	height: 1.15rem;
	margin-left: 0.25rem;
	padding: 0 0.3rem;
	border-radius: 999px;
	background: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
	font-size: 12px;
	align-items: center;
	justify-content: center;
}

body.kap-preset-k01 .kap-cart-count--empty {
	display: none;
}

body.kap-preset-k01 .kap-k01-header__sub {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 0.9rem;
}

body.kap-preset-k01 .kap-k01-browse {
	display: inline-flex;
	align-items: center;
	height: var(--kap-k01-control-h);
	padding: 0 20px;
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-view-shop {
	color: var(--kap-k01-text);
	font-size: 14px;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-home {
	padding: 1.25rem 0 2.5rem;
}

body.kap-preset-k01 .kap-k01-home__grid {
	display: grid;
	grid-template-columns: 15.5rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

/* Left rail — sticky stack of separate panels; scrolls when taller than viewport */
body.kap-preset-k01 .kap-k01-rail {
	position: sticky;
	top: 1rem;
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	max-height: calc(100dvh - 2rem);
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: transparent;
	border: 0;
	box-sizing: border-box;
	scrollbar-gutter: stable;
}

body.kap-preset-k01 .kap-k01-rail::-webkit-scrollbar {
	width: 6px;
}

body.kap-preset-k01 .kap-k01-rail::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: color-mix(in srgb, var(--kap-k01-text) 28%, transparent);
}

body.kap-preset-k01 .kap-k01-rail__panel {
	padding: 1rem 0.75rem 0.85rem;
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	box-sizing: border-box;
}

body.kap-preset-k01 .kap-k01-rail .kap-k01-title {
	margin: 0 0 0.45rem;
	padding: 0 0.4rem;
}

body.kap-preset-k01 .kap-k01-cats {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.kap-preset-k01 .kap-k01-cats li + li {
	margin-top: 0.15rem;
}

/* Minimog-style soft primary wash on row hover */
body.kap-preset-k01 .kap-k01-cats a {
	position: relative;
	z-index: 0;
	display: block;
	overflow: hidden;
	padding: 0.55rem 0.65rem;
	border-radius: var(--kap-k01-radius);
	color: var(--kap-k01-heading);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	transition: color 0.2s ease;
}

body.kap-preset-k01 .kap-k01-cats a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: var(--kap-k01-primary);
	opacity: 0;
	transition: opacity 0.2s ease;
}

body.kap-preset-k01 .kap-k01-cats a:hover,
body.kap-preset-k01 .kap-k01-cats a:focus-visible {
	color: var(--kap-k01-primary);
}

body.kap-preset-k01 .kap-k01-cats a:hover::after,
body.kap-preset-k01 .kap-k01-cats a:focus-visible::after {
	opacity: 0.12;
}

body.kap-preset-k01 .kap-k01-promos,
body.kap-preset-k01 .kap-k01-banners {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	gap: 0.85rem;
}

body.kap-preset-k01 .kap-k01-banners {
	grid-template-columns: 1fr 1fr;
	margin-top: 1.5rem;
}

body.kap-preset-k01 .kap-k01-promo {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	min-height: 16rem;
	padding: 1.75rem 1.25rem;
	border-radius: var(--kap-k01-radius-promo);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

body.kap-preset-k01 .kap-k01-promos .kap-k01-promo--teal {
	min-height: 25rem;
}

body.kap-preset-k01 .kap-k01-promo--teal {
	background-color: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

body.kap-preset-k01 .kap-k01-promo--mist {
	background-color: var(--kap-k01-mist);
	color: var(--kap-k01-heading);
}

/* Picture stays full strength. A short dark fade sits only behind the type. */
body.kap-preset-k01 .kap-k01-promo--has-image,
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"] {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	background-color: #f4efe8;
}

body.kap-preset-k01 .kap-k01-promo--has-image > :not(.kap-k01-promo__media),
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"] > * {
	position: relative;
	z-index: 2;
}

body.kap-preset-k01 .kap-k01-promo--has-image::before,
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"]::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(17, 17, 17, 0) 58%, rgba(17, 17, 17, 0.5) 100%);
}

/* GenerateBlocks paints the photo on the container. A larger layer zooms inside the frame. */
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"]::after {
	content: "";
	position: absolute;
	inset: -12%;
	z-index: 0;
	pointer-events: none;
	background-image: inherit;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.kap-preset-k01 .kap-k01-promo__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.kap-preset-k01 .kap-k01-promo__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

body.kap-preset-k01 .kap-k01-promo__eyebrow {
	margin: 0 0 0.2rem;
	font-size: 15px;
	font-weight: 500;
}

body.kap-preset-k01 .kap-k01-promo__title {
	margin: 0 0 0.85rem;
	color: inherit;
	font-size: var(--kap-k01-promo-title);
	font-weight: 600;
	line-height: 1.15;
}

body.kap-preset-k01 .kap-k01-promo__btn {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 1.15rem;
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-ink);
	border-color: var(--kap-k01-surface);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-promo--teal .kap-button-primary,
body.kap-preset-k01 .kap-k01-promo--teal .kap-k01-promo__btn {
	background: var(--kap-k01-surface);
	color: var(--kap-k01-ink);
	border-color: var(--kap-k01-surface);
}

body.kap-preset-k01 .kap-k01-promo--mist .kap-button-primary,
body.kap-preset-k01 .kap-k01-promo--mist .kap-k01-promo__btn {
	background: var(--kap-k01-ink);
	color: var(--kap-k01-surface);
	border-color: var(--kap-k01-ink);
}

body.kap-preset-k01 .kap-button-link,
body.kap-preset-k01 .kap-k01-deals__all {
	color: var(--kap-k01-primary);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	border-bottom: 0;
	padding-bottom: 0;
}

body.kap-preset-k01 .kap-section-heading,
body.kap-preset-k01 .kap-k01-title {
	margin: 0 0 0.65rem;
	font-size: var(--kap-k01-title-size);
	font-weight: var(--kap-k01-title-weight);
	line-height: 1.3;
	color: var(--kap-k01-ink);
}

body.kap-preset-k01 .kap-k01-promo .kap-section-heading,
body.kap-preset-k01 .kap-k01-promo__title {
	margin: 0 0 0.85rem;
	color: inherit;
	font-size: var(--kap-k01-promo-title);
	font-weight: 600;
	line-height: 1.15;
}

body.kap-preset-k01 .kap-k01-promo .kap-caption,
body.kap-preset-k01 .kap-k01-promo__eyebrow {
	margin: 0 0 0.2rem;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: inherit;
}

body.kap-preset-k01 .kap-k01-deals {
	margin-top: 0.85rem;
	padding: 1rem 1rem 1.15rem;
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
}

body.kap-preset-k01 .kap-k01-deals__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
}

body.kap-preset-k01 .kap-k01-deals__head .kap-k01-title {
	margin-bottom: 0.75rem;
}

body.kap-preset-k01 .kap-k01-deals__all {
	color: var(--kap-k01-primary);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-ages {
	display: grid;
	grid-template-columns: 15.5rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
	margin-top: 1.75rem;
}

/* Right column panel — matches .kap-k01-deals card chrome */
body.kap-preset-k01 .kap-k01-ages__panel {
	grid-column: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	align-items: center;
	padding: 1rem 1.15rem 1.15rem;
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	box-sizing: border-box;
}

body.kap-preset-k01 .kap-k01-ages .kap-k01-title {
	flex: 1 0 100%;
	margin: 0 0 0.35rem;
}

body.kap-preset-k01 .kap-k01-age {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--kap-k01-age);
	height: var(--kap-k01-age);
	border-radius: 100%;
	background: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-align: center;
	line-height: 1.1;
}

body.kap-preset-k01 .kap-k01-split {
	display: grid;
	grid-template-columns: 16rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: stretch;
	margin-top: 1.75rem;
}

body.kap-preset-k01 .kap-k01-split .kap-k01-promo {
	min-height: 100%;
}

body.kap-preset-k01 .kap-k01-split .kap-k01-deals,
body.kap-preset-k01 .kap-k01-pick .kap-k01-deals {
	margin-top: 0;
	height: 100%;
}

body.kap-preset-k01 .kap-k01-pick {
	margin-top: 1.75rem;
}

body.kap-preset-k01 .kap-k01-benefits {
	margin-top: 1.75rem;
	padding-top: 0.25rem;
}

body.kap-preset-k01 .kap-k01-benefits__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 1.25rem 0;
	border-top: 1px solid var(--kap-k01-line);
}

body.kap-preset-k01 .kap-k01-benefit__title {
	margin: 0 0 0.35rem;
	color: var(--kap-k01-ink);
	font-size: 15px;
	font-weight: 600;
}

body.kap-preset-k01 .kap-k01-benefit__copy {
	margin: 0;
	color: var(--kap-k01-text);
	font-size: 14px;
}

/* -------------------------------------------------------------------------
 * Homepage / shared hover motion
 * Intentional lift + color — keep prefers-reduced-motion quiet.
 * ------------------------------------------------------------------------- */

body.kap-preset-k01 .kap-k01-browse {
	transition: background 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

body.kap-preset-k01 .kap-k01-browse:hover,
body.kap-preset-k01 .kap-k01-browse:focus-visible {
	background: var(--kap-k01-ink);
	color: var(--kap-k01-surface);
}

body.kap-preset-k01 .kap-k01-view-shop:hover,
body.kap-preset-k01 .kap-k01-view-shop:focus-visible,
body.kap-preset-k01 .kap-k01-deals__all:hover,
body.kap-preset-k01 .kap-k01-deals__all:focus-visible,
body.kap-preset-k01 .kap-button-link:hover,
body.kap-preset-k01 .kap-button-link:focus-visible {
	color: var(--kap-k01-ink);
}

body.kap-preset-k01 .kap-k01-cats a {
	transition: color 0.2s ease;
}

body.kap-preset-k01 .kap-k01-cats a:hover,
body.kap-preset-k01 .kap-k01-cats a:focus-visible {
	color: var(--kap-k01-primary);
}

body.kap-preset-k01 .kap-k01-age {
	transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, background 0.22s ease;
	will-change: transform;
}

body.kap-preset-k01 .kap-k01-age:hover,
body.kap-preset-k01 .kap-k01-age:focus-visible {
	background: var(--kap-k01-ink);
	transform: translateY(-0.2rem) scale(1.04);
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
}

body.kap-preset-k01 .kap-k01-promo {
	transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease;
}

body.kap-preset-k01 .kap-k01-promo:hover {
	transform: translateY(-0.2rem);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

body.kap-preset-k01 .kap-k01-promo--has-image:hover,
body.kap-preset-k01 .kap-k01-promo--has-image:focus-within,
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"]:hover,
body.kap-preset-k01 .kap-k01-promo[class*="gb-element-"]:focus-within {
	transform: none;
	box-shadow: none;
}

body.kap-preset-k01 .kap-k01-promo:hover .kap-k01-promo__media,
body.kap-preset-k01 .kap-k01-promo:focus-within .kap-k01-promo__media,
body.kap-preset-k01 .kap-k01-promo:hover::after,
body.kap-preset-k01 .kap-k01-promo:focus-within::after {
	transform: scale(1.08);
}

body.kap-preset-k01 .kap-k01-promo .kap-button-primary,
body.kap-preset-k01 .kap-k01-promo__btn {
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

body.kap-preset-k01 .kap-k01-promo--teal .kap-button-primary:hover,
body.kap-preset-k01 .kap-k01-promo--teal .kap-button-primary:focus-visible,
body.kap-preset-k01 .kap-k01-promo--teal .kap-k01-promo__btn:hover,
body.kap-preset-k01 .kap-k01-promo--teal .kap-k01-promo__btn:focus-visible {
	background: var(--kap-k01-ink);
	border-color: var(--kap-k01-ink);
	color: var(--kap-k01-surface);
}

body.kap-preset-k01 .kap-k01-promo--mist .kap-button-primary:hover,
body.kap-preset-k01 .kap-k01-promo--mist .kap-button-primary:focus-visible,
body.kap-preset-k01 .kap-k01-promo--mist .kap-k01-promo__btn:hover,
body.kap-preset-k01 .kap-k01-promo--mist .kap-k01-promo__btn:focus-visible {
	background: var(--kap-k01-primary);
	border-color: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

/* Product media zoom — scales inside the cropped frame only */
body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image,
body.kap-preset-k01 .wc-block-grid__product-image {
	overflow: hidden;
}

body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image img,
body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
body.kap-preset-k01 .wc-block-grid__product-image img {
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
	transform-origin: center center;
	will-change: transform;
}

body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image:hover img,
body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover > img,
body.kap-preset-k01 .wc-block-grid__product-image:hover img {
	transform: scale(1.1);
}

body.kap-preset-k01.woocommerce ul.products li.product .button,
body.kap-preset-k01.woocommerce ul.products li.product a.button,
body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link {
	transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}

body.kap-preset-k01.woocommerce ul.products li.product .button:hover,
body.kap-preset-k01.woocommerce ul.products li.product a.button:hover,
body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button:hover,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link:hover,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
	body.kap-preset-k01 .kap-k01-browse,
	body.kap-preset-k01 .kap-k01-cats a,
	body.kap-preset-k01 .kap-k01-age,
	body.kap-preset-k01 .kap-k01-promo,
	body.kap-preset-k01 .kap-k01-promo .kap-button-primary,
	body.kap-preset-k01 .kap-k01-promo__btn,
	body.kap-preset-k01 .kap-k01-promo__media,
	body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image img,
	body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-LoopProduct-link > img,
	body.kap-preset-k01 .wc-block-grid__product-image img,
	body.kap-preset-k01.woocommerce ul.products li.product .button,
	body.kap-preset-k01.woocommerce ul.products li.product a.button,
	body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button,
	body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link,
	body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link {
		transition: none;
	}

	body.kap-preset-k01 .kap-k01-age:hover,
	body.kap-preset-k01 .kap-k01-age:focus-visible,
	body.kap-preset-k01 .kap-k01-promo:hover,
	body.kap-preset-k01 .kap-k01-promo:hover .kap-k01-promo__media,
	body.kap-preset-k01 .kap-k01-promo:focus-within .kap-k01-promo__media,
	body.kap-preset-k01 .kap-k01-promo:hover::after,
	body.kap-preset-k01 .kap-k01-promo:focus-within::after,
	body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image:hover img,
	body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover > img,
	body.kap-preset-k01 .wc-block-grid__product-image:hover img,
	body.kap-preset-k01.woocommerce ul.products li.product .button:hover,
	body.kap-preset-k01.woocommerce ul.products li.product a.button:hover,
	body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button:hover,
	body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link:hover,
	body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
		transform: none;
		box-shadow: none;
	}
}

/*
 * -------------------------------------------------------------------------
 * K01 product card (shared)
 * Classic loop + WC product blocks. Density via CSS vars; surfaces override.
 * Anatomy: media (1:1) → badge → cat → title → price → outline ATC.
 * ------------------------------------------------------------------------- */

body.kap-preset-k01.kap-k01-shop,
body.kap-preset-k01 .related.products,
body.kap-preset-k01 .upsells.products {
	--kap-k01-card-title-size: 14px;
	--kap-k01-card-price-size: 14px;
	--kap-k01-card-atc-min-h: 38px;
	--kap-k01-card-atc-font: 14px;
}

body.kap-preset-k01 .kap-product-section,
body.kap-preset-k01 .kap-k01-deals,
body.kap-preset-k01 .kap-k01-pick {
	--kap-k01-card-gap: 0.45rem;
	--kap-k01-card-title-size: 13px;
	--kap-k01-card-price-size: 13px;
	--kap-k01-card-atc-min-h: 34px;
	--kap-k01-card-atc-pad-x: 0.95rem;
	--kap-k01-card-atc-font: 13px;
	--kap-k01-card-badge-size: 12px;
}

body.kap-preset-k01 .kap-k01-card--compact,
body.kap-preset-k01 .kap-product-section.columns-5,
body.kap-preset-k01 .kap-product-section.columns-6,
body.kap-preset-k01 .wc-block-grid.has-5-columns,
body.kap-preset-k01 .wc-block-grid.has-6-columns {
	--kap-k01-card-gap: 0.4rem;
	--kap-k01-card-cat-size: 10px;
	--kap-k01-card-title-size: 12px;
	--kap-k01-card-price-size: 12px;
	--kap-k01-card-atc-min-h: 32px;
	--kap-k01-card-atc-pad-x: 0.8rem;
	--kap-k01-card-atc-font: 12px;
	--kap-k01-card-badge-size: 11px;
	--kap-k01-card-badge-pad: 3px 8px;
}

/* Sale badges — percent pills, top-left on image.
 * GP Premium uses .sales-flash-overlay .onsale { top:0; right:0 } which
 * stretches the badge when left is also set; reset geometry everywhere.
 * Homepage has no body.woocommerce — match .kap-sale-badge / block grids too.
 */
body.kap-preset-k01.woocommerce ul.products li.product .onsale,
body.kap-preset-k01.woocommerce ul.products li.product.sales-flash-overlay .onsale,
body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image .onsale,
body.kap-preset-k01.woocommerce ul.products li.product .kap-sale-badge,
body.kap-preset-k01.woocommerce span.onsale,
body.kap-preset-k01.woocommerce span.onsale.kap-sale-badge,
body.kap-preset-k01 .kap-sale-badge,
body.kap-preset-k01 .wc-block-grid__product .onsale,
body.kap-preset-k01 .wc-block-grid__product .kap-sale-badge,
body.kap-preset-k01 .wc-block-grid__product-link .onsale,
body.kap-preset-k01 .wc-block-grid__product-link .kap-sale-badge,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product span.onsale,
body.kap-preset-k01 .wc-block-components-product-sale-badge,
body.kap-preset-k01 .wc-block-grid__product-onsale,
body.kap-preset-k01 .wc-block-grid__product-image .wc-block-grid__product-onsale,
body.kap-preset-k01 .wp-block-woocommerce-product-sale-badge {
	position: absolute !important;
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 9;
	width: auto !important;
	max-width: calc(100% - 1.5rem);
	height: auto !important;
	min-height: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: var(--kap-k01-card-badge-pad) !important;
	border: 0 !important;
	border-radius: 24px !important;
	background: var(--kap-k01-sale) !important;
	color: #fff !important;
	font-family: var(--kap-k01-font);
	font-size: var(--kap-k01-card-badge-size) !important;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.2 !important;
	text-align: left !important;
	white-space: nowrap;
	display: inline-block !important;
	box-sizing: border-box;
}

/* Positioning context for block-grid badges (homepage rails) */
body.kap-preset-k01 .wc-block-grid__product,
body.kap-preset-k01 .wc-block-grid__product-link {
	position: relative;
}

/* Card shell */
body.kap-preset-k01.woocommerce ul.products li.product,
body.kap-preset-k01 .wc-block-grid__product {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	background: transparent;
}

body.kap-preset-k01.woocommerce ul.products li.product .wc-product-image,
body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image,
body.kap-preset-k01.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.kap-preset-k01 .wc-block-grid__product-image {
	position: relative;
	display: block;
}

/* Media — square crop, consistent across shop / related / blocks */
body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image,
body.kap-preset-k01 .wc-block-grid__product-image {
	overflow: hidden;
	aspect-ratio: var(--kap-k01-card-media-ratio);
	border-radius: var(--kap-k01-card-media-radius);
	background: var(--kap-k01-mist);
}

body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image img,
body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
body.kap-preset-k01 .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}

/* Hide GP secondary hover image — keeps a single square frame. */
body.kap-preset-k01.woocommerce ul.products li.product .inside-wc-product-image img.secondary-image {
	display: none !important;
}

/* PDP: badge sits in the summary column above the product title. */
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product > span.onsale,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-product-gallery .onsale,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .onsale {
	display: none !important;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.summary > .onsale,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.summary > .kap-sale-badge {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	display: inline-block !important;
	margin: 0 0 0.55rem !important;
	max-width: 100%;
}

/* Category / title / price */
body.kap-preset-k01 .kap-k01-card__cat,
body.kap-preset-k01.woocommerce ul.products li.product .kap-k01-card__cat {
	margin: var(--kap-k01-card-gap) 0 0.15rem;
	color: var(--kap-k01-text);
	font-size: var(--kap-k01-card-cat-size);
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.kap-preset-k01 .wc-block-grid__product-title,
body.kap-preset-k01 .wc-block-grid__product-title a,
body.kap-preset-k01 .wc-block-components-product-name {
	margin: 0.15rem 0 0;
	color: var(--kap-k01-heading) !important;
	font-family: var(--kap-k01-font);
	font-size: var(--kap-k01-card-title-size) !important;
	font-weight: var(--kap-k01-card-title-weight);
	line-height: 1.35;
	letter-spacing: 0;
	text-decoration: none !important;
}

/* Cap loop titles at 2 lines */
body.kap-preset-k01.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.kap-preset-k01 .wc-block-grid__product-title,
body.kap-preset-k01 .wc-block-components-product-name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.kap-preset-k01.woocommerce ul.products li.product .price,
body.kap-preset-k01 .wc-block-grid__product-price,
body.kap-preset-k01 .wc-block-components-product-price {
	margin: 0.35rem 0 0;
	color: var(--kap-k01-heading);
	font-family: var(--kap-k01-font);
	font-size: var(--kap-k01-card-price-size);
	font-weight: 600;
	line-height: 1.35;
}

body.kap-preset-k01.woocommerce ul.products li.product .price del,
body.kap-preset-k01 .wc-block-grid__product-price del,
body.kap-preset-k01 .wc-block-components-product-price del {
	margin-right: 0.35rem;
	color: var(--kap-k01-text);
	font-weight: 400;
	opacity: 0.85;
}

body.kap-preset-k01.woocommerce ul.products li.product .price ins,
body.kap-preset-k01 .wc-block-grid__product-price ins,
body.kap-preset-k01 .wc-block-components-product-price ins {
	background: transparent;
	color: var(--kap-k01-sale);
	font-weight: 600;
	text-decoration: none;
}

/* Outline ATC — full-width under card content; density via CSS vars */
body.kap-preset-k01.woocommerce ul.products li.product .button,
body.kap-preset-k01.woocommerce ul.products li.product a.button,
body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button,
body.kap-preset-k01.woocommerce ul.products li.product .product_type_simple,
body.kap-preset-k01.woocommerce ul.products li.product .product_type_variable,
body.kap-preset-k01.woocommerce ul.products li.product .product_type_grouped,
body.kap-preset-k01.woocommerce ul.products li.product .product_type_external,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	min-height: var(--kap-k01-card-atc-min-h);
	margin: var(--kap-k01-card-gap) 0 0;
	padding: 0 var(--kap-k01-card-atc-pad-x) !important;
	border: 1px solid var(--kap-k01-primary) !important;
	border-radius: var(--kap-k01-radius-pill) !important;
	background: transparent !important;
	color: var(--kap-k01-primary) !important;
	font-family: var(--kap-k01-font);
	font-size: var(--kap-k01-card-atc-font) !important;
	font-weight: 500;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: none !important;
	box-sizing: border-box;
	white-space: nowrap;
}

body.kap-preset-k01.woocommerce ul.products li.product .button:hover,
body.kap-preset-k01.woocommerce ul.products li.product .button:focus,
body.kap-preset-k01.woocommerce ul.products li.product a.button:hover,
body.kap-preset-k01.woocommerce ul.products li.product a.button:focus,
body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button:hover,
body.kap-preset-k01.woocommerce ul.products li.product .add_to_cart_button:focus,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link:hover,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button__link:focus,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button__link:focus {
	background: var(--kap-k01-primary) !important;
	border-color: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
}

body.kap-preset-k01.woocommerce ul.products li.product .wc-block-components-product-button,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart,
body.kap-preset-k01 .wc-block-components-product-button .wp-block-button,
body.kap-preset-k01 .wc-block-grid__product-add-to-cart .wp-block-button {
	display: block;
	width: 100%;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats {
	--kap-slider-visible: 4;
	--kap-slider-gap: 1.15rem;
	--kap-slider-bleed: 0;
	--kap-slider-controls-inset: 0;
	position: relative;
	margin: 0 0 1.5rem;
	padding: 0.25rem 0 0.35rem;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider {
	--kap-slider-visible: 4;
	--kap-slider-gap: 1.15rem;
	--kap-slider-bleed: 0;
	--kap-slider-controls-inset: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__viewport {
	margin-inline: 0;
	padding: 0.45rem 0 0.75rem;
	overflow: hidden;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__track {
	align-items: flex-start;
	justify-content: flex-start;
}

/* Fixed tile columns — pack from the left; carousel step still works */
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__slide {
	display: flex;
	justify-content: flex-start;
	flex: 0 0 auto;
	width: auto;
	min-width: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	width: 6.25rem;
	max-width: none;
	margin: 0;
	padding: 0;
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__media {
	display: block;
	width: 5.75rem;
	height: 5.75rem;
	border-radius: var(--kap-k01-radius);
	overflow: hidden;
	transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease;
	will-change: transform;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__img,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__mark {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background: var(--kap-k01-mist);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	box-sizing: border-box;
	transition: border-color 0.28s ease;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--kap-k01-primary);
	font-size: 1.35rem;
	font-weight: 600;
	object-fit: none;
	background: var(--kap-k01-surface);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__name {
	display: block;
	max-width: 100%;
	transition: color 0.2s ease;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:hover .kap-k01-shop-cats__media,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:focus-visible .kap-k01-shop-cats__media {
	transform: translateY(-0.35rem) scale(1.04);
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:hover .kap-k01-shop-cats__img,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:hover .kap-k01-shop-cats__mark,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:focus-visible .kap-k01-shop-cats__img,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:focus-visible .kap-k01-shop-cats__mark {
	border-color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:hover .kap-k01-shop-cats__name,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item:focus-visible .kap-k01-shop-cats__name,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item.is-active .kap-k01-shop-cats__name {
	color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item.is-active .kap-k01-shop-cats__img,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item.is-active .kap-k01-shop-cats__mark {
	border-color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-subcats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: -0.35rem 0 1.35rem;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-subcats a {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.9rem;
	border: 1px solid var(--kap-k01-line);
	border-radius: 999px;
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-subcats a:hover,
body.kap-preset-k01.kap-k01-shop .kap-k01-subcats a:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-k01-subcats a.is-active {
	background: var(--kap-k01-primary);
	border-color: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__button {
	width: 2.35rem;
	height: 2.35rem;
	border-color: var(--kap-k01-line);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__button:hover,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__button:focus-visible {
	background: var(--kap-k01-primary);
	border-color: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__button:disabled,
body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider__button:disabled:hover {
	background: var(--kap-k01-surface);
	border-color: var(--kap-k01-line);
	color: var(--kap-k01-text);
	opacity: 0.35;
}

body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider.is-static .kap-slider__viewport {
	padding-inline: 0;
}

@media (min-width: 640px) {
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider {
		--kap-slider-visible: 5;
	}
}

@media (min-width: 900px) {
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider {
		--kap-slider-visible: 7;
		--kap-slider-gap: 1.25rem;
	}

	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item {
		width: 6.5rem;
	}

	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__media {
		width: 6rem;
		height: 6rem;
	}
}

@media (min-width: 1200px) {
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider {
		--kap-slider-visible: 8;
		--kap-slider-gap: 1.35rem;
	}
}

/* Hide archive “Shop” title — departments row is the primary chrome */
body.kap-preset-k01.kap-k01-shop .woocommerce-products-header,
body.kap-preset-k01.kap-k01-shop .entry-title,
body.kap-preset-k01.kap-k01-shop .page-title,
body.kap-preset-k01.kap-k01-shop h1.woocommerce-products-header__title {
	display: none;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-layout {
	display: grid;
	grid-template-columns: 15rem minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-layout__main {
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	padding: 1rem 1.1rem 1.25rem;
	min-width: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.4rem 0.85rem;
	margin: 0 0 0.85rem;
	padding: 0;
	border: 0;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar__filters,
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.5rem;
	min-width: 0;
	flex: 1 1 auto;
	max-width: 100%;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem 1rem;
	margin-left: auto;
	min-width: 0;
	flex: 0 1 auto;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .woocommerce-result-count,
body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .woocommerce-ordering {
	float: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--kap-k01-text);
}

body.kap-preset-k01.kap-k01-shop .woocommerce-ordering select.orderby {
	border: 1px solid var(--kap-k01-form-border);
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font: 500 14px/1.4 var(--kap-k01-font);
	min-height: 36px;
	padding: 0.35rem 2rem 0.35rem 0.75rem;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__disclosure {
	display: none;
	margin: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__panel {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__chrome {
	display: none;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	padding: 0;
	border: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__toggle-label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget-title,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters h2,
body.kap-preset-k01.kap-k01-shop .kap-filter-group__summary {
	margin: 0;
	color: var(--kap-k01-ink);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__close,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters__scrim {
	display: none;
}

/* Separate filter cards — one bordered surface per facet */
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-filter-block {
	margin: 0 0 1.15rem;
	padding: 1.15rem 1.2rem 1.25rem;
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	overflow: hidden;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-filter-block:last-child {
	margin-bottom: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.85rem;
	padding: 0;
	cursor: pointer;
	list-style: none;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group__summary::-webkit-details-marker {
	display: none;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group__summary::after {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	flex: 0 0 auto;
	background: linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group:not([open]) > .kap-filter-group__summary::after {
	background:
		linear-gradient(currentColor, currentColor) center / 100% 1px no-repeat,
		linear-gradient(currentColor, currentColor) center / 1px 100% no-repeat;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group:not([open]) > .kap-filter-group__summary {
	margin-bottom: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-filter-group > *:not(summary) {
	padding: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list,
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list__item,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories li,
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters li {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
	margin: 0;
	padding: 0;
}

/* Category / stock text links */
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories a,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-filter-facet--stock a {
	display: block;
	padding: 0.35rem 0;
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories a:hover,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories a:focus,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .current-cat > a,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-filter-facet--stock a:hover,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-filter-facet--stock .woocommerce-widget-layered-nav-list__item--chosen a {
	color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories .children {
	margin: 0.15rem 0 0.15rem 0;
	padding-left: 1rem;
}

/* Size boxes (+ other non-color attribute chips) */
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a:not(.kap-filter-swatch),
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.65rem;
	min-height: 2.4rem;
	padding: 0 0.8rem;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters a {
	min-width: 0;
	min-height: 1.75rem;
	padding: 0 0.55rem;
	font-size: 0.75rem;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters a::before,
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters .widget_layered_nav_filters a::after {
	content: none;
	display: none;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list__item--chosen a:not(.kap-filter-swatch) {
	border-color: var(--kap-k01-ink);
	border-width: 1.5px;
	color: var(--kap-k01-ink);
	font-weight: 600;
}

/* Color circles */
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch {
	display: block;
	width: 1.9rem;
	height: 1.9rem;
	min-width: 1.9rem;
	min-height: 1.9rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	box-sizing: border-box;
	background: #cfcfcf;
	box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.16);
	overflow: visible;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch.kap-filter-swatch--black,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch.kap-filter-swatch--black {
	background: #111111;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch.kap-filter-swatch--white,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch.kap-filter-swatch--white {
	background: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.28);
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch.kap-filter-swatch--blue,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch.kap-filter-swatch--blue {
	background: #3d5a80;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch.kap-filter-swatch--pink,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch.kap-filter-swatch--pink {
	background: #d4a5b8;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch.kap-filter-swatch--green,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch.kap-filter-swatch--green {
	background: #6b8f71;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list__item--chosen a.kap-filter-swatch,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list__item--chosen span.kap-filter-swatch {
	box-shadow: 0 0 0 2px var(--kap-k01-surface), 0 0 0 3px var(--kap-k01-ink);
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list .count {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	border: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .widget_product_categories .count {
	color: var(--kap-k01-text);
	font-size: 13px;
	position: static;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	overflow: visible;
	clip: auto;
}

/* Price: single control strip (min — max | Apply) */
body.kap-preset-k01.kap-k01-shop .kap-price-filter {
	margin: 0.1rem 0 0;
}

body.kap-preset-k01.kap-k01-shop .kap-price-filter__control {
	display: flex;
	align-items: stretch;
	min-width: 0;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	overflow: hidden;
}

body.kap-preset-k01.kap-k01-shop .kap-price-filter__fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	flex: 1 1 auto;
	min-width: 0;
	align-items: center;
}

body.kap-preset-k01.kap-k01-shop .kap-price-filter__field {
	margin: 0;
	min-width: 0;
}

body.kap-preset-k01.kap-k01-shop .kap-price-filter__sep {
	display: block;
	width: 0.65rem;
	height: 1px;
	background: var(--kap-k01-line);
}

body.kap-preset-k01.kap-k01-shop .kap-price-filter input,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters input[type="number"],
body.kap-preset-k01.kap-k01-shop .kap-shop-filters input[type="text"] {
	display: block !important;
	width: 100%;
	min-height: 2.5rem;
	margin: 0;
	padding: 0.3rem 0.55rem;
	border: 0;
	border-radius: 0;
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-family: var(--kap-k01-font);
	font-size: 0.875rem;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-price-filter .button,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-price-filter button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	min-height: 2.5rem;
	margin: 0;
	padding: 0 1rem;
	border: 0;
	border-left: 1px solid var(--kap-k01-ink);
	border-radius: 0;
	background: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
	font-family: var(--kap-k01-font);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-price-filter .button:hover,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .kap-price-filter button[type="submit"]:hover {
	background: var(--kap-k01-ink) !important;
	color: var(--kap-k01-surface) !important;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters .price_slider,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .price_label,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters .ui-slider {
	display: none !important;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters__clear {
	color: var(--kap-k01-primary);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}

body.kap-preset-k01.kap-k01-shop .kap-shop-filters a:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters__toggle:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters__close:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-shop-filters__clear:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-filter-group__summary:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-price-filter input:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-price-filter .button:focus-visible,
body.kap-preset-k01.kap-k01-shop .kap-shop-active-filters a:focus-visible {
	outline: 2px solid var(--kap-k01-ink);
	outline-offset: 2px;
}

body.kap-preset-k01.kap-k01-shop ul.products li.product p:not(.kap-k01-card__cat) {
	display: none;
}

body.kap-preset-k01.kap-k01-shop ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem 0.85rem;
	clear: both;
	margin: 0;
}

body.kap-preset-k01.kap-k01-shop ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin: 1.75rem 0 0;
	padding: 0;
	clear: both;
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li {
	margin: 0;
	border: 0;
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li a,
body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0 0.65rem;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li a:hover,
body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li a:focus {
	border-color: var(--kap-k01-primary);
	color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-shop .woocommerce-pagination ul li span.current {
	border-color: var(--kap-k01-primary);
	background: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more {
	display: flex;
	justify-content: center;
	margin: 1.75rem 0 0.25rem;
	padding: 0;
	border: 0;
}

body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more .kap-shop-load-more__button,
body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more a.kap-button-primary.kap-shop-load-more__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	min-height: 44px;
	padding: 0 1.6rem;
	border: 1px solid var(--kap-k01-primary) !important;
	border-radius: var(--kap-k01-radius-pill) !important;
	background: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
	font-family: var(--kap-k01-font);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none !important;
	text-transform: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more .kap-shop-load-more__button:hover,
body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more .kap-shop-load-more__button:focus,
body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more a.kap-button-primary.kap-shop-load-more__button:hover,
body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more a.kap-button-primary.kap-shop-load-more__button:focus {
	background: var(--kap-k01-ink) !important;
	border-color: var(--kap-k01-ink) !important;
	color: var(--kap-k01-surface) !important;
}

body.kap-preset-k01.kap-k01-shop nav.kap-shop-load-more .kap-shop-load-more__button.is-loading {
	opacity: 0.55;
	pointer-events: none;
}

body.kap-preset-k01 .kap-k01-footer {
	background: var(--kap-k01-surface);
	border-top: 1px solid var(--kap-k01-line);
	padding: 2rem 0 1.25rem;
}

body.kap-preset-k01 .kap-k01-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 1.5rem;
}

body.kap-preset-k01 .kap-k01-footer__heading {
	margin: 0 0 0.65rem;
	padding-bottom: 0;
	color: var(--kap-k01-heading);
	font-size: 15px;
	font-weight: 600;
}

body.kap-preset-k01 .kap-k01-footer .kap-logo__text {
	margin: 0 0 0.35rem;
	color: var(--kap-k01-heading);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

body.kap-preset-k01 .kap-k01-footer__blurb,
body.kap-preset-k01 .kap-k01-footer__legal p {
	margin: 0.25rem 0 0;
	color: var(--kap-k01-text);
	font-size: 14px;
}

body.kap-preset-k01 .kap-k01-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.kap-preset-k01 .kap-k01-footer__links a,
body.kap-preset-k01 .kap-k01-footer__brand a {
	color: var(--kap-k01-heading);
	font-size: 14px;
	text-decoration: none;
}

body.kap-preset-k01 .kap-k01-footer__legal {
	margin-top: 1.5rem;
}

/* -------------------------------------------------------------------------
 * K01 single product (department-store PDP)
 * Measured: gallery ~697px, square main, vertical thumbs, title 24/600,
 * teal Add to cart pill, attribute boxes, white product card on #f8f8f8 page.
 * ------------------------------------------------------------------------- */

body.kap-preset-k01.kap-k01-pdp .site-content {
	padding-top: 1.25rem;
	padding-bottom: 3rem;
}

body.kap-preset-k01.kap-k01-pdp .kap-k01-breadcrumb {
	max-width: var(--kap-k01-container);
	margin: 0 auto 1rem;
	padding: 0 1rem;
	color: var(--kap-k01-text);
	font-size: 14px;
}

body.kap-preset-k01.kap-k01-pdp .kap-k01-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

body.kap-preset-k01.kap-k01-pdp .kap-k01-breadcrumb__sep {
	margin: 0 0.25rem;
	opacity: 0.55;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product,
body.kap-preset-k01.kap-k01-pdp.woocommerce-page div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	column-gap: 1.85rem;
	row-gap: 2rem;
	align-items: start;
	max-width: var(--kap-k01-container);
	margin: 0 auto;
	padding: 2.75rem 1.75rem 3.25rem;
	background: var(--kap-k01-surface);
	border-radius: var(--kap-k01-radius-promo);
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images,
body.kap-preset-k01.kap-k01-pdp.woocommerce-page div.product div.images,
body.kap-preset-k01.kap-k01-pdp.woocommerce #content div.product div.images,
body.kap-preset-k01.kap-k01-pdp.woocommerce-page #content div.product div.images,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.summary,
body.kap-preset-k01.kap-k01-pdp.woocommerce-page div.product div.summary,
body.kap-preset-k01.kap-k01-pdp.woocommerce #content div.product div.summary,
body.kap-preset-k01.kap-k01-pdp.woocommerce-page #content div.product div.summary {
	width: 100% !important;
	max-width: none;
	float: none !important;
	clear: none;
	margin: 0;
	padding: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images {
	position: relative;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .woocommerce-product-gallery,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images.woocommerce-product-gallery {
	float: none;
	width: 100%;
	margin: 0;
	opacity: 1;
	position: relative;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .woocommerce-product-gallery__image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--kap-k01-mist);
	border-radius: var(--kap-k01-radius);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	margin: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product {
	position: relative;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs li {
	flex: 0 0 4.25rem;
	width: 4.25rem;
	margin: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	opacity: 0.55;
	border: 1px solid transparent;
	border-radius: var(--kap-k01-radius);
	cursor: pointer;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs img:hover,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs img:focus {
	opacity: 1;
	border-color: var(--kap-k01-ink);
}

@media (min-width: 1025px) {
	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images.woocommerce-product-gallery,
	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-product-gallery.images {
		display: grid;
		grid-template-columns: 4.5rem minmax(0, 1fr);
		column-gap: 0.75rem;
		align-items: stretch;
	}

	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-viewport {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		flex-direction: column;
		align-self: stretch;
		width: 4.5rem;
		margin: 0;
		overflow-x: hidden;
		overflow-y: auto;
	}

	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product div.images .flex-control-thumbs li {
		flex: 0 0 auto;
		width: 100%;
	}
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .product_title {
	margin: 0 0 0.65rem;
	color: var(--kap-k01-heading);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.33;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary p.price,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary span.price {
	margin: 0 0 0.85rem;
	color: var(--kap-k01-heading);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.1;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary p.price del,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary span.price del {
	opacity: 0.5;
	margin-right: 0.35rem;
	font-size: 0.85em;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary p.price ins,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .summary span.price ins {
	background: none;
	text-decoration: none;
	color: var(--kap-k01-sale);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 0 0 1rem;
	color: var(--kap-k01-text);
	font-size: 15px;
	line-height: 1.55;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.65rem 0.85rem;
	margin: 1rem 0 0;
	width: 100%;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart::before,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart::after,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .woocommerce-variation-add-to-cart::before,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .woocommerce-variation-add-to-cart::after {
	content: none;
	display: none;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations {
	flex: 1 1 100%;
	width: 100%;
	margin: 0 0 0.35rem;
	border: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations td,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations th {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations th.label {
	padding-bottom: 0.4rem;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations td.value {
	padding-bottom: 0.75rem;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .variations label {
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 600;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-boxes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-box {
	min-width: 2.75rem;
	min-height: 2.5rem;
	margin: 0;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--kap-k01-line);
	border-radius: 999px;
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font: 600 14px/1.2 var(--kap-k01-font);
	cursor: pointer;
	box-sizing: border-box;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-box.is-selected,
body.kap-preset-k01.kap-k01-pdp .kap-variation-box[aria-pressed="true"] {
	border-color: var(--kap-k01-primary);
	background: var(--kap-k01-primary);
	color: var(--kap-k01-primary-ink);
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-box.is-disabled,
body.kap-preset-k01.kap-k01-pdp .kap-variation-box:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-box:focus-visible {
	outline: 2px solid var(--kap-k01-primary);
	outline-offset: 2px;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-select-wrap--boxes {
	position: relative;
}

body.kap-preset-k01.kap-k01-pdp .kap-variation-select-wrap--boxes select.kap-variation-select {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .reset_variations {
	display: inline-block;
	margin-top: 0.45rem;
	color: var(--kap-k01-text);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .single_variation_wrap,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.85rem;
	width: 100%;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity.buttons-added {
	display: inline-flex;
	align-items: stretch;
	float: none;
	margin: 0;
	width: 8.125rem;
	min-width: 8.125rem;
	max-width: 8.125rem;
	height: 45px;
	min-height: 45px;
	flex: 0 0 8.125rem;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-surface);
	box-sizing: border-box;
	overflow: hidden;
	aspect-ratio: auto;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.plus,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.minus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	min-width: 2.25rem;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kap-k01-ink);
	text-decoration: none;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.plus:hover,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.minus:hover,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.plus:focus,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.minus:focus {
	color: var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.plus:focus-visible,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity a.minus:focus-visible {
	outline: 2px solid var(--kap-k01-primary);
	outline-offset: -2px;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity .qty {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--kap-k01-ink);
	font: 500 16px/1 var(--kap-k01-font);
	text-align: center;
	box-sizing: border-box;
	aspect-ratio: auto;
	-moz-appearance: textfield;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .single_add_to_cart_button.button.alt,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart button.single_add_to_cart_button {
	flex: 1 1 auto;
	float: none !important;
	width: auto;
	min-width: 0;
	min-height: 45px;
	margin: 0;
	padding: 0 1rem;
	border: 0;
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
	font: 500 16px/1 var(--kap-k01-font);
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product form.cart .single_add_to_cart_button:focus {
	background: var(--kap-k01-ink) !important;
	color: var(--kap-k01-surface) !important;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .product_meta {
	margin-top: 1.35rem;
	padding-top: 1rem;
	border-top: 1px solid var(--kap-k01-line);
	color: var(--kap-k01-text);
	font-size: 14px;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .product_meta > span {
	display: block;
	margin-bottom: 0.25rem;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin: 0.5rem 0 0;
	padding-top: 1.75rem;
	border-top: 1px solid var(--kap-k01-line);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.75rem;
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--kap-k01-line);
	list-style: none;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0 0 0.75rem;
	border: 0;
	background: none;
	border-radius: 0;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 0;
	color: var(--kap-k01-text);
	font-size: 15px;
	font-weight: 500;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--kap-k01-ink);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom: 2px solid var(--kap-k01-primary);
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .related.products,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .upsells.products {
	grid-column: 1 / -1;
	margin-top: 0.5rem;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .related.products > h2,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .upsells.products > h2 {
	margin: 0 0 1rem;
	color: var(--kap-k01-heading);
	font-size: 18px;
	font-weight: 600;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .related.products ul.products,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .upsells.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem 0.85rem;
}

body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .related.products ul.products li.product,
body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .upsells.products ul.products li.product {
	width: auto;
	margin: 0;
	float: none;
}

@media (max-width: 900px) {
	body.kap-preset-k01 .kap-k01-home__grid,
	body.kap-preset-k01 .kap-k01-ages,
	body.kap-preset-k01 .kap-k01-promos,
	body.kap-preset-k01 .kap-k01-banners,
	body.kap-preset-k01 .kap-k01-split,
	body.kap-preset-k01 .kap-k01-benefits__list,
	body.kap-preset-k01 .kap-k01-footer__grid,
	body.kap-preset-k01.kap-k01-shop .kap-shop-layout {
		grid-template-columns: 1fr;
	}

	/* Top bar: shipping note only. Help / Account / Orders stay in the footer. */
	body.kap-preset-k01 .kap-k01-topbar {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding: 0.4rem 1rem;
	}

	body.kap-preset-k01 .kap-k01-topbar__links {
		display: none;
	}

	body.kap-preset-k01 .kap-k01-topbar__note {
		font-size: 12px;
		line-height: 1.35;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/* Logo and account on one row; search full width underneath. */
	body.kap-preset-k01 .kap-k01-header__main {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"brand utils"
			"search search";
		gap: 0.65rem 0.75rem;
		align-items: center;
		padding-top: 0.7rem;
		padding-bottom: 0.35rem;
	}

	body.kap-preset-k01 .kap-k01-brand {
		grid-area: brand;
		min-width: 0;
	}

	body.kap-preset-k01 .kap-k01-search {
		grid-area: search;
		width: 100%;
		min-width: 0;
	}

	body.kap-preset-k01 .kap-k01-utils {
		grid-area: utils;
		gap: 0.75rem;
	}

	body.kap-preset-k01 .kap-k01-header__sub {
		padding-bottom: 0.75rem;
	}

	body.kap-preset-k01 .kap-k01-view-shop {
		display: none;
	}

	body.kap-preset-k01 .kap-k01-browse {
		display: flex;
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
	}

	/* Department lists become one swipeable chip row instead of two tall cards. */
	body.kap-preset-k01 .kap-k01-rail {
		position: static;
		flex-direction: row;
		align-items: center;
		gap: 0.35rem;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 0.15rem;
		scrollbar-width: none;
	}

	body.kap-preset-k01 .kap-k01-rail::-webkit-scrollbar {
		display: none;
	}

	body.kap-preset-k01 .kap-k01-rail__panel {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 0.35rem;
		flex: 0 0 auto;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
	}

	body.kap-preset-k01 .kap-k01-rail .kap-k01-title {
		margin: 0;
		padding: 0 0.15rem 0 0;
		font-size: 12px;
		white-space: nowrap;
	}

	body.kap-preset-k01 .kap-k01-cats {
		display: flex;
		flex-wrap: nowrap;
		gap: 0.35rem;
	}

	body.kap-preset-k01 .kap-k01-cats li + li {
		margin-top: 0;
	}

	body.kap-preset-k01 .kap-k01-cats a {
		padding: 0.4rem 0.7rem;
		border: 1px solid var(--kap-k01-line);
		border-radius: 999px;
		background: var(--kap-k01-surface);
		font-size: 13px;
		white-space: nowrap;
	}

	body.kap-preset-k01 .kap-k01-promos .kap-k01-promo--teal,
	body.kap-preset-k01 .kap-k01-promo {
		min-height: 12.5rem;
	}

	body.kap-preset-k01 .kap-k01-promo__title {
		font-size: 26px;
	}

	/* Homepage rails: two cards across. WC blocks collapse to one column under 480px. */
	body.kap-preset-k01 .wc-block-grid__products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem 0.65rem;
		margin: 0;
	}

	body.kap-preset-k01 .wc-block-grid__product {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex: none !important;
		float: none !important;
	}

	body.kap-preset-k01 .kap-k01-ages__panel {
		grid-column: 1;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__disclosure {
		display: block;
	}

	/* Filters | Sort on one row (F01 pattern); count above */
	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: center;
		column-gap: 0;
		row-gap: 0.35rem;
		position: relative;
		z-index: 5;
		overflow: visible;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar__meta {
		display: contents;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .woocommerce-result-count {
		grid-column: 1 / -1;
		grid-row: 1;
		min-width: 0;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .kap-shop-filters__disclosure {
		grid-column: 1;
		grid-row: 2;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		align-self: stretch;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.4rem;
		width: 100%;
		min-height: 2.75rem;
		padding: 0 0.95rem;
		border: 1px solid var(--kap-k01-line);
		border-radius: var(--kap-k01-radius);
		background: var(--kap-k01-surface);
		color: var(--kap-k01-heading);
		font-family: var(--kap-k01-font);
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		list-style: none;
		box-sizing: border-box;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__toggle::-webkit-details-marker {
		display: none;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .woocommerce-ordering {
		grid-column: 2;
		grid-row: 2;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: stretch;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 2.75rem;
		margin: 0;
		align-self: stretch;
		border-left: 1px solid var(--kap-k01-line);
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .woocommerce-ordering select.orderby {
		width: 100%;
		min-height: 2.75rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		padding-left: 0.75rem;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .kap-shop-toolbar__filters,
	body.kap-preset-k01.kap-k01-shop .kap-shop-toolbar .kap-shop-active-filters {
		grid-column: 1 / -1;
		grid-row: 3;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters {
		position: relative;
		z-index: 80;
		width: 100%;
		order: -1;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list a.kap-filter-swatch,
	body.kap-preset-k01.kap-k01-shop .kap-shop-filters .woocommerce-widget-layered-nav-list span.kap-filter-swatch {
		width: 2.25rem;
		height: 2.25rem;
		min-width: 2.25rem;
		min-height: 2.25rem;
	}

	/* Hide the desktop sidebar stack; open as a sheet from the toolbar toggle. */
	body.kap-preset-k01.kap-k01-shop .kap-shop-filters > .kap-shop-filters__panel {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 130;
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		width: min(22rem, 92vw);
		height: 100%;
		margin: 0;
		padding: 1rem 1rem 1.5rem;
		border: 0;
		border-radius: 0;
		background: var(--kap-k01-mist, #f5f6f7);
		box-shadow: 8px 0 28px rgba(0, 0, 0, 0.12);
		transform: translateX(-105%);
		transition: transform 0.2s ease;
		overflow: auto;
		pointer-events: none;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__chrome {
		display: flex;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__scrim {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 120;
		border: 0;
		background: rgba(0, 0, 0, 0.35);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-filters__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2rem;
		height: 2rem;
		margin: 0;
		padding: 0;
		border: 1px solid var(--kap-k01-line);
		border-radius: 999px;
		background: var(--kap-k01-surface);
		color: var(--kap-k01-heading);
		font-size: 1.25rem;
		line-height: 1;
		cursor: pointer;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-layout:has(.kap-shop-filters__disclosure[open]) .kap-shop-filters__scrim {
		opacity: 1;
		pointer-events: auto;
	}

	body.kap-preset-k01.kap-k01-shop .kap-shop-layout:has(.kap-shop-filters__disclosure[open]) .kap-shop-filters > .kap-shop-filters__panel {
		transform: translateX(0);
		pointer-events: auto;
	}

	body.kap-preset-k01.kap-k01-shop ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.kap-preset-k01 .kap-k01-ages__panel {
		gap: 0.65rem 0.85rem;
		justify-content: space-between;
	}

	body.kap-preset-k01 .kap-k01-age {
		width: 5.25rem;
		height: 5.25rem;
		font-size: 16px;
	}

	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats .kap-slider {
		--kap-slider-visible: 4;
		--kap-slider-gap: 0.5rem;
	}

	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__item {
		width: 4.75rem;
		font-size: 12px;
	}

	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__media,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__img,
	body.kap-preset-k01.kap-k01-shop .kap-k01-shop-cats__mark {
		width: 4.35rem;
		height: 4.35rem;
	}

	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product,
	body.kap-preset-k01.kap-k01-pdp.woocommerce-page div.product {
		grid-template-columns: 1fr;
		padding: 1.25rem 1rem 2rem;
	}

	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .related.products ul.products,
	body.kap-preset-k01.kap-k01-pdp.woocommerce div.product .upsells.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* -------------------------------------------------------------------------
 * K01 cart / checkout / account
 * WC Blocks markup; BabyMart tokens (teal CTAs, pill controls, white cards).
 * ------------------------------------------------------------------------- */

body.kap-preset-k01.woocommerce-cart .entry-header,
body.kap-preset-k01.woocommerce-checkout .entry-header,
body.kap-preset-k01.woocommerce-account .entry-header,
body.kap-preset-k01.woocommerce-order-received .entry-header {
	margin: 0 0 1.5rem;
	padding: 0;
}

body.kap-preset-k01.woocommerce-cart .entry-title,
body.kap-preset-k01.woocommerce-checkout .entry-title,
body.kap-preset-k01.woocommerce-account .entry-title,
body.kap-preset-k01.woocommerce-order-received .entry-title {
	margin: 0;
	color: var(--kap-k01-heading);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 0;
}

body.kap-preset-k01.woocommerce-cart .inside-article,
body.kap-preset-k01.woocommerce-checkout .inside-article,
body.kap-preset-k01.woocommerce-account .inside-article,
body.kap-preset-k01.woocommerce-order-received .inside-article {
	padding-block: 1.75rem 3.5rem;
	box-sizing: border-box;
}

body.kap-preset-k01.woocommerce-cart .entry-content,
body.kap-preset-k01.woocommerce-checkout .entry-content,
body.kap-preset-k01.woocommerce-account .entry-content,
body.kap-preset-k01.woocommerce-order-received .entry-content {
	margin-top: 0;
}

body.kap-preset-k01 .woocommerce-message,
body.kap-preset-k01 .woocommerce-info,
body.kap-preset-k01 .woocommerce-error,
body.kap-preset-k01 .wc-block-components-notice-banner {
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	padding: 0.85rem 1rem;
	margin: 0 0 1.15rem;
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-size: 14px;
	line-height: 1.5;
}

body.kap-preset-k01 .woocommerce-error,
body.kap-preset-k01 .wc-block-components-notice-banner.is-error {
	background: #fff5f3;
	border-color: #f3c7be;
}

body.kap-preset-k01 .woocommerce-message,
body.kap-preset-k01 .wc-block-components-notice-banner.is-success {
	background: #eefaf8;
	border-color: #b7e8e4;
}

body.kap-preset-k01 .woocommerce-message::before,
body.kap-preset-k01 .woocommerce-info::before,
body.kap-preset-k01 .woocommerce-error::before {
	display: none;
}

body.kap-preset-k01.woocommerce-cart input[type="text"],
body.kap-preset-k01.woocommerce-cart input[type="email"],
body.kap-preset-k01.woocommerce-cart input[type="tel"],
body.kap-preset-k01.woocommerce-cart input[type="number"],
body.kap-preset-k01.woocommerce-cart input[type="password"],
body.kap-preset-k01.woocommerce-cart select:not(.wc-blocks-components-select__select),
body.kap-preset-k01.woocommerce-cart textarea,
body.kap-preset-k01.woocommerce-checkout input[type="text"],
body.kap-preset-k01.woocommerce-checkout input[type="email"],
body.kap-preset-k01.woocommerce-checkout input[type="tel"],
body.kap-preset-k01.woocommerce-checkout input[type="number"],
body.kap-preset-k01.woocommerce-checkout input[type="password"],
body.kap-preset-k01.woocommerce-checkout select:not(.wc-blocks-components-select__select),
body.kap-preset-k01.woocommerce-checkout textarea,
body.kap-preset-k01.woocommerce-account input[type="text"],
body.kap-preset-k01.woocommerce-account input[type="email"],
body.kap-preset-k01.woocommerce-account input[type="tel"],
body.kap-preset-k01.woocommerce-account input[type="password"],
body.kap-preset-k01.woocommerce-account select:not(.wc-blocks-components-select__select),
body.kap-preset-k01.woocommerce-account textarea {
	border: 1px solid var(--kap-k01-form-border);
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-ink);
	font-family: var(--kap-k01-font);
	font-size: 15px;
	min-height: 45px;
	padding: 0.55rem 0.85rem;
	box-shadow: none;
}

body.kap-preset-k01.woocommerce-cart textarea,
body.kap-preset-k01.woocommerce-checkout textarea,
body.kap-preset-k01.woocommerce-account textarea {
	min-height: 6rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-text-input input,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-text-input input,
body.kap-preset-k01.woocommerce-cart .wc-block-components-textarea textarea,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-textarea textarea {
	border-radius: var(--kap-k01-radius);
}

body.kap-preset-k01 .wc-block-cart__submit-button,
body.kap-preset-k01 .wc-block-components-checkout-place-order-button,
body.kap-preset-k01 .wc-block-components-totals-coupon__button,
body.kap-preset-k01.woocommerce-account .woocommerce-button,
body.kap-preset-k01.woocommerce-account .woocommerce button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 45px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
	font-family: var(--kap-k01-font);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1;
	cursor: pointer;
}

body.kap-preset-k01 .wc-block-cart__submit-button:hover,
body.kap-preset-k01 .wc-block-cart__submit-button:focus,
body.kap-preset-k01 .wc-block-components-checkout-place-order-button:hover,
body.kap-preset-k01 .wc-block-components-checkout-place-order-button:focus,
body.kap-preset-k01 .wc-block-components-totals-coupon__button:hover,
body.kap-preset-k01 .wc-block-components-totals-coupon__button:focus,
body.kap-preset-k01.woocommerce-account .woocommerce-button:hover,
body.kap-preset-k01.woocommerce-account .woocommerce-button:focus,
body.kap-preset-k01.woocommerce-account .woocommerce button[type="submit"]:hover,
body.kap-preset-k01.woocommerce-account .woocommerce button[type="submit"]:focus {
	background: var(--kap-k01-ink) !important;
	color: var(--kap-k01-surface) !important;
}

body.kap-preset-k01 .wc-block-components-totals-coupon__button:disabled,
body.kap-preset-k01 .wc-block-components-totals-coupon__button[aria-disabled="true"] {
	opacity: 0.55;
	cursor: not-allowed;
}

body.kap-preset-k01 .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.wc-block-components-totals-coupon__button) {
	border-radius: var(--kap-k01-radius-pill);
	font-weight: 500;
}

body.kap-preset-k01.woocommerce-cart .entry-content .wp-block-woocommerce-cart.alignwide,
body.kap-preset-k01.woocommerce-checkout .entry-content .wp-block-woocommerce-checkout.alignwide {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: 100%;
}

body.kap-preset-k01.woocommerce-cart .wp-block-woocommerce-cart,
body.kap-preset-k01.woocommerce-cart .wc-block-cart {
	margin-top: 0.35rem;
	max-width: 100%;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-items,
body.kap-preset-k01.woocommerce-cart .wc-block-cart-items__row {
	border-color: var(--kap-k01-line);
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-items__row {
	padding: 1.15rem 0;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-item__image {
	width: 5.5rem;
	min-width: 5.5rem;
	padding-right: 1rem;
	vertical-align: top;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-item__image img,
body.kap-preset-k01.woocommerce-cart .wc-block-components-order-summary-item__image img {
	display: block;
	width: 100%;
	max-width: 5.5rem;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-mist);
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-product-name,
body.kap-preset-k01.woocommerce-cart a.wc-block-components-product-name {
	color: var(--kap-k01-heading);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-product-details,
body.kap-preset-k01.woocommerce-cart .wc-block-components-product-metadata {
	margin-top: 0.3rem;
	color: var(--kap-k01-text);
	font-size: 13px;
	line-height: 1.45;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-item__quantity {
	margin-top: 0.65rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart-item__remove-link {
	color: var(--kap-k01-text);
	font-size: 13px;
	text-decoration: underline;
	text-transform: none;
	letter-spacing: 0;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: stretch;
	overflow: hidden;
	min-height: 40px;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-surface);
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-quantity-selector input,
body.kap-preset-k01.woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	border: 0;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0;
	background: transparent;
	text-align: center;
	font-family: var(--kap-k01-font);
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__sidebar,
body.kap-preset-k01.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.kap-preset-k01.woocommerce-checkout .wc-block-checkout__sidebar,
body.kap-preset-k01.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	padding: 1.25rem 1.15rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__totals-title,
body.kap-preset-k01.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
	color: var(--kap-k01-heading);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-item,
body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-footer-item,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-item,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-footer-item {
	color: var(--kap-k01-heading);
	font-size: 14px;
}

body.kap-preset-k01.woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
body.kap-preset-k01.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block,
body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon {
	border-color: var(--kap-k01-line);
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0.15rem 0;
	color: var(--kap-k01-heading);
	font-family: var(--kap-k01-font);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.35;
	cursor: pointer;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button-icon,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
	width: 1.15rem;
	height: 1.15rem;
	fill: currentColor;
	color: var(--kap-k01-text);
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__content,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__content {
	padding-top: 0.75rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__form,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__form {
	display: flex;
	align-items: stretch;
	gap: 0.65rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__input,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__input {
	flex: 1 1 auto;
	min-width: 0;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__input input,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__input input {
	width: 100%;
	min-height: 45px;
	border: 1px solid var(--kap-k01-form-border);
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-surface);
	color: var(--kap-k01-heading);
	font-family: var(--kap-k01-font);
	font-size: 14px;
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__input input:focus,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__input input:focus {
	border-color: var(--kap-k01-primary);
	outline: none;
	box-shadow: 0 0 0 1px var(--kap-k01-primary);
}

body.kap-preset-k01.woocommerce-cart .wc-block-components-totals-coupon__button,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-totals-coupon__button {
	flex: 0 0 auto;
	min-width: 6.5rem;
	min-height: 45px;
	padding: 0 1.1rem;
	white-space: nowrap;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__submit-container {
	margin-top: 1.15rem;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__submit-button,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
	justify-content: center;
}

body.kap-preset-k01.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	max-width: 36rem;
	margin-inline: auto;
	padding: 3rem 0 4rem;
	text-align: center;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none;
}

body.kap-preset-k01.woocommerce-cart .wc-block-cart__empty-cart__title {
	margin: 0 0 0.65rem;
	color: var(--kap-k01-heading);
	font-size: 24px;
	font-weight: 600;
}

body.kap-preset-k01.woocommerce-cart .kap-empty-cart-copy {
	margin: 0 0 1.5rem;
	color: var(--kap-k01-text);
	font-size: 15px;
}

body.kap-preset-k01.woocommerce-cart .kap-empty-cart-cta .kap-button-primary,
body.kap-preset-k01.woocommerce-cart .kap-empty-cart-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	min-height: 45px;
	padding: 0 1.25rem;
	border: 0;
	border-radius: var(--kap-k01-radius-pill);
	background: var(--kap-k01-primary) !important;
	color: var(--kap-k01-primary-ink) !important;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.kap-preset-k01.woocommerce-cart .kap-empty-cart-cta .kap-button-primary:hover,
body.kap-preset-k01.woocommerce-cart .kap-empty-cart-cta .wp-block-button__link:hover {
	background: var(--kap-k01-ink) !important;
	color: var(--kap-k01-surface) !important;
}

body.kap-preset-k01.woocommerce-cart .wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem 0.85rem;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-checkout,
body.kap-preset-k01.woocommerce-checkout .wp-block-woocommerce-checkout {
	margin-top: 0.35rem;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-checkout-step__title,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-checkout-step__heading {
	color: var(--kap-k01-heading);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-order-summary-item {
	gap: 0.75rem;
	padding: 0.9rem 0;
	border-color: var(--kap-k01-line);
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-order-summary-item__image {
	width: 4rem;
	min-width: 4rem;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border-radius: var(--kap-k01-radius);
	background: var(--kap-k01-mist);
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-order-summary-item a.wc-block-components-product-name {
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-radio-control-accordion-option,
body.kap-preset-k01.woocommerce-checkout .wc-block-components-radio-control__option {
	border-color: var(--kap-k01-line);
	border-radius: var(--kap-k01-radius);
	margin: 0 0 0.55rem;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-radio-control__option {
	padding: 0.9rem 0.85rem 0.9rem 3rem;
}

body.kap-preset-k01.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
	padding: 0 0.85rem 0.9rem 3rem;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	background: var(--kap-k01-surface);
	overflow: hidden;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--kap-k01-line);
	color: var(--kap-k01-heading);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
	border-bottom: 0;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	color: var(--kap-k01-primary);
	background: #eefaf8;
}

body.kap-preset-k01.woocommerce-account .woocommerce {
	display: block;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 100%;
	margin: 0 0 1.5rem;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

body.kap-preset-k01.woocommerce-account .u-columns,
body.kap-preset-k01.woocommerce-account .u-columns.col2-set,
body.kap-preset-k01.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	align-items: stretch;
}

/* Woo clearfix pseudos must not become grid items. */
body.kap-preset-k01.woocommerce-account .u-columns::before,
body.kap-preset-k01.woocommerce-account .u-columns::after,
body.kap-preset-k01.woocommerce-account .u-columns.col2-set::before,
body.kap-preset-k01.woocommerce-account .u-columns.col2-set::after,
body.kap-preset-k01.woocommerce-account #customer_login::before,
body.kap-preset-k01.woocommerce-account #customer_login::after {
	content: none;
	display: none;
}

body.kap-preset-k01.woocommerce-account .u-column1,
body.kap-preset-k01.woocommerce-account .u-column2,
body.kap-preset-k01.woocommerce-account .col2-set .col-1,
body.kap-preset-k01.woocommerce-account .col2-set .col-2 {
	float: none !important;
	width: auto !important;
	max-width: none;
	margin: 0;
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	padding: 1.35rem 1.25rem 1.5rem;
	box-sizing: border-box;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login,
body.kap-preset-k01.woocommerce-account .woocommerce-form-register,
body.kap-preset-k01.woocommerce-account .woocommerce-ResetPassword,
body.kap-preset-k01.woocommerce-account .woocommerce-EditAccountForm,
body.kap-preset-k01.woocommerce-account .woocommerce-address-fields,
body.kap-preset-k01.woocommerce-account .woocommerce-Address {
	margin: 0;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login .woocommerce-form-row--wide .woocommerce-Input,
body.kap-preset-k01.woocommerce-account .woocommerce-form-register .woocommerce-form-row--wide .woocommerce-Input,
body.kap-preset-k01.woocommerce-account .u-column1 input.input-text,
body.kap-preset-k01.woocommerce-account .u-column2 input.input-text {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.kap-preset-k01.woocommerce-account .woocommerce-ResetPassword,
body.kap-preset-k01.woocommerce-account .woocommerce-EditAccountForm,
body.kap-preset-k01.woocommerce-account .woocommerce-address-fields,
body.kap-preset-k01.woocommerce-account .woocommerce-Address {
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	padding: 1.35rem 1.25rem 1.5rem;
	box-sizing: border-box;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login h2,
body.kap-preset-k01.woocommerce-account .woocommerce-form-register h2,
body.kap-preset-k01.woocommerce-account .u-column1 h2,
body.kap-preset-k01.woocommerce-account .u-column2 h2,
body.kap-preset-k01.woocommerce-account .woocommerce-Address-title h2,
body.kap-preset-k01.woocommerce-account .woocommerce-Address-title h3 {
	margin: 0 0 1.1rem;
	color: var(--kap-k01-heading);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0;
}

body.kap-preset-k01.woocommerce-account label,
body.kap-preset-k01.woocommerce-account .woocommerce-form-row label {
	display: block;
	margin: 0 0 0.4rem;
	color: var(--kap-k01-heading);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-row {
	margin: 0 0 1rem;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme,
body.kap-preset-k01.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.15rem 0 0.85rem;
	color: var(--kap-k01-text);
	font-size: 14px;
	font-weight: 400;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.85rem;
	clear: both;
}

body.kap-preset-k01.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit,
body.kap-preset-k01.woocommerce-account .woocommerce-form-register__submit,
body.kap-preset-k01.woocommerce-account .woocommerce-Button {
	float: none !important;
	margin: 0;
}

body.kap-preset-k01.woocommerce-account .lost_password a,
body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--kap-k01-primary);
	text-decoration: none;
}

body.kap-preset-k01.woocommerce-account .lost_password a:hover,
body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-content a:hover {
	color: var(--kap-k01-ink);
	text-decoration: underline;
}

body.kap-preset-k01.woocommerce-account .woocommerce-privacy-policy-text,
body.kap-preset-k01.woocommerce-account .woocommerce-form-register > p {
	color: var(--kap-k01-text);
	font-size: 13px;
	line-height: 1.5;
}

body.kap-preset-k01.woocommerce-account table.shop_table {
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--kap-k01-surface);
	font-size: 14px;
}

body.kap-preset-k01.woocommerce-account table.shop_table th,
body.kap-preset-k01.woocommerce-account table.shop_table td {
	border-color: var(--kap-k01-line);
	padding: 0.85rem 1rem;
	color: var(--kap-k01-heading);
}

body.kap-preset-k01.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

body.kap-preset-k01.woocommerce-account .woocommerce-Addresses::before,
body.kap-preset-k01.woocommerce-account .woocommerce-Addresses::after {
	content: none;
	display: none;
}

body.kap-preset-k01.woocommerce-account .woocommerce-Address {
	width: auto;
	float: none;
}

body.kap-preset-k01.woocommerce-account .woocommerce-MyAccount-content > p {
	color: var(--kap-k01-text);
	font-size: 15px;
	line-height: 1.55;
}

@media (min-width: 768px) {
	body.kap-preset-k01.woocommerce-account .woocommerce::after {
		content: "";
		display: table;
		clear: both;
	}

	body.kap-preset-k01.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
		float: left;
		width: 22%;
		margin: 0;
		padding-right: 1.25rem;
		box-sizing: border-box;
	}

	body.kap-preset-k01.logged-in.woocommerce-account .woocommerce-MyAccount-content {
		float: right;
		width: 76%;
	}
}

@media (max-width: 767px) {
	body.kap-preset-k01.woocommerce-account .u-columns,
	body.kap-preset-k01.woocommerce-account .u-columns.col2-set,
	body.kap-preset-k01.woocommerce-account #customer_login,
	body.kap-preset-k01.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}
}

body.kap-preset-k01.woocommerce-order-received .woocommerce-order {
	background: var(--kap-k01-surface);
	border: 1px solid var(--kap-k01-line);
	border-radius: var(--kap-k01-radius-promo);
	padding: 1.5rem 1.25rem;
}

@media (max-width: 900px) {
	body.kap-preset-k01.woocommerce-cart .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Match the header gutter. These pages were full-bleed while the header sits 1rem in. */
	body.kap-preset-k01.woocommerce-cart .entry-content,
	body.kap-preset-k01.woocommerce-checkout .entry-content,
	body.kap-preset-k01.woocommerce-account .entry-content,
	body.kap-preset-k01.woocommerce-order-received .entry-content {
		padding-inline: 1rem;
		box-sizing: border-box;
	}

	body.kap-preset-k01.woocommerce-cart .inside-article,
	body.kap-preset-k01.woocommerce-checkout .inside-article,
	body.kap-preset-k01.woocommerce-account .inside-article,
	body.kap-preset-k01.woocommerce-order-received .inside-article {
		padding-block: 1.25rem 2.5rem;
	}

	body.kap-preset-k01.woocommerce-checkout .wc-block-checkout,
	body.kap-preset-k01.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding-top: 0;
		margin-top: 0;
	}

	body.kap-preset-k01.woocommerce-cart .wc-block-cart,
	body.kap-preset-k01.woocommerce-cart .wc-block-components-sidebar-layout {
		margin-top: 0;
		margin-bottom: 0;
	}

	body.kap-preset-k01.woocommerce-cart .wc-block-cart__sidebar,
	body.kap-preset-k01.woocommerce-checkout .wc-block-checkout__sidebar {
		margin-bottom: 0;
	}

	body.kap-preset-k01.woocommerce-account #customer_login,
	body.kap-preset-k01.woocommerce-account .woocommerce-Addresses {
		gap: 1rem;
	}
}
