/* Karty produktów + strona produktu - override Storefront/Woo */

/* ───────────  Karta produktu (loop)  ─────────── */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.kn-product-card {
	background: var(--kn-paper);
	border: 1px solid var(--kn-border);
	border-radius: var(--kn-radius-md);
	padding: 14px 14px 18px;
	transition: box-shadow var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
	position: relative;
	overflow: hidden;
}

.woocommerce ul.products li.product:hover,
.kn-product-card:hover {
	box-shadow: var(--kn-shadow-md);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a img,
.kn-product-card__media img {
	border-radius: var(--kn-radius-sm);
	margin-bottom: 14px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.kn-product-card__title {
	font-family: var(--kn-font-body) !important;
	font-size: var(--kn-fs-sm);
	font-weight: var(--kn-fw-medium);
	color: var(--kn-ink-900);
	line-height: var(--kn-lh-snug);
	padding: 0 !important;
	margin: 0 0 6px 0 !important;
	letter-spacing: 0;
	text-transform: none;
	min-height: 2.6em;
}

.woocommerce ul.products li.product .price,
.kn-product-card__price {
	color: var(--kn-ink-900);
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-base);
	font-weight: var(--kn-fw-semibold);
}

.woocommerce ul.products li.product .price del {
	color: var(--kn-ink-300);
	opacity: 1;
}

.woocommerce ul.products li.product .price ins {
	background: transparent;
	color: var(--kn-burgundy-500);
	font-weight: var(--kn-fw-semibold);
}

.woocommerce ul.products li.product .button {
	background: var(--kn-ink-900);
	color: var(--kn-paper);
	border-radius: var(--kn-radius-pill);
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-xs);
	font-weight: var(--kn-fw-medium);
	letter-spacing: var(--kn-tracking-wide);
	text-transform: uppercase;
	padding: 10px 18px;
	margin-top: 12px;
	transition: background var(--kn-dur) var(--kn-ease);
}

.woocommerce ul.products li.product .button:hover {
	background: var(--kn-accent-dark);
}

.woocommerce ul.products li.product .onsale,
.kn-product-card .onsale {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 2;
}

.kn-product-card__badge {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 2;
	padding: 5px 12px;
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-xs);
	font-weight: var(--kn-fw-medium);
	letter-spacing: var(--kn-tracking-wide);
	text-transform: uppercase;
	border-radius: var(--kn-radius-sm);
	color: var(--kn-paper);
	line-height: 1.4;
}

.kn-product-card__badge--new {
	background: var(--kn-ink-900);
}

.kn-product-card__badge--sale {
	background: var(--kn-burgundy-500);
}

.kn-product-card__media {
	display: block;
	overflow: hidden;
	border-radius: var(--kn-radius-sm);
	margin-bottom: 14px;
}

.kn-product-card__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 500ms var(--kn-ease);
}

.kn-product-card:hover .kn-product-card__media img {
	transform: scale(1.04);
}

.kn-product-card__title {
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-sm);
	font-weight: var(--kn-fw-medium);
	line-height: var(--kn-lh-snug);
	margin: 0 0 8px;
	min-height: 2.6em;
}

.kn-product-card__title a {
	color: var(--kn-ink-900);
}

.kn-product-card__price {
	color: var(--kn-ink-900);
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-base);
	font-weight: var(--kn-fw-semibold);
}

.kn-product-card__price del {
	color: var(--kn-ink-300);
	margin-right: 6px;
}

.kn-product-card__price ins {
	background: transparent;
	color: var(--kn-burgundy-500);
	text-decoration: none;
}

/* ───────────  Strona pojedynczego produktu  ─────────── */

.single-product .entry-summary h1.product_title {
	font-family: var(--kn-font-script);
	font-weight: var(--kn-fw-regular);
	font-size: clamp(2.5rem, 5vw, 4rem);
	line-height: 1;
	color: var(--kn-ink-900);
	margin-bottom: 1.5rem;
}

.single-product .price {
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-lg);
	font-weight: var(--kn-fw-semibold);
	color: var(--kn-ink-900);
}

.single-product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background: var(--kn-ink-900);
	color: var(--kn-paper);
	border-radius: var(--kn-radius-pill);
	font-family: var(--kn-font-body);
	font-size: var(--kn-fs-sm);
	font-weight: var(--kn-fw-medium);
	letter-spacing: var(--kn-tracking-wide);
	text-transform: uppercase;
	padding: 14px 28px;
	transition: background var(--kn-dur) var(--kn-ease), transform var(--kn-dur) var(--kn-ease);
}

.single-product .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: var(--kn-accent-dark);
	color: var(--kn-paper);
	transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--kn-accent);
}
