/**
 * TalentLeap Hireox – layout fixes & homepage polish
 */

@media (min-width: 1200px) {
	.tlh-container,
	.tlh-front .container-fluid {
		max-width: 1580px;
		margin-left: auto;
		margin-right: auto;
	}
}

.page-content.tlh-front {
	margin: 0;
	padding: 0 0 20px;
}

.elementor-default .page-content.tlh-front {
	margin-top: 0;
	margin-bottom: 0;
}

/* Hero split */
.tlh-hero-row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0 10px 30px;
	gap: 0;
}

.tlh-hero-col {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0 10px;
}

.tlh-hero-col--side {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-top: 20px;
}

.banner-slider-one {
	height: 100%;
	min-height: 680px;
}

.banner-slider-one .swiper-slide {
	position: relative;
	min-height: 680px;
}

.banner-slider-one .slider-img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center top;
}

.banner-slider-one .banner-content {
	z-index: 2;
}

.banner-content h6 span {
	background-color: var(--themeht-white-color);
	color: var(--themeht-dark-color);
	line-height: 25px;
	padding: 2px 8px;
	border-radius: 5px;
	margin-right: 10px;
	display: inline-block;
	font-weight: 600;
}

.banner-content h6 {
	backdrop-filter: blur(4px);
	background-color: rgba(255, 255, 255, 0.2);
	padding: 6px 12px 4px 8px;
	border-radius: 6px;
	display: inline-flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

/* Chart card */
.donut-chart-wrap {
	background: var(--themeht-primary-color);
	border-radius: 20px;
	padding: 28px 25px 22px;
	flex: 1;
}

.donut-chart-wrap .chart-label {
	color: #fff;
	margin-bottom: 16px;
	font-size: 16px;
	text-transform: capitalize;
}

.donut-visual {
	width: 220px;
	height: 220px;
	border-radius: 50%;
	margin: 0 auto 18px;
	background: conic-gradient(#1e4db7 0deg 80deg, #0bb2fb 80deg 200deg, #fdc90f 200deg 360deg);
	mask: radial-gradient(farthest-side, transparent calc(100% - 42px), #000 calc(100% - 41px));
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 42px), #000 calc(100% - 41px));
}

.chart-legend {
	display: flex;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 13px;
	color: #fff;
}

.chart-legend span::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-right: 6px;
	vertical-align: middle;
}

.chart-legend .l1::before { background: #1e4db7; }
.chart-legend .l2::before { background: #0bb2fb; }
.chart-legend .l3::before { background: #fdc90f; }

/* Client marquee */
.marquee-section.style1 {
	background: var(--themeht-light-color);
	padding: 28px 0;
	margin: 0 20px 40px;
	border-radius: 15px;
	overflow: hidden;
}

.marquee-section.style1 h6 {
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
	color: var(--themeht-body-color);
	margin-bottom: 24px;
	font-weight: 500;
}

.client-track-wrap {
	overflow: hidden;
}

.client-track {
	display: flex;
	align-items: center;
	gap: 70px;
	width: max-content;
	animation: tlh-marquee 28s linear infinite;
}

.client-track img {
	height: 44px;
	width: auto;
	opacity: 0.65;
	filter: grayscale(1);
	transition: 0.3s ease;
}

.client-track img:hover {
	opacity: 1;
	filter: none;
}

@keyframes tlh-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* Service grid numbering */
.tlh-service-grid .col-12 {
	counter-increment: tlhService;
	position: relative;
}

.tlh-service-grid .col-12::before {
	content: counters(tlhService, ".", decimal-leading-zero);
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--themeht-typography-secondary-font-family);
	font-weight: 600;
	font-size: 16px;
	color: var(--themeht-dark-color);
	z-index: 2;
}

.tlh-service-grid .service-item.style-1 {
	border-bottom: 1px solid #d5d5d5;
	padding-top: 10px;
}

/* Section spacing */
.section-padding {
	padding: 110px 0;
}

.theme-title.text-center .section-desc {
	max-width: 720px;
	margin: 12px auto 0;
	text-align: center;
	color: var(--themeht-body-color);
	line-height: 1.7;
}

/* Feature boxes – Hireox-style cards */
.tlh-feature-item {
	background: var(--themeht-white-color);
	border: 1px solid #e8e8e8;
	border-radius: 20px;
	padding: 35px 30px;
	height: 100%;
	transition: border-color 0.3s, box-shadow 0.3s;
}

.tlh-feature-item:hover {
	border-color: var(--themeht-primary-color);
	box-shadow: 0 15px 40px rgba(1, 78, 78, 0.08);
}

.tlh-feature-item .feature-icon {
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	border-radius: 12px;
	background: var(--themeht-light-color);
	color: var(--themeht-primary-color);
	font-size: 28px;
	margin-bottom: 22px;
}

.tlh-feature-item h4 {
	font-size: 22px;
	margin-bottom: 12px;
}

/* Testimonials section */
.tlh-testimonial-section {
	position: relative;
	background-size: cover;
	background-position: center;
	padding: 110px 0;
}

.tlh-testimonial-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(1, 78, 78, 0.92) 0%, rgba(1, 78, 78, 0.85) 100%);
	border-radius: 20px;
	margin: 0 20px;
}

.tlh-testimonial-section .container-fluid {
	position: relative;
	z-index: 1;
}

.tlh-testimonial-section .section-lead {
	text-align: center;
	color: var(--themeht-secondary-color);
	font-size: 18px;
	margin-bottom: 50px;
	letter-spacing: 0.5px;
}

.testimonial-swiper .swiper-button-prev,
.testimonial-swiper .swiper-button-next {
	color: #fff;
}

.testimonial-swiper .swiper-button-prev::after,
.testimonial-swiper .swiper-button-next::after {
	font-size: 22px;
}

/* CTA package */
.cta-package {
	border-radius: 20px;
	overflow: hidden;
	margin: 0 0 80px;
}

.cta-package .cta-content {
	padding: 60px 50px;
}

.cta-package .cta-content h6 {
	font-size: 32px;
	line-height: 1.3;
	margin-bottom: 20px;
	color: var(--themeht-dark-color);
}

.cta-package .counter.style-1 .counter-desc span.counter-number {
	font-size: 56px;
	line-height: 1;
	font-family: var(--themeht-typography-secondary-font-family);
	color: var(--themeht-primary-color);
	font-weight: 500;
}

.cta-package .cta-img {
	min-height: 100%;
	min-height: 420px;
	background-size: cover;
	background-position: center;
}

/* Team swiper */
.team-swiper-section {
	padding-bottom: 40px;
}

.team-swiper .team-member.style-1 {
	margin-bottom: 0;
}

/* Skills */
.skills-wrap {
	border-radius: 20px;
	padding: 70px 60px;
	margin: 0 20px;
}

.skills-wrap .theme-title p {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.skills-wrap h2 {
	color: #fff;
}

.skill-bar label {
	color: #fff;
}

/* Portfolio swiper */
.portfolio-swiper {
	padding-bottom: 50px;
}

.portfolio-swiper .swiper-slide {
	height: auto;
}

/* Blog grid accent */
.tlh-blog-grid .post-card.style-1 {
	margin-bottom: 0;
	height: 100%;
}

.tlh-blog-grid .post-desc .post-date {
	font-size: 14px;
	color: var(--themeht-body-color);
	margin-bottom: 10px;
}

.tlh-blog-grid .post-desc .post-date i {
	color: var(--themeht-primary-color);
	margin-right: 6px;
}

.tlh-blog-grid .post-cat {
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.5px;
	color: var(--themeht-body-color);
}

/* Contact strip */
.tlh-contact-strip {
	margin: 0 20px 20px;
	border-radius: 20px;
	padding: 80px 40px;
}

/* Footer polish */
.footer.primary-bg {
	background-color: var(--themeht-primary-color) !important;
	margin: 0 20px;
	border-radius: 20px 20px 0 0;
}

.footer .footer-logo:not(.tlh-logo--footer) {
	filter: brightness(0) invert(1);
	max-height: 70px;
}

.footer-subscribe .form-control {
	border-radius: 100px;
	border: none;
	padding: 14px 24px;
}

/* Mobile nav */
.nav-menu-toggle {
	display: none;
	background: var(--themeht-primary-color);
	color: #fff;
	border: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
}

/* WordPress menu compatibility */
.main-nav ul.menu,
.main-nav #menu-primary-menu {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-nav ul.menu li,
.main-nav #menu-primary-menu li {
	list-style: none;
	margin: 0 4px;
}

.main-nav ul.menu li a,
.main-nav #menu-primary-menu li a {
	text-decoration: none !important;
}

@media (min-width: 1200px) {
	.navigation-top {
		display: flex !important;
		align-items: center;
		position: static !important;
		width: auto !important;
		height: auto !important;
		padding: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}
}

@media (max-width: 1199px) {
	.nav-menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		margin-left: auto;
		order: 10;
		position: relative;
		z-index: 10001;
		cursor: pointer;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	/* Only one control when open: drawer close button */
	body.tlh-menu-open #menu-toggle {
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
	}

	body.tlh-menu-open #header-wrap {
		z-index: 10000;
	}

	.navbar-brand.logo {
		margin-right: auto;
	}

	body.tlh-menu-open {
		overflow: hidden;
	}

	.ht-navigation {
		flex-wrap: nowrap;
	}

	.navigation-top {
		position: fixed;
		top: 0;
		right: -100%;
		width: min(320px, 90vw);
		max-width: 320px;
		height: 100vh;
		height: 100dvh;
		background: #fff;
		z-index: 99999;
		padding: 0;
		transition: right 0.38s cubic-bezier(0.4, 0, 0.2, 1);
		overflow: hidden;
		box-shadow: -12px 0 48px rgba(1, 78, 78, 0.18);
		flex: none;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		border-radius: 20px 0 0 20px;
	}

	.navigation-top.is-open {
		right: 0;
	}

	.tlh-mobile-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		flex-shrink: 0;
		padding: max(22px, env(safe-area-inset-top, 0px) + 16px) 22px 20px;
		background: linear-gradient(135deg, #014e4e 0%, #016969 100%);
		color: #fff;
		position: relative;
		z-index: 1;
	}

	.tlh-mobile-drawer__label {
		margin: 0;
		font-family: var(--themeht-heading-font);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--themeht-secondary-color);
	}

	.tlh-mobile-drawer__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: none;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.14);
		color: #fff;
		font-size: 20px;
		line-height: 1;
		cursor: pointer;
		transition: background 0.2s ease, transform 0.2s ease;
	}

	.tlh-mobile-drawer__close:hover {
		background: rgba(255, 255, 255, 0.24);
		transform: scale(1.04);
	}

	.tlh-mobile-drawer__body {
		flex: 1;
		overflow-y: auto;
		padding: 20px 18px 28px;
		background: linear-gradient(180deg, #f6f8f9 0%, #fff 32%);
		-webkit-overflow-scrolling: touch;
	}

	.ht-mobile-menu-bg {
		display: none;
		opacity: 0;
		transition: opacity 0.35s ease;
	}

	.ht-mobile-menu-bg.is-open {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(1, 30, 30, 0.55);
		backdrop-filter: blur(3px);
		z-index: 99998;
		opacity: 1;
	}

	.main-nav,
	.main-nav ul.menu,
	.main-nav #menu-primary-menu {
		display: block !important;
		width: 100%;
	}

	.main-nav .menu {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.main-nav .menu > li,
	.main-nav ul.menu li,
	.main-nav #menu-primary-menu li {
		margin: 0;
		width: 100%;
	}

	.main-nav .menu > li > a,
	.main-nav ul.menu li a,
	.main-nav #menu-primary-menu li a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 18px;
		border: none;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 1px 0 rgba(1, 78, 78, 0.06);
		font-size: 15px;
		font-weight: 500;
		text-transform: none;
		letter-spacing: 0.01em;
		color: var(--themeht-dark-color);
		transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
	}

	.main-nav .menu > li > a::after {
		content: '\F138';
		font-family: bootstrap-icons;
		font-size: 14px;
		opacity: 0.35;
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.main-nav .menu > li > a:hover,
	.main-nav ul.menu li a:hover,
	.main-nav #menu-primary-menu li a:hover,
	.main-nav .menu > li.current-menu-item > a,
	.main-nav ul.menu li.current-menu-item > a {
		background: var(--themeht-primary-color);
		color: #fff !important;
		transform: translateX(2px);
	}

	.main-nav .menu > li > a:hover::after,
	.main-nav .menu > li.current-menu-item > a::after {
		opacity: 1;
		transform: translateX(2px);
	}

	.tlh-mobile-drawer__cta {
		margin-top: 24px;
		padding-top: 20px;
		border-top: 1px solid rgba(1, 78, 78, 0.1);
	}

	.tlh-mobile-drawer__cta .themeht-btn-warp {
		width: 100%;
		justify-content: center;
	}

	.tlh-mobile-drawer__cta .themeht-btn .btn-text {
		flex: 1;
		text-align: center;
	}

	.right-nav .themeht-btn-warp {
		display: none;
	}

	.right-nav {
		display: none;
	}
}

@media (min-width: 1200px) {
	.tlh-mobile-drawer__head,
	.tlh-mobile-drawer__cta {
		display: none;
	}

	.tlh-mobile-drawer__body {
		display: contents;
		padding: 0;
		background: none;
		overflow: visible;
	}
}

@media (max-width: 767px) {
	.section-padding {
		padding: 70px 0;
	}

	.banner-slider-one .banner-content h1 {
		font-size: 36px !important;
		line-height: 44px !important;
	}

	.skills-wrap {
		padding: 40px 28px;
	}
}

/* Testimonial quote badge */
.testimonial.style-1 .testimonial-img {
	position: relative;
	flex-shrink: 0;
}

.testimonial.style-1 .testimonial-quote {
	position: absolute;
	bottom: 0;
	left: 0;
}

.testimonial.style-1 .testimonial-quote i {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: var(--themeht-primary-color);
	color: #fff;
	font-size: 32px;
}

.testimonial.style-1 .testimonial-content {
	flex: 1;
}

/* Pricing – center popular plan */
@media (min-width: 992px) {
	.price-table.style1.popular {
		transform: translateY(-12px);
	}
}

/* Scroll reveal */
.tlh-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.tlh-reveal.tlh-visible {
	opacity: 1;
	transform: translateY(0);
}

body.tlh-menu-open {
	overflow: hidden;
}

/* Swiper nav on dark sections */
.portfolio-swiper .swiper-button-prev,
.portfolio-swiper .swiper-button-next,
.team-swiper .swiper-button-prev,
.team-swiper .swiper-button-next {
	color: var(--themeht-primary-color);
}

.portfolio-swiper .swiper-button-prev::after,
.portfolio-swiper .swiper-button-next::after,
.team-swiper .swiper-button-prev::after,
.team-swiper .swiper-button-next::after {
	font-size: 20px;
	font-weight: 700;
}

/* About image */
#about .about-img-wrap img {
	border-radius: 20px;
	width: 100%;
	object-fit: cover;
}

.secondary-bg .list-icon.style1 li,
.secondary-bg .list-icon.style1 li i {
	color: var(--themeht-dark-color);
}

.cta-package .list-icon.style1 li i {
	color: var(--themeht-primary-color);
}

/* Header layout polish */
.header.header-2 {
	padding-bottom: 0;
}

.ht-navigation {
	gap: 20px;
}

.right-nav {
	gap: 8px;
}

.logo img,
.custom-logo {
	max-height: var(--logo-desktop-height, 35px);
	width: auto;
}

/* Service hover image circle */
@media (min-width: 992px) {
	.tlh-service-grid .service-item.style-1:hover {
		z-index: 3;
	}
}

/* Portfolio card min height */
.portfolio-swiper .portfolio-item.style-1 {
	margin-bottom: 0;
}

.portfolio-swiper .portfolio-item.style-1 img {
	aspect-ratio: 4/5;
	object-fit: cover;
}

/* Team swiper spacing */
.team-swiper {
	padding: 0 50px 60px;
}

/* Section title spacing on homepage */
.tlh-front .theme-title {
	margin-bottom: 50px;
}

.tlh-front .theme-title.text-center {
	margin-left: auto;
	margin-right: auto;
}
