/**
 * Kitchen Configurator Pro — WooCommerce storefront styles.
 */

body.kcp-shop-active {
	--kcp-shop-bg: #f2f2f2;
	--kcp-shop-surface: #ececec;
	--kcp-shop-text: #111;
	--kcp-shop-muted: #666;
	--kcp-shop-border: #d8d8d8;
	--kcp-shop-accent: #111;
}

body.kcp-shop-active.single-product {
	background: var(--kcp-shop-bg);
}

body.kcp-shop-active:not(.single-product) {
	background: var(--kcp-shop-bg);
}

body.kcp-shop-active .site-content .ast-container,
body.kcp-shop-active .site-content .content-area {
	max-width: 1280px;
}

body.kcp-shop-active .woocommerce-products-header,
body.kcp-shop-active .woocommerce-breadcrumb {
	display: none;
}

body.kcp-shop-active .woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px 24px;
	margin: 0;
	padding: 0;
}

body.kcp-shop-active .woocommerce ul.products::before,
body.kcp-shop-active .woocommerce ul.products::after {
	display: none;
}

body.kcp-shop-active .woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0;
	float: none;
}

.kcp-shop-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 40px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--kcp-shop-border);
}

.kcp-shop-header__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.1;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-shop-header__meta {
	font-size: 0.95rem;
	text-transform: lowercase;
	color: var(--kcp-shop-muted);
	text-decoration: underline;
}

.kcp-shop-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: 0;
	align-items: center;
	margin: 0 0 72px;
	padding: 24px 0 16px;
	overflow: visible;
	isolation: isolate;
}

.kcp-shop-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: clamp(360px, 42vw, 520px);
	padding: 12px 0;
}

.kcp-shop-hero__title {
	margin: 0 0 20px;
	max-width: 11ch;
	font-size: clamp(2.75rem, 5.4vw, 4.75rem);
	font-weight: 700;
	line-height: 0.98;
	letter-spacing: -0.03em;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-shop-hero__description {
	margin: 0 0 36px;
	max-width: 34rem;
	font-size: clamp(0.95rem, 1.35vw, 1.05rem);
	font-weight: 400;
	line-height: 1.55;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-shop-hero__actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.kcp-shop-hero__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 26px;
	border: 1px solid var(--kcp-shop-accent);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	color: var(--kcp-shop-text);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-transform: lowercase;
	white-space: nowrap;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.kcp-shop-hero__button:hover,
.kcp-shop-hero__button:focus-visible {
	background: rgba(255, 255, 255, 0.82);
	color: var(--kcp-shop-text);
}

.kcp-shop-hero__help {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	margin-top: auto;
	padding-top: 40px;
	color: var(--kcp-shop-text);
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	text-transform: lowercase;
}

.kcp-shop-hero__help:hover,
.kcp-shop-hero__help:focus-visible {
	color: var(--kcp-shop-text);
	text-decoration: underline;
}

.kcp-shop-hero__help-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
}

.kcp-shop-hero__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	/* margin-left: clamp(-220px, -12vw, -80px); */
	pointer-events: none;
}

.kcp-shop-hero__slideshow {
	display: grid;
	width: min(100%, 640px);
}

.kcp-shop-hero__slide {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: scale(0.985);
	transition:
		opacity 1.1s ease,
		transform 1.1s ease;
	pointer-events: none;
}

.kcp-shop-hero__media--animated .kcp-shop-hero__slide.is-active {
	opacity: 1;
	transform: scale(1);
}

.kcp-shop-hero__media:not(.kcp-shop-hero__media--animated) .kcp-shop-hero__slide {
	opacity: 1;
	transform: none;
}

.kcp-shop-hero__image {
	width: 100%;
	max-width: 640px;
	height: auto;
	display: block;
	object-fit: contain;
	/* filter: drop-shadow(0 22px 28px rgba(0, 0, 0, 0.14)); */
}

.kcp-shop-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.kcp-shop-card__media {
	aspect-ratio: 1 / 1;
	background: var(--kcp-shop-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 18px;
}

.kcp-shop-card__image,
.kcp-shop-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kcp-shop-card__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #ececec 0%, #f8f8f8 100%);
}

.kcp-shop-card__body {
	display: grid;
	gap: 10px;
}

.kcp-shop-card__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--kcp-shop-border);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.kcp-shop-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-shop-card__price,
.kcp-price {
	font-size: 1rem;
	font-weight: 700;
	color: var(--kcp-shop-text);
}

/* ── Single product layout ── */

.kcp-single-product {
	padding: 24px 0 96px;
}

body.kcp-shop-active.single-product div.product.kcp-single-product,
body.kcp-shop-active.single-product div.product.type-product {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: 56px;
	align-items: start;
}

body.kcp-shop-active.single-product div.product.kcp-single-product > .woocommerce-product-gallery,
body.kcp-shop-active.single-product div.product.type-product > .woocommerce-product-gallery {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	width: auto !important;
	float: none !important;
	max-width: none !important;
}

body.kcp-shop-active.single-product div.product.kcp-single-product > .summary.entry-summary,
body.kcp-shop-active.single-product div.product.type-product > .summary.entry-summary {
	grid-column: 2;
	grid-row: 1;
	text-align: left;
	width: auto !important;
	float: none !important;
	max-width: none !important;
}

body.kcp-shop-active.single-product div.product.type-product.desktop-align-center,
body.kcp-shop-active.single-product div.product.type-product.tablet-align-center,
body.kcp-shop-active.single-product div.product.type-product.mobile-align-center {
	text-align: left;
}

body.kcp-shop-active.single-product div.product.kcp-single-product > .woocommerce-tabs,
body.kcp-shop-active.single-product div.product.type-product > .woocommerce-tabs,
body.kcp-shop-active.single-product div.product.kcp-single-product > .kcp-product-configurator,
body.kcp-shop-active.single-product div.product.type-product > .kcp-product-configurator {
	grid-column: 1 / -1;
}

body.kcp-shop-active.single-product .woocommerce-breadcrumb,
body.kcp-shop-active.single-product .single-product-category,
body.kcp-shop-active.single-product .ast-shipping-text,
body.kcp-shop-active.single-product .ast-sticky-add-to-cart,
body.kcp-shop-active.single-product .reset_variations,
body.kcp-shop-active.single-product table.variations.kcp-variations-hidden,
body.kcp-shop-active.single-product .single_variation_wrap .woocommerce-variation-price {
	display: none !important;
}

body.kcp-shop-active.single-product:has(.kcp-product-options) .kcp-product-badges,
body.kcp-shop-active.single-product:has(.kcp-product-options) .kcp-product-sticky {
	display: none !important;
}

.kcp-single-product__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: 56px;
	align-items: start;
	margin-bottom: 48px;
}

.kcp-single-product__gallery .woocommerce-product-gallery {
	margin: 0;
	background: var(--kcp-shop-bg);
}

.kcp-single-product__gallery .woocommerce-product-gallery__wrapper,
.kcp-single-product__gallery .woocommerce-product-gallery__image {
	background: var(--kcp-shop-bg);
}

.kcp-single-product__gallery .flex-control-thumbs,
.kcp-single-product__gallery .woocommerce-product-gallery__trigger {
	display: none !important;
}

.kcp-single-product__gallery img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.kcp-single-product__summary {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.kcp-single-product__brand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-bottom: 16px;
	border: 1px solid var(--kcp-shop-border);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	color: var(--kcp-shop-text);
}

.kcp-single-product__summary .product_title {
	margin: 0 0 16px;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 1.05;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-single-product__summary .price {
	margin: 0 0 28px;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--kcp-shop-text);
}

.kcp-single-product__summary .woocommerce-product-details__short-description {
	margin-bottom: 24px;
	color: var(--kcp-shop-muted);
	line-height: 1.6;
}

/* ── Product specs ── */

.kcp-product-specs {
	display: grid;
	gap: 20px;
	margin-bottom: 32px;
	color: var(--kcp-shop-text);
	line-height: 1.5;
	font-size: 0.95rem;
}

.kcp-product-specs__block strong {
	display: block;
	margin-bottom: 6px;
	font-weight: 700;
	text-transform: lowercase;
}

.kcp-product-specs ul {
	margin: 0;
	padding-left: 18px;
}

.kcp-product-specs li {
	margin-bottom: 2px;
}

/* ── Option groups (color / height) ── */

body.kcp-part-edit-active .kcp-product-options,
body.kcp-part-edit-active .kcp-variations-hidden,
body.kcp-part-edit-active .quantity {
	display: none !important;
}

.kcp-part-edit {
	margin-bottom: 24px;
}

.kcp-part-edit__intro {
	margin: 0 0 16px;
	color: var(--kcp-shop-muted, #666);
}

.kcp-option-bar--part .kcp-option-bar__price {
	margin-left: auto;
	font-weight: 700;
	white-space: nowrap;
}

.kcp-option-group {
	margin-bottom: 32px;
}

.kcp-option-group__title {
	margin: 0 0 16px;
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 700;
	line-height: 1.2;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-option-list {
	display: grid;
	gap: 10px;
}

.kcp-option-bar {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 52px;
	padding: 6px 18px 6px 6px;
	border: 1px solid #d8d8d8;
	border-radius: 999px;
	background: var(--kcp-shop-surface);
	color: var(--kcp-shop-text);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
	font-family: inherit;
	font-size: 1rem;
}

.kcp-option-bar:hover {
	background: #e4e4e4;
}

.kcp-option-bar--active {
	border-color: var(--kcp-shop-accent);
	border-width: 1px;
	background: #f5f5f5;
	box-shadow: 0 0 0 1px var(--kcp-shop-accent);
}

.kcp-option-bar__thumb {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kcp-option-bar__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.kcp-option-bar__swatch {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 4px;
}

.kcp-option-bar__swatch--empty {
	background: linear-gradient(135deg, #ddd 0%, #eee 100%);
}

.kcp-option-bar__content {
	display: grid;
	gap: 0;
	min-width: 0;
	flex: 1;
}

.kcp-option-bar__label {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	text-transform: lowercase;
}

.kcp-option-bar__note {
	display: block;
	font-size: 0.85rem;
	font-weight: 400;
	color: var(--kcp-shop-muted);
	line-height: 1.3;
}

.kcp-option-bar--color .kcp-option-bar__note {
	margin-top: 1px;
}

.kcp-option-bar--height {
	justify-content: space-between;
	padding-inline: 22px;
}

.kcp-option-bar--height .kcp-option-bar__label {
	font-size: 1rem;
}

.kcp-option-bar__price {
	flex: 0 0 auto;
	font-size: 1rem;
	font-weight: 700;
	white-space: nowrap;
}

.kcp-option-bar--height.kcp-option-bar--active .kcp-option-bar__price {
	display: none;
}

/* ── Bottom price + cart ── */

.kcp-product-options__price {
	margin: 4px 0 20px;
}

.kcp-product-options__price .kcp-price {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
}

.kcp-single-product__cart {
	margin: 0 0 24px;
}

.kcp-single-product__cart .cart {
	/* display: flex; */
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 12px;
	margin: 0;
}

.kcp-single-product__cart .quantity,
.kcp-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--kcp-shop-accent);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	flex: 0 0 auto;
}

.kcp-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kcp-shop-text);
	font-size: 1.25rem;
	line-height: 1;
	cursor: pointer;
	font-family: inherit;
}

.kcp-qty__btn:hover {
	background: #f5f5f5;
}

.kcp-single-product__cart .quantity .qty,
.kcp-qty .qty {
	min-height: 48px;
	width: 40px;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	background: transparent;
	-moz-appearance: textfield;
}

.kcp-single-product__cart .quantity .qty::-webkit-outer-spin-button,
.kcp-single-product__cart .quantity .qty::-webkit-inner-spin-button,
.kcp-qty .qty::-webkit-outer-spin-button,
.kcp-qty .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.kcp-single-product__cart .single_add_to_cart_button {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding-inline: 28px;
	border-radius: 999px;
	background: var(--kcp-shop-accent) !important;
	border-color: var(--kcp-shop-accent) !important;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 500;
	text-transform: lowercase;
	white-space: nowrap;
}

.kcp-single-product__cart .single_add_to_cart_button:hover {
	opacity: 0.88;
}

/* Hide extras on option-driven product pages */

body.kcp-shop-active:has(.kcp-product-options) .kcp-product-badges,
body.kcp-shop-active:has(.kcp-product-options) .kcp-product-sticky {
	display: none;
}

.kcp-product-badges {
	display: grid;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.kcp-product-badges li {
	position: relative;
	padding-left: 18px;
	font-size: 0.95rem;
	line-height: 1.4;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-product-badges li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--kcp-shop-accent);
}

.kcp-product-tabs {
	border-top: 1px solid var(--kcp-shop-border);
}

.kcp-product-tabs__item {
	border-bottom: 1px solid var(--kcp-shop-border);
}

.kcp-product-tabs__title {
	cursor: pointer;
	padding: 20px 0;
	font-size: 1.1rem;
	font-weight: 700;
	text-transform: lowercase;
	list-style: none;
}

.kcp-product-tabs__title::-webkit-details-marker {
	display: none;
}

.kcp-product-tabs__panel {
	padding: 0 0 24px;
	color: var(--kcp-shop-muted);
	line-height: 1.7;
}

.kcp-product-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid var(--kcp-shop-border);
	backdrop-filter: blur(8px);
}

.kcp-product-sticky__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.kcp-product-sticky__price {
	font-size: 1.5rem;
	font-weight: 700;
}

.kcp-product-sticky__button {
	text-transform: lowercase;
	background: var(--kcp-shop-accent) !important;
	border-color: var(--kcp-shop-accent) !important;
	color: #fff !important;
	border-radius: 999px;
}

.kcp-layout-shop {
	list-style: none;
}

.kcp-layout-shop__empty {
	grid-column: 1 / -1;
	padding: 32px 0;
	color: var(--kcp-shop-muted, #666);
}

.kcp-layout-single__image {
	width: 100%;
	height: auto;
	display: block;
}

.kcp-product-configurator {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--kcp-shop-border, #e5e5e5);
}

@media (prefers-reduced-motion: reduce) {
	.kcp-shop-hero__slide {
		transition: none;
		transform: none;
	}
}

@media (max-width: 1024px) {
	body.kcp-shop-active .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.kcp-shop-active.single-product div.product.kcp-single-product,
	body.kcp-shop-active.single-product div.product.type-product {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	body.kcp-shop-active.single-product div.product.kcp-single-product > .woocommerce-product-gallery,
	body.kcp-shop-active.single-product div.product.type-product > .woocommerce-product-gallery,
	body.kcp-shop-active.single-product div.product.kcp-single-product > .summary.entry-summary,
	body.kcp-shop-active.single-product div.product.type-product > .summary.entry-summary {
		grid-column: 1;
		grid-row: auto;
	}

	.kcp-single-product__hero {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.kcp-shop-hero {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 48px;
		padding-top: 8px;
	}

	.kcp-shop-hero__content {
		min-height: 0;
	}

	.kcp-shop-hero__title {
		max-width: none;
	}

	.kcp-shop-hero__description {
		max-width: none;
		margin-bottom: 28px;
	}

	.kcp-shop-hero__help {
		margin-top: 28px;
		padding-top: 0;
	}

	.kcp-shop-hero__media {
		order: 2;
		margin-left: 0;
		justify-content: center;
	}
}

@media (max-width: 640px) {
	body.kcp-shop-active .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.kcp-shop-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.kcp-shop-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.kcp-shop-hero__button {
		width: 100%;
	}

	.kcp-single-product__cart .cart {
		flex-direction: column;
	}

	.kcp-single-product__cart .single_add_to_cart_button {
		width: 100%;
	}

	.kcp-product-sticky__inner {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ── Brand category landing (Vipp-style) ── */

body.kcp-brand-landing-active .ast-archive-entry-banner,
body.kcp-brand-landing-active .ast-archive-description,
body.kcp-brand-landing-active .woocommerce-products-header,
body.kcp-brand-landing-active .woocommerce-breadcrumb {
	display: none !important;
}

body.kcp-brand-landing-active .site-content .ast-container,
body.kcp-brand-landing-active .site-content .content-area {
	max-width: 1280px;
}

.kcp-brand-landing {
	margin: 0 0 48px;
	padding: clamp(16px, 2.5vw, 28px);
	font-family: inherit;
	background: #f0f0f0;
}

body.kcp-brand-root-page .woocommerce-result-count,
body.kcp-brand-root-page .woocommerce-ordering,
body.kcp-brand-root-page .woocommerce-notices-wrapper + .woocommerce-info,
body.kcp-brand-root-page ul.products:not(.kcp-brand-popular__grid) {
	display: none !important;
}

.kcp-brand-breadcrumbs {
	display: none;
	margin: 0 0 12px;
}

.kcp-brand-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	font-size: 0.82rem;
	text-transform: lowercase;
	color: var(--kcp-shop-muted);
}

.kcp-brand-breadcrumbs__item:not(:last-child)::after {
	content: ">";
	margin-left: 8px;
	color: var(--kcp-shop-muted);
}

.kcp-brand-breadcrumbs__item a {
	color: inherit;
	text-decoration: none;
}

.kcp-brand-breadcrumbs__item a:hover,
.kcp-brand-breadcrumbs__item a:focus-visible {
	text-decoration: underline;
	color: var(--kcp-shop-text);
}

.kcp-brand-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
}

.kcp-brand-toolbar__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--kcp-shop-text);
	font-size: 1.35rem;
	line-height: 1;
	text-decoration: none;
}

.kcp-brand-toolbar__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 700;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-brand-layout {
	display: grid;
	grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 48px);
	align-items: start;
}

.kcp-brand-main {
	min-width: 0;
}

.kcp-brand-sidebar {
	display: grid;
	gap: 0;
}

.kcp-brand-sidebar--mobile {
	display: none;
	margin: 0 0 28px;
}

.kcp-brand-sidebar__section {
	border-bottom: 1px solid #e2e2e2;
}

.kcp-brand-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0;
}

.kcp-brand-sidebar__section-link {
	flex: 1;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: lowercase;
	text-decoration: none;
	color: var(--kcp-shop-text);
}

.kcp-brand-sidebar__section-link:hover,
.kcp-brand-sidebar__section.is-active .kcp-brand-sidebar__section-link {
	text-decoration: underline;
}

.kcp-brand-sidebar__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--kcp-shop-text);
	cursor: pointer;
}

.kcp-brand-sidebar__toggle span {
	position: relative;
	display: block;
	width: 12px;
	height: 12px;
}

.kcp-brand-sidebar__toggle span::before,
.kcp-brand-sidebar__toggle span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 1.5px;
	background: currentColor;
	transform: translateY(-50%);
	transition: transform 0.2s ease;
}

.kcp-brand-sidebar__toggle span::after {
	transform: translateY(-50%) rotate(90deg);
}

.kcp-brand-sidebar__section.is-expanded .kcp-brand-sidebar__toggle span::after {
	transform: translateY(-50%) rotate(0deg);
}

.kcp-brand-sidebar__children {
	display: none;
	flex-direction: column;
	gap: 10px;
	padding: 0 0 16px;
}

.kcp-brand-sidebar__children.is-open {
	display: flex;
}

.kcp-brand-sidebar__child-link {
	font-size: 0.88rem;
	font-weight: 400;
	text-transform: lowercase;
	text-decoration: none;
	color: var(--kcp-shop-muted);
	line-height: 1.35;
}

.kcp-brand-sidebar__child-link.is-active,
.kcp-brand-sidebar__child-link:hover,
.kcp-brand-sidebar__child-link:focus-visible {
	color: var(--kcp-shop-text);
	text-decoration: underline;
}

.kcp-brand-hero-banner {
	display: block;
	margin: 0 0 28px;
	color: inherit;
	text-decoration: none;
}

.kcp-brand-hero-banner__visual {
	position: relative;
	display: block;
	min-height: clamp(260px, 42vw, 520px);
	overflow: hidden;
	border-radius: 18px;
	background: #ddd;
}

.kcp-brand-hero-banner__visual--placeholder {
	background: linear-gradient(135deg, #ececec 0%, #d8d8d8 100%);
}

.kcp-brand-hero-banner__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kcp-brand-hero-banner__badge {
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 4px;
	background: #fff;
	color: var(--kcp-shop-text);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: lowercase;
}

.kcp-brand-hero-banner__text {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: grid;
	gap: 14px;
	padding: clamp(20px, 4vw, 36px);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);
	color: #fff;
}

.kcp-brand-hero-banner__title {
	margin: 0;
	max-width: 12ch;
	font-size: clamp(1.85rem, 4vw, 3rem);
	font-weight: 700;
	line-height: 0.98;
	text-transform: lowercase;
}

.kcp-brand-hero-banner__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 42px;
	padding: 0 22px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--kcp-shop-text);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: lowercase;
}

.kcp-brand-spotlight {
	margin: 0 0 32px;
	overflow: hidden;
}

.kcp-brand-spotlight__track {
	display: flex;
	gap: clamp(16px, 2vw, 28px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding-bottom: 4px;
}

.kcp-brand-spotlight__track::-webkit-scrollbar {
	display: none;
}

.kcp-featured-product {
	flex: 0 0 min(100%, 300px);
	scroll-snap-align: start;
	display: grid;
	gap: 12px;
	color: inherit;
	text-decoration: none;
}

.kcp-featured-product__image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ececec;
}

.kcp-featured-product__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.kcp-featured-product__image.has-hover .kcp-featured-product__img.is-hover {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.kcp-featured-product:hover .kcp-featured-product__image.has-hover .kcp-featured-product__img.is-hover,
.kcp-featured-product:focus-visible .kcp-featured-product__image.has-hover .kcp-featured-product__img.is-hover {
	opacity: 1;
}

.kcp-featured-product__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #ececec 0%, #f8f8f8 100%);
}

.kcp-featured-product__brand {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-featured-product__name {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-featured-product__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
}

.kcp-featured-product__price {
	font-size: 1rem;
	font-weight: 700;
	color: var(--kcp-shop-text);
}

.kcp-featured-product__stock {
	font-size: 0.88rem;
	font-weight: 400;
	text-transform: lowercase;
	color: var(--kcp-shop-muted);
}

.kcp-featured-product__stock.is-in-stock {
	color: #2f7d32;
}

.kcp-brand-usps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px 24px;
	margin: 0 0 36px;
	padding: 0;
	list-style: none;
}

.kcp-brand-usps li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 0.92rem;
	line-height: 1.45;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-brand-usps__icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #ddd;
}

.kcp-brand-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 40px;
}

.kcp-brand-tile {
	display: grid;
	gap: 12px;
	color: inherit;
	text-decoration: none;
}

.kcp-brand-tile__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 12px;
	background: #e8e8e8;
}

.kcp-brand-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kcp-brand-tile__media--placeholder {
	background: linear-gradient(135deg, #ececec, #f7f7f7);
}

.kcp-brand-tile__play {
	position: absolute;
	inset: auto auto 16px 16px;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
}

.kcp-brand-tile__play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	border-left: 11px solid var(--kcp-shop-text);
}

.kcp-brand-tile__label {
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: lowercase;
}

.kcp-brand-popular {
	margin: 0 0 48px;
}

.kcp-brand-popular__title {
	margin: 0 0 24px;
	font-size: 1.1rem;
	font-weight: 700;
	text-transform: lowercase;
}

.kcp-brand-popular__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px 20px;
}

.kcp-popular-product {
	display: grid;
	gap: 12px;
	color: inherit;
	text-decoration: none;
}

.kcp-popular-product__image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #ececec;
}

.kcp-popular-product__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.kcp-popular-product__image.has-hover .kcp-popular-product__img.is-hover {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.kcp-popular-product:hover .kcp-popular-product__image.has-hover .kcp-popular-product__img.is-hover,
.kcp-popular-product:focus-visible .kcp-popular-product__image.has-hover .kcp-popular-product__img.is-hover {
	opacity: 1;
}

.kcp-popular-product__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, #ececec 0%, #f8f8f8 100%);
}

.kcp-popular-product__brand {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: lowercase;
}

.kcp-popular-product__name {
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.25;
	text-transform: lowercase;
}

.kcp-popular-product__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
}

.kcp-popular-product__price {
	font-size: 1rem;
	font-weight: 700;
}

.kcp-popular-product__stock {
	font-size: 0.88rem;
	text-transform: lowercase;
	color: var(--kcp-shop-muted);
}

.kcp-popular-product__stock.is-in-stock {
	color: #2f7d32;
}

.kcp-brand-products-anchor {
	margin: 0 0 28px;
	padding-top: 8px;
}

.kcp-brand-landing__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.1;
	text-transform: lowercase;
	color: var(--kcp-shop-text);
}

.kcp-shop-card__media--dual {
	position: relative;
}

.kcp-shop-card__media--dual .kcp-shop-card__image.is-secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.kcp-shop-card__link:hover .kcp-shop-card__media--dual .kcp-shop-card__image.is-secondary,
.kcp-shop-card__link:focus-visible .kcp-shop-card__media--dual .kcp-shop-card__image.is-secondary {
	opacity: 1;
}

.kcp-shop-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 12px;
}

.kcp-shop-card__stock {
	font-size: 0.88rem;
	font-weight: 400;
	text-transform: lowercase;
	color: var(--kcp-shop-muted);
}

.kcp-brand-story-anchor {
	margin: 48px 0 20px;
	padding-top: 8px;
}

.kcp-brand-story {
	margin: 0 0 24px;
	padding-top: 0;
	border-top: 0;
	max-width: 760px;
}

.kcp-brand-story__content {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--kcp-shop-text);
}

.kcp-brand-story__content p {
	margin: 0 0 1em;
}

.kcp-brand-landing__back {
	margin: 24px 0 0;
}

.kcp-brand-landing__back-link {
	display: inline-flex;
	align-items: center;
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: lowercase;
	text-decoration: underline;
	color: var(--kcp-shop-text);
}

body.kcp-brand-landing-active .astra-shop-thumbnail-wrap,
body.kcp-brand-landing-active .ast-on-card-button,
body.kcp-brand-landing-active .ast-select-options-trigger {
	display: none !important;
}

@media (min-width: 1025px) {
	.kcp-brand-breadcrumbs {
		display: block;
	}
}

@media (max-width: 1024px) {
	.kcp-brand-layout {
		grid-template-columns: 1fr;
	}

	.kcp-brand-sidebar--desktop {
		display: none;
	}

	.kcp-brand-sidebar--mobile {
		display: grid;
	}

	.kcp-brand-usps,
	.kcp-brand-tiles,
	.kcp-brand-popular__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.kcp-brand-usps,
	.kcp-brand-tiles,
	.kcp-brand-popular__grid {
		grid-template-columns: 1fr;
	}

	.kcp-featured-product {
		flex-basis: min(100%, 260px);
	}
}

