html.zpopup-scroll-lock,
body.zpopup-scroll-lock{
	overflow:hidden!important;
	overscroll-behavior:none;
}

.zpopup{
	--zpopup-duration:250ms;
	--zpopup-responsive-mode:popup;
	--zexpand-responsive-mode:inline;
	position:relative;
	display:block;
	width:100%;
}

.zpopup__trigger-wrap{
	display:flex;
	width:100%;
}

.zpopup__trigger{
	appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	cursor:pointer;
	background:#fff;
	color:#1f2124;
	border:1px solid #d5d8dc;
	font:inherit;
}

.zpopup__trigger-icon svg,
.zpopup__button-icon svg{
	display:block;
	width:1em;
	height:1em;
	fill:currentColor;
}

.zpopup__template{
	width:100%;
}


/* POPUP – VÝCHOZÍ STAV */

.zpopup__overlay{
	position:fixed;
	inset:0;
	z-index:100000;
	background:rgba(0,0,0,.55);
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}

.zpopup__box{
	position:fixed;
	top:50%;
	left:50%;
	z-index:100001;
	display:flex;
	flex-direction:column;
	width:min(560px,calc(100vw - 32px));
	max-height:calc(100dvh - 32px);
	overflow:hidden;
	background:#fff;
	visibility:hidden;
	pointer-events:none;
	opacity:0;
	transform:translate(-50%,-50%);
}

.zpopup__content{
	overflow:auto;
	flex:1 1 auto;
	-webkit-overflow-scrolling:touch;
}


/* POPUP – OTEVŘENÝ */

.zpopup.zpopup-mode--popup.zpopup--open>.zpopup__overlay{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	transition:opacity var(--zpopup-duration) ease,visibility 0s;
}

.zpopup.zpopup-mode--popup.zpopup--open>.zpopup__box{
	visibility:visible;
	pointer-events:auto;
}


/* POPUP – ZAVÍRÁNÍ
   Musí existovat OPEN + CLOSING současně */

.zpopup.zpopup-mode--popup.zpopup--open.zpopup--closing>.zpopup__overlay{
	opacity:0;
	visibility:visible;
	pointer-events:none;
	transition:opacity var(--zpopup-duration) ease,visibility 0s;
}

.zpopup.zpopup-mode--popup.zpopup--open.zpopup--closing>.zpopup__box{
	visibility:visible;
	pointer-events:none;
}


/* STATIC / INLINE MODE */

.zpopup.zpopup-mode--static>.zpopup__trigger-wrap,
.zpopup.zpopup-mode--static>.zpopup__overlay,
.zpopup.zpopup-mode--static>.zpopup__box>.zpopup__button{
	display:none!important;
}

.zpopup.zpopup-mode--static>.zpopup__box{
	position:static!important;
	inset:auto!important;
	z-index:auto!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	height:auto!important;
	max-height:none!important;
	overflow:visible!important;
	visibility:visible!important;
	pointer-events:auto!important;
	opacity:1!important;
	transform:none!important;
	animation:none!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	padding:0!important;
	margin:0!important;
	box-shadow:none!important;
}

.zpopup.zpopup-mode--static>.zpopup__box>.zpopup__content{
	overflow:visible!important;
	flex:none!important;
}


/* EXPAND MODE */

.zpopup.zpopup-mode--expand>.zpopup__overlay,
.zpopup.zpopup-mode--expand>.zpopup__box>.zpopup__button{
	display:none!important;
}

.zpopup.zpopup-mode--expand:not(.zpopup--open)>.zpopup__box{
	position:absolute!important;
	inset:0 auto auto 0!important;
	z-index:-1!important;
	display:block!important;
	width:1px!important;
	min-width:0!important;
	max-width:1px!important;
	height:1px!important;
	min-height:0!important;
	max-height:1px!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
	visibility:hidden!important;
	pointer-events:none!important;
	opacity:0!important;
	transform:none!important;
	clip-path:inset(50%)!important;
	animation:none!important;
}

.zpopup.zpopup-mode--expand.zpopup--open>.zpopup__box{
	position:static!important;
	inset:auto!important;
	z-index:auto!important;
	display:block!important;
	width:100%!important;
	min-width:0!important;
	max-width:none!important;
	height:auto!important;
	min-height:0!important;
	max-height:none!important;
	overflow:visible!important;
	visibility:visible!important;
	pointer-events:auto!important;
	opacity:1!important;
	transform:none!important;
	clip-path:none!important;
	animation:none!important;
}

.zpopup.zpopup-mode--expand>.zpopup__box>.zpopup__content{
	overflow:visible!important;
	display:block!important;
	flex:none!important;
}

.zpopup.zpopup-mode--expand>.zpopup__box>.zpopup__content>.zpopup__template{
	min-height:0!important;
}


/* TLAČÍTKA */

.zpopup__button{
	appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	cursor:pointer;
	font:inherit;
	border:0;
}

.zpopup__button--confirm{
	flex:0 0 auto;
	width:100%;
	padding:14px 20px;
	background:#1f2124;
	color:#fff;
}

.zpopup__button--confirm:hover{
	background:#34373b;
}

.zpopup__button--close{
	position:absolute!important;
	top:12px!important;
	right:12px!important;
	bottom:auto!important;
	left:auto!important;
	z-index:10!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:40px!important;
	height:40px!important;
	min-width:40px!important;
	min-height:40px!important;
	padding:0!important;
	margin:0!important;
	border:0!important;
	border-radius:50%!important;
	background:#fff;
	color:#1f2124;
}

.zpopup__button--close:hover{
	background:#eee;
	color:#1f2124;
}

.zpopup__button-icon--default{
	display:block;
	width:24px;
	height:24px;
    border: 1px solid #ddd;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;
	mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") center/contain no-repeat;
}


/* ANIMACE */

@keyframes zpopup-in-zoom{
	from{
		opacity:0;
		transform:translate(-50%,-50%) scale(.94);
	}
	to{
		opacity:1;
		transform:translate(-50%,-50%) scale(1);
	}
}

@keyframes zpopup-out-zoom{
	from{
		opacity:1;
		transform:translate(-50%,-50%) scale(1);
	}
	to{
		opacity:0;
		transform:translate(-50%,-50%) scale(.94);
	}
}

@keyframes zpopup-in-fade{
	from{
		opacity:0;
	}
	to{
		opacity:1;
	}
}

@keyframes zpopup-out-fade{
	from{
		opacity:1;
	}
	to{
		opacity:0;
	}
}

@keyframes zpopup-in-slide-up{
	from{
		opacity:0;
		transform:translate(-50%,-46%);
	}
	to{
		opacity:1;
		transform:translate(-50%,-50%);
	}
}

@keyframes zpopup-out-slide-up{
	from{
		opacity:1;
		transform:translate(-50%,-50%);
	}
	to{
		opacity:0;
		transform:translate(-50%,-46%);
	}
}


/* OPEN – DEFAULT ZOOM */

.zpopup.zpopup-mode--popup.zpopup--open:not(.zpopup--closing)>.zpopup__box{
	animation-name:zpopup-in-zoom;
	animation-duration:var(--zpopup-duration);
	animation-fill-mode:forwards;
	animation-timing-function:ease;
}


/* CLOSE – DEFAULT ZOOM */

.zpopup.zpopup-mode--popup.zpopup--open.zpopup--closing>.zpopup__box{
	animation-name:zpopup-out-zoom;
	animation-duration:var(--zpopup-duration);
	animation-fill-mode:forwards;
	animation-timing-function:ease;
}


/* FADE */

.zpopup[data-zpopup-animation="fade"].zpopup-mode--popup.zpopup--open:not(.zpopup--closing)>.zpopup__box{
	animation-name:zpopup-in-fade;
}

.zpopup[data-zpopup-animation="fade"].zpopup-mode--popup.zpopup--open.zpopup--closing>.zpopup__box{
	animation-name:zpopup-out-fade;
}


/* SLIDE UP */

.zpopup[data-zpopup-animation="slide-up"].zpopup-mode--popup.zpopup--open:not(.zpopup--closing)>.zpopup__box{
	animation-name:zpopup-in-slide-up;
}

.zpopup[data-zpopup-animation="slide-up"].zpopup-mode--popup.zpopup--open.zpopup--closing>.zpopup__box{
	animation-name:zpopup-out-slide-up;
}


/* BEZ ANIMACE */

.zpopup[data-zpopup-animation="none"].zpopup-mode--popup>.zpopup__box{
	animation:none;
}


/* REDUCED MOTION */

@media(prefers-reduced-motion:reduce){
	.zpopup__box,
	.zpopup__overlay{
		animation:none!important;
		transition:none!important;
	}
}