/**
 * Nectar Woo Products Advanced — base styles.
 * Instance specific rules are printed inline by NWPA_Css.
 */

.nwpa-wrap {
	position: relative;
}

.nwpa-wrap .nwpa-data {
	display: none;
}

.nwpa-wrap ul.products li.product .nwpa-media {
	backface-visibility: hidden;
}

/* The theme's own hover image; the element's swap setting replaces it. */
.nwpa-wrap ul.products li.product img.hover-gallery-image,
.nwpa-wrap ul.products li.product img.nwpa-native-swap {
	display: none !important;
}

.nwpa-wrap ul.products li.product .nwpa-badges {
	line-height: 1;
}

.nwpa-wrap ul.products li.product.nwpa-outofstock .nwpa-media img {
	opacity: .75;
}

/* Pagination
-------------------------------------------------- */
.nwpa-wrap .nwpa-pagination {
	margin-top: 50px;
	text-align: center;
}

.nwpa-wrap .nwpa-pagination ul {
	display: inline-flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

.nwpa-wrap .nwpa-pagination li {
	margin: 0;
	border: 0;
	list-style: none;
}

.nwpa-wrap .nwpa-pagination a,
.nwpa-wrap .nwpa-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: 100px;
	font-size: 14px;
	line-height: 1;
	transition: background-color .3s ease, color .3s ease;
}

.nwpa-wrap .nwpa-pagination span.current {
	color: inherit;
	background: rgba(0, 0, 0, .07);
}

/* Mouse drag on the scroller
-------------------------------------------------- */
.nwpa-wrap ul.products.nwpa-can-drag {
	cursor: grab;
}

.nwpa-wrap ul.products.nwpa-dragging,
.nwpa-wrap ul.products.nwpa-settling {
	scroll-snap-type: none !important;
}

.nwpa-wrap ul.products.nwpa-dragging {
	scroll-behavior: auto !important;
	cursor: grabbing;
	user-select: none;
}

.nwpa-wrap ul.products.nwpa-dragging * {
	pointer-events: none;
}

/* Phone scroll controls
-------------------------------------------------- */
.nwpa-wrap .nwpa-controls {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-top: 22px;
}

.nwpa-wrap .nwpa-arrow {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 100px;
	cursor: pointer;
	transition: opacity .3s ease, transform .3s ease;
}

.nwpa-wrap .nwpa-arrow:disabled {
	opacity: .35;
	cursor: default;
}

.nwpa-wrap .nwpa-arrow:active:not(:disabled) {
	transform: scale(.92);
}

.nwpa-wrap .nwpa-arrow svg {
	fill: none;
}

.nwpa-wrap .nwpa-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
}

.nwpa-wrap .nwpa-dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 100px;
	cursor: pointer;
	transition: width .35s cubic-bezier(.25, 1, .33, 1), background-color .35s ease;
}

.nwpa-wrap .nwpa-dot.is-active {
	width: 22px;
}

.nwpa-wrap .nwpa-progress {
	position: relative;
	flex: 1 1 auto;
	max-width: 180px;
	height: 3px;
	border-radius: 100px;
	overflow: hidden;
}

.nwpa-wrap .nwpa-progress-bar {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 30%;
	border-radius: 100px;
	transition: transform .15s linear;
}

/* Reduced motion
-------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

	.nwpa-wrap *,
	.nwpa-modal * {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}

	.nwpa-wrap ul.products {
		scroll-behavior: auto !important;
	}

	.nwpa-wrap li.product:hover .nwpa-media img {
		transform: none !important;
	}
}

/* Quick view modal
-------------------------------------------------- */
.nwpa-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease, visibility .35s ease;
}

.nwpa-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.nwpa-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .6);
	cursor: pointer;
}

.nwpa-modal__dialog {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 980px;
	max-height: 88vh;
	overflow: auto;
	background: #fff;
	border-radius: 6px;
	transform: translateY(24px) scale(.98);
	transition: transform .45s cubic-bezier(.25, 1, .33, 1);
	-webkit-overflow-scrolling: touch;
}

.nwpa-modal.is-open .nwpa-modal__dialog {
	transform: none;
}

.nwpa-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 100px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.nwpa-modal__body {
	min-height: 220px;
}

.nwpa-modal__loading {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	opacity: .6;
	font-size: 14px;
}

.nwpa-qv-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.nwpa-qv-media {
	display: grid;
	grid-template-columns: 1fr;
	background: rgba(0, 0, 0, .03);
	max-height: 88vh;
	overflow: auto;
}

.nwpa-qv-media img {
	width: 100%;
	height: auto;
	display: block;
}

.nwpa-qv-content {
	padding: 48px 44px;
}

.nwpa-qv-flag {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 12px;
	border-radius: 100px;
	background: #ED8B00;
	color: #fff;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nwpa-qv-title {
	margin: 0 0 10px;
}

.nwpa-qv-price {
	margin-bottom: 18px;
	font-size: 20px;
}

.nwpa-qv-desc {
	margin-bottom: 26px;
	line-height: 1.7;
	opacity: .85;
}

.nwpa-qv-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.nwpa-qv-link {
	font-size: 14px;
	text-decoration: underline;
}

@media (max-width: 999px) {

	.nwpa-qv-inner {
		grid-template-columns: 1fr;
	}

	.nwpa-qv-media {
		max-height: 40vh;
	}

	.nwpa-qv-content {
		padding: 32px 28px;
	}
}
