.nxcbp-js .nxcbp-product .summary form.cart,.nxcbp-js .nxcbp-product .nxcbp-launcher-wrap + form.cart{display:none!important}.nxcbp-launcher-wrap{margin:22px 0 0}.nxcbp-button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:var(--nxcbp-button-height);padding:12px 24px;border:1px solid var(--nxcbp-primary);border-radius:var(--nxcbp-radius);background:var(--nxcbp-primary);color:var(--nxcbp-button-text);font:inherit;font-weight:650;line-height:1.15;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease}.nxcbp-button:hover,.nxcbp-button:focus-visible{background:var(--nxcbp-primary-hover);border-color:var(--nxcbp-primary-hover);color:var(--nxcbp-button-text);transform:translateY(-1px)}.nxcbp-button:focus-visible{outline:3px solid color-mix(in srgb,var(--nxcbp-primary) 24%,transparent);outline-offset:3px}.nxcbp-button:disabled{opacity:.48;cursor:not-allowed;transform:none}.nxcbp-launcher{width:100%;max-width:420px}.nxcbp-icon{width:20px;height:20px;flex:0 0 20px;align-self:center;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.nxcbp-icon-right{flex-direction:row-reverse}.nxcbp-unavailable{display:block;margin-top:8px;color:var(--nxcbp-muted);font-size:13px}.nxcbp-modal[hidden]{display:none!important}.nxcbp-modal{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.nxcbp-modal.is-open{opacity:1;visibility:visible}.nxcbp-modal__overlay{position:absolute;inset:0;background:var(--nxcbp-overlay);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.nxcbp-modal__dialog{position:relative;width:min(100%,var(--nxcbp-width));max-height:min(88vh,900px);overflow:auto;overscroll-behavior:contain;background:var(--nxcbp-modal-bg);color:var(--nxcbp-text);border:1px solid color-mix(in srgb,var(--nxcbp-border) 76%,transparent);border-radius:calc(var(--nxcbp-radius) + 4px);box-shadow:0 28px 80px rgba(0,0,0,.24);padding:clamp(24px,5vw,46px);transform:translateY(12px) scale(.985);transition:transform .22s cubic-bezier(.2,.75,.25,1)}.nxcbp-modal.is-open .nxcbp-modal__dialog{transform:translateY(0) scale(1)}.nxcbp-modal__close{position:absolute;top:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--nxcbp-border);border-radius:50%;background:transparent;color:var(--nxcbp-text);cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.nxcbp-modal__close:hover{background:color-mix(in srgb,var(--nxcbp-border) 36%,transparent)}.nxcbp-modal__close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.nxcbp-modal__header{padding-right:42px;margin-bottom:27px}.nxcbp-modal__kicker{display:block;margin-bottom:9px;color:var(--nxcbp-primary);font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.nxcbp-modal__header h2{margin:0 0 12px!important;color:var(--nxcbp-text);font-size:clamp(25px,4vw,36px);line-height:1.12;letter-spacing:-.025em}.nxcbp-modal__header p{margin:0;color:var(--nxcbp-muted);font-size:15px;line-height:1.65}.nxcbp-modal__form form.cart{display:block!important;margin:0!important;padding:0!important;visibility:visible!important}.nxcbp-modal form.variations_form .variations{width:100%;margin:0 0 20px!important;border:0!important;border-collapse:separate;border-spacing:0 14px}.nxcbp-modal form.variations_form .variations tr{display:block}.nxcbp-modal form.variations_form .variations th,.nxcbp-modal form.variations_form .variations td{display:block;width:100%;padding:0!important;border:0!important;text-align:left!important}.nxcbp-modal form.variations_form .variations th.label{margin:0 0 8px}.nxcbp-modal form.variations_form .variations label,.nxcbp-modal label{display:block;color:var(--nxcbp-text);font-size:13px;font-weight:700;letter-spacing:.015em}.nxcbp-modal form.variations_form select,.nxcbp-modal form.cart select{width:100%;height:52px;margin:0!important;padding:0 42px 0 15px;border:1px solid var(--nxcbp-border)!important;border-radius:var(--nxcbp-radius)!important;background-color:var(--nxcbp-modal-bg);color:var(--nxcbp-text);font-size:15px;box-shadow:none!important;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.nxcbp-modal form.variations_form select:focus,.nxcbp-modal form.cart select:focus{border-color:var(--nxcbp-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--nxcbp-primary) 14%,transparent)!important}.nxcbp-modal .reset_variations{display:inline-block!important;margin-top:7px;color:var(--nxcbp-muted);font-size:12px;text-decoration:underline;text-underline-offset:3px}.nxcbp-modal .single_variation_wrap{margin-top:2px}.nxcbp-modal .woocommerce-variation-description p{color:var(--nxcbp-muted);font-size:13px}.nxcbp-modal .woocommerce-variation-price{margin:12px 0 17px}.nxcbp-modal .woocommerce-variation-price .price{color:var(--nxcbp-text)!important;font-size:21px!important;font-weight:750}.nxcbp-modal .woocommerce-variation-availability{margin-bottom:12px}.nxcbp-modal .woocommerce-variation-availability p{margin:0;font-size:13px}.nxcbp-modal .woocommerce-variation-add-to-cart,.nxcbp-modal form.cart:not(.variations_form){display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}.nxcbp-modal .quantity{margin:0!important}.nxcbp-modal .quantity input.qty{height:var(--nxcbp-button-height);min-width:72px;border:1px solid var(--nxcbp-border);border-radius:var(--nxcbp-radius);background:var(--nxcbp-modal-bg);color:var(--nxcbp-text)}.nxcbp-hide-quantity .nxcbp-modal .quantity{display:none!important}.nxcbp-hide-quantity .nxcbp-modal .single_add_to_cart_button{width:100%}.nxcbp-modal .single_add_to_cart_button.nxcbp-submit{flex:1;min-width:220px;margin:0!important;opacity:1}.nxcbp-modal .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed;transform:none}.nxcbp-modal__note{display:flex;align-items:flex-start;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--nxcbp-border);color:var(--nxcbp-muted);font-size:12.5px;line-height:1.55}.nxcbp-modal__note svg{width:18px;height:18px;flex:0 0 18px;margin-top:1px;fill:none;stroke:var(--nxcbp-primary);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.nxcbp-modal-open{overflow:hidden!important}.nxcbp-modal .woocommerce-error,.nxcbp-modal .woocommerce-info{margin:0 0 16px!important}.nxcbp-product .shoptimizer-sticky-add-to-cart .button{cursor:pointer}@media(max-width:600px){.nxcbp-modal{align-items:end;padding:0}.nxcbp-modal__dialog{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:calc(var(--nxcbp-radius) + 8px) calc(var(--nxcbp-radius) + 8px) 0 0;padding:27px 20px max(22px,env(safe-area-inset-bottom))}.nxcbp-modal__header{padding-right:35px;margin-bottom:20px}.nxcbp-modal__close{top:12px;right:12px}.nxcbp-launcher{max-width:none}.nxcbp-modal .woocommerce-variation-add-to-cart,.nxcbp-modal form.cart:not(.variations_form){display:block}.nxcbp-modal .quantity{margin:0 0 10px!important}.nxcbp-modal .single_add_to_cart_button.nxcbp-submit{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.nxcbp-modal,.nxcbp-modal__dialog,.nxcbp-button{transition:none!important}}

/* 1.0.2: izolowany, kompaktowy wybór liczby miejsc.
 * Shoptimizer ustawia własne przyciski ilości pionowo i potrafi rozciągnąć
 * cały wiersz formularza po przeniesieniu go do modala. Popup korzysta
 * z własnych kontrolek, dlatego zerujemy style motywu wyłącznie tutaj. */
.nxcbp-modal .woocommerce-variation-add-to-cart,
.nxcbp-modal form.cart:not(.variations_form){
	align-items:flex-start!important;
}
.nxcbp-modal .quantity.nxcbp-quantity{
	position:relative!important;
	inset:auto!important;
	float:none!important;
	display:grid!important;
	grid-template-columns:42px minmax(54px,62px) 42px!important;
	grid-template-rows:var(--nxcbp-button-height)!important;
	flex:0 0 auto!important;
	align-self:flex-start!important;
	width:auto!important;
	min-width:138px!important;
	max-width:146px!important;
	height:var(--nxcbp-button-height)!important;
	min-height:var(--nxcbp-button-height)!important;
	max-height:var(--nxcbp-button-height)!important;
	margin:0!important;
	padding:0!important;
	border:1px solid var(--nxcbp-border)!important;
	border-radius:var(--nxcbp-radius)!important;
	background:var(--nxcbp-modal-bg)!important;
	overflow:hidden!important;
	box-sizing:border-box!important;
}
.nxcbp-modal .quantity.nxcbp-quantity input.qty{
	position:static!important;
	grid-column:2!important;
	grid-row:1!important;
	align-self:stretch!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:100%!important;
	min-height:0!important;
	margin:0!important;
	padding:0 4px!important;
	border:0!important;
	border-right:1px solid var(--nxcbp-border)!important;
	border-left:1px solid var(--nxcbp-border)!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--nxcbp-text)!important;
	font:inherit!important;
	font-size:15px!important;
	font-weight:650!important;
	line-height:1!important;
	text-align:center!important;
	-moz-appearance:textfield!important;
	appearance:textfield!important;
}
.nxcbp-modal .quantity.nxcbp-quantity input.qty::-webkit-inner-spin-button,
.nxcbp-modal .quantity.nxcbp-quantity input.qty::-webkit-outer-spin-button{
	margin:0!important;
	-webkit-appearance:none!important;
}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-step{
	position:static!important;
	inset:auto!important;
	transform:none!important;
	float:none!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	align-self:stretch!important;
	width:42px!important;
	min-width:42px!important;
	max-width:42px!important;
	height:100%!important;
	min-height:0!important;
	max-height:none!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:var(--nxcbp-text)!important;
	font:inherit!important;
	font-size:20px!important;
	font-weight:400!important;
	line-height:1!important;
	text-indent:0!important;
	cursor:pointer!important;
	transition:background-color .16s ease,color .16s ease!important;
	box-sizing:border-box!important;
}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-minus{grid-column:1!important;grid-row:1!important}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-plus{grid-column:3!important;grid-row:1!important}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-step:hover,
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-step:focus-visible{
	background:color-mix(in srgb,var(--nxcbp-primary) 10%,transparent)!important;
	color:var(--nxcbp-primary)!important;
}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-step:focus-visible{
	outline:2px solid var(--nxcbp-primary)!important;
	outline-offset:-2px!important;
}
.nxcbp-modal .quantity.nxcbp-quantity .nxcbp-qty-step:disabled{
	opacity:.35!important;
	cursor:not-allowed!important;
}
.nxcbp-modal .single_add_to_cart_button.nxcbp-submit{
	align-self:flex-start!important;
	height:var(--nxcbp-button-height)!important;
	min-height:var(--nxcbp-button-height)!important;
	max-height:var(--nxcbp-button-height)!important;
	padding-top:0!important;
	padding-bottom:0!important;
}
.nxcbp-hide-quantity .nxcbp-modal .quantity.nxcbp-quantity{display:none!important}

@media(max-width:600px){
	.nxcbp-modal .quantity.nxcbp-quantity{
		width:146px!important;
		max-width:146px!important;
		margin:0 0 12px!important;
	}
}


/* 1.1.0: dwuetapowy proces rezerwacji. */
.nxcbp-button > span,
.nxcbp-step-back > span{
	display:inline-flex;
	align-items:center;
	vertical-align:middle;
	line-height:1.15;
}
.nxcbp-button .nxcbp-icon,
.nxcbp-step-back .nxcbp-icon,
.nxcbp-modal__close svg,
.nxcbp-modal__note svg{
	vertical-align:middle;
}
.nxcbp-step-panel[hidden],
.nxcbp-step-message[hidden]{
	display:none!important;
}
.nxcbp-stepper{
	display:grid;
	grid-template-columns:auto minmax(42px,1fr) auto;
	align-items:center;
	gap:12px;
	margin:0 0 26px;
}
.nxcbp-stepper__item{
	display:flex;
	align-items:center;
	gap:9px;
	min-width:0;
	color:var(--nxcbp-muted);
}
.nxcbp-stepper__item > span{
	display:grid;
	place-items:center;
	width:29px;
	height:29px;
	flex:0 0 29px;
	border:1px solid var(--nxcbp-border);
	border-radius:50%;
	background:var(--nxcbp-modal-bg);
	font-size:12px;
	font-weight:750;
	line-height:1;
	transition:border-color .18s ease,background-color .18s ease,color .18s ease;
}
.nxcbp-stepper__item small{
	font-size:11px;
	font-weight:750;
	letter-spacing:.055em;
	line-height:1.25;
	text-transform:uppercase;
	white-space:nowrap;
}
.nxcbp-stepper__item.is-active,
.nxcbp-stepper__item.is-complete{
	color:var(--nxcbp-primary);
}
.nxcbp-stepper__item.is-active > span{
	border-color:var(--nxcbp-primary);
	background:var(--nxcbp-primary);
	color:var(--nxcbp-button-text);
}
.nxcbp-stepper__item.is-complete > span{
	border-color:var(--nxcbp-primary);
	color:var(--nxcbp-primary);
}
.nxcbp-stepper__line{
	display:block;
	height:1px;
	background:var(--nxcbp-border);
}
.nxcbp-step-panel{
	animation:nxcbp-step-in .2s ease both;
}
@keyframes nxcbp-step-in{
	from{opacity:0;transform:translateY(5px)}
	to{opacity:1;transform:translateY(0)}
}
.nxcbp-modal--multistep form.variations_form .variations{
	margin-bottom:18px!important;
}
.nxcbp-step-next{
	width:100%;
	margin:4px 0 0!important;
}
.nxcbp-step-message{
	margin:9px 0 0;
	color:var(--nxcbp-muted);
	font-size:12px;
	line-height:1.45;
	text-align:center;
}
.nxcbp-step-back{
	appearance:none;
	-webkit-appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:7px;
	margin:0 0 20px;
	padding:0;
	border:0;
	background:transparent;
	box-shadow:none;
	color:var(--nxcbp-muted);
	font:inherit;
	font-size:13px;
	font-weight:650;
	line-height:1.2;
	cursor:pointer;
	transition:color .16s ease;
}
.nxcbp-step-back:hover,
.nxcbp-step-back:focus-visible{
	color:var(--nxcbp-primary);
	background:transparent;
}
.nxcbp-step-back:focus-visible{
	outline:2px solid color-mix(in srgb,var(--nxcbp-primary) 25%,transparent);
	outline-offset:4px;
}
.nxcbp-step-back .nxcbp-icon{
	width:17px;
	height:17px;
	flex-basis:17px;
}
.nxcbp-modal--multistep .nxcbp-multistep-actions{
	display:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
	gap:14px!important;
	width:100%;
}
.nxcbp-modal--multistep .nxcbp-quantity-group{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:9px;
	width:100%;
}
.nxcbp-modal--multistep .nxcbp-quantity-label{
	display:block;
	margin:0;
	color:var(--nxcbp-text);
	font-size:13px;
	font-weight:700;
	letter-spacing:.015em;
	line-height:1.35;
}
.nxcbp-modal--multistep .quantity.nxcbp-quantity{
	display:grid!important;
	width:146px!important;
	min-width:146px!important;
	max-width:146px!important;
}
.nxcbp-modal--multistep .single_add_to_cart_button.nxcbp-submit{
	align-self:stretch!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	flex:none!important;
}
.nxcbp-modal--multistep.is-step-1 .nxcbp-modal__note{
	display:none;
}
.nxcbp-cart-form--multistep-simple .nxcbp-quantity-group{
	margin-bottom:0;
}
.nxcbp-cart-form--multistep-simple.nxcbp-multistep-actions,
.nxcbp-cart-form--multistep-simple .nxcbp-multistep-actions{
	display:flex!important;
	flex-direction:column!important;
	align-items:stretch!important;
	gap:14px!important;
}
.nxcbp-modal--multistep .nxcbp-cart-form--multistep-simple .single_add_to_cart_button.nxcbp-submit{
	width:100%!important;
}
@media(max-width:600px){
	.nxcbp-stepper{
		gap:8px;
		margin-bottom:21px;
	}
	.nxcbp-stepper__item{
		gap:7px;
	}
	.nxcbp-stepper__item small{
		font-size:9px;
		letter-spacing:.04em;
	}
	.nxcbp-stepper__item > span{
		width:27px;
		height:27px;
		flex-basis:27px;
	}
	.nxcbp-modal--multistep .quantity.nxcbp-quantity{
		margin-bottom:0!important;
	}
}
@media(prefers-reduced-motion:reduce){
	.nxcbp-step-panel{animation:none!important}
}

/* 1.1.1: stabilne centrowanie modala i licznik bez klawiatury mobilnej. */
.nxcbp-modal .quantity.nxcbp-quantity--buttons-only input.qty{
	caret-color:transparent!important;
	cursor:default!important;
	user-select:none!important;
	-webkit-user-select:none!important;
}
@media(max-width:600px){
	.nxcbp-modal{
		display:flex;
		align-items:flex-end;
		justify-content:center;
		width:100%;
		padding:12px 12px max(12px,env(safe-area-inset-bottom));
		overflow-x:hidden;
		box-sizing:border-box;
	}
	.nxcbp-modal__dialog{
		width:100%;
		max-width:min(var(--nxcbp-width),calc(100vw - 24px));
		max-height:calc(100dvh - 24px);
		margin-right:auto;
		margin-left:auto;
		border:1px solid color-mix(in srgb,var(--nxcbp-border) 76%,transparent);
		border-radius:calc(var(--nxcbp-radius) + 8px);
		box-sizing:border-box;
	}
}


/* 1.1.2: edytowalne nazwy kroków i górna belka sterowania. */
.nxcbp-modal__dialog{
	padding-top:max(clamp(24px,5vw,46px),72px);
}
.nxcbp-modal__controls{
	position:absolute;
	z-index:4;
	top:16px;
	left:16px;
	right:16px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:40px;
	pointer-events:none;
}
.nxcbp-modal__controls > button{
	pointer-events:auto;
}
.nxcbp-modal__controls .nxcbp-modal__close{
	position:static;
	top:auto;
	right:auto;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	margin-left:auto;
	padding:0!important;
	line-height:1!important;
}
.nxcbp-modal__controls .nxcbp-modal__close svg{
	display:block;
	margin:auto;
}
.nxcbp-modal__back{
	appearance:none;
	-webkit-appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	height:40px;
	min-height:40px;
	margin:0;
	padding:0 13px;
	border:1px solid var(--nxcbp-border);
	border-radius:var(--nxcbp-radius);
	background:transparent;
	box-shadow:none;
	color:var(--nxcbp-text);
	font:inherit;
	font-size:13px;
	font-weight:650;
	line-height:1;
	cursor:pointer;
	transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.nxcbp-modal__back[hidden]{
	display:none!important;
}
.nxcbp-modal__back:hover,
.nxcbp-modal__back:focus-visible{
	border-color:var(--nxcbp-primary);
	background:color-mix(in srgb,var(--nxcbp-primary) 7%,transparent);
	color:var(--nxcbp-primary);
}
.nxcbp-modal__back:focus-visible{
	outline:2px solid color-mix(in srgb,var(--nxcbp-primary) 25%,transparent);
	outline-offset:3px;
}
.nxcbp-modal__back .nxcbp-icon{
	width:17px;
	height:17px;
	flex:0 0 17px;
	vertical-align:middle;
}
.nxcbp-modal__back > span{
	display:inline-flex;
	align-items:center;
	line-height:1;
	vertical-align:middle;
}
.nxcbp-modal__header{
	padding-right:0;
}
@media(max-width:600px){
	.nxcbp-modal__dialog{
		padding-top:66px;
	}
	.nxcbp-modal__controls{
		top:12px;
		left:12px;
		right:12px;
	}
	.nxcbp-modal__back{
		max-width:calc(100% - 52px);
		padding-right:11px;
		padding-left:11px;
	}
	.nxcbp-modal__back > span{
		overflow:hidden;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
}
.nxcbp-stepper__item small{
	max-width:150px;
	white-space:normal;
	overflow-wrap:anywhere;
}
.nxcbp-stepper__item:last-child small{
	text-align:right;
}
@media(max-width:600px){
	.nxcbp-stepper__item small{
		max-width:88px;
	}
}

/* 1.1.3: klikalny ukończony krok i odstępy między wariantami. */
.nxcbp-stepper__item.is-complete{
	cursor:pointer;
	transition:color .16s ease,opacity .16s ease;
}
.nxcbp-stepper__item.is-complete:hover{
	opacity:.76;
}
.nxcbp-stepper__item.is-complete:focus-visible{
	outline:2px solid color-mix(in srgb,var(--nxcbp-primary) 30%,transparent);
	outline-offset:5px;
	border-radius:calc(var(--nxcbp-radius) + 2px);
}
.nxcbp-step-panel--one .variations tr:not(:last-child) > th,
.nxcbp-step-panel--one .variations tr:not(:last-child) > td{
	padding-bottom:14px!important;
}
@media(max-width:600px){
	.nxcbp-step-panel--one .variations tr:not(:last-child) > th,
	.nxcbp-step-panel--one .variations tr:not(:last-child) > td{
		padding-bottom:12px!important;
	}
}


/* 1.2.0: trzeci krok z danymi zamawiającego i natywną płatnością WooCommerce. */
.nxcbp-stepper--3{
	grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;
}
.nxcbp-stepper--3 .nxcbp-stepper__item:nth-of-type(3) small{
	text-align:right;
}
.nxcbp-checkout-shell[hidden],
.nxcbp-invoice-fields[hidden],
.nxcbp-checkout-prepare-error[hidden]{
	display:none!important;
}
.nxcbp-checkout-shell{
	width:100%;
	animation:nxcbp-step-in .2s ease both;
}
.nxcbp-checkout-form{
	margin:0!important;
}
.nxcbp-checkout-details,
.nxcbp-checkout-review{
	margin:0;
}
.nxcbp-checkout-details h3,
.nxcbp-checkout-review > h3{
	margin:0 0 8px!important;
	color:var(--nxcbp-text);
	font-size:18px;
	font-weight:750;
	line-height:1.25;
	letter-spacing:-.012em;
}
.nxcbp-checkout-details__intro{
	margin:0 0 20px;
	color:var(--nxcbp-muted);
	font-size:13px;
	line-height:1.55;
}
.nxcbp-checkout-fields,
.nxcbp-invoice-fields{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	column-gap:12px;
	row-gap:14px;
}
.nxcbp-checkout-fields .form-row,
.nxcbp-invoice-fields .form-row{
	float:none!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
}
.nxcbp-checkout-fields .form-row-wide,
.nxcbp-invoice-fields .form-row-wide,
.nxcbp-invoice-fields #billing_address_1_field,
.nxcbp-invoice-fields #billing_address_2_field,
.nxcbp-invoice-fields #billing_country_field,
.nxcbp-invoice-fields #billing_state_field,
.nxcbp-invoice-fields #billing_phone_field{
	grid-column:1/-1;
}
.nxcbp-checkout-form .form-row label{
	display:block;
	margin:0 0 7px;
	color:var(--nxcbp-text);
	font-size:12.5px;
	font-weight:700;
	line-height:1.35;
}
.nxcbp-checkout-form .required{
	color:var(--nxcbp-primary);
	text-decoration:none;
}
.nxcbp-checkout-form input.input-text,
.nxcbp-checkout-form select,
.nxcbp-checkout-form textarea,
.nxcbp-checkout-form .select2-container .select2-selection--single{
	width:100%!important;
	min-height:48px!important;
	margin:0!important;
	padding:0 13px!important;
	border:1px solid var(--nxcbp-border)!important;
	border-radius:var(--nxcbp-radius)!important;
	background:var(--nxcbp-modal-bg)!important;
	box-shadow:none!important;
	color:var(--nxcbp-text)!important;
	font:inherit!important;
	font-size:14px!important;
	box-sizing:border-box!important;
	outline:none!important;
}
.nxcbp-checkout-form textarea{
	min-height:90px!important;
	padding-top:11px!important;
	padding-bottom:11px!important;
}
.nxcbp-checkout-form input.input-text:focus,
.nxcbp-checkout-form select:focus,
.nxcbp-checkout-form textarea:focus,
.nxcbp-checkout-form .select2-container--focus .select2-selection--single{
	border-color:var(--nxcbp-primary)!important;
	box-shadow:0 0 0 3px color-mix(in srgb,var(--nxcbp-primary) 14%,transparent)!important;
}
.nxcbp-checkout-form .select2-container{
	width:100%!important;
}
.nxcbp-checkout-form .select2-selection__rendered{
	padding:8px 24px 8px 0!important;
	line-height:30px!important;
	color:var(--nxcbp-text)!important;
}
.nxcbp-checkout-form .select2-selection__arrow{
	height:46px!important;
	right:8px!important;
}
.nxcbp-invoice-toggle{
	position:relative;
	display:flex!important;
	align-items:center;
	gap:10px;
	margin:18px 0 17px;
	color:var(--nxcbp-text);
	font-size:13px!important;
	font-weight:700!important;
	line-height:1.35;
	cursor:pointer;
}
.nxcbp-invoice-toggle input{
	position:absolute;
	width:1px;
	height:1px;
	opacity:0;
	pointer-events:none;
}
.nxcbp-invoice-toggle__box{
	display:flex;
	align-items:center;
	justify-content:center;
	width:21px;
	height:21px;
	flex:0 0 21px;
	border:1px solid var(--nxcbp-border);
	border-radius:calc(var(--nxcbp-radius) - 1px);
	background:var(--nxcbp-modal-bg);
	transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.nxcbp-invoice-toggle__box svg{
	width:14px;
	height:14px;
	fill:none;
	stroke:var(--nxcbp-button-text);
	stroke-width:2;
	stroke-linecap:round;
	stroke-linejoin:round;
	opacity:0;
	transform:scale(.7);
	transition:opacity .16s ease,transform .16s ease;
}
.nxcbp-invoice-toggle input:checked + .nxcbp-invoice-toggle__box{
	border-color:var(--nxcbp-primary);
	background:var(--nxcbp-primary);
}
.nxcbp-invoice-toggle input:checked + .nxcbp-invoice-toggle__box svg{
	opacity:1;
	transform:scale(1);
}
.nxcbp-invoice-toggle input:focus-visible + .nxcbp-invoice-toggle__box{
	box-shadow:0 0 0 3px color-mix(in srgb,var(--nxcbp-primary) 18%,transparent);
}
.nxcbp-invoice-fields{
	margin-bottom:24px;
	padding:18px;
	border:1px solid var(--nxcbp-border);
	border-radius:var(--nxcbp-radius);
	background:color-mix(in srgb,var(--nxcbp-border) 14%,transparent);
}
.nxcbp-checkout-review{
	margin-top:26px;
	padding-top:22px;
	border-top:1px solid var(--nxcbp-border);
}
.nxcbp-checkout-review > h3{
	margin-bottom:15px!important;
}
.nxcbp-checkout-form .woocommerce-checkout-review-order-table{
	width:100%;
	margin:0 0 18px!important;
	border:1px solid var(--nxcbp-border)!important;
	border-collapse:collapse!important;
	border-radius:var(--nxcbp-radius);
	background:transparent!important;
	font-size:13px;
	overflow:hidden;
}
.nxcbp-checkout-form .woocommerce-checkout-review-order-table th,
.nxcbp-checkout-form .woocommerce-checkout-review-order-table td{
	padding:11px 12px!important;
	border:0!important;
	border-bottom:1px solid var(--nxcbp-border)!important;
	background:transparent!important;
	color:var(--nxcbp-text)!important;
	text-align:left;
	vertical-align:top;
}
.nxcbp-checkout-form .woocommerce-checkout-review-order-table th:last-child,
.nxcbp-checkout-form .woocommerce-checkout-review-order-table td:last-child{
	text-align:right;
}
.nxcbp-checkout-form .woocommerce-checkout-review-order-table tr:last-child th,
.nxcbp-checkout-form .woocommerce-checkout-review-order-table tr:last-child td{
	border-bottom:0!important;
}
.nxcbp-checkout-form .woocommerce-checkout-review-order-table .product-quantity{
	color:var(--nxcbp-muted);
	font-weight:500;
}
.nxcbp-checkout-form .woocommerce-checkout-payment{
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
}
.nxcbp-checkout-form .wc_payment_methods{
	margin:0 0 18px!important;
	padding:0!important;
	border:1px solid var(--nxcbp-border)!important;
	border-radius:var(--nxcbp-radius);
	background:transparent!important;
	list-style:none!important;
	overflow:hidden;
}
.nxcbp-checkout-form .wc_payment_method{
	margin:0!important;
	padding:14px!important;
	border:0!important;
	border-bottom:1px solid var(--nxcbp-border)!important;
	background:transparent!important;
	list-style:none!important;
}
.nxcbp-checkout-form .wc_payment_method:last-child{
	border-bottom:0!important;
}
.nxcbp-checkout-form .wc_payment_method > input[type=radio]{
	margin:2px 9px 0 0!important;
	accent-color:var(--nxcbp-primary);
	vertical-align:top;
}
.nxcbp-checkout-form .wc_payment_method > label{
	display:inline-flex!important;
	align-items:center;
	max-width:calc(100% - 30px);
	margin:0!important;
	font-size:13px!important;
	font-weight:700!important;
	vertical-align:top;
}
.nxcbp-checkout-form .wc_payment_method img{
	max-height:28px;
	width:auto;
	margin-left:8px;
	vertical-align:middle;
}
.nxcbp-checkout-form .payment_box{
	margin:12px 0 0!important;
	padding:12px!important;
	border:0!important;
	border-radius:var(--nxcbp-radius)!important;
	background:color-mix(in srgb,var(--nxcbp-border) 18%,transparent)!important;
	color:var(--nxcbp-muted)!important;
	font-size:12.5px!important;
	line-height:1.5;
}
.nxcbp-checkout-form .payment_box:before{
	display:none!important;
}
.nxcbp-checkout-form .place-order{
	float:none!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
}
.nxcbp-checkout-form .woocommerce-privacy-policy-text,
.nxcbp-checkout-form .woocommerce-terms-and-conditions-wrapper{
	color:var(--nxcbp-muted);
	font-size:11.5px;
	line-height:1.55;
}
.nxcbp-checkout-form .woocommerce-privacy-policy-text p{
	margin:0 0 12px;
}
.nxcbp-checkout-form .woocommerce-terms-and-conditions-checkbox-text{
	font-size:12px;
	font-weight:600;
}
.nxcbp-checkout-form #place_order.nxcbp-place-order,
.nxcbp-checkout-form #place_order{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:100%!important;
	min-height:var(--nxcbp-button-height)!important;
	margin:14px 0 0!important;
	padding:12px 22px!important;
	border:1px solid var(--nxcbp-primary)!important;
	border-radius:var(--nxcbp-radius)!important;
	background:var(--nxcbp-primary)!important;
	box-shadow:none!important;
	color:var(--nxcbp-button-text)!important;
	font:inherit!important;
	font-weight:700!important;
	line-height:1.15!important;
	text-align:center!important;
}
.nxcbp-checkout-form #place_order:hover,
.nxcbp-checkout-form #place_order:focus-visible{
	border-color:var(--nxcbp-primary-hover)!important;
	background:var(--nxcbp-primary-hover)!important;
}
.nxcbp-checkout-prepare-error{
	margin:13px 0 0;
	padding:11px 12px;
	border:1px solid #dba5a5;
	border-radius:var(--nxcbp-radius);
	background:#fff4f4;
	color:#8b2424;
	font-size:12.5px;
	line-height:1.5;
}
.nxcbp-checkout-notices .woocommerce-error,
.nxcbp-checkout-notices .woocommerce-info,
.nxcbp-checkout-notices .woocommerce-message,
.nxcbp-checkout-form > .woocommerce-error,
.nxcbp-checkout-form > .woocommerce-info,
.nxcbp-checkout-form > .woocommerce-message{
	margin:0 0 16px!important;
	padding:12px 14px!important;
	border-radius:var(--nxcbp-radius)!important;
	font-size:12.5px!important;
	line-height:1.5!important;
}
.nxcbp-submit.is-loading{
	position:relative;
	color:transparent!important;
	pointer-events:none;
}
.nxcbp-submit.is-loading > *{
	opacity:0!important;
}
.nxcbp-submit.is-loading:after{
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:19px;
	height:19px;
	margin:-10px 0 0 -10px;
	border:2px solid color-mix(in srgb,var(--nxcbp-button-text) 35%,transparent);
	border-top-color:var(--nxcbp-button-text);
	border-radius:50%;
	animation:nxcbp-spin .7s linear infinite;
}
@keyframes nxcbp-spin{to{transform:rotate(360deg)}}
.nxcbp-modal--checkout.is-step-3 .nxcbp-modal__header p{
	display:none;
}
.nxcbp-modal--checkout.is-step-3 .nxcbp-modal__header{
	margin-bottom:20px;
}
.nxcbp-modal--checkout.is-step-3 .nxcbp-modal__note{
	display:none;
}
@media(max-width:600px){
	.nxcbp-stepper--3{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:7px;
	}
	.nxcbp-stepper--3 .nxcbp-stepper__line{
		display:none;
	}
	.nxcbp-stepper--3 .nxcbp-stepper__item{
		flex-direction:column;
		justify-content:flex-start;
		gap:5px;
		text-align:center;
	}
	.nxcbp-stepper--3 .nxcbp-stepper__item small,
	.nxcbp-stepper--3 .nxcbp-stepper__item:last-child small{
		display:block;
		max-width:100%;
		font-size:8px;
		line-height:1.2;
		text-align:center;
	}
	.nxcbp-stepper--3 .nxcbp-stepper__item > span{
		width:29px;
		height:29px;
		flex-basis:29px;
	}
	.nxcbp-checkout-fields,
	.nxcbp-invoice-fields{
		grid-template-columns:1fr;
	}
	.nxcbp-checkout-fields .form-row,
	.nxcbp-invoice-fields .form-row{
		grid-column:1!important;
	}
	.nxcbp-invoice-fields{
		padding:14px;
	}
	.nxcbp-checkout-form .woocommerce-checkout-review-order-table th,
	.nxcbp-checkout-form .woocommerce-checkout-review-order-table td{
		padding:10px!important;
	}
}


/* 1.2.1: źródłowy formularz może znajdować się poza klasycznym .summary (np. GenerateBlocks). */
.nxcbp-js .nxcbp-product .nxcbp-launcher-wrap + form.cart{display:none!important}
.nxcbp-modal__form > form.cart.nxcbp-cart-form{display:block!important}
