/* Red Gallery – frontend */
.rgal{
	--rgal-cols:4;--rgal-cols-t:3;--rgal-cols-m:2;--rgal-gap:12px;--rgal-ratio:1;--rgal-radius:8px;
	--rgal-accent:#B50925;--rgal-active-top:#1A0006;--rgal-active-bottom:#B50925;
	--rgal-tab-text:#4A0712;--rgal-tab-bg:#FFFFFF;--rgal-tab-hover:#F8EFF1;
	--rgal-c:var(--rgal-cols);
	width:100%;
}
@media (max-width:1024px){.rgal{--rgal-c:var(--rgal-cols-t)}}
@media (max-width:767px){.rgal{--rgal-c:var(--rgal-cols-m)}}

/* ---------- Tabs ---------- */
.rgal-filter{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 28px}
.rgal-label{font-size:14px;color:#51464B;white-space:nowrap}
.rgal-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.rgal .rgal-tab{
	appearance:none;-webkit-appearance:none;
	display:inline-flex!important;align-items:center;justify-content:center;
	width:auto!important;min-width:0!important;height:auto!important;
	margin:0!important;padding:11px 28px!important;
	border:1.5px solid var(--rgal-accent)!important;border-radius:999px!important;
	background:var(--rgal-tab-bg)!important;color:var(--rgal-tab-text)!important;
	font-size:15px;line-height:1.2!important;font-weight:500;letter-spacing:0;text-transform:none;text-decoration:none!important;
	box-shadow:none!important;cursor:pointer;white-space:nowrap;
	transition:background .25s,color .25s,box-shadow .25s,transform .15s;
}
.rgal .rgal-tab:hover,.rgal .rgal-tab:focus-visible{background:var(--rgal-tab-hover)!important;color:var(--rgal-tab-text)!important;outline:none}
.rgal .rgal-tab:active{transform:scale(.97)}
.rgal .rgal-tab.is-active,.rgal .rgal-tab.is-active:hover{
	background:linear-gradient(180deg,var(--rgal-active-top) 0%,var(--rgal-active-bottom) 100%)!important;
	color:#fff!important;border-color:var(--rgal-active-bottom)!important;
	box-shadow:0 6px 16px rgba(181,9,37,.25)!important;
}
@media (max-width:767px){
	.rgal-filter{flex-direction:column;gap:10px}
	.rgal-tabs{gap:8px}
	.rgal .rgal-tab{padding:9px 18px!important;font-size:13.5px}
}

/* ---------- Items ---------- */
.rgal-items{transition:opacity .25s ease}
.rgal-items.is-fading{opacity:0}
.rgal-item{display:block;position:relative;overflow:hidden;border-radius:var(--rgal-radius);background:#F8EFF1;cursor:zoom-in;text-decoration:none!important;line-height:0}
.rgal-item.is-hidden{display:none!important}
.rgal-item img{display:block;width:100%!important;max-width:100%!important;height:auto;border-radius:0!important;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.rgal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(74,7,18,.28));opacity:0;transition:opacity .3s;pointer-events:none}
.rgal-item:hover::after{opacity:1}
.rgal-item:hover img{transform:scale(1.05)}
.elementor-widget.rgal-zoom- .rgal-item:hover img{transform:none}

/* masonry */
.rgal--masonry .rgal-items{column-count:var(--rgal-c);column-gap:var(--rgal-gap)}
.rgal--masonry .rgal-item{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 var(--rgal-gap)}

/* grid (same size) */
.rgal--grid .rgal-items{display:grid;grid-template-columns:repeat(var(--rgal-c),minmax(0,1fr));gap:var(--rgal-gap)}
.rgal--grid .rgal-item{aspect-ratio:var(--rgal-ratio)}
.rgal--grid .rgal-item img{height:100%!important;object-fit:cover}

.rgal-empty{padding:30px;text-align:center;border:2px dashed #E9DDE1;color:#51464B;border-radius:10px}

/* ---------- Lightbox ---------- */
.rgal-lb{position:fixed;inset:0;z-index:999999;background:rgba(20,4,8,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.rgal-lb.open{opacity:1;visibility:visible}
.rgal-lb-img{max-width:92vw;max-height:90vh;object-fit:contain;user-select:none;opacity:0;transition:opacity .25s}
.rgal-lb-count{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:13px;letter-spacing:.05em}
.rgal-lb .rgal-lb-btn{
	position:absolute!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;
	background:rgba(74,7,18,.7)!important;color:#fff!important;box-shadow:none!important;line-height:1!important;
	display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;transition:background .2s;z-index:2
}
.rgal-lb .rgal-lb-btn:hover,.rgal-lb .rgal-lb-btn:focus{background:#B50925!important;color:#fff!important;outline:none}
.rgal-lb .rgal-lb-btn svg{display:block;width:46%!important;height:46%!important;fill:none!important;stroke:currentColor!important;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rgal-lb .rgal-lb-prev,.rgal-lb .rgal-lb-next{top:50%!important;transform:translateY(-50%)!important;width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;min-height:56px!important;max-height:56px!important}
.rgal-lb .rgal-lb-prev{left:24px!important;right:auto!important}
.rgal-lb .rgal-lb-next{right:24px!important;left:auto!important}
.rgal-lb .rgal-lb-close{top:20px!important;right:22px!important;left:auto!important;width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important;min-height:46px!important;max-height:46px!important}
@media (max-width:767px){
	.rgal-lb .rgal-lb-prev,.rgal-lb .rgal-lb-next{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important}
	.rgal-lb .rgal-lb-prev{left:8px!important}.rgal-lb .rgal-lb-next{right:8px!important}
	.rgal-lb .rgal-lb-close{top:12px!important;right:12px!important;width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;min-height:40px!important;max-height:40px!important}
}
html.rgal-lock,html.rgal-lock body{overflow:hidden!important}
