/* FX Reference – výchozí vzhled (vše přepsatelné v Elementoru) */

/* Kontejner s referencemi: řádky po dvou, zalamování */
.e-con:has(> .elementor-widget-fx_reference),
.e-con-inner:has(> .elementor-widget-fx_reference){
	flex-direction:row !important;
	flex-wrap:wrap !important;
	align-items:flex-start;
	justify-content:flex-start !important;
	gap:var(--row-gap, var(--gap, 20px)) var(--column-gap, var(--gap, 20px)) !important;
}

/* Wrapper widgetu: 2 vedle sebe (nízká specificita, aby šlo přepsat ovládáním šířky) */
:where(.e-con, .e-con-inner) > .elementor-widget-fx_reference{
	flex:0 0 calc(50% - var(--column-gap, var(--gap, 20px)) / 2 - .1px) !important;
	width:calc(50% - var(--column-gap, var(--gap, 20px)) / 2 - .1px) !important;
	max-width:100% !important;
	min-width:0 !important;
}
/* do 800 px: každá reference samostatně */
@media (max-width:800px){
	:where(.e-con, .e-con-inner) > .elementor-widget-fx_reference{
		flex:0 0 100% !important;
		width:100% !important;
	}
	.fxr{padding-bottom:25px}
}

.fxr{
	--fxr-gap:18px;
	display:flex;
	flex-direction:column;
	gap:var(--fxr-gap);
	font-family:'DM Sans','Montserrat',sans-serif;
	color:#fff;
	min-width:0;
}

.fxr-img{
	display:block;
	position:relative;
	overflow:hidden;
	width:100%;
	aspect-ratio:1252 / 665;
	border-radius:22px;
	line-height:0;
	box-sizing:border-box;
	border:2px solid #ffffff1a;
	transform-origin:center;
	transition:transform .4s ease;
}
.fxr-imgbox{display:block;width:100%}
/* hover se hlídá na nehybném obalu, takže zmenšený box nezpůsobí cyklení na okraji */
@media (hover:hover){
	.fxr-imgbox:hover .fxr-img{transform:scale(var(--fxr-scale-hover,.92));will-change:transform}
}
a.fxr-img{cursor:pointer}
.fxr-img img{
	position:absolute;inset:0;
	width:100%;height:100%;
	object-fit:cover;
	object-position:center center;
	transform-origin:center center;
	display:block;
}

.fxr-tags{display:flex;flex-wrap:wrap;gap:8px}
.fxr-tag{
	display:inline-block;
	background:var(--fxr-tag-c,#5097ff);
	color:#fff;
	padding:8px 15px;
	border-radius:4px;
	font-size:13px;
	line-height:1.1;
	text-transform:uppercase;
}

.fxr-title{
	margin:0;
	color:#fff;
	font-size:25px;
	font-weight:800;
	line-height:1.15;
}
.fxr-sub{
	margin:calc(var(--fxr-gap) * -.5) 0 0;
	color:#ffffff;
	font-size:16px;
	line-height:1.3;
	font-weight:300;
}

/* ---------- Lightbox ---------- */
.fxr-lb{
	position:fixed;inset:0;z-index:999999;
	display:flex;align-items:center;justify-content:center;
	background:rgba(0,0,0,.92);
	opacity:0;visibility:hidden;
	transition:opacity .25s ease, visibility .25s;
}
.fxr-lb.is-open{opacity:1;visibility:visible}
.fxr-lb-stage{
	margin:0;max-width:88vw;max-height:88vh;
	display:flex;flex-direction:column;align-items:center;gap:12px;
}
.fxr-lb-img{
	max-width:88vw;max-height:80vh;
	object-fit:contain;display:block;
	border-radius:6px;
	user-select:none;-webkit-user-drag:none;
}
.fxr-lb-cap{color:#fff;font:400 15px/1.4 'DM Sans','Montserrat',sans-serif;text-align:center;max-width:80vw}
.fxr-lb-cap:empty{display:none}
.fxr-lb-btn{
	position:absolute;
	display:flex;align-items:center;justify-content:center;
	width:52px;height:52px;padding:0;
	background:rgba(255,255,255,.12);
	border:0;border-radius:50%;
	cursor:pointer;color:#fff;
	transition:background .2s ease, transform .2s ease;
}
.fxr-lb-btn:hover{background:rgba(255,255,255,.25)}
.fxr-lb-btn svg{width:22px;height:22px;fill:#fff;display:block}
.fxr-lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.fxr-lb-next{right:20px;top:50%;transform:translateY(-50%)}
.fxr-lb-prev svg{transform:rotate(180deg)}
.fxr-lb-close{top:18px;right:18px;font-size:30px;line-height:1}
.fxr-lb-close span{display:block;margin-top:-3px}
.fxr-lb.is-single .fxr-lb-prev,
.fxr-lb.is-single .fxr-lb-next{display:none}
.fxr-lb-count{position:absolute;top:28px;left:24px;color:#fff;font:400 14px 'DM Sans','Montserrat',sans-serif;opacity:.8}
.fxr-lb.is-single .fxr-lb-count{display:none}
html.fxr-lb-lock{overflow:hidden}

@media (max-width:800px){
	.fxr-lb-btn{width:44px;height:44px}
	.fxr-lb-prev{left:8px}.fxr-lb-next{right:8px}
}
@media (prefers-reduced-motion:reduce){
	.fxr-img,.fxr-lb{transition:none}
}
