/**
 * Karta produktu WooCommerce (layout: product-page + prod-hero wg mockupu).
 *
 * @package miod-wstazka
 */

@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap");

/* Reset elementów domyślnego single product WC (motyw ma własny layout). */
.single-product .woocommerce-product-gallery,
.single-product .summary,
.single-product .woocommerce-tabs,
.single-product .related {
	display: none !important;
}

.btn--full {
	width: 100%;
	box-sizing: border-box;
}

/* ══ Layout 2 kolumny: galeria (sticky) | treść + zakup (.pmain) ══ */
.single-product .woocommerce-product-rating:not(.pmain .woocommerce-product-rating),
.single-product form.cart:not(.pmain form.cart),
.single-product .summary .price,
.single-product .product_meta,
.single-product .woocommerce-product-details__short-description {
	display: none !important;
}

body.single-product {
	background: #fff;
}

.single-product .product-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	min-height: calc(100vh - 72px);
	max-width: 1440px;
	margin: 0 auto;
	font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #2d2620;
	-webkit-font-smoothing: antialiased;
}

.single-product .product-layout__gallery {
	position: sticky;
	top: 72px;
	align-self: start;
	height: calc(100vh - 72px);
	max-height: calc(100vh - 72px);
	overflow: hidden;
	background: #f0ebe0;
}

.single-product .product-layout__gallery .product-images {
	height: 100%;
	min-height: 0;
}

/* Galeria (section-hero-image) */
.single-product .product-hero-image {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	position: relative;
}

.single-product .product-hero-image__main {
	flex: 1;
	min-height: 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.single-product .product-hero-image__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: #f0ebe0;
}

.single-product .product-hero-image__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(200, 152, 46, 0.35);
}

.single-product .product-hero-image__hc {
	position: absolute;
	inset: 0;
	opacity: 0.06;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='42'%3E%3Cpolygon points='18,2 34,10 34,32 18,40 2,32 2,10' fill='none' stroke='%23C8982E' stroke-width='0.5'/%3E%3C/svg%3E");
	background-size: 36px 42px;
}

.single-product .product-hero-image__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 3;
}

.single-product .product-hero-image__badge .badge {
	display: inline-block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 12px;
	border-radius: 20px;
}

.single-product .product-hero-image__badge .badge--honey {
	background: #c8982e;
	color: #fff;
}

.single-product .product-hero-image__badge .badge--dark {
	background: #1a1612;
	color: #e8c96a;
}

.single-product .product-hero-image__badge .badge--green {
	background: #4a7c59;
	color: #fff;
}

.single-product .product-hero-image__breadcrumbs {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: 1rem;
	z-index: 4;
	margin-top: 2.5rem;
	pointer-events: none;
}

.single-product .product-hero-image__breadcrumbs a,
.single-product .product-hero-image__breadcrumbs-list {
	pointer-events: auto;
}

.single-product .product-hero-image__breadcrumbs-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	color: rgba(45, 38, 32, 0.55);
}

.single-product .product-hero-image__breadcrumbs-list a {
	color: inherit;
	text-decoration: none;
}

.single-product .product-hero-image__breadcrumbs-list a:hover {
	color: #c8982e;
}

.single-product .product-hero-image__counter {
	position: absolute;
	bottom: 5.5rem;
	right: 1rem;
	font-size: 11px;
	font-weight: 600;
	color: #6b5d52;
	background: rgba(255, 255, 255, 0.85);
	padding: 4px 10px;
	border-radius: 20px;
	z-index: 3;
}

.single-product .product-hero-image__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 1px solid #ede4d4;
	background: rgba(255, 255, 255, 0.92);
	color: #1a1612;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s;
}

.single-product .product-hero-image__arrow:hover {
	background: #fff;
	color: #c8982e;
}

.single-product .product-hero-image__arrow--prev {
	left: 12px;
}

.single-product .product-hero-image__arrow--next {
	right: 12px;
}

.single-product .product-hero-image__thumbs {
	flex-shrink: 0;
	display: flex;
	gap: 8px;
	padding: 10px 12px;
	overflow-x: auto;
	background: rgba(250, 247, 240, 0.95);
	border-top: 1px solid #ede4d4;
	scrollbar-width: thin;
}

.single-product .product-hero-image__thumb {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	padding: 0;
	margin: 0;
	border: 2px solid transparent;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.55;
	transition: opacity 0.2s, border-color 0.2s;
	background: #edd8a0;
}

.single-product .product-hero-image__thumb.is-active,
.single-product .product-hero-image__thumb:hover {
	opacity: 1;
	border-color: #c8982e;
}

.single-product .product-hero-image__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single-product .product-layout__content {
	padding: 2.5rem 3rem 4rem;
	overflow-y: auto;
	border-left: 1px solid var(--color-border, #ede4d4);
	max-height: none;
}

/* Prawa kolumna */
.single-product .pmain {
	display: flex;
	flex-direction: column;
	gap: 0;
	max-width: 560px;
}

.single-product .pmain__top {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}

.single-product .pmain__cat {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #c8982e;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color 0.2s;
}

.single-product .pmain__cat::before {
	content: "";
	width: 20px;
	height: 1px;
	background: #c8982e;
	flex-shrink: 0;
}

.single-product .pmain__cat:hover {
	color: #8b6914;
}

.single-product .pmain__badge {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 12px;
	border-radius: 20px;
}

.single-product .pmain__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2rem, 3.5vw, 3rem);
	font-weight: 700;
	color: #1a1612;
	line-height: 1.1;
	margin: 0 0 8px;
}

.single-product .pmain__hook {
	font-size: 15px;
	color: #9b8e83;
	font-style: italic;
	line-height: 1.65;
	margin: 0 0 18px;
}

.single-product .pmain__proof {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 14px;
	background: #faf7f0;
	border: 1px solid #ede4d4;
	border-radius: 10px;
	margin-bottom: 0;
}

.single-product .pmain__rating {
	display: flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	color: inherit;
}

.single-product .pmain__stars {
	color: #c8982e;
	font-size: 12px;
	letter-spacing: 1px;
}

.single-product .pmain__rating-num {
	font-size: 12px;
	font-weight: 700;
	color: #1a1612;
}

.single-product .pmain__rating-cnt {
	font-size: 11px;
	color: #9b8e83;
}

.single-product .pmain__proof-sep {
	color: #d4c8b8;
	font-size: 14px;
}

.single-product .pmain__sold,
.single-product .pmain__viewers {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
}

.single-product .pmain__sold {
	font-weight: 600;
	color: #8b6914;
}

.single-product .pmain__sold svg {
	stroke: #c8982e;
}

.single-product .pmain__viewers {
	color: #9b8e83;
}

.single-product .pmain__viewers svg {
	stroke: #9b8e83;
}

.single-product .pmain__sep {
	height: 1px;
	background: #ede4d4;
	margin: 22px 0;
}

.single-product .pmain__price-block {
	margin-bottom: 14px;
}

.single-product .pmain__price,
.single-product .pmain__price-sale {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 6px;
}

.single-product .pmain__price {
	color: var(--color-honey-deep, #9a6d22);
}

.single-product .pmain__price-sale {
	color: #8b6914;
}

.single-product .pmain__price-reg {
	font-size: 1.1rem;
	color: #9b8e83;
	text-decoration: line-through;
	margin-bottom: 5px;
}

.single-product .pmain__price-saved {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: #4a7c59;
	background: rgba(74, 124, 89, 0.08);
	border: 1px solid rgba(74, 124, 89, 0.2);
	border-radius: 20px;
	padding: 3px 12px;
	margin-bottom: 8px;
}

.single-product .pmain__price-note {
	font-size: 12px;
	color: #9b8e83;
	line-height: 1.5;
	margin: 0;
}

.single-product .pmain__price-note strong {
	color: #1a1612;
}

.single-product .pmain__urgency {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: #fffdf4;
	border: 1px solid rgba(200, 152, 46, 0.2);
	border-radius: 10px;
	font-size: 13px;
	color: #1a1612;
	line-height: 1.4;
	margin-bottom: 10px;
}

.single-product .pmain__urgency--hot {
	background: #fff8f0;
	border-color: rgba(239, 68, 68, 0.15);
}

.single-product .pmain__urgency-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #c8982e;
	flex-shrink: 0;
	animation: pmain-pulse 2s ease-in-out infinite;
}

.single-product .pmain__urgency--hot .pmain__urgency-dot {
	background: #ef4444;
}

.single-product .pmain__urgency-time {
	margin-left: auto;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: #8b6914;
	font-size: 12px;
}

@keyframes pmain-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}

	50% {
		transform: scale(1.5);
		opacity: 0.5;
	}
}

.single-product .pmain__stock {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12.5px;
	color: #b45309;
	padding: 10px 14px;
	background: #fffbeb;
	border: 1px solid rgba(180, 83, 9, 0.15);
	border-radius: 10px;
	margin-bottom: 10px;
}

.single-product .pmain__stock svg {
	stroke: #b45309;
}

.single-product .pmain__stock strong {
	color: #92400e;
}

.single-product .pmain__stack {
	background: #faf7f0;
	border: 1px solid #ede4d4;
	border-radius: 14px;
	padding: 18px 20px;
	margin-bottom: 0;
	position: relative;
	overflow: hidden;
}

.single-product .pmain__stack::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32'%3E%3Cpolygon points='14,2 26,8 26,24 14,30 2,24 2,8' fill='none' stroke='%23C8982E' stroke-width='0.5'/%3E%3C/svg%3E");
	background-size: 28px 32px;
	opacity: 0.05;
	pointer-events: none;
}

.single-product .pmain__stack-label {
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #9b8e83;
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
}

.single-product .pmain__stack-label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(200, 152, 46, 0.3), transparent);
}

.single-product .pmain__stack-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
	border-bottom: 1px solid rgba(200, 152, 46, 0.08);
	position: relative;
}

.single-product .pmain__stack-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.single-product .pmain__stack-img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #ede4d4;
}

.single-product .pmain__stack-img img {
	width: 40px;
	height: 40px;
	object-fit: cover;
}

.single-product .pmain__stack-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(200, 152, 46, 0.1);
	border: 1px solid rgba(200, 152, 46, 0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.single-product .pmain__stack-body {
	flex: 1;
	min-width: 0;
}

.single-product .pmain__stack-name {
	font-size: 13px;
	font-weight: 600;
	color: #1a1612;
	display: block;
}

.single-product .pmain__stack-desc {
	font-size: 11px;
	color: #9b8e83;
	display: block;
}

.single-product .pmain__stack-qty {
	font-size: 12px;
	font-weight: 700;
	color: #c8982e;
	white-space: nowrap;
	flex-shrink: 0;
}

.single-product .pmain__qty-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.single-product .pmain__qty-label {
	font-size: 13px;
	font-weight: 600;
	color: #1a1612;
	flex-shrink: 0;
}

.single-product .pmain__qty-ctrl {
	display: flex;
	align-items: center;
	height: 46px;
	border: 1.5px solid #ede4d4;
	border-radius: 12px;
	overflow: hidden;
	flex: 1;
	max-width: 160px;
}

.single-product .pmain__qty-btn {
	width: 46px;
	height: 46px;
	background: #faf7f0;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1a1612;
	flex-shrink: 0;
	transition: background 0.15s, color 0.15s;
}

.single-product .pmain__qty-btn:hover {
	background: #faeeda;
	color: #8b6914;
}

.single-product .pmain__qty-input {
	flex: 1;
	height: 46px;
	text-align: center;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: #1a1612;
	border: none;
	outline: none;
	background: #fff;
	-moz-appearance: textfield;
}

.single-product .pmain__qty-input::-webkit-outer-spin-button,
.single-product .pmain__qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single-product .pmain__atc {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 17px 24px;
	min-height: 56px;
	background: #1a1612;
	color: #fff;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	border: none;
	border-radius: 14px;
	cursor: pointer;
	margin-bottom: 10px;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
	position: relative;
	overflow: hidden;
}

.single-product .pmain__atc:hover {
	background: #2d2318;
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(26, 22, 18, 0.2);
}

.single-product .pmain__atc:disabled {
	transform: none;
	cursor: default;
	opacity: 0.95;
}

.single-product .pmain__atc.is-done {
	background: #4a7c59 !important;
}

.single-product .pmain__atc-state {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.single-product .pmain__atc-state svg {
	stroke: currentColor;
	flex-shrink: 0;
}

.single-product .pmain__atc-price {
	font-size: 13px;
	font-weight: 400;
	opacity: 0.75;
}

.single-product .pmain__spinner {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.25);
	border-top-color: #fff;
	border-radius: 50%;
	animation: pmain-spin 0.7s linear infinite;
	flex-shrink: 0;
}

@keyframes pmain-spin {
	to {
		transform: rotate(360deg);
	}
}

.single-product .pmain__b2b {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 14px 24px;
	background: #fff;
	color: #1a1612;
	font-family: "DM Sans", sans-serif;
	font-size: 13px;
	font-weight: 600;
	border: 1.5px solid #ede4d4;
	border-radius: 14px;
	text-decoration: none;
	margin-bottom: 18px;
	transition: border-color 0.2s, color 0.2s;
}

.single-product .pmain__b2b:hover {
	border-color: #c8982e;
	color: #8b6914;
}

.single-product .pmain__b2b svg {
	stroke: currentColor;
}

.single-product .pmain__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.single-product .pmain__feature {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	color: #6b5d52;
	padding: 9px 12px;
	background: #faf7f0;
	border: 1px solid #ede4d4;
	border-radius: 8px;
}

.single-product .pmain__feature svg {
	stroke: #c8982e;
	flex-shrink: 0;
}

.single-product .pmain__wc {
	margin-bottom: 12px;
}

.single-product .pmain__wc .woocommerce-variation-add-to-cart,
.single-product .pmain__wc form.cart {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.single-product .pmain__wc form.cart .single_add_to_cart_button {
	width: 100%;
	padding: 16px;
	font-weight: 700;
	border-radius: 14px;
}

.single-product .pmain__unavailable {
	padding: 14px;
	background: #faf7f0;
	border: 1px solid #ede4d4;
	border-radius: 12px;
	font-size: 13px;
	color: #6b5d52;
	margin-bottom: 12px;
}

/* Popup */
.single-product .pmain-popup {
	position: fixed;
	top: 92px;
	right: 24px;
	z-index: 99999;
	width: 320px;
	max-width: calc(100vw - 32px);
	opacity: 0;
	transform: translateX(110%);
	transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.34, 1.1, 0.64, 1);
	pointer-events: none;
}

.single-product .pmain-popup.is-visible {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}

.single-product .pmain-popup__inner {
	background: #fff;
	border: 1px solid #ede4d4;
	border-radius: 16px;
	padding: 18px 20px;
	box-shadow: 0 20px 60px rgba(26, 22, 18, 0.16);
	position: relative;
	overflow: hidden;
}

.single-product .pmain-popup__line {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, #c8982e, transparent);
}

.single-product .pmain-popup__row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.single-product .pmain-popup__check {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(74, 124, 89, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.single-product .pmain-popup__check svg {
	stroke: #4a7c59;
}

.single-product .pmain-popup__title {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #1a1612;
	margin-bottom: 2px;
}

.single-product .pmain-popup__sub {
	font-size: 11.5px;
	color: #9b8e83;
	display: block;
}

.single-product .pmain-popup__btns {
	display: flex;
	gap: 8px;
}

.single-product .pmain-popup__primary,
.single-product .pmain-popup__ghost {
	flex: 1;
	padding: 10px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	font-family: "DM Sans", sans-serif;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	display: block;
	border: none;
	transition: all 0.2s;
}

.single-product .pmain-popup__primary {
	background: #1a1612;
	color: #fff;
}

.single-product .pmain-popup__primary:hover {
	background: #c8982e;
	color: #1a1612;
}

.single-product .pmain-popup__ghost {
	background: transparent;
	color: #9b8e83;
	border: 1.5px solid #ede4d4;
}

.single-product .pmain-popup__ghost:hover {
	border-color: #1a1612;
	color: #1a1612;
}

@media (max-width: 1024px) {
	.single-product .product-layout {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.single-product .product-layout__gallery {
		position: relative;
		top: auto;
		height: min(70vh, 520px);
		max-height: none;
	}

	.single-product .product-layout__content {
		border-left: none;
		border-top: 1px solid var(--color-border, #ede4d4);
		padding: 2rem 1.5rem 3rem;
	}

	.single-product .pmain {
		max-width: none;
	}

	.single-product .pmain-popup {
		top: auto;
		bottom: 20px;
		right: 16px;
		left: 16px;
		width: auto;
		max-width: none;
	}
}

@media (max-width: 640px) {
	.single-product .pmain__features {
		grid-template-columns: 1fr;
	}
}
/* ══ Sekcja brązowa (jak mockup) ══ */
.single-product .brown-section {
	background: linear-gradient(160deg, #2d1f0e 0%, #3d2a12 40%, #2a1a08 100%);
	margin-top: 0;
	padding: 4rem clamp(1rem, 4vw, 3rem);
	position: relative;
	overflow: hidden;
}

.single-product .brown-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='69'%3E%3Cpolygon points='30,2 58,17 58,52 30,67 2,52 2,17' fill='none' stroke='%23C8982E' stroke-width='0.8'/%3E%3C/svg%3E");
	background-size: 60px 69px;
	opacity: 0.07;
	pointer-events: none;
}

.single-product .brown-section__line {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, #c8982e 30%, #e8c96a 50%, #c8982e 70%, transparent);
}

.single-product .bee-deco {
	position: absolute;
	right: 5%;
	top: 15%;
	opacity: 0.15;
	animation: miod-bee-float 6s ease-in-out infinite;
}

.single-product .drop-deco {
	position: absolute;
	left: 3%;
	bottom: 20%;
	opacity: 0.12;
}

.single-product .hex-deco-right {
	position: absolute;
	right: -40px;
	bottom: -30px;
	width: 180px;
	height: 180px;
	opacity: 0.06;
	pointer-events: none;
}

@keyframes miod-bee-float {
	0%,
	100% {
		transform: translateY(0) rotate(-8deg);
	}

	50% {
		transform: translateY(-12px) rotate(8deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product .bee-deco {
		animation: none;
	}
}

.single-product .brown-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 3rem;
	align-items: center;
	position: relative;
	z-index: 1;
}

@media (max-width: 900px) {
	.single-product .brown-inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

.single-product .brown-eyebrow {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #c8982e;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	gap: 8px;
}

.single-product .brown-eyebrow::before {
	content: "";
	width: 20px;
	height: 1px;
	background: #c8982e;
}

.single-product .brown-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.75rem, 4vw, 2.4rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.1;
	margin: 0 0 1rem;
}

.single-product .brown-title em {
	color: #e8c96a;
	font-style: italic;
}

.single-product .brown-desc {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.45);
	line-height: 1.75;
	margin-bottom: 1.5rem;
	max-width: 280px;
}

.single-product .brown-stats {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.single-product .brown-stat {
	display: flex;
	align-items: center;
	gap: 12px;
	background: rgba(200, 152, 46, 0.08);
	border: 1px solid rgba(200, 152, 46, 0.15);
	border-radius: 10px;
	padding: 12px 16px;
}

.single-product .brown-stat__num {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.4rem;
	font-weight: 700;
	color: #e8c96a;
	min-width: 56px;
}

.single-product .brown-stat__label {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.45);
	line-height: 1.4;
}

.single-product .brown-usps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}

@media (max-width: 768px) {
	.single-product .brown-usps {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.single-product .brown-usps {
		grid-template-columns: 1fr;
	}
}

.single-product .brown-usp {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(200, 152, 46, 0.15);
	border-radius: 14px;
	padding: 1.5rem 1.25rem;
	text-align: center;
	transition: background 0.3s, border-color 0.3s, transform 0.3s;
	position: relative;
	overflow: hidden;
}

.single-product .brown-usp:hover {
	background: rgba(200, 152, 46, 0.08);
	border-color: rgba(200, 152, 46, 0.3);
	transform: translateY(-3px);
}

.single-product .brown-usp::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, #c8982e, transparent);
	opacity: 0;
	transition: opacity 0.3s;
}

.single-product .brown-usp:hover::before {
	opacity: 1;
}

.single-product .brown-usp__icon {
	width: 48px;
	height: 48px;
	margin: 0 auto 1rem;
	background: rgba(200, 152, 46, 0.12);
	border: 1px solid rgba(200, 152, 46, 0.2);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-product .brown-usp__icon svg {
	stroke: #c8982e;
	width: 22px;
	height: 22px;
}

.single-product .brown-usp__title {
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 6px;
	line-height: 1.3;
}

.single-product .brown-usp__desc {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.38);
	line-height: 1.55;
}

/* ══ Zawartość zestawu (jak mockup: contents-section) ══ */
/*
 * home.css ładuje się na is_product() (karuzela crosssell). Tam .animate-in ma opacity:0
 * do czasu .is-visible — karty zawartości muszą być widoczne od razu.
 */
.single-product .contents-section .animate-in,
.single-product .product-ingredients .animate-in,
.single-product .product-why .animate-in {
	opacity: 1;
	transform: none;
	transition: none;
}

.single-product .contents-section {
	background: #1a1612;
	padding: 2.25rem clamp(1rem, 4vw, 3rem) 3rem;
	position: relative;
	overflow: hidden;
	margin-top: 2rem;
}

.single-product .contents-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='69'%3E%3Cpolygon points='30,2 58,17 58,52 30,67 2,52 2,17' fill='none' stroke='%23C8982E' stroke-width='0.8'/%3E%3C/svg%3E");
	background-size: 60px 69px;
	opacity: 0.05;
	pointer-events: none;
}

.single-product .contents-inner {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.single-product .contents-header {
	text-align: center;
	margin-bottom: 1.25rem;
}

.single-product .c-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #c8982e;
	margin: 0 0 10px;
}

.single-product .c-eyebrow::before,
.single-product .c-eyebrow::after {
	content: "";
	width: 36px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #c8982e);
}

.single-product .c-eyebrow::after {
	background: linear-gradient(90deg, #c8982e, transparent);
}

.single-product .c-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.5rem, 3vw, 1.9rem);
	font-weight: 700;
	color: #fff;
	margin: 0;
}

/* Sekcja SEO — wyśrodkowana, dekoracje pszczoła + plaster (jak prezentacja zestawu) */
.single-product .product-seo {
	position: relative;
	overflow: hidden;
	text-align: center;
	background: linear-gradient(180deg, #fdfaf6 0%, #f9f6f0 45%, #f6f2ea 100%);
	border-top: 1px solid rgba(200, 152, 46, 0.22);
	border-bottom: 1px solid rgba(200, 152, 46, 0.16);
	padding: clamp(2.5rem, 6vw, 3.75rem) clamp(1rem, 4vw, 2rem);
}

.single-product .product-seo::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='69'%3E%3Cpolygon points='30,2 58,17 58,52 30,67 2,52 2,17' fill='none' stroke='%23C8982E' stroke-width='0.55'/%3E%3C/svg%3E");
	background-size: 56px 64px;
	opacity: 0.045;
	pointer-events: none;
}

.single-product .product-seo__hive {
	position: absolute;
	width: min(38vw, 180px);
	height: min(44vw, 210px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='60'%3E%3Cpolygon points='26,1 50,15 50,45 26,59 2,45 2,15' fill='none' stroke='%23C8982E' stroke-width='0.55'/%3E%3C/svg%3E");
	background-size: 52px 60px;
	opacity: 0.11;
	pointer-events: none;
	z-index: 0;
}

.single-product .product-seo__hive--tl {
	top: -10px;
	left: -6px;
	mask-image: radial-gradient(ellipse 88% 78% at 0% 0%, #000 52%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 88% 78% at 0% 0%, #000 52%, transparent 70%);
}

.single-product .product-seo__hive--br {
	right: -6px;
	bottom: -10px;
	transform: rotate(180deg);
	mask-image: radial-gradient(ellipse 88% 78% at 0% 0%, #000 52%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 88% 78% at 0% 0%, #000 52%, transparent 70%);
}

.single-product .product-seo__bee {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	opacity: 0.2;
	animation: miod-bee-float 8s ease-in-out infinite;
}

.single-product .product-seo__bee--tr {
	right: clamp(2%, 6vw, 8%);
	top: 18%;
	animation-delay: -2s;
}

.single-product .product-seo__bee--bl {
	left: clamp(2%, 5vw, 7%);
	bottom: 26%;
	width: 44px;
	height: 44px;
	animation-delay: -4s;
}

@media (prefers-reduced-motion: reduce) {
	.single-product .product-seo__bee {
		animation: none;
	}
}

@media (max-width: 600px) {
	.single-product .product-seo__bee--bl {
		opacity: 0.12;
	}
}

.single-product .product-seo__inner {
	position: relative;
	z-index: 1;
	max-width: 38rem;
	margin: 0 auto;
}

.single-product .product-seo__eyebrow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	width: 100%;
	max-width: 28rem;
	margin: 0 auto 1.1rem;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: #c8982e;
	line-height: 1.3;
}

.single-product .product-seo__eyebrow::before,
.single-product .product-seo__eyebrow::after {
	content: "";
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(200, 152, 46, 0.85));
}

.single-product .product-seo__eyebrow::after {
	background: linear-gradient(90deg, rgba(200, 152, 46, 0.85), transparent);
}

.single-product .product-seo__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.75rem, 3.6vw, 2.35rem);
	font-weight: 700;
	color: #1a1612;
	line-height: 1.18;
	margin: 0 0 0.65rem;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.single-product .product-seo__subtitle {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1rem, 2.1vw, 1.2rem);
	font-weight: 500;
	font-style: italic;
	color: #b07a28;
	line-height: 1.5;
	margin: 0 auto 1.35rem;
	max-width: 36rem;
	text-wrap: balance;
}

.single-product .product-seo__ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 auto 1.5rem;
	max-width: 20rem;
}

.single-product .product-seo__ornament-line {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(200, 152, 46, 0.45), transparent);
}

.single-product .product-seo__ornament-hex {
	display: block;
	width: 22px;
	height: 25px;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='25'%3E%3Cpolygon points='11,1 21,7 21,18 11,24 1,18 1,7' fill='none' stroke='%23C8982E' stroke-width='1'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.85;
}

.single-product .product-seo__body {
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.78;
	color: #4a433a;
	text-align: center;
}

.single-product .product-seo__body > *:first-child {
	margin-top: 0;
}

.single-product .product-seo__body > *:last-child {
	margin-bottom: 0;
}

.single-product .product-seo__body p {
	margin: 0 auto 0.9em;
	max-width: 40rem;
}

.single-product .product-seo__body ul,
.single-product .product-seo__body ol {
	display: inline-block;
	text-align: left;
	margin: 0.5em auto 1em;
	padding-left: 1.25em;
	max-width: 32rem;
}

/* Statyczny komunikat (tylko admin, brak składników) */
.single-product .contents-grid--static {
	display: block;
	max-width: 720px;
	margin-inline: auto;
}

/* Karuzela zawartości — te same klasy co bestsellery (.bs-hive-carousel) + dopinki */
.single-product .contents-hive-carousel {
	margin-top: 0.25rem;
	padding-inline: 14px;
	box-sizing: border-box;
}

.single-product .contents-hive-carousel + .bs-hive-carousel__dots {
	margin-top: var(--space-5, 1.25rem);
	margin-bottom: 0;
}

/* Szerokość viewportu karuzeli + padding pod obwódkę — globalnie w home.css (.bs-hive-carousel__viewport) */
.single-product .contents-section .bs-hive-carousel__viewport {
	padding-block: 18px 20px;
}

/* Tył heksa — większy padding u góry, większa typografia */
.single-product .contents-section .bs-hex__back-inner {
	padding: clamp(28px, 16%, 52px) 10% clamp(16px, 11%, 34px) !important;
	gap: 8px !important;
	justify-content: flex-start !important;
}

.single-product .contents-section .bs-hex__back-head {
	flex-shrink: 0;
	margin-bottom: 6px;
	padding-top: 8px;
	max-width: 100%;
}

.single-product .contents-section .bs-hex__back-tag {
	font-size: 9px !important;
	letter-spacing: 1.4px !important;
}

.single-product .contents-section .bs-hex__back-name {
	font-size: 13px !important;
	line-height: 1.28 !important;
	margin: 0 !important;
	max-height: 4.5em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	word-break: break-word;
	hyphens: auto;
}

.single-product .contents-section .bs-hex--featured .bs-hex__back-name {
	font-size: 14px !important;
}

.single-product .contents-section .bs-hex__back-line {
	top: 33% !important;
}

.single-product .contents-section .contents-hex__back-desc-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(200, 152, 46, 0.92);
	margin: 0 0 4px;
	flex-shrink: 0;
}

.single-product .contents-section .bs-hex__back-hook.contents-hex__back-hook--desc {
	display: block !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	align-items: unset !important;
	justify-content: unset !important;
	font-style: normal !important;
	font-size: 13px !important;
	line-height: 1.58 !important;
	color: rgba(255, 255, 255, 0.62) !important;
	text-align: center !important;
	margin: 0 !important;
	padding: 0 4px 6px !important;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	max-height: 40%;
}

.single-product .contents-section .contents-hex__back-hook--fallback {
	color: rgba(255, 255, 255, 0.5) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.single-product .contents-section .contents-hex__back-meta {
	font-size: 11px;
	font-weight: 600;
	color: rgba(200, 152, 46, 0.88);
	margin: 8px 0 0;
	text-align: center;
	flex-shrink: 0;
}

.single-product .contents-section .bs-hex__img--empty {
	background-image: linear-gradient(160deg, #3d2a12, #5a3c18);
}

.single-product .contents-section .contents-hex__icon {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(232, 201, 106, 0.42);
	pointer-events: none;
}

.single-product .contents-section .bs-hex__name {
	text-decoration: none;
	cursor: default;
}

.single-product .contents-admin-empty {
	text-align: center;
	padding: 2rem 1.5rem;
	border-radius: 14px;
	border: 1px dashed rgba(200, 152, 46, 0.45);
	background: rgba(255, 255, 255, 0.06);
	color: rgba(255, 255, 255, 0.75);
	font-size: 13px;
	line-height: 1.6;
}

.single-product .contents-admin-empty p {
	margin: 0;
}

/* ══ Prezentacja zestawu (packaging-section) ══ */
.single-product .packaging-section {
	background: #faf7f0;
	padding: 3.5rem clamp(1rem, 4vw, 3rem);
	position: relative;
	overflow: hidden;
}

.single-product .packaging-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='69'%3E%3Cpolygon points='30,2 58,17 58,52 30,67 2,52 2,17' fill='none' stroke='%23C8982E' stroke-width='0.6'/%3E%3C/svg%3E");
	background-size: 60px 69px;
	opacity: 0.04;
	pointer-events: none;
}

/* Plastry w rogach sekcji */
.single-product .pack-hive-corner {
	position: absolute;
	width: min(42vw, 200px);
	height: min(48vw, 230px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='60'%3E%3Cpolygon points='26,1 50,15 50,45 26,59 2,45 2,15' fill='none' stroke='%23C8982E' stroke-width='0.55'/%3E%3C/svg%3E");
	background-size: 52px 60px;
	opacity: 0.1;
	pointer-events: none;
	z-index: 0;
}

.single-product .pack-hive-corner--tl {
	top: -12px;
	left: -8px;
	mask-image: radial-gradient(ellipse 90% 80% at 0% 0%, #000 55%, transparent 72%);
	-webkit-mask-image: radial-gradient(ellipse 90% 80% at 0% 0%, #000 55%, transparent 72%);
}

.single-product .pack-hive-corner--br {
	right: -8px;
	bottom: -12px;
	transform: rotate(180deg);
	mask-image: radial-gradient(ellipse 90% 80% at 0% 0%, #000 55%, transparent 72%);
	-webkit-mask-image: radial-gradient(ellipse 90% 80% at 0% 0%, #000 55%, transparent 72%);
}

/* Pszczoły dekoracyjne */
.single-product .pack-bee {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	opacity: 0.22;
	animation: miod-bee-float 7s ease-in-out infinite;
}

.single-product .pack-bee--tr {
	right: clamp(4%, 8vw, 10%);
	top: 14%;
	animation-delay: -1.5s;
}

.single-product .pack-bee--bl {
	left: clamp(3%, 6vw, 8%);
	bottom: 22%;
	width: 44px;
	height: 44px;
	animation-delay: -3s;
}

@media (prefers-reduced-motion: reduce) {
	.single-product .pack-bee {
		animation: none;
	}
}

.single-product .packaging-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
	position: relative;
	z-index: 1;
	font-family: "DM Sans", system-ui, sans-serif;
}

@media (max-width: 900px) {
	.single-product .packaging-inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

.single-product .pack-imgs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.single-product .pack-img {
	border-radius: 12px;
	overflow: hidden;
	background: linear-gradient(160deg, #edd8a0, #c89840);
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.single-product .pack-img--hero {
	grid-column: span 2;
	aspect-ratio: 2 / 1;
}

.single-product .pack-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single-product .pack-img--placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.single-product .pack-img--placeholder svg {
	stroke: currentColor;
}

.single-product .pack-eyebrow {
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #c8982e;
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.single-product .pack-eyebrow::before {
	content: "";
	width: 18px;
	height: 1px;
	background: #c8982e;
}

.single-product .pack-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.35rem, 2.5vw, 1.7rem);
	font-weight: 700;
	color: #1a1612;
	line-height: 1.15;
	margin: 0 0 10px;
}

.single-product .pack-title em {
	color: #c8982e;
	font-style: italic;
}

.single-product .pack-desc {
	font-size: 13px;
	color: #6b5d52;
	line-height: 1.75;
	margin: 0 0 1.5rem;
}

.single-product .pack-features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.single-product .pack-feat {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: #2d2620;
}

.single-product .pack-feat svg {
	stroke: #c8982e;
	width: 14px;
	height: 14px;
	flex-shrink: 0;
}

/* === Reviews (karta produktu) === */
/* Pełna szerokość tła — treść w wąskim rzędzie (bez białych pasków po bokach) */
.single-product .rev {
	max-width: none;
	width: 100%;
	margin: 0;
	padding-block: 4rem 5rem;
	padding-inline: 0;
	position: relative;
	overflow: hidden;
	background: var(--color-cream, #faf7f0);
	border-top: 1px solid var(--color-border, #ede4d4);
	box-sizing: border-box;
}

.single-product .rev > * {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 3rem);
	padding-right: clamp(1rem, 4vw, 3rem);
	box-sizing: border-box;
}

.single-product .rev__eyebrow {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #c8982e;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
}

.single-product .rev__eyebrow svg {
	stroke: #c8982e;
	flex-shrink: 0;
}

.single-product .rev__eyebrow::before {
	content: "";
	width: 20px;
	height: 1px;
	background: #c8982e;
}

.single-product .rev__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 3rem;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.single-product .rev__head-left {
	flex: 1;
	min-width: 200px;
}

.single-product .rev__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(1.65rem, 3vw, 2.2rem);
	font-weight: 700;
	color: #1a1612;
	margin: 0 0 6px;
	line-height: 1.15;
}

.single-product .rev__sub {
	font-size: 14px;
	color: #9b8e83;
	line-height: 1.6;
	margin: 0;
}

.single-product .rev__summary {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	background: #fff;
	border: 1px solid #ede4d4;
	border-radius: 18px;
	padding: 1.5rem 2rem;
	flex-shrink: 0;
}

.single-product .rev__score {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 700;
	color: #c8982e;
	line-height: 1;
}

.single-product .rev__stars-lg {
	font-size: 18px;
	letter-spacing: 2px;
	margin-bottom: 4px;
}

.single-product .rev__stars-lg .star {
	color: #ede4d4;
}

.single-product .rev__stars-lg .star.on {
	color: #c8982e;
}

.single-product .rev__score-cnt {
	font-size: 12px;
	color: #9b8e83;
	margin-bottom: 10px;
}

.single-product .rev__bars {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 160px;
}

.single-product .rev__bar-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
}

.single-product .rev__bar-lbl {
	color: #6b5d52;
	font-weight: 600;
	width: 10px;
	text-align: right;
	flex-shrink: 0;
}

.single-product .rev__bar-star {
	color: #c8982e;
	font-size: 10px;
	flex-shrink: 0;
}

.single-product .rev__bar-track {
	flex: 1;
	height: 5px;
	background: #ede4d4;
	border-radius: 3px;
	overflow: hidden;
}

.single-product .rev__bar-fill {
	height: 100%;
	background: #c8982e;
	border-radius: 3px;
	transition: width 0.8s ease;
}

.single-product .rev__bar-pct {
	color: #9b8e83;
	width: 32px;
	text-align: right;
	flex-shrink: 0;
	font-size: 10px;
}

.single-product .rev__divider {
	height: 1px;
	background: linear-gradient(90deg, #c8982e, rgba(200, 152, 46, 0.2) 50%, transparent);
	margin: 2.5rem 0;
}

.single-product .rev__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
	margin-bottom: 2rem;
}

@media (max-width: 1024px) {
	.single-product .rev__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.single-product .rev__grid {
		grid-template-columns: 1fr;
	}

	.single-product .rev {
		padding-block: 3rem 4rem;
	}

	.single-product .rev > * {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	/* Nagłówek sekcji opinii — wyśrodkowany na telefonie */
	.single-product .rev__head {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 1.5rem;
	}

	.single-product .rev__head-left {
		width: 100%;
		min-width: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.single-product .rev__eyebrow {
		justify-content: center;
	}

	.single-product .rev__eyebrow::after {
		content: "";
		width: 20px;
		height: 1px;
		background: #c8982e;
		flex-shrink: 0;
	}

	.single-product .rev__title,
	.single-product .rev__sub {
		text-align: center;
		max-width: 22rem;
	}

	.single-product .rev__summary {
		width: 100%;
		max-width: 100%;
		justify-content: center;
		flex-wrap: wrap;
	}
}

.single-product .rev__card {
	background: #fff;
	border: 1px solid #ede4d4;
	border-radius: 16px;
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: border-color 0.2s, transform 0.2s;
	position: relative;
	overflow: hidden;
}

.single-product .rev__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, #c8982e, transparent);
	opacity: 0;
	transition: opacity 0.2s;
}

.single-product .rev__card:hover {
	border-color: rgba(200, 152, 46, 0.35);
	transform: translateY(-2px);
}

.single-product .rev__card:hover::before {
	opacity: 1;
}

.single-product .rev__card--hidden {
	display: none;
}

.single-product .rev__card-top {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.single-product .rev__avatar {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(135deg, #c8982e, #e8c96a);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: "Playfair Display", Georgia, serif;
}

.single-product .rev__card-meta {
	flex: 1;
	min-width: 0;
}

.single-product .rev__card-name {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #1a1612;
}

.single-product .rev__card-date {
	display: block;
	font-size: 11px;
	color: #9b8e83;
}

.single-product .rev__verified {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 10px;
	font-weight: 600;
	color: #4a7c59;
	flex-shrink: 0;
	margin-left: auto;
}

.single-product .rev__verified svg {
	stroke: #4a7c59;
}

.single-product .rev__card-stars {
	color: #c8982e;
	font-size: 14px;
	letter-spacing: 1.5px;
}

.single-product .rev__card-text {
	font-size: 13.5px;
	color: #4a3c32;
	line-height: 1.7;
	flex: 1;
	margin: 0;
}

.single-product .rev__card-foot {
	border-top: 1px solid rgba(200, 152, 46, 0.08);
	padding-top: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.single-product .rev__card-product {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: #9b8e83;
}

.single-product .rev__card-product svg {
	stroke: #9b8e83;
	flex-shrink: 0;
}

.single-product .rev__more-wrap {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
}

.single-product .rev__more {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 13px 32px;
	background: #fff;
	color: #1a1612;
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	border: 1.5px solid #ede4d4;
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s;
}

.single-product .rev__more:hover {
	border-color: #c8982e;
	color: #c8982e;
}

.single-product .rev__more svg {
	stroke: currentcolor;
	flex-shrink: 0;
}

.single-product .rev__pagination {
	margin: 0 0 2rem;
}

.single-product .rev__empty {
	text-align: center;
	padding: 3.5rem 2rem;
	background: #faf7f0;
	border: 1px dashed rgba(200, 152, 46, 0.35);
	border-radius: 18px;
	margin-bottom: 2.5rem;
}

.single-product .rev__empty-star {
	margin-bottom: 1.25rem;
	animation: miod-rev-star-pulse 3s ease-in-out infinite;
}

@keyframes miod-rev-star-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 0.6;
	}

	50% {
		transform: scale(1.08);
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product .rev__empty-star {
		animation: none;
	}
}

.single-product .rev__empty-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.75rem;
	font-weight: 700;
	color: #1a1612;
	margin: 0 0 10px;
}

.single-product .rev__empty-text {
	font-size: 14px;
	color: #9b8e83;
	line-height: 1.7;
	max-width: 420px;
	margin: 0 auto;
}

.single-product .rev__form-wrap {
	background: #1a1612;
	border-radius: 20px;
	padding: 2.5rem 3rem;
	position: relative;
	overflow: hidden;
}

.single-product .rev__form-wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='55'%3E%3Cpolygon points='24,2 46,14 46,41 24,53 2,41 2,14' fill='none' stroke='%23C8982E' stroke-width='0.6'/%3E%3C/svg%3E");
	background-size: 48px 55px;
	opacity: 0.06;
	pointer-events: none;
}

.single-product .rev__form-head {
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
}

.single-product .rev__form-head .rev__eyebrow {
	color: #c8982e;
	margin-bottom: 8px;
}

.single-product .rev__form-head .rev__eyebrow::before {
	background: #c8982e;
}

.single-product .rev__form-title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.75rem;
	font-weight: 700;
	color: #fff;
	margin: 0;
}

.single-product .rev__form-wrap .comment-form {
	position: relative;
	z-index: 1;
}

.single-product .rev__form-wrap .comment-form p {
	margin-bottom: 1rem;
}

.single-product .rev__form-wrap .comment-form label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.6);
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.single-product .rev__form-wrap .comment-form input[type="text"],
.single-product .rev__form-wrap .comment-form input[type="email"],
.single-product .rev__form-wrap .comment-form textarea {
	width: 100%;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	color: #fff;
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 14px;
	outline: none;
	transition: border-color 0.2s, background 0.2s;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.single-product .rev__form-wrap .comment-form input:focus,
.single-product .rev__form-wrap .comment-form textarea:focus {
	border-color: rgba(200, 152, 46, 0.5);
	background: rgba(255, 255, 255, 0.09);
}

.single-product .rev__form-wrap .comment-form textarea {
	min-height: 100px;
	resize: vertical;
}

/* Select oceny ukrywany przez JS Woo (display:none) — zostaje p.stars z ikonami czcionki WooCommerce */
.single-product .rev__form-wrap .comment-form-rating select#rating {
	display: none !important;
}

/* Gwiazdki jak w WooCommerce (wtyczka nie ładuje woocommerce.css — font doklejany w enqueue.php) */
.single-product .rev__form-wrap p.stars,
.single-product #reviews p.stars {
	display: inline-block;
	margin: 0 0 1rem;
	line-height: 1;
}

.single-product .rev__form-wrap p.stars span,
.single-product #reviews p.stars span {
	display: inline;
}

.single-product .rev__form-wrap p.stars a,
.single-product #reviews p.stars a {
	position: relative;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 2px;
	text-indent: -999em;
	overflow: hidden;
	text-decoration: none;
	font-size: 26px;
	line-height: 1;
	vertical-align: middle;
	border: 0;
	box-shadow: none;
}

.single-product .rev__form-wrap p.stars a::before,
.single-product #reviews p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: WooCommerce, sans-serif;
	content: "\e021";
	text-indent: 0;
	color: rgba(255, 255, 255, 0.28);
}

.single-product .rev__form-wrap p.stars a:hover ~ a::before,
.single-product #reviews p.stars a:hover ~ a::before {
	content: "\e021";
	color: rgba(255, 255, 255, 0.28);
}

.single-product .rev__form-wrap p.stars:hover a::before,
.single-product #reviews p.stars:hover a::before {
	content: "\e020";
	color: #c8982e;
}

.single-product .rev__form-wrap p.stars.selected a.active::before,
.single-product #reviews p.stars.selected a.active::before {
	content: "\e020";
	color: #e8c96a;
}

.single-product .rev__form-wrap p.stars.selected a.active ~ a::before,
.single-product #reviews p.stars.selected a.active ~ a::before {
	content: "\e021";
	color: rgba(255, 255, 255, 0.28);
}

.single-product .rev__form-wrap p.stars.selected a:not(.active)::before,
.single-product #reviews p.stars.selected a:not(.active)::before {
	content: "\e020";
	color: #c8982e;
}

.single-product .rev__submit,
.single-product .rev__form-wrap .form-submit input[type="submit"],
.single-product .rev__form-wrap button.rev__submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 32px;
	background: #c8982e;
	color: #1a1612;
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 14px;
	font-weight: 700;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
	margin-top: 0.5rem;
}

.single-product .rev__submit:hover,
.single-product .rev__form-wrap .form-submit input[type="submit"]:hover,
.single-product .rev__form-wrap button.rev__submit:hover {
	background: #e8c96a;
	transform: translateY(-1px);
}

.single-product .rev__submit svg,
.single-product .rev__form-wrap button.rev__submit svg {
	stroke: #1a1612;
	flex-shrink: 0;
}

.single-product .rev__form-wrap .comment-form-author,
.single-product .rev__form-wrap .comment-form-email {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
}

.single-product .rev__form-wrap .comment-form-author {
	margin-right: 16px;
}

@media (max-width: 640px) {
	.single-product .rev__form-wrap .comment-form-author,
	.single-product .rev__form-wrap .comment-form-email {
		width: 100%;
		margin-right: 0;
	}
}

.single-product .rev__form-wrap .comment-notes,
.single-product .rev__form-wrap .comment-form-cookies-consent {
	display: none;
}

.single-product .rev__form-wrap .logged-in-as {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.45);
	margin-bottom: 1rem;
}

.single-product .rev__form-wrap .logged-in-as a {
	color: #e8c96a;
}

.single-product .rev__verification {
	margin-top: var(--space-8, 2rem);
	text-align: center;
	font-size: 14px;
	color: #6b5d52;
}

.single-product .rev__closed-note {
	text-align: center;
	font-size: 14px;
	color: #9b8e83;
	margin: 1rem 0 0;
}


/* ══ FAQ (section-faq.php) ══ */
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

details.faq-item {
	border-bottom: 1px solid var(--color-border);
}

details.faq-item:first-of-type {
	border-top: 1px solid var(--color-border);
}

summary.faq-item__trigger {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-5) 0;
	background: transparent;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 500;
	color: var(--color-dark);
	transition: color var(--transition-fast);
	list-style: none;
}

summary.faq-item__trigger::-webkit-details-marker {
	display: none;
}

summary.faq-item__trigger::marker {
	content: "";
}

@media (hover: hover) {
	summary.faq-item__trigger:hover {
		color: var(--color-honey);
	}
}

.faq-item__icon svg {
	transition: transform var(--transition-base);
}

.faq-icon__h {
	transition: opacity 0.25s ease;
}

details.faq-item[open] .faq-icon__h {
	opacity: 0;
}

/* Animacja wysokości (0fr → 1fr); treść w środku z lekkim fade/slide */
details.faq-item > .faq-item__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.42s cubic-bezier(0.33, 1, 0.68, 1);
}

details.faq-item[open] > .faq-item__panel {
	grid-template-rows: 1fr;
}

.faq-item__body {
	overflow: hidden;
	min-height: 0;
	padding-bottom: var(--space-5);
}

.faq-item__body p {
	font-size: var(--text-base);
	color: var(--color-text-light);
	line-height: 1.72;
	margin: 0;
	opacity: 0;
	transform: translateY(-6px);
	transition:
		opacity 0.32s ease 0.06s,
		transform 0.36s cubic-bezier(0.33, 1, 0.68, 1) 0.04s;
}

details.faq-item[open] > .faq-item__panel .faq-item__body p {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	details.faq-item > .faq-item__panel {
		transition-duration: 0.01ms;
	}

	.faq-item__body p {
		transition-duration: 0.01ms;
	}
}

/* ══ UPSELL SECTION ══ */
.upsell-section {
	position: relative;
	overflow: hidden;
	background: var(--color-cream);
	border-top: 1px solid var(--color-border);
	padding-block: var(--space-16);
}

.upsell-section::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--color-honey) 20%,
		var(--color-honey-light) 50%,
		var(--color-honey) 80%,
		transparent
	);
}

.upsell-section__hc {
	position: absolute;
	inset: 0;
	opacity: 0.035;
	pointer-events: none;
}

/* Header */
.upsell-section__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-10);
	flex-wrap: wrap;
}

.upsell-section__eyebrow {
	justify-content: flex-start;
	margin-bottom: var(--space-3);
}

.upsell-section__eyebrow::after {
	display: none;
}

.upsell-section__title {
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: 700;
	color: var(--color-dark);
	line-height: 1.15;
}

.upsell-section__title em {
	color: var(--color-honey);
	font-style: italic;
}

.upsell-section__see-all {
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-honey);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	transition: color var(--transition-fast);
}

.upsell-section__see-all:hover {
	color: var(--color-honey-deep);
}

/* Grid */
.upsell-section__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
	margin-bottom: var(--space-6);
}

@media (max-width: 1024px) {
	.upsell-section__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.upsell-section__grid {
		grid-template-columns: 1fr;
	}
}

/* ── KARTA UPSELL ── */
.upsell-card {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-xl);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: all 0.35s cubic-bezier(0.34, 1.1, 0.64, 1);
}

.upsell-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--color-honey), transparent);
	opacity: 0;
	transition: opacity var(--transition-base);
	z-index: 2;
}

.upsell-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 48px rgba(200, 152, 46, 0.14);
	border-color: var(--color-honey);
}

.upsell-card:hover::before {
	opacity: 1;
}

/* Karta wyróżniona */
.upsell-card--featured {
	border: 2px solid var(--color-honey);
}

.upsell-card--featured::after {
	content: 'Polecane';
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-honey);
	color: var(--color-dark);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 3px 14px;
	border-radius: 0 0 var(--radius-md) var(--radius-md);
	z-index: 3;
	white-space: nowrap;
}

/* Zdjęcie */
.upsell-card__img-link {
	display: block;
	text-decoration: none;
}

.upsell-card__img {
	position: relative;
	aspect-ratio: 4/3;
	overflow: hidden;
	background: var(--color-cream-dark);
}

.upsell-card__img-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.upsell-card:hover .upsell-card__img-photo {
	transform: scale(1.05);
}

.upsell-card__img-placeholder {
	width: 100%;
	height: 100%;
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-honey);
	background: linear-gradient(
		160deg,
		var(--color-honey-glow),
		color-mix(in srgb, var(--color-honey) 30%, var(--color-cream-dark))
	);
	position: relative;
}

/* Honeycomb na zdjęciu */
.upsell-card__img-hc {
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='42'%3E%3Cpolygon points='18,2 34,10 34,32 18,40 2,32 2,10' fill='none' stroke='%23ffffff' stroke-width='0.5'/%3E%3C/svg%3E");
	background-size: 36px 42px;
	opacity: 0.07;
	pointer-events: none;
}

/* Badges */
.upsell-card__badges {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	right: var(--space-3);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	z-index: 2;
	pointer-events: none;
}

.upsell-card__badge {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	padding: 3px 11px;
	border-radius: var(--radius-full);
}

.upsell-card__badge--honey {
	background: var(--color-honey);
	color: white;
}

.upsell-card__badge--dark {
	background: var(--color-dark);
	color: var(--color-honey-light);
}

.upsell-card__badge--green {
	background: var(--color-success);
	color: white;
}

.upsell-card__upgrade-tag {
	background: rgba(26, 22, 18, 0.72);
	backdrop-filter: blur(6px);
	color: var(--color-honey-light);
	font-size: 9px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: var(--radius-full);
	letter-spacing: 0.5px;
}

/* Quick add hover */
.upsell-card__quick {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(26, 22, 18, 0.92);
	backdrop-filter: blur(8px);
	padding: var(--space-3) var(--space-4);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	color: var(--color-honey-light);
	font-size: var(--text-xs);
	font-weight: 600;
	transform: translateY(100%);
	transition: transform 0.3s cubic-bezier(0.34, 1.1, 0.64, 1);
	pointer-events: none;
}

.upsell-card__quick svg {
	stroke: var(--color-honey-light);
}

.upsell-card:hover .upsell-card__quick {
	transform: translateY(0);
}

/* Body */
.upsell-card__body {
	padding: var(--space-5);
	flex: 1;
	display: flex;
	flex-direction: column;
}

.upsell-card__cat {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--color-honey);
	margin-bottom: var(--space-2);
	display: flex;
	align-items: center;
	gap: 5px;
}

.upsell-card__cat::before {
	content: '';
	width: 12px;
	height: 1px;
	background: var(--color-honey);
}

.upsell-card__stars {
	display: flex;
	align-items: center;
	gap: var(--space-1);
	color: var(--color-honey);
	font-size: 11px;
	margin-bottom: var(--space-2);
	letter-spacing: 0.5px;
}

.upsell-card__reviews {
	font-size: 10px;
	color: var(--color-text-muted);
}

.upsell-card__name a {
	font-family: var(--font-display);
	font-size: var(--text-base);
	font-weight: 700;
	color: var(--color-dark);
	text-decoration: none;
	line-height: 1.25;
	display: block;
	margin-bottom: var(--space-2);
	transition: color var(--transition-fast);
}

.upsell-card:hover .upsell-card__name a {
	color: var(--color-honey-deep);
}

.upsell-card__hook {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	line-height: 1.55;
	font-style: italic;
	margin-bottom: var(--space-3);
	flex: 1;
}

/* Notka upgrade */
.upsell-card__upgrade-note {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--text-xs);
	font-weight: 600;
	color: var(--color-success);
	margin-bottom: var(--space-3);
}

.upsell-card__upgrade-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--color-success);
	flex-shrink: 0;
}

/* Footer */
.upsell-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding-top: var(--space-4);
	border-top: 1px solid var(--color-border-light);
	margin-top: auto;
}

.upsell-card__price-sale {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: 700;
	color: var(--color-dark);
}

.upsell-card__price-old {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	text-decoration: line-through;
	margin-left: var(--space-1);
}

.upsell-card__price {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: 700;
	color: var(--color-dark);
}

.upsell-card__view {
	flex-shrink: 0;
	text-decoration: none;
	white-space: nowrap;
}

/* ══ BUNDLE BANNER ══ */
.upsell-bundle {
	position: relative;
	overflow: hidden;
	background: linear-gradient(
		105deg,
		color-mix(in srgb, var(--color-honey) 6%, var(--color-cream)) 0%,
		var(--color-cream) 60%,
		color-mix(in srgb, var(--color-honey) 4%, var(--color-cream)) 100%
	);
	border-radius: var(--radius-xl);
	border: 1px solid rgba(200, 152, 46, 0.28);
	box-shadow:
		0 1px 4px rgba(200, 152, 46, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
	padding: var(--space-5) var(--space-8);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-8);
	flex-wrap: wrap;
}

/* Subtelna linia miodowa u góry */
.upsell-bundle::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--space-8);
	right: var(--space-8);
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(200, 152, 46, 0.45) 30%,
		rgba(200, 152, 46, 0.45) 70%,
		transparent
	);
}

.upsell-bundle__hc {
	position: absolute;
	inset: 0;
	opacity: 0.04;
	pointer-events: none;
}

.upsell-bundle__left {
	position: relative;
	z-index: 1;
	flex: 1;
}

.upsell-bundle__title {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 700;
	color: var(--color-dark);
	margin-bottom: var(--space-1);
}

.upsell-bundle__desc {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: 1.55;
}

.upsell-bundle__right {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: var(--space-6);
	flex-shrink: 0;
	flex-wrap: wrap;
}

.upsell-bundle__saving {
	text-align: center;
}

.upsell-bundle__saving-num {
	display: block;
	font-family: var(--font-display);
	font-size: var(--text-3xl);
	font-weight: 700;
	color: var(--color-honey-deep);
	line-height: 1;
	margin-bottom: 2px;
}

.upsell-bundle__saving-label {
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	letter-spacing: 0.3px;
}

.upsell-bundle__btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-3) var(--space-6);
	font-size: var(--text-sm);
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.upsell-bundle {
		flex-direction: column;
		text-align: center;
		padding: var(--space-5) var(--space-6);
	}

	.upsell-bundle__right {
		justify-content: center;
	}

	.upsell-bundle__saving {
		width: 100%;
	}
}

/* ══ Sticky CTA ══ */
.sticky-cta {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--color-dark);
	z-index: var(--z-sticky, 50);
	transform: translateY(100%);
	transition: transform var(--transition-base);
	display: none;
}

.sticky-cta.is-visible {
	transform: translateY(0);
}

@media (max-width: 767px) {
	.sticky-cta {
		display: block;
	}
}

.sticky-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-4);
}

.sticky-cta__name {
	font-family: var(--font-display);
	font-size: var(--text-base);
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 180px;
}

.sticky-cta__price {
	font-family: var(--font-display);
	font-size: var(--text-xl);
	font-weight: 700;
	color: var(--color-honey-light);
}

/*
 * V3 — dwie kolumny: .wrap > .gal | .info (jak product-hero-v3.html).
 * Style tylko na .single-product — bez nadpisywania nagłówka motywu.
 */
.single-product {
	--v3-honey: #c8982e;
	--v3-honey-light: #e8c96a;
	--v3-honey-deep: #8b6914;
	--v3-dark: #1a1612;
	--v3-dark-2: #2d2318;
	--v3-cream: #faf7f0;
	--v3-cream-2: #f0ebe0;
	--v3-border: #ede4d4;
	--v3-muted: #9b8e83;
	--v3-muted-2: #6b5d52;
	--v3-success: #4a7c59;
	--v3-r: 14px;
	--v3-top: var(--nav-height, 92px);
}

.single-product .wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* Nagłówek jest sticky w normalnym flow — bez dodatkowego margin-top (unikamy podwójnej luki). */
	margin-top: 0;
	min-height: calc(100svh - var(--v3-top));
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--v3-dark);
	-webkit-font-smoothing: antialiased;
}

.single-product .gal {
	position: sticky;
	top: var(--v3-top);
	height: calc(100vh - var(--v3-top));
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 1.25rem 2rem 1.5rem;
	gap: 1rem;
	border-right: 1px solid var(--v3-border);
	box-sizing: border-box;
}

.single-product .gal__main {
	flex: 1;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	background: #fff;
	cursor: zoom-in;
	min-height: 0;
}

.single-product .gal__main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	transition: transform 0.6s ease;
}

.single-product .gal__main:hover img {
	transform: scale(1.04);
}

.single-product .gal__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}

.single-product .gal__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	padding: 4px 14px;
	border-radius: 20px;
	z-index: 3;
}

.single-product .gal__ribbon {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	opacity: 0.5;
}

.single-product .gal__thumbs {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.single-product .gal__thumb {
	flex: 1;
	height: 72px;
	border-radius: 10px;
	overflow: hidden;
	cursor: pointer;
	border: 2px solid transparent;
	transition: border-color 0.2s, transform 0.2s;
	background: #fff;
	padding: 0;
	margin: 0;
	appearance: none;
	font: inherit;
}

.single-product .gal__thumb:hover {
	transform: translateY(-2px);
}

.single-product .gal__thumb.is-on {
	border-color: var(--v3-honey);
}

.single-product .gal__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.single-product .info {
	padding: 1.5rem 3rem 4rem;
	overflow-y: auto;
	box-sizing: border-box;
}

.single-product .info__brand {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--v3-honey);
	margin-bottom: 12px;
}

.single-product .info__brand::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background: var(--v3-honey);
}

.single-product .info__cat {
	display: block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--v3-muted);
	margin-bottom: 8px;
}

.single-product .info__badge {
	display: inline-block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	padding: 3px 12px;
	border-radius: 20px;
	margin-bottom: 10px;
}

.single-product .info__title {
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(2.25rem, 3vw, 3.25rem);
	font-weight: 700;
	color: var(--v3-dark);
	line-height: 1.08;
	letter-spacing: -0.3px;
	margin-bottom: 12px;
}

.single-product .info__hook {
	font-size: 15px;
	color: var(--v3-muted);
	font-style: italic;
	line-height: 1.7;
	margin-bottom: 20px;
}

.single-product .info__proof {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 10px 16px;
	background: var(--v3-cream);
	border: 1px solid var(--v3-border);
	border-radius: 10px;
	margin-bottom: 0;
}

.single-product .info__stars {
	color: var(--v3-honey);
	font-size: 12px;
	letter-spacing: 1.5px;
}

.single-product .info__rnum {
	font-size: 12px;
	font-weight: 700;
	color: var(--v3-dark);
}

.single-product .info__rcnt {
	font-size: 11px;
	color: var(--v3-muted);
}

.single-product .info__dot {
	color: var(--v3-border);
	font-size: 16px;
}

.single-product .info__sold {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 600;
	color: var(--v3-honey-deep);
}

.single-product .info__sold svg {
	stroke: var(--v3-honey);
}

.single-product .info__viewers {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	color: var(--v3-muted);
}

.single-product .info__viewers svg {
	stroke: var(--v3-muted);
}

.single-product .sep {
	height: 1px;
	margin: 24px 0;
	background: linear-gradient(90deg, var(--v3-honey), rgba(200, 152, 46, 0.2) 60%, transparent);
}

.single-product .price-main {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 3.2rem;
	font-weight: 700;
	color: var(--v3-honey);
	line-height: 1;
	margin-bottom: 6px;
	letter-spacing: -0.5px;
}

.single-product .price-old {
	font-size: 1.1rem;
	color: var(--v3-muted);
	text-decoration: line-through;
	margin-bottom: 4px;
}

.single-product .price-save {
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	color: var(--v3-success);
	background: rgba(74, 124, 89, 0.08);
	border: 1px solid rgba(74, 124, 89, 0.2);
	border-radius: 20px;
	padding: 3px 12px;
	margin-bottom: 8px;
}

.single-product .price-note {
	font-size: 12px;
	color: var(--v3-muted);
	line-height: 1.6;
}

.single-product .price-note strong {
	color: var(--v3-dark);
}

.single-product .urgency {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px 12px 14px;
	border-left: 3px solid var(--v3-honey);
	border-radius: 0 10px 10px 0;
	background: linear-gradient(135deg, #fffdf4, #fff9e8);
	font-size: 13.5px;
	color: var(--v3-dark);
	line-height: 1.4;
	margin-bottom: 12px;
}

.single-product .urgency--red {
	border-left-color: #ef4444;
	background: linear-gradient(135deg, #fff8f0, #fff3ec);
}

.single-product .urgency__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--v3-honey);
	flex-shrink: 0;
	animation: miod-gal-pulse 2s ease-in-out infinite;
}

.single-product .urgency--red .urgency__dot {
	background: #ef4444;
}

@keyframes miod-gal-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.6);
		opacity: 0.5;
	}
}

.single-product .stock {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	font-size: 12.5px;
	color: #b45309;
	background: #fffbeb;
	border: 1px solid rgba(180, 83, 9, 0.15);
	border-radius: 10px;
	margin-bottom: 12px;
}

.single-product .stock svg {
	stroke: #b45309;
	flex-shrink: 0;
}

.single-product .stock strong {
	color: #92400e;
}

.single-product .stack {
	background: #fff;
	border: 1px solid var(--v3-border);
	border-radius: var(--v3-r);
	overflow: hidden;
	position: relative;
	margin-bottom: 24px;
}

.single-product .stack::before {
	content: "";
	display: block;
	height: 3px;
	background: linear-gradient(
		90deg,
		transparent,
		var(--v3-honey) 30%,
		var(--v3-honey-light) 50%,
		var(--v3-honey) 70%,
		transparent
	);
}

.single-product .stack::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32'%3E%3Cpolygon points='14,2 26,8 26,24 14,30 2,24 2,8' fill='none' stroke='%23C8982E' stroke-width='0.5'/%3E%3C/svg%3E");
	background-size: 28px 32px;
	opacity: 0.04;
	pointer-events: none;
}

.single-product .stack__head {
	padding: 16px 20px 10px;
	position: relative;
	z-index: 1;
}

.single-product .stack__label {
	font-size: 8.5px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--v3-muted);
	display: flex;
	align-items: center;
	gap: 8px;
}

.single-product .stack__label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(200, 152, 46, 0.3), transparent);
}

.single-product .stack__items {
	position: relative;
	z-index: 1;
}

.single-product .stack__desc-only {
	position: relative;
	z-index: 1;
	padding: 16px 20px 20px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--v3-muted-2);
}

.single-product .stack__desc-only p {
	margin: 0 0 0.65em;
}

.single-product .stack__desc-only p:last-child {
	margin-bottom: 0;
}

.single-product .stack__desc-only ul {
	margin: 0.35em 0 0.65em 1.1em;
	padding: 0;
}

.single-product .stack__desc-only li {
	margin-bottom: 0.25em;
}

/* Kompaktowa „Zawartość” w hero (chipy z ACF skladniki) */
.single-product .stack--zen .stack__head {
	padding-bottom: 6px;
}

.single-product .stack--zen .stack__items {
	padding: 0 16px 16px 20px;
}

.single-product .info-zen {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
}

.single-product .info-zen__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 11px 4px 9px;
	border-radius: 999px;
	border: 1px solid rgba(200, 152, 46, 0.38);
	background: rgba(250, 247, 240, 0.92);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--v3-dark);
	line-height: 1.3;
	max-width: 100%;
}

.single-product .info-zen__item::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--v3-honey);
	flex-shrink: 0;
}

.single-product .info-zen__item--more {
	font-weight: 700;
	color: var(--v3-muted);
	border-style: dashed;
	background: rgba(255, 255, 255, 0.65);
}

.single-product .info-zen__item--more::before {
	background: var(--v3-muted);
	opacity: 0.55;
}

.single-product .info-zen__more-wrap {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
}

.single-product .info-zen__more {
	font-size: 11px;
	font-weight: 700;
	color: var(--v3-honey-dark, #a67c1f);
	text-decoration: none;
	border-bottom: 1px solid rgba(200, 152, 46, 0.45);
	padding-bottom: 1px;
	white-space: nowrap;
}

.single-product .info-zen__more:hover {
	color: var(--v3-dark);
	border-bottom-color: var(--v3-dark);
}

.single-product .qty {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.single-product .qty__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--v3-dark);
	flex-shrink: 0;
}

.single-product .qty__ctrl {
	display: flex;
	align-items: center;
	height: 48px;
	width: 144px;
	border: 1.5px solid var(--v3-border);
	border-radius: 12px;
	overflow: hidden;
}

.single-product .qty__btn {
	width: 48px;
	height: 48px;
	background: var(--v3-cream);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 300;
	color: var(--v3-dark);
	flex-shrink: 0;
	transition: background 0.15s, color 0.15s;
}

.single-product .qty__btn:hover {
	background: var(--v3-honey);
	color: #fff;
}

.single-product .qty__val {
	flex: 1;
	height: 48px;
	text-align: center;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--v3-dark);
	border: none;
	outline: none;
	background: #fff;
	-moz-appearance: textfield;
}

.single-product .qty__val::-webkit-outer-spin-button,
.single-product .qty__val::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.single-product .atc {
	width: 100%;
	padding: 18px 24px;
	min-height: 58px;
	background: var(--v3-dark);
	color: #fff;
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	border: none;
	border-radius: var(--v3-r);
	cursor: pointer;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s, transform 0.18s, box-shadow 0.3s;
	position: relative;
	overflow: hidden;
}

.single-product .atc:hover {
	background: var(--v3-dark-2);
	transform: translateY(-1px);
	box-shadow: 0 12px 32px rgba(26, 22, 18, 0.22);
}

.single-product .atc:disabled {
	transform: none;
	cursor: default;
}

/* Ripple przy kliknieciu */
.single-product .atc .atc-ripple {
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	transform: scale(0);
	pointer-events: none;
	animation: atc-ripple-expand 0.55s ease-out forwards;
}

@keyframes atc-ripple-expand {
	to {
		transform: scale(4);
		opacity: 0;
	}
}

/* Shimmer podczas ladowania */
.single-product .atc.is-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.1) 50%,
		transparent 100%
	);
	background-size: 200% 100%;
	animation: atc-shimmer 1.1s linear infinite;
}

@keyframes atc-shimmer {
	0%   { background-position: -200% 0; }
	100% { background-position:  200% 0; }
}

/* Bounce przy sukcesie */
.single-product .atc.is-ok {
	animation: atc-bounce 0.5s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes atc-bounce {
	0%   { transform: scale(1); }
	25%  { transform: scale(0.96); }
	55%  { transform: scale(1.035); }
	80%  { transform: scale(0.99); }
	100% { transform: scale(1); }
}

/* Stany load/ok; #s-idle widoczny bez JS */
.single-product .atc__s {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	animation: atc-state-in 0.2s ease both;
}

@keyframes atc-state-in {
	from { opacity: 0; transform: translateY(4px); }
	to   { opacity: 1; transform: translateY(0); }
}

.single-product .atc #s-idle {
	display: flex;
}

.single-product .atc__s svg {
	stroke: #fff;
	flex-shrink: 0;
}

/* Check w stanie ok wskakuje z gory */
.single-product #s-ok svg {
	animation: atc-check-drop 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes atc-check-drop {
	from { transform: translateY(-8px) scale(0.6); opacity: 0; }
	to   { transform: translateY(0) scale(1);      opacity: 1; }
}

.single-product .atc__p {
	font-size: 13px;
	font-weight: 400;
	opacity: 0.55;
}

.single-product .spinner {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.25);
	border-top-color: #fff;
	border-radius: 50%;
	animation: miod-gal-spin 0.7s linear infinite;
	flex-shrink: 0;
}

@keyframes miod-gal-spin {
	to {
		transform: rotate(360deg);
	}
}
.single-product .b2b {
	width: 100%;
	padding: 14px 24px;
	background: #fff;
	color: var(--v3-dark);
	font-family: "DM Sans", system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	border: 1.5px solid var(--v3-border);
	border-radius: var(--v3-r);
	text-decoration: none;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: border-color 0.2s, color 0.2s;
}

.single-product .b2b:hover {
	border-color: var(--v3-honey);
	color: var(--v3-honey-deep);
}

.single-product .b2b svg {
	stroke: currentColor;
}

.single-product .features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.single-product .feat {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid var(--v3-border);
	border-radius: 10px;
	font-size: 12px;
	color: var(--v3-muted-2);
	transition: border-color 0.2s, background 0.2s;
}

.single-product .feat:hover {
	border-color: rgba(200, 152, 46, 0.35);
	background: rgba(200, 152, 46, 0.03);
}

.single-product .feat svg {
	stroke: var(--v3-honey);
	flex-shrink: 0;
	width: 14px;
	height: 14px;
}

.single-product .popup {
	position: fixed;
	top: calc(var(--nav-height, 92px) + 12px);
	right: 24px;
	z-index: 9999;
	width: 320px;
	max-width: calc(100vw - 32px);
	opacity: 0;
	transform: translateX(110%);
	transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.34, 1.1, 0.64, 1);
	pointer-events: none;
}

.single-product .popup.on {
	opacity: 1;
	transform: translateX(0);
	pointer-events: all;
}

.single-product .popup__box {
	background: #fff;
	border: 1px solid var(--v3-border);
	border-radius: 16px;
	padding: 18px 20px;
	box-shadow: 0 20px 60px rgba(26, 22, 18, 0.16);
	position: relative;
	overflow: hidden;
}

.single-product .popup__line {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--v3-honey), transparent);
}

.single-product .popup__row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.single-product .popup__check {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(74, 124, 89, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.single-product .popup__check svg {
	stroke: var(--v3-success);
}

.single-product .popup__name {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--v3-dark);
	margin-bottom: 2px;
}

.single-product .popup__sub {
	display: block;
	font-size: 11.5px;
	color: var(--v3-muted);
}

.single-product .popup__btns {
	display: flex;
	gap: 8px;
}

.single-product .popup__go,
.single-product .popup__stay {
	flex: 1;
	padding: 10px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	font-family: "DM Sans", system-ui, sans-serif;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s;
}

.single-product .popup__go {
	background: var(--v3-dark);
	color: #fff;
	border: none;
}

.single-product .popup__go:hover {
	background: var(--v3-honey);
	color: var(--v3-dark);
}

.single-product .popup__stay {
	background: transparent;
	color: var(--v3-muted);
	border: 1.5px solid var(--v3-border);
}

.single-product .popup__stay:hover {
	border-color: var(--v3-dark);
	color: var(--v3-dark);
}

.single-product .info form.cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 16px;
}

.single-product .info form.cart .single_add_to_cart_button {
	width: 100%;
	padding: 16px 24px;
	font-weight: 700;
	border-radius: var(--v3-r);
	border: none;
	cursor: pointer;
}

.single-product .info .woocommerce-variation-price .price {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--v3-honey);
}

@media (max-width: 1100px) {
	.single-product .wrap {
		grid-template-columns: 1fr;
	}

	.single-product .gal {
		position: relative;
		top: auto;
		height: 520px;
		border-right: none;
		border-bottom: 1px solid var(--v3-border);
	}

	.single-product .info {
		border-top: none;
	}
}

@media (max-width: 640px) {
	.single-product .info {
		padding: 1.25rem 1.25rem 3rem;
	}

	.single-product .gal {
		padding: 1rem 1.25rem 1.25rem;
	}

	.single-product .features {
		grid-template-columns: 1fr;
	}
}

/* AJAX add-to-cart inline message (v3 #atc) */
.single-product .atc-ajax-msg:not([hidden]) {
	display: block;
	margin-top: 0.75rem;
	color: #b45309;
	font-size: 0.9rem;
}

/* ═══════════════════════════════════════════════════════════
   CROSSSELL — KARUZELA Z PLASTRAMI MIODU
   Style hex (.bs-hex, .bs-hive-carousel) pochodzą z home.css
   ładowanego przez enqueue.php na is_product().
   ═══════════════════════════════════════════════════════════ */

/* (brak — style .bs-hex i .bs-hive-carousel są w home.css, ładowanym przez enqueue.php) */
