/**
 * YITH Quick View + WAPO:
 * - jeden obszar przewijania: .summary-content (tytuł, cena, opis, cały formularz z dodatkami)
 * - stopka wewnątrz form.cart, position:sticky — YITH wymaga przycisku/ilości w formularzu (serialize + find button)
 * - podpowiedź / gradient wg przewinięcia summary
 */

/* --- Panel height chain --- */
.yith-quick-view.yith-sliding .yith-wcqv-wrapper .yith-wcqv-main {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce > .product {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce .product > .product {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce div.summary.entry-summary {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	float: none !important;
}

/* Cała kolumna tekstowa + formularz w jednym scrollu (pole „Dodatkowe informacje” razem z górą) */
.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce div.summary.entry-summary .summary-content {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: 8px !important;
	position: relative !important;
	scrollbar-gutter: stable !important;
	scrollbar-width: thin !important;
	scrollbar-color: rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.06) !important;
}

/* Błędy Woo (“Wybierz: Mięso”) — sticky + z-index; resztę stylu zostawia motyw */
.yith-quick-view .yith-quick-view-content .summary-content > ul.woocommerce-error,
.yith-quick-view .yith-quick-view-content .summary-content .woocommerce-notices-wrapper:first-child ul.woocommerce-error {
	position: sticky !important;
	top: 0 !important;
	z-index: 24 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	scroll-margin-top: 8px !important;
}

/* YITH: div.summary div.quantity { inline-block } psuje WAPO .input-number.quantity (+/- wąskie jak linia) */
.yith-quick-view .yith-quick-view-content #yith-wapo-container .input-number.quantity {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 8px 0 0 !important;
	vertical-align: unset !important;
	box-sizing: border-box !important;
}

.yith-quick-view .yith-quick-view-content #yith-wapo-container .input-number.quantity .input-number-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 44px !important;
	box-sizing: border-box !important;
}

.yith-quick-view .yith-quick-view-content #yith-wapo-container .input-number.quantity .input-number-wrapper button.decrease-number,
.yith-quick-view .yith-quick-view-content #yith-wapo-container .input-number.quantity .input-number-wrapper button.increase-number {
	flex: 0 0 auto !important;
	min-width: 44px !important;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}

.yith-quick-view .yith-quick-view-content #yith-wapo-container .input-number.quantity .input-number-wrapper input[type='number'] {
	flex: 1 1 auto !important;
	min-width: 56px !important;
	width: auto !important;
	max-width: none !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.yith-quick-view .yith-quick-view-content .summary.entry-summary .summary-content::-webkit-scrollbar {
	width: 8px !important;
}

.yith-quick-view .yith-quick-view-content .summary.entry-summary .summary-content::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.05) !important;
	border-radius: 4px !important;
}

.yith-quick-view .yith-quick-view-content .summary.entry-summary .summary-content::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.28) !important;
	border-radius: 4px !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content.woocommerce div.summary.entry-summary .summary-content > *:not(form.cart) {
	flex: 0 0 auto !important;
}

/* Form w scrollu: WAPO + stopka (przycisk musi być w <form> dla YITH Quick View AJAX) */
/* flex-grow 1 + margin-top:auto na stopce — przy małej liczbie dodatków pasek z ceną ląduje na dole modala */
.yith-quick-view.yith-sliding .yith-quick-view-content form.cart:has(#yith-wapo-container),
.yith-quick-view.yith-modal.open .yith-quick-view-content form.cart:has(#yith-wapo-container) {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

.yith-quick-view.yith-sliding .yith-quick-view-content form.cart:has(#yith-wapo-container) #yith-wapo-container,
.yith-quick-view.yith-modal.open .yith-quick-view-content form.cart:has(#yith-wapo-container) #yith-wapo-container {
	flex: 0 0 auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	position: relative !important;
}

/* Gradient przy dolnej krawędzi sekcji dodatków (nad stopką) */
.yith-quick-view .yith-quick-view-content #yith-wapo-container.wyjedzone-qvw-wapo-scrollable::after {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	height: 48px !important;
	pointer-events: none !important;
	background: linear-gradient(
		to top,
		rgba(255, 255, 255, 0.98) 0%,
		rgba(255, 255, 255, 0.5) 50%,
		rgba(255, 255, 255, 0) 100%
	) !important;
	opacity: 0 !important;
	transition: opacity 0.28s ease !important;
	z-index: 3 !important;
}

.yith-quick-view .yith-quick-view-content #yith-wapo-container.wyjedzone-qvw-wapo-more-below::after {
	opacity: 1 !important;
}

/* Podpowiedź przypięta do stopki: prawy górny róg białego paska (nad „Suma” / przyciskiem) */
.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer .wyjedzone-qvw-scroll-cue {
	position: absolute !important;
	right: max(12px, env(safe-area-inset-right, 0px)) !important;
	left: auto !important;
	top: auto !important;
	bottom: 100% !important;
	margin: 0 0 2px 0 !important;
	z-index: 7 !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 4px !important;
	padding: 0 !important;
	width: max-content !important;
	max-width: calc(100% - 24px) !important;
	pointer-events: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(6px) !important;
	transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	line-height: 1 !important;
	color: rgba(0, 0, 0, 0.52) !important;
	text-transform: uppercase !important;
	text-align: right !important;
	white-space: nowrap !important;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.95), 0 0 12px rgba(255, 255, 255, 0.85) !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer .wyjedzone-qvw-scroll-cue.wyjedzone-qvw-scroll-cue-visible {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
}

/* Tekst nie może być block / width 100% (motywy) — wtedy strzałka ląduje pod tekstem */
.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer .wyjedzone-qvw-scroll-cue .wyjedzone-qvw-scroll-hint-text {
	display: inline !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer .wyjedzone-qvw-scroll-cue .wyjedzone-qvw-scroll-hint-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	font-size: 1.28em !important;
	line-height: 0 !important;
	font-weight: 400 !important;
	animation: wyjedzone-qvw-hint-bounce 1.35s ease-in-out infinite !important;
}

/* ⌄ ma niski środek — trzymamy podnoszenie w keyframes (bez !important na transform poza animacją) */
@keyframes wyjedzone-qvw-hint-bounce {
	0%,
	100% {
		transform: translateY(-0.28em);
	}
	50% {
		transform: translateY(calc(-0.28em + 4px));
	}
}

/*
 * Stopka: sticky w .summary-content — pełna szerokość (ujemny margin jak padding YITH ~20px),
 * treść wyśrodkowana.
 */
.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer {
	flex: 0 0 auto !important;
	align-self: stretch !important;
	position: sticky !important;
	bottom: 0 !important;
	margin-top: auto !important;
	/* Kotwica dla .wyjedzone-qvw-scroll-cue (absolute bottom: 100%) */
	overflow: visible !important;
	width: calc(100% + 40px) !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin-left: -20px !important;
	margin-right: -20px !important;
	background: #fff !important;
	border-radius: 20px !important;
	border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
	padding: 12px 20px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
	box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.09) !important;
	z-index: 6 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
}

@media (max-width: 480px) {
	.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer {
		width: calc(100% + 32px) !important;
		margin-left: -16px !important;
		margin-right: -16px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* Desktop: bez „wybrzuszenia” ujemnymi marginami — bywa niesymetryczne względem paddingu YITH → box jakby w lewo */
@media (min-width: 481px) {
	.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table {
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	overflow: visible !important;
	display: flex !important;
	justify-content: center !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table table {
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	display: block !important;
	border-collapse: collapse !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table tbody {
	display: block !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table tr.wapo-total-order {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: baseline !important;
	justify-content: center !important;
	gap: 0.35em !important;
	width: auto !important;
	max-width: 100% !important;
	white-space: nowrap !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table tr.wapo-total-order th {
	flex: 0 0 auto !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	border: none !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table tr.wapo-total-order td {
	flex: 0 0 auto !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: center !important;
	font-size: 1rem !important;
	border: none !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table th,
.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-cart-footer #wapo-total-price-table td {
	vertical-align: baseline !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-qty-btn-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-qty-btn-row .quantity {
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-qty-btn-row .single_add_to_cart_button {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	display: inline-block !important;
	text-align: center !important;
}

/* Modal */
.yith-quick-view.yith-modal.open .yith-wcqv-main {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce > .product {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce .product > .product {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce div.summary.entry-summary {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	float: none !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce div.summary.entry-summary .summary-content {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
	padding-bottom: 8px !important;
	position: relative !important;
	scrollbar-gutter: stable !important;
	scrollbar-width: thin !important;
	scrollbar-color: rgba(0, 0, 0, 0.35) rgba(0, 0, 0, 0.06) !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content.woocommerce div.summary.entry-summary .summary-content > *:not(form.cart) {
	flex: 0 0 auto !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content form.cart:has(#yith-wapo-container) {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: visible !important;
}

.yith-quick-view.yith-modal.open .yith-quick-view-content form.cart:has(#yith-wapo-container) #yith-wapo-container {
	flex: 0 0 auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	position: relative !important;
}

@media (max-width: 360px) {
	.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-qty-btn-row {
		flex-wrap: wrap !important;
	}
	.yith-quick-view .yith-quick-view-content .wyjedzone-qvw-qty-btn-row .single_add_to_cart_button {
		flex: 1 1 100% !important;
	}
}
