.psk-package-offer {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1128px);
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--wp--preset--spacing--7, 2rem);
	margin-bottom: var(--wp--preset--spacing--7, 2rem);
	background: #fff;
	color: #222;
}

.psk-package-offer * {
	box-sizing: border-box;
}

.psk-package-offer__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, 220px) minmax(0, max-content) minmax(0, max-content) minmax(0, max-content);
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 172px;
	padding: 24px 28px;
	overflow: hidden;
}

.psk-package-offer__heading {
	position: relative;
	min-width: 0;
}

.psk-package-offer__title {
	position: relative;
	z-index: 2;
	max-width: 190px;
	margin: 0;
	font-family: var(--wp--preset--font-family--heading), "Mulish", sans-serif;
	font-size: clamp(2rem, 3.4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.18;
	letter-spacing: 0;
	color: #222;
}

.psk-package-offer__percent {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 74px;
	transform: translateY(-50%);
	font-family: "Mulish", sans-serif;
	font-size: 118px;
	font-weight: 800;
	line-height: 1;
	color: #e7e7e9;
	pointer-events: none;
}

.psk-package-offer__products {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}

.psk-package-offer__product {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.psk-package-offer__image {
	display: block;
	width: 125px !important;
	height: 125px !important;
	max-width: 125px !important;
	object-fit: cover;
	border-radius: 4px;
	/* Ten sam preset cienia, którego motyw używa na kartach produktów,
	   żeby pakiet nie odstawał od reszty strony. */
	box-shadow: var(--wp--preset--shadow--mix, 4px 12px 16px rgba(85, 85, 85, .1), -4px -12px 32px rgba(200, 200, 200, .3));
	transition: box-shadow .18s ease, transform .18s ease;
}

.psk-package-offer__product:hover .psk-package-offer__image {
	box-shadow: var(--wp--preset--shadow--mix-hover, 4px 12px 16px rgba(85, 85, 85, .25), -4px -12px 32px rgba(200, 200, 200, .3));
	transform: translateY(-2px);
}

.psk-package-offer__product--placeholder {
	width: 125px;
	height: 125px;
	border: 2px dashed #d9d9dd;
	background: #f7f7f8;
	color: #9c9ca3;
	font-family: "Mulish", sans-serif;
	font-size: 30px;
	font-weight: 800;
}

.psk-package-offer--editor-empty .psk-package-offer__button {
	cursor: default;
	opacity: 1;
}

.psk-package-offer__operator,
.psk-package-offer__equals {
	flex: 0 0 auto;
	font-family: "Mulish", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
	color: #222;
}

.psk-package-offer__equals {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.psk-package-offer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 13px;
	min-width: 158px;
	min-height: 48px;
	padding: 12px 23px;
	border: 0;
	border-radius: 11px;
	background: #222;
	color: #fff;
	font-family: "Mulish", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.18s ease, background 0.18s ease, opacity 0.18s ease;
}

.psk-package-offer__button:hover,
.psk-package-offer__button:focus-visible {
	background: #111;
	transform: translateY(-1px);
}

.psk-package-offer__button:disabled,
.psk-package-offer__button.is-loading {
	cursor: wait;
	opacity: 0.72;
	transform: none;
}

.psk-package-offer__button-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

.psk-package-offer--count-4 .psk-package-offer__inner {
	grid-template-columns: minmax(170px, 190px) minmax(0, max-content) minmax(0, max-content) minmax(0, max-content);
	justify-content: center;
	gap: 9px;
	padding-right: 24px;
	padding-left: 24px;
}

.psk-package-offer--count-4 .psk-package-offer__products {
	gap: 12px;
}

.psk-package-offer--count-4 .psk-package-offer__image {
	width: 96px !important;
	height: 96px !important;
	max-width: 96px !important;
}

.psk-package-offer--count-4 .psk-package-offer__operator,
.psk-package-offer--count-4 .psk-package-offer__equals {
	font-size: 24px;
}

.psk-package-offer-editor {
	max-width: 100%;
}

.psk-package-offer-editor__item {
	padding-top: 14px;
	margin-top: 14px;
	border-top: 1px solid #ddd;
}

.psk-package-offer-editor__item-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

@media (max-width: 900px) {
	.psk-package-offer__inner {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 24px;
		min-height: 424px;
		padding: 44px 24px 58px;
	}

	.psk-package-offer__heading {
		width: 100%;
		text-align: center;
	}

	.psk-package-offer__title {
		max-width: none;
		font-size: 31px;
		line-height: 1.2;
		text-align: center;
	}

	.psk-package-offer__percent {
		top: -4px;
		right: 8%;
		left: auto;
		transform: none;
		font-size: 104px;
	}

	.psk-package-offer__products {
		width: 100%;
		gap: 24px;
		flex-wrap: nowrap;
	}

	.psk-package-offer__image {
		width: 115px !important;
		height: 115px !important;
		max-width: 115px !important;
	}

	.psk-package-offer__product--placeholder {
		width: 115px;
		height: 115px;
	}

	.psk-package-offer__operator,
	.psk-package-offer__equals {
		display: none;
	}

	.psk-package-offer__button {
		min-width: 158px;
		min-height: 49px;
		border-radius: 11px;
	}

	.psk-package-offer--count-4 .psk-package-offer__inner {
		display: flex;
		gap: 24px;
	}

	.psk-package-offer--count-4 .psk-package-offer__products {
		gap: 16px;
	}

	.psk-package-offer--count-4 .psk-package-offer__image {
		width: 94px !important;
		height: 94px !important;
		max-width: 94px !important;
	}

	.psk-package-offer--count-4 .psk-package-offer__product--placeholder {
		width: 94px;
		height: 94px;
	}
}

@media (max-width: 520px) {
	.psk-package-offer__inner {
		min-height: 380px;
		padding: 42px 18px 54px;
		gap: 26px;
	}

	.psk-package-offer__title {
		font-size: 28px;
	}

	.psk-package-offer__percent {
		right: 2%;
		font-size: 86px;
	}

	.psk-package-offer__products {
		gap: 14px;
	}

	.psk-package-offer__image {
		width: 92px !important;
		height: 92px !important;
		max-width: 92px !important;
	}

	.psk-package-offer__product--placeholder {
		width: 92px;
		height: 92px;
	}

	.psk-package-offer--count-4 .psk-package-offer__products {
		gap: 10px;
	}

	.psk-package-offer--count-4 .psk-package-offer__image {
		width: 76px !important;
		height: 76px !important;
		max-width: 76px !important;
	}

	.psk-package-offer--count-4 .psk-package-offer__product--placeholder {
		width: 76px;
		height: 76px;
	}
}

/* Podsumowanie cen pakietu: suma regularna przekreślona, procent, suma po rabacie.
   Wersja z parasolka-core cen nie pokazywała — dołożone dla motywu Blocksy. */
.psk-package-offer__prices {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.psk-package-offer__price--regular del {
	color: var(--wp--preset--color--basecolor, #2c2c2c);
	opacity: .55;
	font-size: 16px;
	text-decoration-thickness: 1px;
}

.psk-package-offer__price--regular bdi,
.psk-package-offer__price--final bdi {
	white-space: nowrap;
}

.psk-package-offer__discount {
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--wp--preset--color--primary, #f2994a);
	color: var(--wp--preset--color--textonprimary, #fff);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.6;
}

.psk-package-offer__price--final {
	font-size: 22px;
	font-weight: 800;
	color: var(--wp--preset--color--basecolor, #2c2c2c);
}

@media (max-width: 767.98px) {
	.psk-package-offer__prices { justify-content: center; }
	.psk-package-offer__price--final { font-size: 20px; }
}

/* ---------------------------------------------------------------------------
 * Pięć produktów. Wersja z parasolka-core kończyła się na czterech, więc dla
 * piątej pozycji brakowało reguł i obrazki zostawały w rozmiarze 125 px,
 * rozpychając siatkę i łamiąc kolumnę z tytułem.
 * ------------------------------------------------------------------------- */
.psk-package-offer--count-5 .psk-package-offer__inner {
	grid-template-columns: minmax(150px, 176px) minmax(0, max-content) minmax(0, max-content) minmax(0, max-content);
	justify-content: center;
	gap: 10px;
	padding-right: 20px;
	padding-left: 20px;
}

.psk-package-offer--count-5 .psk-package-offer__title {
	font-size: 30px;
	line-height: 1.06;
	max-width: none;
}

.psk-package-offer--count-5 .psk-package-offer__products {
	gap: 8px;
	flex-wrap: nowrap;
}

.psk-package-offer--count-5 .psk-package-offer__image {
	width: 96px !important;
	height: 96px !important;
	max-width: 96px !important;
}

.psk-package-offer--count-5 .psk-package-offer__product--placeholder {
	width: 96px;
	height: 96px;
}

.psk-package-offer--count-5 .psk-package-offer__operator,
.psk-package-offer--count-5 .psk-package-offer__equals {
	font-size: 21px;
}

.psk-package-offer--count-5 .psk-package-offer__prices {
	gap: 7px;
}

.psk-package-offer--count-5 .psk-package-offer__price--final {
	font-size: 20px;
}

.psk-package-offer--count-5 .psk-package-offer__price--regular del {
	font-size: 15px;
}

.psk-package-offer--count-5 .psk-package-offer__button {
	min-width: 148px;
	padding-right: 18px;
	padding-left: 18px;
}

@media (max-width: 1200px) {
	.psk-package-offer--count-5 .psk-package-offer__image {
		width: 84px !important;
		height: 84px !important;
		max-width: 84px !important;
	}

	.psk-package-offer--count-5 .psk-package-offer__title {
		font-size: 26px;
	}
}

@media (max-width: 900px) {
	.psk-package-offer--count-5 .psk-package-offer__inner {
		display: flex;
		gap: 24px;
	}

	.psk-package-offer--count-5 .psk-package-offer__products {
		gap: 12px;
		flex-wrap: wrap;
	}

	.psk-package-offer--count-5 .psk-package-offer__image {
		width: 88px !important;
		height: 88px !important;
		max-width: 88px !important;
	}

	.psk-package-offer--count-5 .psk-package-offer__product--placeholder {
		width: 88px;
		height: 88px;
	}

	.psk-package-offer--count-5 .psk-package-offer__title {
		font-size: 31px;
	}
}

@media (max-width: 575.98px) {
	.psk-package-offer--count-5 .psk-package-offer__products {
		gap: 8px;
	}

	.psk-package-offer--count-5 .psk-package-offer__image {
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
	}

	.psk-package-offer--count-5 .psk-package-offer__product--placeholder {
		width: 64px;
		height: 64px;
	}
}

/* ---------------------------------------------------------------------------
 * Nazwa produktu. Na desktopie chmurka nad okładką po najechaniu lub
 * przejściu tabulatorem, na wąskich ekranach zwykły podpis pod okładką —
 * tam nie ma czym najechać.
 * ------------------------------------------------------------------------- */
.psk-package-offer__product {
	position: relative;
}

.psk-package-offer--with-prices .psk-package-offer__inner {
	overflow: visible;
}

.psk-package-offer__product-name {
	position: absolute;
	bottom: calc(100% + 9px);
	left: 50%;
	z-index: 4;
	max-width: 240px;
	width: max-content;
	padding: 6px 10px;
	border-radius: 8px;
	background: #222;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	opacity: 0;
	transform: translateX(-50%) translateY(4px);
	transition: opacity .16s ease, transform .16s ease;
	pointer-events: none;
}

.psk-package-offer__product-name::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: 5px solid transparent;
	border-top-color: #222;
	transform: translateX(-50%);
}

.psk-package-offer__product:hover .psk-package-offer__product-name,
.psk-package-offer__product:focus-within .psk-package-offer__product-name {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

@media (max-width: 900px) {
	.psk-package-offer__product {
		flex-direction: column;
		gap: 6px;
	}

	.psk-package-offer__product-name {
		position: static;
		z-index: auto;
		max-width: 104px;
		padding: 0;
		border-radius: 0;
		background: none;
		color: var(--wp--preset--color--basecolor, #2c2c2c);
		font-size: 11px;
		font-weight: 600;
		line-height: 1.3;
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}

	.psk-package-offer__product-name::after {
		display: none;
	}
}

/* Ostrzeżenie w edytorze, gdy produkt z pakietu wypadł ze sprzedaży. */
.psk-package-offer__warning {
	margin: 0 0 10px;
	padding: 10px 14px;
	border: 1px solid #f0c36d;
	border-radius: 8px;
	background: #fcf8e3;
	color: #7a5b12;
	font-size: 13px;
	line-height: 1.5;
}
