/* Card — entrance spring (overshoot bounce) + lift shadow grow */
.gk-quick-view-modal__card {
	position: relative;
	max-width: 720px;
	width: calc(100% - 32px);
	max-height: calc(100vh - 48px);
	background: #FFFFFF;
	border-radius: 24px;
	overflow: hidden;
	box-shadow:
		0 8px 16px rgba(15, 42, 8, 0.20),
		0 0 0 rgba(15, 42, 8, 0);
	transform: translateY(40px) scale(.88);
	opacity: 0;
	filter: blur(4px);
	transition:
		transform .65s cubic-bezier(.34, 1.42, .64, 1),
		opacity .5s cubic-bezier(.16,1,.3,1),
		filter .4s cubic-bezier(.16,1,.3,1),
		box-shadow .7s cubic-bezier(.16,1,.3,1);
	display: flex;
	flex-direction: column;
	transform-origin: center bottom;
}
.gk-quick-view-modal.is-open .gk-quick-view-modal__card {
	transform: translateY(0) scale(1);
	opacity: 1;
	filter: blur(0);
	box-shadow:
		0 32px 80px rgba(15, 42, 8, 0.45),
		0 8px 24px rgba(15, 42, 8, 0.25);
}

/* Polish 25 — content/media/buttons bez stagger: widoczne od razu (per user mandate).
   Card scale/fade-in robi cały efekt; wnętrze ma być gotowe in-place. */

/* Closing — Polish 27: backdrop natychmiast znika, card animuje out, modal hidden po transition.
   MUSI trzymać visibility:visible przez transition (base ma hidden natychmiast bez delay w is-closing) */
.gk-quick-view-modal.is-closing {
	display: flex;
	visibility: visible;
	pointer-events: none;
	transition: visibility 0s linear .4s;
}
.gk-quick-view-modal.is-closing .gk-quick-view-modal__card {
	transform: translateY(36px) scale(.92);
	opacity: 0;
	filter: blur(2px);
	transition:
		transform .4s cubic-bezier(.55, .055, .675, .19),
		opacity .3s ease,
		filter .3s ease;
}
.gk-quick-view-modal.is-closing .gk-quick-view-modal__backdrop {
	opacity: 0;
}
/* Reduced motion — szybkie fade tylko (zero transformacji) */
@media (prefers-reduced-motion: reduce) {
	.gk-quick-view-modal,
	.gk-quick-view-modal__backdrop,
	.gk-quick-view-modal__card {
		transition: opacity .2s ease !important;
		transform: none !important;
		filter: none !important;
		transition-delay: 0s !important;
	}
}
.gk-quick-view-modal__close,
.gk-quick-view-modal__heart {
	all: unset;
	position: absolute;
	z-index: 2;
	display: inline-flex; align-items: center; justify-content: center;
	background: #FFFFFF;
	border: 1px solid #ECE6DC;
	cursor: pointer;
	color: #1F3D14;
	transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.gk-quick-view-modal__close {
	top: 16px; right: 16px;
	width: 36px; height: 36px;
	border-radius: 50%;
}
.gk-quick-view-modal__close:hover {
	background: #FAF8F4;
	color: #4F9028;
	transform: rotate(90deg);
}
.gk-quick-view-modal__heart {
	top: 16px; left: 16px;
	width: 40px; height: 40px;
	border-radius: 50%;
}
.gk-quick-view-modal__heart:hover {
	border-color: #5DA935;
	color: #5DA935;
}
.gk-quick-view-modal__heart.is-active {
	background: #5DA935;
	border-color: #5DA935;
	color: #FFFFFF;
}
.gk-quick-view-modal__heart.is-active svg {
	fill: currentColor;
}
.gk-quick-view-modal__body {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 0;
	overflow-y: auto;
	flex: 1;
	min-height: 0;
}
.gk-quick-view-modal__media {
	position: relative;
	background: #FAF8F4;
	padding: 0; /* Polish 22 — image fills cream area na cały kawałek (user mandate) */
	display: block;
	min-height: 320px;
	overflow: hidden;
}
.gk-quick-view-modal__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.gk-quick-view-modal__badge {
	position: absolute;
	top: 16px; right: 16px;
	padding: 4px 10px;
	background: #1F3D14;
	color: #FFFFFF;
	border-radius: 9999px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.gk-quick-view-modal__content {
	padding: 36px 32px 28px;
	display: flex; flex-direction: column; gap: 10px;
}
.gk-quick-view-modal__eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #4F9028;
	margin: 0;
}
.gk-quick-view-modal__title {
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.15;
	color: #1F3D14;
	letter-spacing: -0.01em;
}
.gk-quick-view-modal__excerpt {
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: #5A6354;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gk-quick-view-modal__price {
	margin: 6px 0 0;
	font-family: 'Inter', sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: #1F3D14;
	display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
}
.gk-quick-view-modal__price del {
	font-size: 14px;
	font-weight: 500;
	color: #9CA396;
	text-decoration: line-through;
}
.gk-quick-view-modal__price ins {
	background: transparent;
	color: #4F9028;
	text-decoration: none;
	font-weight: 800;
}
.gk-quick-view-modal__omnibus {
	margin: 0;
	font-family: 'Inter', sans-serif;
	font-size: 10px;
	font-style: italic;
	color: #8A9282;
	letter-spacing: 0.01em;
}
.gk-quick-view-modal__actions {
	margin-top: 6px;
	display: flex; align-items: center; gap: 10px;
	flex-wrap: wrap;
}
.gk-quick-view-modal__qty {
	display: flex; align-items: center; justify-content: space-between;
	width: 100%;
	background: #FAF8F4;
	border: 1px solid #ECE6DC;
	border-radius: 9999px;
	padding: 4px 10px;
	box-sizing: border-box;
}
.gk-quick-view-modal__qty-btn {
	all: unset;
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	cursor: pointer;
	color: #1F3D14;
	transition: background .15s ease, color .15s ease;
}
.gk-quick-view-modal__qty-btn:hover {
	background: #FFFFFF;
	color: #4F9028;
}
.gk-quick-view-modal__qty-val {
	width: 44px;
	text-align: center;
	background: transparent;
	border: none;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: #1F3D14;
	-moz-appearance: textfield;
	outline: none;
}
.gk-quick-view-modal__qty-val::-webkit-outer-spin-button,
.gk-quick-view-modal__qty-val::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.gk-quick-view-modal__cta {
	all: unset;
	box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	cursor: pointer;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	border-radius: 9999px;
	padding: 13px 22px;
	text-align: center;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.gk-quick-view-modal__cta--primary {
	flex: 1 1 auto;
	min-width: 0;
	background: #1F3D14;
	color: #FFFFFF;
}
.gk-quick-view-modal__cta--primary:hover,
.gk-quick-view-modal__cta--primary:focus-visible {
	background: #4F9028;
	transform: translateY(-1px);
}
.gk-quick-view-modal__cta--primary.is-loading {
	opacity: 0.7;
	pointer-events: none;
}
.gk-quick-view-modal__cta--secondary {
	margin-top: 6px;
	width: 100%;
	background: transparent;
	color: #1F3D14;
	border: 1px solid #1F3D14;
	box-sizing: border-box;
}
.gk-quick-view-modal__cta--secondary:hover,
.gk-quick-view-modal__cta--secondary:focus-visible {
	background: #1F3D14;
	color: #FFFFFF;
}

/* Drag handle — desktop ukryty, mobile widoczny (Polish 27 bottom-sheet pattern z magic-gym) */
.gk-quick-view-modal__handle { display: none; }

/* ───────────────────────────────────────────────────────────────
   MOBILE BOTTOM-SHEET — slide-up z dołu, rounded top, drag handle
   Pattern z klienci-www/magic-gym-bialystok (.lm-modal mobile)
   ─────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.gk-quick-view-modal {
		align-items: flex-end;
		justify-content: stretch;
	}
	.gk-quick-view-modal__card {
		max-width: 100%;
		width: 100%;
		max-height: 90vh;
		border-radius: 24px 24px 0 0;
		transform: translateY(100%);
		transition:
			transform .45s cubic-bezier(.2, .7, .3, 1),
			opacity .3s ease,
			filter .3s ease;
		transform-origin: center bottom;
		filter: none;
		opacity: 1;
		box-shadow: 0 -12px 40px rgba(15, 42, 8, 0.30);
	}
	.gk-quick-view-modal.is-open .gk-quick-view-modal__card {
		transform: translateY(0);
		opacity: 1;
		filter: none;
		box-shadow: 0 -16px 60px rgba(15, 42, 8, 0.40);
	}
	.gk-quick-view-modal.is-closing .gk-quick-view-modal__card {
		transform: translateY(100%);
		opacity: 1;
		filter: none;
		transition: transform .35s cubic-bezier(.4, 0, 1, 1);
	}
	.gk-quick-view-modal__handle {
		display: block;
		position: absolute;
		top: 8px;
		left: 50%;
		transform: translateX(-50%);
		width: 44px;
		height: 5px;
		border-radius: 999px;
		background: rgba(31, 61, 20, 0.20);
		z-index: 5;
		pointer-events: none;
	}
	.gk-quick-view-modal__body {
		grid-template-columns: 1fr;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.gk-quick-view-modal__media {
		aspect-ratio: 16 / 11;
		max-height: 40vh;
		min-height: 0;
		padding: 0;
	}
	.gk-quick-view-modal__media img {
		object-fit: cover;
	}
	.gk-quick-view-modal__content {
		padding: 28px 22px 24px;
		gap: 10px;
	}
	.gk-quick-view-modal__title { font-size: 22px; }
	.gk-quick-view-modal__excerpt { -webkit-line-clamp: 2; }
	.gk-quick-view-modal__actions { gap: 8px; }
	.gk-quick-view-modal__cta { padding: 13px 18px; font-size: 14px; }
	.gk-quick-view-modal__cta--primary { flex: 1 1 100%; }
	/* Close moved bottom-right na mobile bo top zajmuje handle */
	.gk-quick-view-modal__close {
		top: 14px; right: 14px;
		background: rgba(255, 255, 255, 0.95);
		backdrop-filter: blur(6px);
	}
	.gk-quick-view-modal__heart {
		top: 14px; left: 14px;
		background: rgba(255, 255, 255, 0.95);
		backdrop-filter: blur(6px);
	}
}

.gk-pdp-v5__info-lede {
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--gk-v5-text-light);
	font-style: italic;
}

/* Sticky title — pojawia się w buy-card gdy h1 wyjedzie z viewport */
.gk-pdp-v5__buy-card-title {
	max-height: 0;
	overflow: hidden;
	display: flex; flex-direction: column; gap: 4px;
	padding: 0;
	border-bottom: 0 solid var(--gk-v5-border-soft);
	margin-bottom: 0;
	opacity: 0;
	transition:
		max-height .4s cubic-bezier(.16,1,.3,1),
		opacity .35s cubic-bezier(.16,1,.3,1),
		padding .4s cubic-bezier(.16,1,.3,1),
		margin .4s cubic-bezier(.16,1,.3,1),
		border-width .4s ease;
}
.gk-pdp-v5__main-right.is-title-revealed .gk-pdp-v5__buy-card-title {
	max-height: 140px;
	opacity: 1;
	padding: 0 0 14px;
	margin-bottom: 4px;
	border-bottom-width: 1px;
}
.gk-pdp-v5__buy-card-title p {
	margin: 0;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--gk-v5-primary);
	letter-spacing: -0.015em;
}
.gk-pdp-v5__buy-card-rating {
	font-size: 11px;
	color: var(--gk-v5-text-muted);
	font-weight: 600;
}
@keyframes gk-v5-title-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* BUY CARD heart corner + filled/empty states */
.gk-pdp-v5__main-right { position: sticky; }
.gk-pdp-v5__buy-card-heart,
.gk-pdp-v5__buy-card-heart-btn {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
}

/* EMPTY state — border + empty heart */
.gk-pdp-v5__buy-card-heart-btn,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist,
.gk-pdp-v5__buy-card-heart .yith-add-to-wishlist-button-block button,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-button a,
.gk-pdp-v5__buy-card-heart > div > a:first-child {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	color: var(--gk-v5-text-light) !important;
	border: 1.5px solid var(--gk-v5-border) !important;
	border-radius: 9999px !important;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(15,30,15,0.06);
	transition: border-color .2s ease, color .2s ease, background .2s ease, transform .15s ease;
	text-decoration: none;
}
.gk-pdp-v5__buy-card-heart .yith-wcwl-icon-svg,
.gk-pdp-v5__buy-card-heart svg {
	width: 18px !important; height: 18px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* HOVER empty — subtle brand tint */
.gk-pdp-v5__buy-card-heart-btn:hover,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist:hover button,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-button:hover a,
.gk-pdp-v5__buy-card-heart > div > a:first-child:hover {
	border-color: var(--gk-v5-primary-light) !important;
	color: var(--gk-v5-primary) !important;
	background: rgba(93,169,53,0.06) !important;
	transform: translateY(-1px);
}

/* FILLED state — gdy produkt JEST na wishlist (YITH renders .yith-wcwl-wishlistexistsbrowse) */
.gk-pdp-v5__buy-card-heart .yith-wcwl-wishlistexistsbrowse a,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist.exists a,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist.exists button,
.gk-pdp-v5__buy-card-heart-btn.is-on-wishlist,
.gk-pdp-v5__buy-card-heart.is-active a,
.gk-pdp-v5__buy-card-heart.is-active button,
.gk-pdp-v5__buy-card-heart-btn.is-active {
	background: var(--gk-v5-primary-light) !important;
	border-color: var(--gk-v5-primary-light) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(93,169,53,0.30);
}
.gk-pdp-v5__buy-card-heart .yith-wcwl-wishlistexistsbrowse svg,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist.exists svg,
.gk-pdp-v5__buy-card-heart-btn.is-on-wishlist svg,
.gk-pdp-v5__buy-card-heart.is-active svg,
.gk-pdp-v5__buy-card-heart-btn.is-active svg {
	fill: #fff !important;
	stroke: #fff !important;
}
/* POP animation feedback po toggle */
.gk-pdp-v5__buy-card-heart.is-popping a,
.gk-pdp-v5__buy-card-heart.is-popping button,
.gk-pdp-v5__buy-card-heart-btn.is-popping {
	animation: gk-pdp-heart-pop .35s cubic-bezier(.16,1,.3,1);
}
@keyframes gk-pdp-heart-pop {
	0% { transform: scale(1); }
	40% { transform: scale(1.18); }
	100% { transform: scale(1); }
}

/* YITH "loading" state — subtle gray */
.gk-pdp-v5__buy-card-heart .ajax-loading,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist.loading {
	opacity: 0.65 !important;
	pointer-events: none;
}

/* Ukryj "Browse wishlist" link tekst — zostaw tylko heart */
.gk-pdp-v5__buy-card-heart .yith-wcwl-wishlistexistsbrowse .feedback,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist .feedback,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist > p,
.gk-pdp-v5__buy-card-heart .yith-wcwl-add-to-wishlist > div:not(:has(a)) {
	display: none !important;
}

/* BUY CARD (w main-right sticky) */
.gk-pdp-v5__buy-card {
	position: relative;
	display: flex; flex-direction: column;
	gap: 18px;
	padding: 56px 24px 24px;  /* extra top żeby heart nie nakładał się na Taniej pill */
	background: #fff;
	border: 1px solid var(--gk-v5-border);
	border-radius: 14px;
	box-shadow: 0 4px 24px rgba(15,30,15,0.06);
}
/* Price block: cena + taniej obok po prawej, pod spodem przekreślona regular */
.gk-pdp-v5__buy-price-block {
	display: flex; flex-direction: column;
	gap: 4px;
}
.gk-pdp-v5__buy-price-row {
	display: flex; align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.gk-pdp-v5__buy-price-was {
	font-size: 14px;
	color: var(--gk-v5-text-light);
	text-decoration: line-through;
	font-weight: 500;
	display: inline-block;
}
.gk-pdp-v5__buy-price-was .amount {
	color: inherit; font-size: inherit; font-weight: inherit;
}
.gk-pdp-v5__buy-price-now {
	font-family: 'Geist', sans-serif;
	font-size: 32px;
	font-weight: 700;
	color: var(--gk-v5-primary);
	letter-spacing: -0.02em;
	line-height: 1;
}
.gk-pdp-v5__buy-price-now .amount {
	color: inherit; font-weight: inherit; font-size: inherit;
}
.gk-pdp-v5__buy-price-was {
	font-size: 16px;
	color: var(--gk-v5-text-light);
	text-decoration: line-through;
	font-weight: 500;
}
.gk-pdp-v5__buy-price-was .amount { color: inherit; font-weight: inherit; }
/* Savings pill — "Taniej o X zł" (x-kom style, po prawej od ceny) */
.gk-pdp-v5__buy-savings {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 6px 12px;
	background: rgba(93,169,53,0.10);
	color: var(--gk-v5-primary);
	border-radius: 9999px;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: -0.005em;
	white-space: nowrap;
}
.gk-pdp-v5__buy-savings > span { margin-right: 2px; }
.gk-pdp-v5__buy-savings svg { color: var(--gk-v5-primary-light); flex-shrink: 0; }
.gk-pdp-v5__buy-savings .amount {
	color: inherit; font-weight: 700; font-size: inherit;
}
.gk-pdp-v5__buy-omnibus {
	margin: -6px 0 0;
	font-size: 11px;
	color: var(--gk-v5-text-light);
	line-height: 1.5;
}
.gk-pdp-v5__buy-omnibus .amount {
	color: var(--gk-v5-text); font-weight: 700;
}

.gk-pdp-v5__buy-stock {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--gk-v5-primary-light);
}
.gk-pdp-v5__buy-stock strong { color: inherit; font-weight: 700; }
.gk-pdp-v5__buy-stock-dot {
	width: 8px; height: 8px;
	border-radius: 9999px;
	background: var(--gk-v5-primary-light);
}
.gk-pdp-v5__buy-stock.is-low { color: #B45309; }
.gk-pdp-v5__buy-stock.is-low .gk-pdp-v5__buy-stock-dot {
	background: #F59E0B;
	animation: gk-pulse 1.6s ease-in-out infinite;
}

.gk-pdp-v5__buy-info-list {
	display: flex; flex-direction: column; gap: 10px;
	padding: 14px 0;
	border-top: 1px solid var(--gk-v5-border-soft);
	border-bottom: 1px solid var(--gk-v5-border-soft);
}
.gk-pdp-v5__buy-info-row {
	display: flex; align-items: center; gap: 10px;
	font-size: 13px;
	color: var(--gk-v5-text-muted);
}
.gk-pdp-v5__buy-info-row svg { color: var(--gk-v5-text-light); flex-shrink: 0; }
.gk-pdp-v5__buy-info-row strong { color: var(--gk-v5-text); font-weight: 700; }

/* Form */
.gk-pdp-v5__buy-form {
	display: flex; flex-direction: column;
	gap: 12px;
	margin: 0;
}
.gk-pdp-v5__qty {
	display: inline-flex; align-items: center;
	background: var(--gk-v5-cream);
	border: 1px solid var(--gk-v5-border);
	border-radius: 8px;
	padding: 3px;
	align-self: stretch;
}
.gk-pdp-v5__qty-btn {
	flex: 1;
	height: 44px;
	background: transparent;
	color: var(--gk-v5-text);
	border: 0;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	border-radius: 6px;
	transition: background .15s ease;
}
.gk-pdp-v5__qty-btn:hover { background: rgba(15,30,15,0.05); }
.gk-pdp-v5__qty-input {
	flex: 1;
	height: 44px;
	max-width: 50px;
	background: transparent;
	border: 0;
	text-align: center;
	font-family: 'Geist', sans-serif;
	font-size: 16px;
	font-weight: 700;
	outline: none;
	-moz-appearance: textfield;
}
.gk-pdp-v5__qty-input::-webkit-outer-spin-button,
.gk-pdp-v5__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.gk-pdp-v5__buy-cta { width: 100%; }

/* Buy form — stack: qty full-width row 1, CTA full-width row 2 */
.gk-pdp-v5__buy-form {
	display: flex; flex-direction: column;
	gap: 10px;
	margin: 0;
}
.gk-pdp-v5__buy-form .gk-pdp-v5__qty {
	display: flex !important;
	justify-content: space-between;
	width: 100%;
}
.gk-pdp-v5__buy-form .gk-pdp-v5__qty-input { flex: 1; max-width: none; }
.gk-pdp-v5__buy-form .gk-pdp-v5__qty-btn { flex-shrink: 0; }

/* ───────────────────────────────────────────────────────────
   MOBILE STICKY BUY BAR (2026-05-31) — buy-card → przyklejony pasek na dole.
   Cena + qty + „Dodaj do koszyka" (prawdziwy formularz = natywny add-to-cart
   z ilością). Reszta karty ukryta. Desktop bez zmian (sticky kolumna prawo). ── */
@media (max-width: 1023px) {
	.gk-pdp-v5__main-right {
		position: fixed;
		left: 0; right: 0; bottom: 0; top: auto;
		z-index: 90;
		margin: 0;
		min-width: 0;
	}
	.gk-pdp-v5__buy-card {
		flex-direction: row;
		align-items: center;
		gap: 10px;
		padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
		border-radius: 18px 18px 0 0;
		border: 1px solid var(--gk-v5-border);
		border-bottom: 0;
		box-shadow: 0 -10px 30px rgba(31, 61, 20, 0.16);
	}
	/* ukryj rozbudowane elementy karty — zostaje cena + form */
	.gk-pdp-v5__buy-card-title,
	.gk-pdp-v5__buy-stock,
	.gk-pdp-v5__buy-info-list,
	.gk-pdp-v5__buy-omnibus,
	.gk-pdp-v5__buy-price-was,
	.gk-pdp-v5__buy-savings,
	.gk-pdp-v5__buy-card-heart { display: none !important; }
	.gk-pdp-v5__buy-price-block { margin: 0; flex: 0 0 auto; gap: 0; }
	.gk-pdp-v5__buy-price-row { margin: 0; gap: 0; }
	.gk-pdp-v5__buy-price-now { font-size: 18px; line-height: 1.05; white-space: nowrap; }
	.gk-pdp-v5__buy-form { flex-direction: row; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; }
	.gk-pdp-v5__buy-form .gk-pdp-v5__qty { width: auto !important; flex: 0 0 auto; justify-content: flex-start; }
	.gk-pdp-v5__buy-form .gk-pdp-v5__qty-input { flex: 0 0 auto; width: 36px; max-width: 36px; }
	.gk-pdp-v5__buy-form .gk-pdp-v5__qty-btn { flex: 0 0 auto; width: 34px; height: 40px; }
	.gk-pdp-v5__buy-cta { width: auto; flex: 1 1 auto; min-width: 0; padding: 12px 10px; white-space: nowrap; }
	.gk-pdp-v5__buy-cta svg { display: none; } /* oszczędność miejsca na wąskich ekranach */

	/* przestrzeń na dole + floating cart ponad pasek (nie nachodzi) */
	body:has(.gk-pdp-v5) { padding-bottom: 74px; }
	body:has(.gk-pdp-v5) #gk-floating-cart { bottom: 86px; }
}

/* Legacy wishlist button styles (zachowane na inne miejsca) */
.gk-pdp-v5__buy-wishlist {
	margin-top: 4px;
}
.gk-pdp-v5__buy-wishlist .yith-wcwl-add-to-wishlist {
	margin: 0 !important;
}
.gk-pdp-v5__buy-wishlist a,
.gk-pdp-v5__buy-wishlist .yith-add-to-wishlist-button-block button,
.gk-pdp-v5__buy-wishlist-btn,
a.gk-pdp-v5__buy-wishlist-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 18px;
	background: transparent;
	color: var(--gk-v5-text-muted);
	border: 1.5px solid var(--gk-v5-border) !important;
	border-radius: 9999px !important;
	font-family: 'Inter', system-ui, -apple-system, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.005em;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease, background .2s ease;
}
.gk-pdp-v5__buy-wishlist a:hover,
.gk-pdp-v5__buy-wishlist .yith-add-to-wishlist-button-block button:hover,
.gk-pdp-v5__buy-wishlist-btn:hover {
	border-color: var(--gk-v5-primary-light) !important;
	color: var(--gk-v5-primary);
	background: rgba(93,169,53,0.04);
}
.gk-pdp-v5__buy-wishlist svg,
.gk-pdp-v5__buy-wishlist .yith-wcwl-icon-svg {
	width: 18px; height: 18px;
	flex-shrink: 0;
}
/* Stan dodany — heart filled */
.gk-pdp-v5__buy-wishlist .yith-wcwl-wishlistexistsbrowse a,
.gk-pdp-v5__buy-wishlist .yith-wcwl-add-button:has(.yith-wcwl-icon-svg [aria-pressed="true"]) {
	color: var(--gk-v5-primary) !important;
	border-color: var(--gk-v5-primary-light) !important;
	background: rgba(93,169,53,0.06);
}
.gk-pdp-v5__buy-wishlist .yith-wcwl-wishlistexistsbrowse a svg {
	fill: var(--gk-v5-primary) !important;
	stroke: var(--gk-v5-primary) !important;
}

.gk-pdp-v5__buy-payments {
	padding-top: 14px;
	border-top: 1px solid var(--gk-v5-border-soft);
	text-align: center;
}
.gk-pdp-v5__buy-payments p {
	margin: 0 0 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gk-v5-text-light);
}
.gk-pdp-v5__buy-payment-icons {
	display: inline-flex; gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}
.gk-pdp-v5__buy-payment-icons span {
	padding: 4px 10px;
	background: var(--gk-v5-cream);
	border: 1px solid var(--gk-v5-border);
	border-radius: 6px;
	font-family: 'Geist', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--gk-v5-text-muted);
}

