/* ============================================================
   ISPMY — Premium UI Layer
   Loaded after style.css and responsive.css to elevate the look
   ============================================================ */

:root {
	--isp-primary: #0D5FF9;
	--isp-primary-dark: #0747C2;
	--isp-accent: #C8963E;
	--isp-deep: #002935;
	--isp-ink: #1B2A4A;
	--isp-soft: #F4F7FB;
	--isp-radius: 16px;
	--isp-shadow-sm: 0 6px 18px rgba(13, 95, 249, 0.06);
	--isp-shadow-md: 0 18px 50px rgba(13, 35, 80, 0.10);
	--isp-shadow-lg: 0 30px 80px rgba(13, 35, 80, 0.16);
	--isp-gradient: linear-gradient(135deg, #0D5FF9 0%, #4F8BFF 100%);
	--isp-gradient-warm: linear-gradient(135deg, #C8963E 0%, #E6B45E 100%);
	--isp-gradient-deep: linear-gradient(135deg, #002935 0%, #003F50 60%, #0D5FF9 130%);
}

html { scroll-behavior: smooth; }

body {
	color: #4A5567;
	max-width: 100vw;
	overflow-x: hidden;
}

/* ---- Logo size fix (was 1280x1280 unconstrained) ---- */
.site-logo a img {
	height: 52px;
	width: 52px;
	object-fit: contain;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(13, 95, 249, 0.18);
}
.about-footer .footer-logo img,
.footer-logo img {
	height: 56px;
	width: 56px;
	border-radius: 12px;
	object-fit: contain;
}

/* ---- Logo text refinement ---- */
.logo-text {
	letter-spacing: 1.5px;
	font-weight: 800;
	font-size: 26px !important;
	margin-left: 12px !important;
}

/* ---- Header ---- */
#navigation {
	padding: 14px 24px !important;
	transition: background 0.3s ease, box-shadow 0.3s ease;
}
#navigation::after { opacity: 0.45; }

#navigation #main-menu ul li a {
	position: relative;
	font-weight: 600;
	transition: color 0.2s ease;
}
#navigation #main-menu ul li > a::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -6px;
	height: 3px;
	width: 0;
	background: var(--isp-gradient);
	border-radius: 2px;
	transition: width 0.3s ease, left 0.3s ease;
}
#navigation #main-menu ul li > a:hover::after,
#navigation #main-menu ul li > a.active::after {
	width: 26px;
	left: calc(50% - 13px);
}

.nav-contact-btn,
#navigation .white-btn {
	border-radius: 999px !important;
	background: var(--isp-gradient) !important;
	color: #fff !important;
	padding: 10px 26px !important;
	font-weight: 700 !important;
	letter-spacing: 0.4px;
	border: none !important;
	box-shadow: 0 12px 28px rgba(13, 95, 249, 0.28);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.nav-contact-btn:hover,
#navigation .white-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 38px rgba(13, 95, 249, 0.4);
}

/* ---- Section titles with pill accent ---- */
.section-title { margin-bottom: 50px; }
.section-title span {
	display: inline-block;
	padding: 6px 16px;
	background: rgba(13, 95, 249, 0.08);
	color: var(--isp-primary);
	border-radius: 999px;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	margin-bottom: 16px !important;
}
.section-title h2 {
	font-size: 42px !important;
	line-height: 1.18 !important;
	font-weight: 800;
	letter-spacing: -0.5px;
}
.white-title span {
	background: rgba(255,255,255,0.14) !important;
	color: #fff !important;
}

/* ---- Buttons ---- */
.bg_btn,
.bt {
	border-radius: 999px !important;
	letter-spacing: 0.4px;
	font-weight: 700;
	padding: 14px 32px !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}
.bg_btn {
	background: var(--isp-gradient) !important;
	color: #fff !important;
	box-shadow: 0 14px 32px rgba(13, 95, 249, 0.32);
	border: none !important;
}
.bg_btn:hover,
.bg_btn:focus {
	transform: translateY(-2px);
	box-shadow: 0 22px 44px rgba(13, 95, 249, 0.45);
	color: #fff !important;
}
.wborder_btn {
	border-radius: 999px !important;
	font-weight: 700;
	border: 2px solid rgba(255,255,255,0.65) !important;
	color: #fff !important;
	transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}
.wborder_btn:hover {
	transform: translateY(-2px);
	background: rgba(255,255,255,0.12);
}

/* ---- Hero ---- */
.home-banner {
	background: var(--isp-gradient-deep) !important;
}
.banner-content .subtitle {
	letter-spacing: 4px !important;
	font-size: 13px !important;
	color: #E6B45E !important;
	text-transform: uppercase;
	font-weight: 700;
	display: inline-block;
	padding: 6px 14px;
	background: rgba(200, 150, 62, 0.14);
	border-radius: 999px;
	border: 1px solid rgba(200, 150, 62, 0.35);
}
.banner-content .title {
	font-size: 64px !important;
	line-height: 1.08 !important;
	font-weight: 800 !important;
	letter-spacing: -1.2px;
	margin-top: 24px !important;
}
.banner-content .title span {
	background: linear-gradient(135deg, #C8963E 0%, #FFD78A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent !important;
}
.banner-content p {
	font-size: 17px;
	color: rgba(255,255,255,0.82);
	line-height: 1.7;
	max-width: 540px;
}
.banner-content .sinfo {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	background: rgba(255,255,255,0.06);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.12);
	padding: 10px 18px 10px 10px;
	border-radius: 999px;
	margin-left: 18px !important;
	top: -2px !important;
}
.banner-content .sinfo img {
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	object-fit: cover;
}
.banner-content .sinfo span {
	color: rgba(255,255,255,0.92);
	font-weight: 600;
	font-size: 15px;
}
.banner_img img {
	border-radius: 28px;
	box-shadow: 0 50px 120px rgba(0,0,0,0.5);
	max-height: 78% !important;
}

/* ---- Stat badges ---- */
.total_students_badge,
.total_course_badge {
	border-radius: 18px !important;
	background: rgba(255,255,255,0.96) !important;
	box-shadow: 0 30px 70px rgba(0,0,0,0.22) !important;
	padding: 22px 26px !important;
	border: 1px solid rgba(255,255,255,0.5);
}
.total_students_badge .icon,
.total_course_badge .icon {
	background: var(--isp-gradient) !important;
	box-shadow: 0 10px 24px rgba(13,95,249,0.4);
}
.total_students_badge h4,
.total_course_badge h4 {
	font-weight: 800;
	color: #1B2A4A;
}

/* ---- Feature cards ---- */
.features { padding: 110px 0 !important; }
.feature-item {
	background: #fff;
	border-radius: 22px;
	padding: 42px 30px !important;
	box-shadow: 0 8px 30px rgba(13, 35, 80, 0.05);
	border: 1px solid rgba(13, 95, 249, 0.06);
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease, background 0.35s ease;
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
}
.feature-item::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--isp-gradient);
	opacity: 0;
	transition: opacity 0.35s ease;
	z-index: 0;
}
.feature-item > * { position: relative; z-index: 1; }
.feature-item:hover {
	transform: translateY(-10px);
	box-shadow: var(--isp-shadow-lg) !important;
	border-color: transparent;
}
.feature-item:hover::before { opacity: 1; }
.feature-item:hover h3,
.feature-item:hover p { color: #fff !important; }
.feature-item:hover .fnumber { color: rgba(255,255,255,0.18) !important; }
.feature-item:hover .fea-icon i { color: #fff !important; }
.feature-item .fea-icon {
	width: 70px;
	height: 70px;
	border-radius: 18px;
	background: rgba(13, 95, 249, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	transition: background 0.35s ease;
}
.feature-item:hover .fea-icon { background: rgba(255,255,255,0.18); }
.feature-item .fea-icon i { font-size: 32px !important; }
.feature-item h3 {
	font-size: 22px !important;
	font-weight: 700;
	margin-bottom: 12px;
	transition: color 0.35s ease;
}
.feature-item p {
	font-size: 15px;
	line-height: 1.65;
	color: #607080;
	transition: color 0.35s ease;
}
.fnumber {
	font-size: 80px !important;
	font-weight: 800 !important;
	opacity: 0.06 !important;
	color: var(--isp-primary) !important;
	right: 18px !important;
	bottom: 0 !important;
	transition: color 0.35s ease, opacity 0.35s ease;
	line-height: 1 !important;
}

/* ---- About section ---- */
.about { padding: 110px 0; }
.about img {
	border-radius: 24px !important;
	box-shadow: var(--isp-shadow-md);
}
.about-title h2 {
	font-size: 42px !important;
	font-weight: 800;
	letter-spacing: -0.5px;
}
.single_about {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	padding: 20px 22px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(13, 35, 80, 0.04);
	margin-bottom: 16px;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	border: 1px solid rgba(13,95,249,0.05);
}
.single_about:hover {
	transform: translateX(6px);
	box-shadow: var(--isp-shadow-md);
	border-color: rgba(13,95,249,0.15);
}
.single_about .aicon {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(13,95,249,0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.single_about .aicon i { font-size: 28px !important; }
.single_about .sbcontent h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 4px;
}
.single_about .sbcontent p {
	font-size: 15px;
	color: #607080;
	margin-bottom: 0;
}

/* ---- Counter ---- */
.counter-up {
	background: linear-gradient(180deg, var(--isp-soft) 0%, #fff 100%);
}
.counter-title h2 {
	font-size: 42px !important;
	font-weight: 800;
	letter-spacing: -0.5px;
	margin-bottom: 60px;
}
.counter-title h2 span {
	background: var(--isp-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.counter-item {
	background: #fff;
	border-radius: 22px;
	padding: 42px 24px !important;
	box-shadow: 0 8px 30px rgba(13, 35, 80, 0.05);
	border: 1px solid rgba(13,95,249,0.06);
	transition: all 0.3s ease;
	text-align: center;
	margin-bottom: 30px;
}
.counter-item:hover {
	transform: translateY(-6px);
	box-shadow: var(--isp-shadow-md);
	border-color: rgba(13,95,249,0.2);
}
.counter-item .cicon {
	width: 70px;
	height: 70px;
	border-radius: 18px;
	background: rgba(13,95,249,0.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
}
.counter-item .cicon i { font-size: 32px !important; }
.counter-item h4 {
	font-size: 44px !important;
	font-weight: 800 !important;
	background: var(--isp-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	margin-bottom: 8px !important;
}
.counter-item p {
	font-size: 15px;
	color: #607080;
	font-weight: 600;
	margin-bottom: 0;
}

/* ---- Course cards ---- */
.single-course {
	background: #fff;
	border-radius: 22px !important;
	overflow: hidden;
	box-shadow: 0 10px 36px rgba(13, 35, 80, 0.06) !important;
	border: 1px solid rgba(13, 95, 249, 0.05);
	transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.4s ease;
	margin-bottom: 30px;
}
.single-course:hover {
	transform: translateY(-12px);
	box-shadow: 0 36px 80px rgba(13, 35, 80, 0.18) !important;
}
.course-img {
	overflow: hidden;
	position: relative;
}
.course-img::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,0.18) 100%);
	pointer-events: none;
}
.course-img img {
	border-radius: 0 !important;
	height: 230px !important;
	width: 100%;
	object-fit: cover;
	transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.single-course:hover .course-img img {
	transform: scale(1.08);
}
.cprice {
	background: var(--isp-gradient) !important;
	border-radius: 999px !important;
	padding: 7px 18px !important;
	font-size: 12px !important;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	box-shadow: 0 10px 24px rgba(13, 95, 249, 0.4);
	top: 16px !important;
	left: 16px !important;
	font-weight: 700 !important;
	z-index: 2;
}
.course_content {
	padding: 28px 26px !important;
}
.course_content h2 {
	margin-bottom: 14px !important;
	line-height: 1.3 !important;
}
.course_content h2 a {
	font-size: 21px !important;
	line-height: 1.32 !important;
	font-weight: 700 !important;
	color: #1B2A4A !important;
}
.course_content h2 a:hover { color: var(--isp-primary) !important; }
.course_content p {
	font-size: 14.5px;
	line-height: 1.65;
	color: #607080;
	margin-bottom: 18px;
}
.cmeta {
	display: flex !important;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.cmeta .smeta {
	background: rgba(13, 95, 249, 0.07) !important;
	color: var(--isp-ink) !important;
	padding: 6px 13px !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center;
	gap: 4px;
}
.cmeta .smeta i {
	color: var(--isp-primary) !important;
	font-size: 14px;
	padding-right: 0 !important;
}
.course_btm {
	margin-top: 22px !important;
	padding-top: 18px !important;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid rgba(13, 95, 249, 0.08) !important;
}
.cauthor {
	display: inline-flex !important;
	align-items: center;
}
.cauthor span {
	padding-left: 0 !important;
	font-size: 12px !important;
	color: #6E7B8C !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.6px;
}
.ccategory { float: none !important; }
.ccategory a {
	background: var(--isp-gradient);
	color: #fff !important;
	padding: 9px 18px !important;
	border-radius: 999px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	display: inline-block;
}
.ccategory a:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(13, 95, 249, 0.38);
	color: #fff !important;
}

/* ---- Course Category ---- */
.course-category { padding: 110px 0 !important; }
.single-category {
	background: #fff;
	border-radius: 20px;
	padding: 44px 24px !important;
	box-shadow: 0 8px 28px rgba(13, 35, 80, 0.05);
	border: 1px solid rgba(13, 95, 249, 0.06);
	transition: all 0.35s ease;
	margin-bottom: 30px;
	text-align: center;
}
.single-category:hover {
	transform: translateY(-6px);
	box-shadow: var(--isp-shadow-md);
	border-color: rgba(13,95,249,0.18);
}
.single-category .icon {
	width: 80px;
	height: 80px;
	border-radius: 20px;
	background: rgba(13,95,249,0.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px !important;
	transition: transform 0.4s ease, background 0.3s ease;
}
.single-category .icon i {
	color: var(--isp-primary) !important;
	transition: color 0.3s ease, transform 0.4s ease;
}
.single-category:hover .icon {
	background: var(--isp-gradient);
	transform: scale(1.06) rotate(-4deg);
}
.single-category:hover .icon i {
	color: #fff !important;
}
.single-category h3 a {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #1B2A4A !important;
}
.single-category h3 a:hover { color: var(--isp-primary) !important; }
.single-category span {
	font-size: 13px;
	color: #6E7B8C;
	font-weight: 600;
	letter-spacing: 0.5px;
}

/* ---- Working process ---- */
.working-process {
	position: relative !important;
	padding: 120px 0 !important;
}
.working-process::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 41, 53, 0.92) 0%, rgba(13, 95, 249, 0.85) 100%);
	z-index: 0;
}
.working-process > .container { position: relative; z-index: 1; }
.single-work {
	text-align: center;
	padding: 36px 28px;
	border-radius: 22px;
	background: rgba(255,255,255,0.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255,255,255,0.18);
	transition: all 0.35s ease;
	margin-bottom: 30px;
	color: #fff;
}
.single-work:hover {
	transform: translateY(-8px);
	background: rgba(255,255,255,0.16);
	border-color: rgba(255,255,255,0.3);
}
.single-work h4 {
	color: #fff !important;
	font-size: 22px;
	font-weight: 700;
	margin: 16px 0 10px;
}
.single-work p {
	color: rgba(255,255,255,0.85) !important;
	font-size: 15px;
	line-height: 1.65;
}
.single-work .wicon {
	width: 84px;
	height: 84px;
	background: rgba(255,255,255,0.14);
	border-radius: 50%;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 auto 8px !important;
	border: 1px solid rgba(255,255,255,0.2);
}
.single-work .wicon i {
	color: #fff !important;
	font-size: 38px !important;
}

/* ---- Page banner ---- */
.main-banner {
	height: 30vh !important;
	min-height: 0 !important;
	padding: 0 !important;
	position: relative;
	display: flex;
	align-items: center;
	background-color: #002935 !important;
}
.main-banner .banner-content {
	padding: 0 !important;
}
.main-banner::after {
	background: linear-gradient(135deg, rgba(0, 41, 53, 0.86) 0%, rgba(13, 95, 249, 0.78) 100%) !important;
}
.main-banner h2 {
	font-size: 42px !important;
	font-weight: 800 !important;
	letter-spacing: -0.8px;
	margin-bottom: 12px;
}
.main-banner .breadcrumb {
	display: inline-flex !important;
	background: rgba(255,255,255,0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 9px 22px !important;
	border-radius: 999px !important;
	border: 1px solid rgba(255,255,255,0.2);
	margin: 0 !important;
}
.main-banner .breadcrumb-item,
.main-banner .breadcrumb-item a,
.main-banner .breadcrumb-item.active {
	font-weight: 600;
	font-size: 14.5px;
}

/* ---- Courses section padding ---- */
.courses.section-padding { padding: 110px 0 !important; }

/* ---- CTA section ---- */
section.section-padding[style*="#f7f7f7"] {
	background: linear-gradient(135deg, #F4F7FB 0%, #EAF1FE 100%) !important;
}

/* ---- Footer ---- */
.footer {
	background: linear-gradient(180deg, var(--isp-deep) 0%, #001A22 100%) !important;
	padding: 90px 0 0 !important;
}
.footer .fntitle {
	font-size: 32px !important;
	font-weight: 800 !important;
	color: #fff !important;
	letter-spacing: -0.5px;
	line-height: 1.25;
}
.footer .newsletter p {
	letter-spacing: 3px !important;
	font-size: 14px !important;
}
.about-footer p {
	color: rgba(255,255,255,0.72) !important;
	font-size: 15px;
	line-height: 1.7;
}
.footer-title {
	position: relative;
	font-size: 19px !important;
	font-weight: 700 !important;
	margin-bottom: 22px !important;
	color: #fff !important;
	padding-bottom: 14px;
}
.footer-title::after {
	content: '' !important;
	background: var(--isp-gradient) !important;
	background-image: none !important;
	width: 36px !important;
	height: 3px !important;
	border-radius: 2px;
	bottom: 0 !important;
	position: absolute !important;
	left: 0;
}
.footer-bottom { padding: 50px 0 40px !important; }
.footer-bottom ul li {
	padding: 4px 0 !important;
}
.footer-bottom ul li a {
	color: rgba(255,255,255,0.72) !important;
	font-size: 14.5px;
	transition: color 0.2s ease, padding-left 0.2s ease;
}
.footer-bottom ul li a:hover {
	color: #fff !important;
	padding-left: 6px;
}
.footer-bottom .footer-programs li {
	line-height: 1.45 !important;
	margin-bottom: 7px;
}
.footer-bottom .footer-programs li a {
	font-size: 13.5px;
}
.contact-info p {
	color: rgba(255,255,255,0.78);
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14.5px;
	margin-bottom: 14px;
}
.contact-info p i {
	color: var(--isp-primary) !important;
	font-size: 18px;
	margin-top: 4px;
	flex-shrink: 0;
}
.fot-social { margin-top: 22px; }
.fot-social span {
	color: rgba(255,255,255,0.72);
	display: block;
	margin-bottom: 12px;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 600;
}
.fot-social ul li {
	display: inline-block;
	margin-right: 8px;
}
.fot-social ul li a {
	width: 42px;
	height: 42px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	color: #fff !important;
	transition: all 0.25s ease;
	font-size: 18px;
}
.fot-social ul li a:hover {
	background: var(--isp-gradient) !important;
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(13,95,249,0.4);
}
.copyright {
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 24px 0 !important;
	margin: 0 !important;
}
.copyright p {
	color: rgba(255,255,255,0.6) !important;
	margin: 0;
	font-size: 14px;
}
.copyright p a { color: rgba(255,255,255,0.85); }
.copyright p a:hover { color: #fff; }

/* ---- Section padding refinement ---- */
.section-padding { padding: 110px 0 !important; }

/* ---- Owl carousel dots polish ---- */
.owl-theme .owl-dots .owl-dot span {
	width: 10px !important;
	height: 10px !important;
	background: rgba(13, 95, 249, 0.25) !important;
	transition: all 0.3s ease;
}
.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
	background: var(--isp-gradient) !important;
	width: 30px !important;
	border-radius: 999px;
}

/* ---- Contact / forms polish ---- */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	border-radius: 12px !important;
	border: 1.5px solid rgba(13, 95, 249, 0.12) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
	border-color: var(--isp-primary) !important;
	box-shadow: 0 0 0 4px rgba(13, 95, 249, 0.1) !important;
	outline: none !important;
}

/* ---- Responsive ---- */
/* ============================================================
   RESPONSIVE — tablet & mobile polish
   ============================================================ */

@media (max-width: 1199px) {
	.banner-content .title { font-size: 52px !important; }
	.banner_img img { max-width: 420px !important; }
}

/* Tablet */
@media (max-width: 991px) {
	.site-logo a img { height: 46px; width: 46px; }
	.logo-text { font-size: 22px !important; }

	/* Section paddings */
	.section-padding,
	.features,
	.about,
	.course-category,
	.courses.section-padding,
	.working-process { padding: 70px 0 !important; }
	.footer { padding: 60px 0 0 !important; }

	/* Section titles centered on tablet/mobile */
	.section-title { text-align: center; margin-bottom: 40px; }
	.about-title { text-align: center; margin-top: 30px; }
	.section-title h2,
	.about-title h2,
	.counter-title h2 { font-size: 30px !important; line-height: 1.2 !important; }

	/* Hero */
	.banner-content .title { font-size: 40px !important; line-height: 1.15 !important; }
	.banner-content { text-align: center; padding: 50px 0 !important; }
	.banner-content p { margin-left: auto; margin-right: auto; }
	.bbtns { justify-content: center; display: flex; flex-wrap: wrap; gap: 12px; }
	.bbtns .bg_btn, .bbtns .wborder_btn { margin: 0 !important; }
	.banner-content .sinfo {
		display: inline-flex !important;
		margin-left: 0 !important;
		margin-top: 22px;
		top: 0 !important;
	}

	/* Page banner */
	.main-banner { height: 30vh !important; padding: 0 !important; }
	.main-banner .banner-content { padding: 0 !important; }
	.main-banner h2 { font-size: 32px !important; }

	/* About image margin */
	.about > .container > .row > .col-xl-6:first-child { margin-bottom: 36px; }

	/* About items centering */
	.single_about { text-align: left; }

	/* Feature items center */
	.feature-item { text-align: center; }
	.feature-item .fea-icon { margin-left: auto !important; margin-right: auto !important; }

	/* Footer columns spacing */
	.footer-bottom > [class*="col-"] { margin-bottom: 35px; }
	.footer .fntitle { text-align: center; font-size: 26px !important; }
	.footer .newsletter { text-align: center; }
	.footer .newsletter p { text-align: center !important; }
}

/* Mobile */
@media (max-width: 767px) {
	/* Logo + nav */
	.site-logo a img { height: 40px; width: 40px; }
	.logo-text { font-size: 16px !important; margin-left: 8px !important; letter-spacing: 1px; }

	/* Hero */
	.home-banner {
		height: auto !important;
		min-height: auto !important;
		padding: 60px 0 70px !important;
	}
	.banner-content {
		height: auto !important;
		min-height: auto !important;
		padding: 0 !important;
	}
	.banner-content .subtitle {
		font-size: 11px !important;
		letter-spacing: 3px !important;
		padding: 5px 12px !important;
	}
	.banner-content .title {
		font-size: 30px !important;
		line-height: 1.18 !important;
		margin-top: 18px !important;
	}
	.banner-content p { font-size: 15px; line-height: 1.6; }
	.bbtns { width: 100%; flex-direction: column; gap: 10px; }
	.bbtns .bg_btn,
	.bbtns .wborder_btn,
	.bbtns .bt {
		width: 100%;
		text-align: center;
		padding: 13px 20px !important;
		font-size: 14px !important;
	}
	.banner-content .sinfo {
		margin-top: 20px;
		padding: 8px 16px 8px 8px !important;
	}
	.banner-content .sinfo span { font-size: 13px !important; }
	.banner-content .sinfo img { width: 36px !important; height: 36px !important; }
	.banner_img { display: none !important; }

	/* Section titles */
	.section-title h2,
	.about-title h2,
	.counter-title h2 { font-size: 24px !important; }
	.section-title { margin-bottom: 32px !important; }
	.section-title span { font-size: 11px !important; letter-spacing: 1.2px; }

	/* Page banner */
	.main-banner { height: 30vh !important; padding: 0 !important; }
	.main-banner h2 { font-size: 26px !important; }
	.main-banner .breadcrumb { padding: 7px 16px !important; font-size: 13px; }

	/* All buttons */
	.bg_btn,
	.wborder_btn,
	.bt { padding: 12px 24px !important; font-size: 14px !important; }

	/* Card heights */
	.feature-item,
	.counter-item,
	.single-category,
	.single-course,
	.single-work { height: auto !important; }

	/* Feature card */
	.feature-item { padding: 32px 22px !important; }
	.feature-item .fea-icon {
		width: 60px !important;
		height: 60px !important;
		margin-bottom: 18px !important;
	}
	.feature-item .fea-icon i { font-size: 26px !important; }
	.feature-item h3 { font-size: 19px !important; }
	.feature-item p { font-size: 14.5px; }
	.fnumber { font-size: 56px !important; right: 14px !important; }

	/* Counter */
	.counter-item { padding: 32px 18px !important; }
	.counter-item .cicon {
		width: 60px;
		height: 60px;
		margin-bottom: 16px;
	}
	.counter-item .cicon i { font-size: 26px !important; }
	.counter-item h4 { font-size: 36px !important; }

	/* Course cards */
	.single-course { margin-bottom: 26px; }
	.course-img img { height: 200px !important; }
	.course_content { padding: 24px 22px !important; }
	.course_content h2 { margin-bottom: 12px !important; }
	.course_content h2 a { font-size: 18px !important; }
	.course_content p { font-size: 14px; margin-bottom: 14px; }
	.cmeta .smeta { font-size: 11.5px !important; padding: 5px 11px !important; }
	.cprice { font-size: 11px !important; padding: 6px 14px !important; }
	.course_btm { margin-top: 16px !important; padding-top: 14px !important; flex-wrap: wrap; gap: 10px; }
	.cauthor span { font-size: 11px !important; }
	.ccategory a { padding: 7px 14px !important; font-size: 11.5px !important; }

	/* Course category */
	.single-category { padding: 32px 20px !important; }
	.single-category .icon { width: 64px; height: 64px; margin-bottom: 16px !important; }
	.single-category .icon i { font-size: 30px !important; }
	.single-category h3 a { font-size: 16px !important; }
	.single-category span { font-size: 12px; }

	/* About */
	.about img { margin-bottom: 24px; border-radius: 18px !important; }
	.about-title h2 { font-size: 26px !important; }
	.single_about {
		padding: 16px 18px;
		gap: 14px;
	}
	.single_about .aicon {
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}
	.single_about .aicon i { font-size: 22px !important; }
	.single_about .sbcontent h4 { font-size: 16px; }
	.single_about .sbcontent p { font-size: 14px; }

	/* Working process */
	.working-process { padding: 70px 0 !important; }
	.single-work { padding: 30px 22px; }
	.single-work .wicon {
		width: 70px;
		height: 70px;
		margin-bottom: 8px !important;
	}
	.single-work .wicon i { font-size: 32px !important; }
	.single-work h4 { font-size: 19px !important; margin: 14px 0 8px !important; }
	.single-work p { font-size: 14.5px; }

	/* Footer */
	.footer { padding: 50px 0 0 !important; }
	.footer .fntitle { font-size: 22px !important; line-height: 1.3; }
	.footer-title { font-size: 17px !important; margin-bottom: 18px !important; }
	.about-footer { text-align: center; }
	.about-footer .footer-logo {
		display: flex;
		justify-content: center;
		margin-bottom: 16px;
	}
	.fot-social { text-align: center; }
	.contact-info p { justify-content: flex-start; }
	.copyright { padding: 20px 0 !important; font-size: 13px; }

	/* CTA */
	section.section-padding[style*="#f7f7f7"] .bbtns,
	section.section-padding .bbtns { justify-content: center; }
}

/* Small phones */
@media (max-width: 575px) {
	.logo-text { display: none !important; }
	.site-logo a img { height: 42px; width: 42px; }
	.banner-content .title { font-size: 26px !important; }
	.home-banner { padding: 50px 0 60px !important; }
	.main-banner { height: 30vh !important; padding: 0 !important; }
	.main-banner h2 { font-size: 24px !important; }
	.section-title h2,
	.about-title h2,
	.counter-title h2 { font-size: 22px !important; }
	.feature-item h3 { font-size: 18px !important; }
	.counter-item h4 { font-size: 32px !important; }
	.course_content h2 a { font-size: 17px !important; }
	.single_about .aicon { width: 44px; height: 44px; }
	.single_about .aicon i { font-size: 20px !important; }
	.footer-bottom { padding: 30px 0 24px !important; }
}
