/* =========================================================
   Korta – Piro Dolcze Tweaks
   ========================================================= */

/* ---------- 3) Menu „Kategorie” rozwijane na bok ---------- */
@media (min-width: 601px) {
	.main-navigation ul li.kp-mega {
		position: relative;
	}

	.main-navigation ul li.kp-mega > .sub-menu {
		display: grid;
		grid-template-columns: repeat(var(--kp-mega-cols, 4), minmax(170px, 1fr));
		align-items: start;
		gap: 2px 6px;
		width: max-content;
		max-width: min(1100px, 94vw);
		/* Motyw North ustawia inline „left: -472px” (JS dosuwa podmenu do krawędzi) – nadpisujemy, żeby było na środku rodzica */
		left: 50% !important;
		right: auto !important;
		margin-left: 0 !important;
		padding: 12px 8px;
		background: #fff;
		transform: translateX(-50%) scale(.97);
		transform-origin: center top;
	}

	body:not(.ios) .main-navigation ul li.kp-mega:hover > .sub-menu,
	body:not(.ios) .main-navigation ul li.kp-mega.focus > .sub-menu {
		transform: translateX(-50%) scale(1);
	}

	.main-navigation ul li.kp-mega > .sub-menu > li {
		min-width: 0;
	}

	.main-navigation ul li.kp-mega > .sub-menu > li > a {
		padding: .7em 14px !important;
		white-space: normal;
		font-weight: 600;
	}

	/* Podkategorie (np. Miny dymne 30 mm, 40 mm) – wysuwają się na bok dopiero po najechaniu na kategorię */
	.main-navigation ul li.kp-mega > .sub-menu > li {
		position: relative;
	}

	.main-navigation ul li.kp-mega .sub-menu .sub-menu {
		position: absolute;
		top: 0;
		left: 100% !important;
		right: auto !important;
		z-index: 20;
		min-width: 220px;
		margin: 0 !important;
		padding: 6px 0;
		border: 0;
		background: #fff;
		box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
		opacity: 0;
		visibility: hidden;
		transform: none;
		transition: opacity .15s ease, visibility 0s linear .15s;
	}

	.main-navigation ul li.kp-mega .sub-menu li:hover > .sub-menu,
	.main-navigation ul li.kp-mega .sub-menu li.focus > .sub-menu,
	.main-navigation ul li.kp-mega .sub-menu li:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		transition: opacity .15s ease, visibility 0s;
	}

	.main-navigation ul li.kp-mega .sub-menu .sub-menu li {
		min-width: 0;
	}

	.main-navigation ul li.kp-mega .sub-menu .sub-menu a {
		padding: .55em 18px !important;
		font-size: .92em;
		font-weight: 400;
		white-space: nowrap;
	}

	/* Strzałka przy kategoriach, które mają podkategorie */
	.main-navigation ul li.kp-mega .sub-menu .menu-item-has-children > a > [class*="icon"] {
		display: none !important;
	}

	.main-navigation ul li.kp-mega > .sub-menu > li.menu-item-has-children > a {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: .75em;
	}

	.main-navigation ul li.kp-mega > .sub-menu > li.menu-item-has-children > a::after {
		content: "\203A";
		display: inline-block !important;
		font-size: 1.3em;
		line-height: 1;
		opacity: .5;
	}

	.main-navigation ul li.kp-mega > .sub-menu > li.menu-item-has-children:hover > a {
		background: rgba(0, 0, 0, .04);
	}
}

/* ---------- 5) Filtry HUSKY – zwijane ---------- */
.kp-filter-box {
	margin: 0 0 1.5em;
}

.kp-filter-toggle {
	display: flex;
	align-items: center;
	gap: .6em;
	width: 100%;
	padding: .85em 1.1em;
	border: 1px solid #111;
	border-radius: 4px;
	background: #111;
	color: #fff;
	font-size: .85em;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	cursor: pointer;
	line-height: 1.2;
}

.kp-filter-toggle:hover,
.kp-filter-toggle:focus-visible {
	background: #333;
}

.kp-filter-icon {
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
}

.kp-filter-count {
	min-width: 1.6em;
	padding: .1em .45em;
	border-radius: 1em;
	background: #fff;
	color: #111;
	font-size: .9em;
	text-align: center;
}

.kp-filter-count:empty {
	display: none;
}

.kp-filter-arrow {
	margin-left: auto;
	width: .5em;
	height: .5em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-25%) rotate(45deg);
	transition: transform .2s;
}

.kp-open .kp-filter-arrow {
	transform: translateY(25%) rotate(-135deg);
}

/* Zwinięte bez display:none – suwak ceny zachowuje poprawną szerokość */
.kp-filter-panel {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: max-height .3s ease, visibility 0s linear .3s;
}

.kp-open > .kp-filter-panel {
	max-height: 4000px;
	overflow: visible;
	visibility: visible;
	transition: max-height .35s ease, visibility 0s;
}

.kp-filter-panel > .widget {
	margin-top: .75em;
}

/* ---------- 2) / 4) Ceny ---------- */
.kp-your-price {
	display: inline-block;
	margin-left: .25em;
	padding: .1em .45em;
	border-radius: 3px;
	background: #1a7f37;
	color: #fff;
	font-size: .7em;
	font-weight: 600;
	vertical-align: middle;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.woocommerce-checkout-review-order-table .kp-line-price,
.woocommerce-table--order-details .kp-line-price {
	white-space: nowrap;
}

/* ---------- 2) Rabat rozbity na pozycje – koszyk blokowy ---------- */
.kp-has-discount .wc-block-cart-item__prices .wc-block-formatted-money-amount:first-child,
.kp-has-discount .wc-block-cart-item__total .wc-block-formatted-money-amount:first-child {
	text-decoration: line-through;
	opacity: .55;
}

.kp-has-discount .wc-block-cart-item__total .wc-block-components-product-price {
	color: #1a7f37;
	font-weight: 600;
}

.kp-discount-breakdown {
	width: 100%;
	margin: .5em 0 0;
	padding: .6em .75em;
	border-radius: 4px;
	background: #f3f8f4;
	font-size: .85em;
}

.kp-discount-breakdown .kp-db-title {
	margin-bottom: .3em;
	font-weight: 600;
}

.kp-discount-breakdown ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kp-discount-breakdown li {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	padding: 2px 0;
}

.kp-discount-breakdown .kp-db-val {
	white-space: nowrap;
	color: #1a7f37;
	font-weight: 600;
}

/* ---------- Brak w magazynie zamiast „Dowiedz się więcej” ---------- */
.woocommerce ul.products li.product .kp-out-of-stock,
.kp-out-of-stock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-color: #b3261e !important;
	background: transparent !important;
	color: #b3261e !important;
	cursor: default;
	pointer-events: none;
}

/* ---------- 6) Puste wartości filtrów ---------- */
.woof .kp-empty-term,
.woof .kp-empty-container {
	display: none !important;
}
