/* ==========================================================================
   Bio-Lec Video Carousel — Frontend Styles
   ========================================================================== */

.biolec-vc{position:relative;margin:30px 0;padding:10px 0;}
.biolec-vc *{box-sizing:border-box;}
.biolec-vc .swiper{width:100%;padding:20px 10px 50px;}
.biolec-vc .swiper-slide{
	background:#000;border-radius:14px;overflow:hidden;
	box-shadow:0 8px 30px rgba(0,0,0,.15);
	transition:transform .3s ease,box-shadow .3s ease;
}

.biolec-vc-video{
	position:relative;padding-bottom:56.25%;height:0;
	background:#000;cursor:pointer;
}
.biolec-vc-video img,
.biolec-vc-video iframe,
.biolec-vc-video video{
	position:absolute;inset:0;width:100%;height:100%;
	object-fit:cover;border:0;display:block;
}

/* Play button overlay */
.biolec-vc-play{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:72px;height:72px;border-radius:50%;
	background:rgba(255,255,255,.92);
	display:flex;align-items:center;justify-content:center;
	pointer-events:none;
	transition:transform .25s ease,background .25s ease;
	box-shadow:0 8px 24px rgba(0,0,0,.25);
}
.biolec-vc-video:hover .biolec-vc-play{transform:translate(-50%,-50%) scale(1.08);background:#fff;}
.biolec-vc-play::before{
	content:"";display:block;
	border-style:solid;border-width:14px 0 14px 22px;
	border-color:transparent transparent transparent #111;
	margin-left:5px;
}

/* Caption — small font as requested */
.biolec-vc-caption{
	position:absolute;left:0;right:0;bottom:0;
	padding:14px 14px 12px;
	color:#fff;font-size:12px;font-weight:500;letter-spacing:.2px;
	background:linear-gradient(transparent,rgba(0,0,0,.85));
	pointer-events:none;line-height:1.4;
}

/* Navigation */
.biolec-vc .swiper-button-next,
.biolec-vc .swiper-button-prev{
	color:#fff;background:rgba(0,0,0,.55);
	width:44px;height:44px;border-radius:50%;
}
.biolec-vc .swiper-button-next:after,
.biolec-vc .swiper-button-prev:after{font-size:18px;font-weight:bold;}
.biolec-vc .swiper-pagination-bullet-active{background:#7c3aed;}

/* ---------- Style 2 — multi-slide grid ---------- */
.biolec-vc-style-2 .swiper-slide{transform:scale(.92);opacity:.7;transition:all .35s ease;}
.biolec-vc-style-2 .swiper-slide-active{transform:scale(1);opacity:1;}

/* ---------- Style 3 — coverflow ---------- */
.biolec-vc-style-3 .swiper{padding:30px 0 60px;}
.biolec-vc-style-3 .swiper-slide{width:440px;max-width:80vw;}
.biolec-vc-style-3 .swiper-slide-active{box-shadow:0 24px 60px rgba(0,0,0,.4);}

/* ---------- Mobile ---------- */
@media (max-width:600px){
	.biolec-vc-play{width:54px;height:54px;}
	.biolec-vc-play::before{border-width:10px 0 10px 16px;}
	.biolec-vc-style-3 .swiper-slide{width:88vw;}
	.biolec-vc-caption{font-size:11px;padding:10px 12px;}
}

/* ==========================================================================
   Modal / Lightbox
   ========================================================================== */
.biolec-vc-modal{
	position:fixed;inset:0;z-index:99999;
	background:rgba(0,0,0,.92);
	display:none;align-items:center;justify-content:center;
	padding:40px 80px;opacity:0;
	transition:opacity .25s ease;
}
.biolec-vc-modal.is-open{display:flex;opacity:1;}
.biolec-vc-modal-inner{
	position:relative;width:100%;max-width:1200px;
	aspect-ratio:16/9;max-height:90vh;
	background:#000;border-radius:8px;overflow:hidden;
	box-shadow:0 25px 80px rgba(0,0,0,.6);
}
.biolec-vc-modal-inner iframe,
.biolec-vc-modal-inner video{
	position:absolute;inset:0;width:100%;height:100%;
	border:0;display:block;background:#000;
}
.biolec-vc-modal-title{
	position:absolute;left:0;right:80px;top:-44px;
	color:#fff;font-size:16px;font-weight:600;
	text-shadow:0 1px 2px rgba(0,0,0,.5);
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.biolec-vc-modal-close{
	position:absolute;top:-50px;right:0;
	width:40px;height:40px;border-radius:50%;
	background:rgba(255,255,255,.15);color:#fff;border:0;
	cursor:pointer;font-size:24px;line-height:1;
	display:flex;align-items:center;justify-content:center;
	transition:background .2s ease,transform .2s ease;
}
.biolec-vc-modal-close:hover{background:rgba(255,255,255,.3);transform:rotate(90deg);}
.biolec-vc-modal-nav{
	position:absolute;top:50%;transform:translateY(-50%);
	width:54px;height:54px;border-radius:50%;
	background:rgba(255,255,255,.15);color:#fff;border:0;
	cursor:pointer;font-size:28px;line-height:1;
	display:flex;align-items:center;justify-content:center;
	transition:background .2s ease;z-index:2;
}
.biolec-vc-modal-nav:hover{background:rgba(255,255,255,.35);}
.biolec-vc-modal-prev{left:-70px;}
.biolec-vc-modal-next{right:-70px;}
.biolec-vc-modal-counter{
	position:absolute;left:0;bottom:-36px;
	color:rgba(255,255,255,.7);font-size:14px;
}
body.biolec-vc-modal-open{overflow:hidden;}

@media (max-width:900px){
	.biolec-vc-modal{padding:20px;}
	.biolec-vc-modal-prev,.biolec-vc-modal-next{
		position:fixed;top:auto;bottom:20px;transform:none;
		width:46px;height:46px;font-size:22px;
	}
	.biolec-vc-modal-prev{left:20px;}
	.biolec-vc-modal-next{right:20px;}
	.biolec-vc-modal-close{top:20px;right:20px;position:fixed;background:rgba(255,255,255,.2);}
	.biolec-vc-modal-title{position:fixed;top:24px;left:20px;right:80px;font-size:14px;}
	.biolec-vc-modal-counter{position:fixed;left:50%;transform:translateX(-50%);bottom:30px;}
}
