/* LS Instagram Feed – Frontend */

.lsig-feed{
	--lsig-cols-desktop:3;
	--lsig-cols-tablet:2;
	--lsig-cols:var(--lsig-cols-desktop);
	--lsig-gap:12px;
	--lsig-radius:0px;
	--lsig-aspect:4/5;
	position:relative;
	width:100%;
	box-sizing:border-box;
}
.lsig-feed *,
.lsig-feed *::before,
.lsig-feed *::after{box-sizing:border-box;}

/* ---------- VIEWPORT / TRACK ---------- */
.lsig-viewport{
	width:100%;
	overflow:hidden;
}
.lsig-layout-slideshow .lsig-track{
	display:flex;
	gap:var(--lsig-gap);
	will-change:transform;
}
.lsig-layout-slideshow.lsig-anim .lsig-track{
	transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
.lsig-layout-slideshow .lsig-item{
	flex:0 0 calc((100% - (var(--lsig-cols) - 1) * var(--lsig-gap)) / var(--lsig-cols));
}

/* ---------- GRID ---------- */
.lsig-layout-grid .lsig-track{
	display:grid;
	grid-template-columns:repeat(var(--lsig-cols),1fr);
	gap:var(--lsig-gap);
}

/* ---------- ITEM ---------- */
.lsig-item{
	display:block;
	text-decoration:none;
	color:inherit;
}
.lsig-img-wrap{
	position:relative;
	width:100%;
	aspect-ratio:var(--lsig-aspect);
	overflow:hidden;
	border-radius:var(--lsig-radius);
	background:#efefef;
}
.lsig-media{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .5s ease;
}
.lsig-overlay{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
	background:rgba(0,0,0,0);
	opacity:0;
	transition:opacity .35s ease, background .35s ease;
	pointer-events:none;
}
.lsig-item:hover .lsig-media,
.lsig-item:focus-visible .lsig-media{transform:scale(1.06);}
.lsig-item:hover .lsig-overlay,
.lsig-item:focus-visible .lsig-overlay{
	opacity:1;
	background:rgba(0,0,0,.28);
}
.lsig-ig-icon{filter:drop-shadow(0 1px 3px rgba(0,0,0,.4));}

.lsig-play{
	position:absolute;
	top:10px;
	right:10px;
	width:30px;
	height:30px;
	border-radius:50%;
	background:rgba(0,0,0,.55);
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
}

.lsig-caption{
	display:block;
	margin-top:8px;
	font-size:13px;
	line-height:1.4;
	color:inherit;
	opacity:.85;
}

/* ---------- NAV ---------- */
.lsig-nav{
	position:absolute;
	top:calc(50% - 0px);
	transform:translateY(-50%);
	width:42px;
	height:42px;
	border:none;
	border-radius:50%;
	background:#fff;
	color:#c8386e;
	box-shadow:0 2px 12px rgba(0,0,0,.18);
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:3;
	transition:background .2s ease, transform .2s ease, opacity .2s ease;
}
.lsig-nav:hover{background:#c8386e;color:#fff;}
.lsig-prev{left:10px;}
.lsig-next{right:10px;}
.lsig-nav[hidden]{display:none;}

/* ---------- DOTS ---------- */
.lsig-dots{
	display:flex;
	justify-content:center;
	gap:7px;
	margin-top:14px;
}
.lsig-dots:empty{display:none;}
.lsig-dots button{
	width:8px;
	height:8px;
	padding:0;
	border:none;
	border-radius:50%;
	background:#d0d0d0;
	cursor:pointer;
	transition:background .2s ease, transform .2s ease;
}
.lsig-dots button.lsig-dot-active{background:#c8386e;transform:scale(1.25);}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
	.lsig-feed{--lsig-cols:var(--lsig-cols-tablet);}
}
@media (max-width:680px){
	.lsig-feed{--lsig-cols:1;}
}
