/* ==========================================================
   Karta produktu v2 (2026-11) - duża galeria + panel zakupowy
   ========================================================== */

/* sticky panel wymaga, by przodkowie nie przycinali zawartości */
.clear.product,
.product #content-wrapper,
.product-box.pv2 { overflow: visible; }
.container:has(.product-box.pv2) { overflow: clip; }

.product-box.pv2 {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	grid-column-gap: 48px;
	align-items: start;
	position: static;
	margin-top: 10px;
}
.pv2 *, .pv2 *:before, .pv2 *:after { box-sizing: border-box; }

/* ---------- Galeria ---------- */
.pv2-col-gallery { min-width: 0; }
.pv2-gallery { display: block; }
.pv2-gallery a.gallery-item {
	display: block;
	background: #f6f6f6;
	overflow: hidden;
	cursor: zoom-in;
}
.pv2-gallery a.gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	transition: transform .4s ease;
}
.pv2-gallery a.gallery-item:hover img { transform: scale(1.03); }
.pv2-gallery .pv2-main { margin-bottom: 12px; }
.pv2-gallery .pv2-main img { height: auto; max-height: 820px; object-fit: contain; }
.pv2-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 12px;
}
.pv2-grid .pv2-thumb { aspect-ratio: 1 / 1; }
.pv2-grid .pv2-thumb img { object-fit: cover; }
.pv2-grid .pv2-thumb:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 3 / 2; }
.pv2-gallery-counter { display: none; }

/* ---------- Panel zakupowy ---------- */
.pv2-col-panel { min-width: 0; align-self: stretch; }
.pv2-panel {
	position: -webkit-sticky;
	position: sticky;
	top: 20px;
	padding-bottom: 20px;
}
.product .pv2-panel h1 {
	font-size: 28px;
	line-height: 1.25;
	margin: 0 0 8px;
	padding: 0;
	text-align: left;
}
.pv2-stars { margin: 0 0 14px; min-height: 20px; }
.pv2-lead {
	font-size: 15px;
	line-height: 1.55;
	color: #4d4d4d;
	margin: 0 0 14px;
}
.pv2-lead .pv2-more { color: #000; text-decoration: underline; white-space: nowrap; }
.pv2-chips { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pv2-chips li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #f6f6f6;
	border: 1px solid #eaeaea;
	border-radius: 20px;
	padding: 6px 12px;
	font-size: 13px;
	line-height: 1.2;
	color: #4d4d4d;
}
.pv2-chips li img { width: 18px; height: 18px; }

.pv2-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 18px;
	border-top: 1px solid #eaeaea;
}
.pv2-price-now { font-size: 32px; line-height: 1.1; color: #000; font-family: "Slate W02 Bold", sans-serif; }
.pv2-price-now.is-promo { color: rgb(250, 84, 86); }
.pv2-price-old { font-size: 18px; color: #757575; text-decoration: line-through; }
.pv2-badge {
	align-self: center;
	background: rgb(250, 84, 86);
	color: #fff;
	font-size: 13px;
	padding: 3px 8px;
	border-radius: 4px;
}
.pv2-omnibus { display: block; margin-top: 6px; font-size: 12px; color: #757575; }

.pv2-availability { margin: 14px 0 0; font-size: 14px; display: flex; align-items: center; gap: 8px; }
.pv2-dot { width: 9px; height: 9px; border-radius: 50%; background: #c2c2c2; flex: 0 0 9px; }
.pv2-av-ok { color: #327d45; }
.pv2-av-ok .pv2-dot { background: #3d9b35; box-shadow: 0 0 0 3px rgba(61,155,53,.18); }
.pv2-av-warn { color: #b06d00; }
.pv2-av-warn .pv2-dot { background: #e69a00; }
.pv2-av-no { color: #757575; }
.pv2-availability-info { font-size: 13px; color: #4d4d4d; margin-top: 6px; }

.pv2-buy { margin: 18px 0 12px; }
.product .pv2 .add-to-basket.pv2-button,
.pv2-sticky-bar .pv2-button {
	display: block;
	width: 100%;
	height: 56px;
	line-height: 56px;
	padding: 0 20px;
	border: 0;
	border-radius: 6px;
	background-color: #008d1e;
	color: #fff;
	font-family: "Slate W02 Bold", sans-serif;
	font-size: 17px !important;
	letter-spacing: .04em;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-appearance: none;
	transition: background-color .2s ease;
}
.product .pv2 .add-to-basket.pv2-button:hover,
.pv2-sticky-bar .pv2-button:hover { background-color: #1b5849; }

.pv2-hot { padding: 0 0 6px; }

.pv2-benefits {
	list-style: none;
	margin: 14px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid #eaeaea;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 12px 16px;
}
.pv2-benefits li { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.35; margin: 0; padding: 0; }
.pv2-benefits li img { width: 26px; height: 26px; flex: 0 0 26px; }
.pv2-symbol { margin-top: 16px; font-size: 12px; color: #757575; }

/* ---------- Opis ---------- */
.pv2-col-full { grid-column: 1 / -1; min-width: 0; }
.pv2-description {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	grid-column-gap: 48px;
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid #eaeaea;
}
.pv2-description h2 {
	font-family: "Slate W02 Bk", sans-serif;
	font-size: 22px;
	line-height: 1.3;
	margin: 0 0 16px;
	font-weight: normal;
}
.pv2-description .product-description,
.pv2-description .product-description p {
	font-size: 16px;
	line-height: 1.7;
	max-width: 70ch;
}
.pv2-description .product-description p { margin: 0 0 14px; }
.pv2-meta { font-size: 13px; line-height: 1.6; color: #757575; margin: 10px 0 0; }
.pv2-meta a { color: #4d4d4d; }
.pv2-specs { width: 100%; border-collapse: collapse; font-size: 14px; }
.pv2-specs th, .pv2-specs td { padding: 11px 0; border-bottom: 1px solid #eaeaea; vertical-align: top; text-align: left; }
.pv2-specs th { font-weight: normal; color: #757575; width: 45%; padding-right: 12px; text-transform: capitalize; }
.pv2-specs td { color: #000; }
.pv2 .details-box-wrapper { margin-top: 30px; }

/* ---------- Mobilny pasek "Do koszyka" ---------- */
.pv2-sticky-bar { display: none; }

/* ---------- Tablet / mobile ---------- */
@media only screen and (max-width: 989px) {
	.product-box.pv2 { display: block; }
	.pv2-panel { position: static; padding-top: 16px; }
	.product .pv2-panel h1 { font-size: 22px; position: static; top: auto; width: auto; }
	.pv2-description { display: block; margin-top: 32px; padding-top: 24px; }
	.pv2-description-side { margin-top: 28px; }

	/* galeria jako slider */
	.pv2-col-gallery { position: relative; margin: 0 -15px; }
	.pv2-gallery {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 8px;
		padding: 0 15px;
		scrollbar-width: none;
	}
	.pv2-gallery::-webkit-scrollbar { display: none; }
	.pv2-grid { display: contents; }
	.pv2-gallery a.gallery-item,
	.pv2-gallery .pv2-main {
		flex: 0 0 88%;
		margin: 0;
		aspect-ratio: 1 / 1;
		scroll-snap-align: center;
	}
	.pv2-gallery .pv2-main img,
	.pv2-gallery a.gallery-item img { height: 100%; max-height: none; object-fit: cover; }
	.pv2-gallery a.gallery-item:hover img { transform: none; }
	.pv2-gallery-counter {
		display: block;
		position: absolute;
		right: 26px;
		bottom: 10px;
		background: rgba(0,0,0,.6);
		color: #fff;
		font-size: 12px;
		padding: 3px 9px;
		border-radius: 12px;
	}

	.pv2-sticky-bar {
		display: flex;
		align-items: center;
		gap: 12px;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 900;
		padding: 10px 15px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid #e1e1e1;
		box-shadow: 0 -4px 16px rgba(0,0,0,.06);
		transform: translateY(110%);
		transition: transform .25s ease;
	}
	.pv2-sticky-bar.is-visible { transform: translateY(0); }
	/* ikonka ustawień cookies nie może zasłaniać paska */
	body:has(.pv2-sticky-bar.is-visible) #moc-trigger { bottom: 80px !important; transition: bottom .25s ease; }
	.pv2-sticky-price { font-family: "Slate W02 Bold", sans-serif; font-size: 20px; white-space: nowrap; }
	.pv2-sticky-bar .pv2-button { height: 46px; line-height: 46px; font-size: 15px !important; }
}
@media only screen and (max-width: 479px) {
	.pv2-benefits { grid-template-columns: 1fr; }
	.pv2-price-now { font-size: 28px; }
}
