/* ==========================================================================
   Avyakta VC Slider
   Depends on: slick.min.css, slick-theme.min.css, main.css (CSS vars)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Wrapper & track
   -------------------------------------------------------------------------- */
.avyakta-vc-slider-wrap {
	position: relative;
	overflow: hidden;
}

.avyakta-vc-slider.slick-slider {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Individual slide
   -------------------------------------------------------------------------- */
.avyakta-vc-slide {
	position: relative;
	min-height: clamp(520px, 56.25vw, calc(100vh - 0px));
	display: flex !important;
	align-items: center;
	overflow: hidden;
	background-color: #001946;
}

.avyakta-vc-slide__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.85;
	z-index: 0;
}

/* Left→right navy gradient, revealing the image on the right (design spec) */
.avyakta-vc-slide__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right,
			rgba(2, 47, 117, 0.88) 0%,
			rgba(2, 47, 117, 0.45) 45%,
			rgba(2, 47, 117, 0.05) 100%);
	z-index: 1;
}

.avyakta-vc-slide__content {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-inline: var(--margin-desktop, 80px);
	padding-block: 60px;
}

.avyakta-vc-slide__inner {
	max-width: 56rem;
}

/* --------------------------------------------------------------------------
   Slide typography — theme design tokens
   -------------------------------------------------------------------------- */
.avyakta-vc-slide__title {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: var(--heading-letter-spacing);
	color: var(--color-on-primary, #ffffff);
	margin-bottom: 1.5rem;
}

.avyakta-vc-slide__text {
	font-family: var(--font-body);
	font-size: clamp(1rem, 1.4vw, 1.5rem);
	color: rgba(255, 255, 255, 0.9);
	max-width: 640px;
	line-height: 1.6;
	margin-bottom: 2.5rem;
}

/* KNOW MORE button — compact cyan (overrides global .btn-primary) */
.avyakta-vc-slide__btn.btn-primary,
.avyakta-vc-slide__btn {
	display: inline-flex;
	align-items: center;
	width: auto;
	background-color: var(--color-secondary-container, #4fc4fe);
	color: var(--color-primary, #022f75);
	padding: 16px 40px;
	border: none;
	border-radius: 0;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	box-shadow: 0 10px 20px -6px rgba(0, 0, 0, 0.35);
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.avyakta-vc-slide__btn.btn-primary:hover,
.avyakta-vc-slide__btn:hover {
	background-color: #ffffff;
	color: var(--color-primary, #022f75);
	transform: translateY(-2px);
}

/* Design's hero CTA has no trailing icon */
.avyakta-vc-slide__btn .material-symbols-outlined {
	display: none;
}

/* --------------------------------------------------------------------------
   Dots
   -------------------------------------------------------------------------- */
.avyakta-vc-slider-wrap .slick-dots {
	bottom: 16px;
}

.avyakta-vc-slider-wrap .slick-dots li button::before {
	color: var(--color-on-primary, #ffffff);
	opacity: 0.5;
	font-size: 10px;
}

.avyakta-vc-slider-wrap .slick-dots li.slick-active button::before {
	color: var(--color-on-primary, #ffffff);
	opacity: 1;
}

/* --------------------------------------------------------------------------
   Custom arrow buttons — Material Symbols Outlined icons
   -------------------------------------------------------------------------- */
.avyakta-slick-prev,
.avyakta-slick-next {
	position: absolute;
	top: auto;
	bottom: 64px;
	transform: none;
	z-index: 12;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 0;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s ease;
	color: var(--color-on-primary, #ffffff);
	padding: 0;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.avyakta-slick-prev:hover,
.avyakta-slick-next:hover {
	background: rgba(255, 255, 255, 0.18);
	border-color: rgba(255, 255, 255, 0.3);
}

/* Grouped, flush, bottom-right (aligned to the 80px desktop margin) */
.avyakta-slick-prev {
	right: 144px;
}

.avyakta-slick-next {
	right: 80px;
	border-left: 0;
}

@media (max-width: 768px) {

	.avyakta-slick-prev,
	.avyakta-slick-next {
		width: 48px;
		height: 48px;
		bottom: 24px;
	}

	.avyakta-slick-prev {
		right: 68px;
	}

	.avyakta-slick-next {
		right: 20px;
	}
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.avyakta-vc-slide {
		min-height: 500px;
	}

	.avyakta-vc-slide__title {
		font-size: clamp(1.8rem, 4vw, 1.75rem);
	}
}

/* --------------------------------------------------------------------------
   Progress Bar
   -------------------------------------------------------------------------- */
.avyakta-slider-progress {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: rgba(255, 255, 255, 0.2);
	z-index: 10;
}

.avyakta-slider-progress-bar {
	height: 100%;
	width: 0;
	background-color: var(--color-secondary-container, #4fc4fe);
}