/* ========================================================

   GLOBAL FIX: Eliminate All Horizontal Scrollbars & Page Overflow

   ======================================================== */

html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative !important;

}

.marquee-section {
  overflow: hidden !important;
  max-width: 100% !important;
  width: 100% !important;

}

/* ========================================================

   HAYA INSTITUTE OF TECHNOLOGY & SKILL (HITS)

   Custom Stylesheet

   ======================================================== */

:root {
  --hits-primary: #123878;
  --hits-primary-dark: #0c2653;
  --hits-secondary: #10b981;
  --hits-accent: #f59e0b;
  --hits-dark: #0f172a;
  --hits-light: #f8fafc;
  --hits-border: #e2e8f0;
  /* Bootstrap 5 & Universal Theme Overrides for #123878 */

  --bs-primary: #123878 !important;
  --bs-primary-rgb: 18, 56, 120 !important;
  --bs-link-color: #123878 !important;
  --bs-link-hover-color: #0c2653 !important;
  --bs-primary-text-emphasis: #123878 !important;
  --bs-primary-bg-subtle: #e8eef8 !important;
  --bs-primary-border-subtle: #b4c6e7 !important;
  --tertiary-color: #123878 !important;

}

/* Universal Blue Color System (#123878) */

.btn-primary,

.bg-primary,

.badge.bg-primary {
  background-color: #123878 !important;
  border-color: #123878 !important;
  color: #ffffff !important;

}

.btn-primary:hover,

.btn-primary:focus,

.btn-primary:active,

.btn-primary.active {
  background-color: #0c2653 !important;
  border-color: #0c2653 !important;
  color: #ffffff !important;

}

.btn-outline-primary {
  color: #123878 !important;
  border-color: #123878 !important;
  background-color: transparent !important;

}

.btn-outline-primary:hover,

.btn-outline-primary:focus,

.btn-outline-primary:active,

.btn-outline-primary.active {
  background-color: #123878 !important;
  border-color: #123878 !important;
  color: #ffffff !important;

}

.text-primary {
  color: #123878 !important;

}

.border-primary {
  border-color: #123878 !important;

}

a.text-primary:hover,

a.text-primary:focus {
  color: #0c2653 !important;

}

.badge.bg-primary-subtle {
  background-color: #e8eef8 !important;
  color: #123878 !important;

}

.pagination .page-item.active .page-link {
  background-color: #123878 !important;
  border-color: #123878 !important;

}

.form-check-input:checked {
  background-color: #123878 !important;
  border-color: #123878 !important;

}

/* ========================================================

   Brand Logo & Header Navigation Fixes (Single Line, Perfect Alignment)

   ======================================================== */

.educate-header-area {
  background: #ffffff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06) !important;
  position: relative !important;
  z-index: 999 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid #e2e8f0 !important;

}

.header-wrap {
  display: flex !important;
  align-items: center !important;
  min-height: 90px !important;

}

.header-logo {
  display: flex !important;
  align-items: center !important;

}

.header-logo a.active_logo,

.sticky .header-logo a.active_logo,

.mobile-logo a.logo_img {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;

}

.header-logo a.logo_two,

.sticky .header-logo a.logo_two {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;

}

/* Prominent Desktop Header Logo */

.hits-logo-img {
  height: 65px !important;
  max-height: 65px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: all 0.3s ease !important;

}

.sticky .hits-logo-img {
  height: 52px !important;
  max-height: 52px !important;

}

.hits-logo-text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.2 !important;

}

.hits-logo-title {
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0b2545 !important;
  letter-spacing: 0.6px !important;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;

}

.hits-logo-subtitle {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #10b981 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;

}

/* Inline Course Tech Stack Badges (Fills empty space right after title) */

.hits-inline-stack-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  vertical-align: middle !important;
  margin-left: 8px !important;
  position: relative !important;
  top: -1px !important;

}

.hits-stack-icon-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 27px !important;
  height: 27px !important;
  min-width: 27px !important;
  min-height: 27px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 7px !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  cursor: pointer !important;

}

.hits-stack-icon-badge:hover {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  transform: translateY(-2px) scale(1.1) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.09) !important;

}

.hits-stack-icon-badge i {
  line-height: 1 !important;
  display: inline-block !important;

}

/* Legacy fallback support */

.hits-stack-wrap {
  display: none !important;

}

.hits-logo-initiative {
  display: none !important;

}

/* Clean & Elegant Desktop Navigation Menu */
.header-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.header-menu > ul.nav_scroll {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  gap: 2px !important;
}

.header-menu > ul.nav_scroll > li {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
  margin: 0 !important;
}

.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 24px 13px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  position: relative !important;
  letter-spacing: -0.2px !important;
  transition: all 0.2s ease !important;
}

.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a:hover,
.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a.active {
  color: #123878 !important;
}

/* Clean animated indicator underline */
.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a::after {
  content: "" !important;
  position: absolute !important;
  bottom: 14px !important;
  left: 12px !important;
  right: 12px !important;
  height: 2.5px !important;
  background: #123878 !important;
  border-radius: 9999px !important;
  opacity: 0 !important;
  transform: scaleX(0.3) !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a:hover::after,
.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a.active::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.header-menu > ul.nav_scroll > li > a i.bi-chevron-down {
  font-size: 10px !important;
  margin-left: 5px !important;
  color: #64748b !important;
  transition: transform 0.2s ease !important;
}

.header-menu > ul.nav_scroll > li:hover > a i.bi-chevron-down {
  transform: rotate(180deg) !important;
  color: #123878 !important;
}

/* Bulletproof Header Menu Reset - Zero Unintended Rotation */
.header-menu,
.header-menu ul,
.header-menu li,
.header-menu a,
.header-menu span,
.header-menu i,
.header-menu .sub_menu,
.header-menu .sub_menu li,
.header-menu .sub_menu a,
.header-menu .sub_menu span,
.hits-nav-donor-btn,
.hits-nav-donor-pill {
  transform: none !important;
  writing-mode: horizontal-tb !important;
}

.header-menu ul li span {
  display: inline !important;
  transform: none !important;
  color: inherit !important;
  margin: 0 !important;
  top: 0 !important;
}

/* Clean & Premium Become a Donor Action Button */
.header-menu > ul.nav_scroll > li.hits-nav-donor-item,
.hits-nav-donor-item {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 10px !important;
  margin-right: 2px !important;
  padding: 0 !important;
  height: 100% !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn,
.hits-nav-donor-btn,
.hits-nav-donor-pill {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 8px 18px !important;
  height: 38px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(225, 29, 72, 0.28) !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
  cursor: pointer !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn i,
.hits-nav-donor-btn i,
.hits-nav-donor-pill i {
  color: #ffffff !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  display: inline-block !important;
  transform: none !important;
  transition: transform 0.2s ease !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn:hover,
.hits-nav-donor-btn:hover,
.hits-nav-donor-pill:hover {
  background: linear-gradient(135deg, #be123c 0%, #9f1239 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(225, 29, 72, 0.42) !important;
  transform: translateY(-1.5px) scale(1.02) !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn:hover i,
.hits-nav-donor-btn:hover i,
.hits-nav-donor-pill:hover i {
  transform: scale(1.18) !important;
  color: #ffffff !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn.active,
.hits-nav-donor-btn.active,
.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.active {
  background: #9f1239 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(159, 18, 57, 0.45) !important;
  outline: 2px solid rgba(225, 29, 72, 0.5) !important;
  outline-offset: 1px !important;
}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn {
  background: linear-gradient(135deg, #e11d48 0%, #be123c 100%) !important;
  color: #ffffff !important;
}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li.hits-nav-donor-item > a.hits-nav-donor-btn:hover {
  background: linear-gradient(135deg, #be123c 0%, #9f1239 100%) !important;
  color: #ffffff !important;
}

.header-menu > ul.nav_scroll > li.hits-nav-donor-item > a::after {
  display: none !important;
}

/* Polished Submenu Dropdown Card */
.header-menu ul.sub_menu {
  position: absolute !important;
  top: 90% !important;
  left: 0 !important;
  min-width: 240px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12), 0 4px 12px rgba(15, 23, 42, 0.04) !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  display: none !important;
  z-index: 1050 !important;
  list-style: none !important;
  pointer-events: auto !important;
  animation: hitsNavDropdownFade 0.2s ease-out !important;
}

@keyframes hitsNavDropdownFade {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.header-menu ul.sub_menu li {
  display: block !important;
  width: 100% !important;
  margin-bottom: 2px !important;
}

.header-menu ul.sub_menu li:last-child {
  margin-bottom: 0 !important;
}

.header-menu ul.sub_menu li a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 14px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  border-radius: 8px !important;
  text-align: left !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}

.header-menu ul.sub_menu li a i {
  font-size: 15px !important;
  margin: 0 !important;
  width: 20px !important;
  text-align: center !important;
}

.header-menu ul.sub_menu li a:hover {
  background: #f1f5f9 !important;
  color: #123878 !important;
  transform: translateX(3px) !important;
}

.header-menu li:hover > ul.sub_menu {
  display: block !important;
}

/* Header Right Button */

.header-right-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;

}

.header-btn a {
  white-space: nowrap !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  padding: 10px 20px !important;

}

/* Sticky Header Active State */

.educate-header-area.sticky {
  background: #0f172a !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;

}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a {
  color: #f8fafc !important;

}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a:hover,
.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a.active {
  color: #38bdf8 !important;

}

.educate-header-area.sticky .hits-logo-title {
  color: #ffffff !important;

}

.educate-header-area.sticky .hits-logo-subtitle {
  color: #34d399 !important;

}

/* Responsive Scaling for Navigation Menu */

@media (min-width: 1200px) and (max-width: 1399px) {

  .header-menu > ul.nav_scroll > li > a {
    padding: 28px 11px !important;
    font-size: 14.5px !important;

  }

}

@media (min-width: 992px) and (max-width: 1199px) {

  .header-menu > ul.nav_scroll > li > a {
    padding: 28px 8px !important;
    font-size: 13.5px !important;

  }

  .header-btn a {
    padding: 8px 14px !important;
    font-size: 13px !important;

  }

}

/* Footer Logo Styling */

.footer-logo a {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-decoration: none;

}

.footer-logo .hits-logo-title {
  color: #ffffff;

}

.footer-logo .hits-logo-initiative {
  color: #94a3b8;

}

/* --- Free Badge in Header --- */

.free-initiative-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #047857;
  font-weight: 700;
  font-size: 11.5px;
  padding: 4px 12px;
  border-radius: 999px;

}

/* --- Course Cards (Exact Mockup Match) --- */

.hits-courses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(285px, 1fr));
  gap: 24px;

}

.hits-course-card {
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  position: relative;

}

.hits-course-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.1);
  border-color: #cbd5e1;

}

.hits-course-card.highlight-special {
  border: 2px solid #a855f7;
  box-shadow: 0 0 18px rgba(168, 85, 247, 0.25);

}

/* Card Top Graphic Banner */

.hits-card-banner {
  height: 160px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 14px 14px;
  overflow: hidden;
  color: #ffffff;

}

/* Realistic Photo Overlays for Course Banners */

.bg-banner-cit {
  background: linear-gradient(180deg, rgba(9, 32, 63, 0.75) 0%, rgba(9, 32, 63, 0.90) 100%), url('../images/courses/course-cit.jpg') center/cover no-repeat !important;

}

.bg-banner-ai-content {
  background: linear-gradient(180deg, rgba(27, 16, 53, 0.75) 0%, rgba(47, 23, 84, 0.90) 100%), url('../images/courses/course-ai-content.jpg') center/cover no-repeat !important;

}

.bg-banner-fullstack {
  background: linear-gradient(180deg, rgba(10, 25, 47, 0.75) 0%, rgba(17, 34, 64, 0.90) 100%), url('../images/courses/course-web.jpg') center/cover no-repeat !important;

}

.bg-banner-ai-gen {
  background: linear-gradient(180deg, rgba(11, 25, 44, 0.75) 0%, rgba(0, 0, 0, 0.90) 100%), url('../images/courses/course-ai-gen.jpg') center/cover no-repeat !important;

}

.bg-banner-robotics {
  background: linear-gradient(135deg, #240046 0%, #3c096c 50%, #5a189a 100%);

}

.bg-banner-mobile {
  background: linear-gradient(135deg, #0c2653 0%, #123878 50%, #1e52a8 100%);

}

.bg-banner-cyber {
  background: linear-gradient(135deg, #022b27 0%, #054f46 50%, #064e3b 100%);

}

.bg-banner-cloud {
  background: linear-gradient(135deg, #0f2c42 0%, #1a4968 50%, #134e5e 100%);

}

.bg-banner-uiux {
  background: linear-gradient(135deg, #132a13 0%, #31572c 50%, #4f772d 100%);

}

.bg-banner-data {
  background: linear-gradient(135deg, #0c2653 0%, #123878 50%, #1e52a8 100%);

}

.bg-banner-marketing {
  background: linear-gradient(135deg, #1a2f23 0%, #295738 50%, #2e7d32 100%);

}

/* Top Badges Row */

.hits-banner-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
  position: relative;

}

.hits-badge-left {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  backdrop-filter: blur(4px);

}

.badge-tag-friendly {
  background: rgba(16, 185, 129, 0.25);
  color: #34d399;
  border: 1px solid rgba(52, 211, 153, 0.4);

}

.badge-tag-ai {
  background: rgba(16, 185, 129, 0.25);
  color: #6ee7b7;
  border: 1px solid rgba(110, 231, 183, 0.4);

}

.badge-tag-flagship {
  background: rgba(59, 130, 246, 0.25);
  color: #93c5fd;
  border: 1px solid rgba(147, 197, 253, 0.4);

}

.badge-tag-demand {
  background: rgba(6, 182, 212, 0.25);
  color: #67e8f9;
  border: 1px solid rgba(103, 232, 249, 0.4);

}

.badge-tag-spotlight {
  background: rgba(168, 85, 247, 0.3);
  color: #d8b4fe;
  border: 1px solid rgba(216, 180, 254, 0.5);

}

.badge-tag-soon {
  background: rgba(245, 158, 11, 0.25);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.4);

}

.hits-batch-pill {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 6px;

}

.batch-open {
  background: #10b981;
  color: #ffffff;

}

.batch-upcoming {
  background: #f59e0b;
  color: #000000;

}

/* Banner Center Graphics / Code */

.hits-banner-center {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  text-align: center;

}

.hits-center-code {
  font-family: monospace;
  font-size: 18px;
  font-weight: 700;
  color: #67e8f9;
  letter-spacing: 1px;

}

.hits-center-icon {
  font-size: 38px;
  opacity: 0.95;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));

}

/* Banner Bottom Tag */

.hits-banner-bottom {
  display: flex;
  align-items: center;
  z-index: 2;
  position: relative;

}

.hits-category-tag {
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f1f5f9;
  font-size: 10.5px;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 5px;
  backdrop-filter: blur(4px);

}

/* Card Body */

.hits-card-body {
  padding: 18px 18px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;

}

.hits-code-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;

}

.hits-course-code {
  font-size: 11px;
  font-weight: 800;
  font-family: monospace;
  color: #123878;
  letter-spacing: 0.5px;
  text-transform: uppercase;

}

.hits-special-track {
  font-size: 9.5px;
  font-weight: 800;
  color: #7c3aed;
  background: #ede9fe;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.5px;

}

.hits-course-title {
  font-size: 16px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.35;
  margin-bottom: 8px;
  min-height: 44px;

}

.hits-course-title a {
  color: #0f172a;
  text-decoration: none;
  transition: color 0.2s ease;

}

.hits-course-title a:hover {
  color: #123878;

}

.hits-course-desc {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.5;
  margin-bottom: 14px;
  min-height: 56px;

}

/* Meta Row */

.hits-course-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 10px;
  border-top: 1px solid #f1f5f9;
  margin-bottom: 16px;
  font-size: 12px;
  color: #475569;
  font-weight: 600;

}

.hits-course-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;

}

.hits-course-meta i {
  color: #123878;

}

/* Free Badge Tag */

.hits-free-ribbon {
  display: inline-block;
  background: #ecfdf5;
  color: #059669;
  border: 1px dashed #34d399;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  text-align: center;
  margin-bottom: 14px;

}

/* Buttons */

.hits-btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;

}

.btn-hits-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #334155;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;

}

.btn-hits-outline:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  color: #0f172a;

}

.btn-hits-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  background: #123878;
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 1px solid #123878;

}

.btn-hits-apply:hover {
  background: #0c2653;
  color: #ffffff;

}

.btn-hits-soon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  background: #fef3c7;
  color: #b45309;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid #fde68a;
  cursor: default;

}

/* Notice Bar for 100% Free */

.hits-notice-bar {
  display: none !important;

}

.hits-notice-bar a {
  color: #fef08a;
  text-decoration: underline;
  font-weight: 700;
  margin-left: 8px;

}

/* Filter Nav */

.hits-filter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 30px;

}

.hits-filter-btn {
  border: 1px solid #e2e8f0;
  background: #ffffff;
  color: #475569;
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;

}

.hits-filter-btn:hover,

.hits-filter-btn.active {
  background: #123878;
  color: #ffffff;
  border-color: #123878;

}

/* ========================================================

   Hero Student Presentation (Flipped Image with Glow & Badges)

   ======================================================== */

.hero-student-wrapper {
  position: relative;
  display: inline-block;
  padding: 15px 20px;

}

.hero-student-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(16, 185, 129, 0.22) 0%, rgba(18, 56, 120, 0.18) 50%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;

}

.hits-hero-student-img {
  position: relative;
  z-index: 1;
  max-height: 520px;
  width: auto;
  filter: drop-shadow(0 20px 35px rgba(0, 0, 0, 0.22));
  transition: transform 0.4s ease;

}

.hits-hero-student-img:hover {
  transform: translateY(-4px) scale(1.01);

}

.hero-floating-badge {
  position: absolute;
  z-index: 2;
  background: #ffffff;
  padding: 10px 16px;
  border-radius: 14px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(18, 56, 120, 0.08);
  animation: floatBadge 3.5s ease-in-out infinite alternate;

}

.hero-floating-badge.badge-top-left {
  top: 15%;
  left: -20px;

}

.hero-floating-badge.badge-bottom-right {
  bottom: 8%;
  right: -20px;
  animation-delay: 1.8s;

}

.hero-floating-badge i {
  font-size: 26px;

}

.hero-floating-badge .badge-title {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.2;

}

.hero-floating-badge .badge-sub {
  display: block;
  font-size: 11px;
  color: #64748b;
  margin-top: 2px;

}

@keyframes floatBadge {

  0% { transform: translateY(0); }

  100% { transform: translateY(-8px); }

}

@media (max-width: 991px) {

  .hero-floating-badge {
    display: none;

  }

  .hits-hero-student-img {
    max-height: 380px;
    margin-top: 30px;

  }

}

/* ========================================================

   Realistic Hero Section & Page-Specific Breadcrumb Banners

   ======================================================== */

/* Home Hero Section Background */

section.hero_area.style-one {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.90) 48%, rgba(255, 255, 255, 0.65) 100%),

              url('../images/home-one/hero-bg-realistic.jpg') center center / cover no-repeat !important;
  min-height: 760px !important;
  height: auto !important;
  padding-top: 50px !important;
  padding-bottom: 70px !important;
  position: relative !important;
  overflow: hidden !important;

}

/* Universal Breadcrumb Styling with Clean High-Contrast Text */

.breadcumb-area {
  position: relative !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  margin-top: 0 !important;
  padding: 100px 0 80px !important;
  overflow: hidden !important;

}

/* Semi-transparent protective overlay so breadcrumb text is always crisp and readable */

.breadcumb-area::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(248, 250, 252, 0.88) 50%, rgba(241, 245, 249, 0.82) 100%) !important;
  z-index: 1 !important;

}

.breadcumb-area .container {
  position: relative !important;
  z-index: 2 !important;

}

.breadcumb-title h1,

.breadcumb-title h2,

.breadcumb-title h3,

.breadcumb-title h4 {
  font-size: 38px !important;
  font-weight: 800 !important;
  color: #123878 !important;
  margin-bottom: 10px !important;
  letter-spacing: -0.5px !important;
  line-height: 1.25 !important;

}

.breacumb-content p,

.breadcumb-content p {
  color: #475569 !important;
  font-size: 15.5px !important;
  font-weight: 500 !important;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6 !important;

}

.breadcumb-content ul li {
  font-size: 15px !important;
  color: #475569 !important;
  font-weight: 600 !important;

}

.breadcumb-content ul li a {
  color: #123878 !important;
  font-weight: 700 !important;

}

/* Page-Specific Hero/Breadcrumb Banners */

.breadcumb-area.breadcrumb-about {
  background-image: url('../images/inner-img/breadcrumb-about.jpg') !important;

}

.breadcumb-area.breadcrumb-courses {
  background-image: url('../images/inner-img/breadcrumb-courses.jpg') !important;

}

.breadcumb-area.breadcrumb-faculty {
  background-image: url('../images/inner-img/breadcrumb-faculty.jpg') !important;

}

.breadcumb-area.breadcrumb-admissions {
  background-image: url('../images/inner-img/breadcrumb-admissions.jpg') !important;

}

.breadcumb-area.breadcrumb-contact {
  background-image: url('../images/inner-img/breadcrumb-about.jpg') !important;

}

.breadcumb-area.breadcrumb-faq {
  background-image: url('../images/inner-img/breadcrumb-courses.jpg') !important;

}

.breadcumb-shape,

.breadcumb-shape2 {
  display: none !important;

}

/* ========================================================

   FIX 1: Remove Ugly Hover Background Box from Navigation

   ======================================================== */

.header-menu ul li a::before,

.header-menu ul li a:hover::before,

.header-menu > ul.nav_scroll > li > a::before,

.header-menu > ul.nav_scroll > li > a:hover::before,

.header-menu ul li a:after,

.header-menu ul li a:hover:after,

.sticky .header-menu > ul > li > a::before,

.sticky .header-menu > ul > li > a:hover::before,

.educate-header-area .header-menu ul li a::before,

.educate-header-area .header-menu ul li a:hover::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;

}

/* Pure, Clean Nav Link Hover (Text Color Only, NO Background Box) */

.header-menu > ul.nav_scroll > li > a {
  position: relative !important;
  background: transparent !important;
  color: #0f172a !important;
  transition: color 0.2s ease !important;

}

.header-menu > ul.nav_scroll > li > a:hover {
  color: #123878 !important;
  background: transparent !important;

}

.header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a.active {
  color: #123878 !important;
  background: transparent !important;
  font-weight: 700 !important;

}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a {
  color: #f8fafc !important;

}

.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a:hover,
.educate-header-area.sticky .header-menu > ul.nav_scroll > li:not(.hits-nav-donor-item) > a.active {
  color: #38bdf8 !important;
  background: transparent !important;

}

/* ========================================================

   FIX 2: Custom Modern Bullet Styling for Unordered Lists

   ======================================================== */

ul.hits-bullet-list,

.accordion-body ul,

.hits-content-list,

.about-iteam-list ul:not(.list-unstyled) {
  list-style: none !important;
  padding-left: 0 !important;
  margin-top: 10px !important;
  margin-bottom: 15px !important;

}

ul.hits-bullet-list > li,

.accordion-body ul > li,

.hits-content-list > li,

.about-iteam-list ul:not(.list-unstyled) > li {
  position: relative !important;
  padding-left: 24px !important;
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
  color: #334155 !important;
  list-style: none !important;

}

ul.hits-bullet-list > li::before,

.accordion-body ul > li::before,

.hits-content-list > li::before,

.about-iteam-list ul:not(.list-unstyled) > li::before {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: 9px !important;
  width: 7px !important;
  height: 7px !important;
  background-color: #10b981 !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.22) !important;

}

/* ========================================================

   FIX 3: Feature Cards Hover & Contrast (Why Choose HITS)

   Prevents Title, Description, and Icon from turning white on hover.

   Center card (box-2) and all boxes remain crisp and readable.

   ======================================================== */

.style-one .single-feature-box {
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), 

              box-shadow 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), 

              border-color 0.35s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
  position: relative !important;
  overflow: hidden !important;

}

.style-one .single-feature-box:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1) !important;

}

.style-one .single-feature-box.box-1:hover {
  background-color: #f0fbf8 !important;
  border-color: rgba(16, 185, 129, 0.4) !important;

}

.style-one .single-feature-box.box-2:hover {
  background-color: #fdf7f3 !important;
  border-color: rgba(18, 56, 120, 0.4) !important;

}

.style-one .single-feature-box.box-3:hover {
  background-color: #f1f9fc !important;
  border-color: rgba(245, 158, 11, 0.4) !important;

}

/* Feature Titles stay bold dark navy on hover */

.style-one .single-feature-box h4.feature-title,

.style-one .single-feature-box:hover h4.feature-title,

.style-one .single-feature-box .feature-title,

.style-one .single-feature-box:hover .feature-title {
  color: #0b2545 !important;
  font-weight: 700 !important;
  transition: color 0.25s ease !important;

}

/* Feature Descriptions stay clear dark slate on hover */

.style-one .single-feature-box p.feature-desc,

.style-one .single-feature-box:hover p.feature-desc,

.style-one .single-feature-box .feature-desc,

.style-one .single-feature-box:hover .feature-desc {
  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  transition: color 0.25s ease !important;

}

/* Feature Icons retain vibrant colors and do NOT turn white with invert filter */

.style-one .single-feature-box .feature-icon,

.style-one .single-feature-box:hover .feature-icon,

.style-one .single-feature-box .feature-icon i,

.style-one .single-feature-box:hover .feature-icon i {
  filter: none !important;
  -webkit-filter: none !important;

}

.style-one .single-feature-box:hover .feature-icon {
  transform: scale(1.1) !important;
  transition: transform 0.3s ease !important;

}

/* Suppress template sliding overlays */

.style-one .educate-hover-box {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;

}

/* ========================================================

   FIX 4: About Area Clean Background

   Removes template 1920x744 watermark behind About section

   ======================================================== */

section.about-area.style-one {
  background: #f8fafc !important;
  background-image: none !important;
  position: relative !important;

}

.why-choose-area.style-one {
  background: #ffffff !important;
  background-image: none !important;

}

/* Clean 404 Error Area Background (Removes 1920x922 watermark) */

.error-area {
  background: #f8fafc !important;
  background-image: none !important;
  height: auto !important;
  min-height: 65vh !important;
  margin-top: 0 !important;

}

/* ========================================================

   MASTERPIECE FOOTER OVERHAUL

   Rich Cyber/Tech Midnight Canvas, Dynamic Dot Grid Pattern,

   Glowing Accent Borders, Glassmorphism CTA, and Vibrant Micro-Interactions

   ======================================================== */

.footer-area {
  position: relative !important;
  background-color: #060c18 !important;
  background-image: 

    /* Futuristic Geometric Dot Grid Pattern */

    radial-gradient(rgba(56, 189, 248, 0.14) 1.25px, transparent 1.25px),

    /* Top Left Emerald Ambient Light */

    radial-gradient(ellipse 700px 350px at 15% 0%, rgba(16, 185, 129, 0.16) 0%, transparent 70%),

    /* Bottom Right Cyan Ambient Light */

    radial-gradient(ellipse 750px 400px at 85% 100%, rgba(14, 165, 233, 0.13) 0%, transparent 70%),

    /* Rich Deep Midnight Base Gradient */

    linear-gradient(180deg, #070f1e 0%, #0c182c 45%, #040812 100%) !important;
  background-size: 28px 28px, 100% 100%, 100% 100%, 100% 100% !important;
  padding: 70px 0 0 !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(56, 189, 248, 0.22) !important;

}

/* Glowing Multi-Color Top Edge Accent Line */

.footer-area::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #10b981 0%, #1e52a8 35%, #123878 70%, #f59e0b 100%) !important;
  box-shadow: 0 0 18px rgba(0, 210, 255, 0.65) !important;
  z-index: 5 !important;

}

/* Top Subscribe/CTA Glassmorphism Card */

.row.subscribe {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.055) 0%, rgba(255, 255, 255, 0.015) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.11) !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  padding: 28px 36px !important;
  margin-bottom: 55px !important;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
  position: relative !important;
  overflow: hidden !important;

}

.row.subscribe:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
  box-shadow: 0 26px 52px rgba(0, 0, 0, 0.55), 0 0 32px rgba(56, 189, 248, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;

}

.footer-subcribe-title h3 {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  color: #ffffff !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;

}

.footer-subcribe-title h3 span {
  color: #10b981 !important;
  text-shadow: 0 0 12px rgba(16, 185, 129, 0.45) !important;

}

/* Footer Widget Titles */

.footer-widget-title h4 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  position: relative !important;
  padding-bottom: 14px !important;
  margin-bottom: 22px !important;
  letter-spacing: 0.3px !important;

}

.footer-widget-title h4::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 42px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #10b981, #38bdf8) !important;
  border-radius: 3px !important;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.55) !important;

}

/* About Column Text & Badges */

.footer-desc p {
  color: #94a3b8 !important;
  font-size: 14.5px !important;
  line-height: 1.7 !important;
  opacity: 1 !important;
  margin-bottom: 20px !important;

}

.footer-contact-info .footer-contact-phone,

.footer-contact-info .footer-contact-address {
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
  transition: all 0.3s ease !important;

}

.footer-contact-info .footer-contact-phone:hover,

.footer-contact-info .footer-contact-address:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(56, 189, 248, 0.35) !important;
  transform: translateX(4px) !important;

}

.footer-contact-info p,

.footer-contact-info span {
  color: #e2e8f0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-bottom: 0 !important;
  line-height: 1.5 !important;

}

/* Links Micro-Interactions */

.footer-widget-menu ul li {
  margin-bottom: 11px !important;
  display: flex !important;
  align-items: center !important;

}

.footer-widget-menu ul li a {
  color: #94a3b8 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;

}

.footer-widget-menu ul li i {
  color: #10b981 !important;
  transition: transform 0.25s ease, color 0.25s ease !important;

}

.footer-widget-menu ul li:hover a {
  color: #ffffff !important;
  text-shadow: 0 0 12px rgba(56, 189, 248, 0.45) !important;
  transform: translateX(4px) !important;

}

.footer-widget-menu ul li:hover i {
  transform: translateX(3px) scale(1.15) !important;
  color: #38bdf8 !important;

}

/* Footer Bottom Bar */

.footer-bottom-area {
  background: rgba(3, 7, 15, 0.8) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 22px 0 !important;
  margin-top: 50px !important;
  backdrop-filter: blur(10px) !important;

}

.footer-bottom-desc p {
  color: #94a3b8 !important;
  font-size: 14px !important;
  margin-bottom: 0 !important;

}

.footer-bottom-desc a {
  color: #f59e0b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;

}

.footer-bottom-desc a:hover {
  color: #fbbf24 !important;
  text-decoration: underline !important;

}

/* Social Icons with Glowing Glass Circles */

.footer-bottom-social-icon ul {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;

}

.footer-bottom-social-icon ul li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  font-size: 15px !important;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  text-decoration: none !important;

}

.footer-bottom-social-icon ul li a:hover {
  transform: translateY(-4px) scale(1.14) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.35) !important;

}

.footer-bottom-social-icon ul li a:hover .fa-whatsapp {
  color: #25d366 !important;
  filter: drop-shadow(0 0 8px rgba(37, 211, 102, 0.6));

}

.footer-bottom-social-icon ul li a:hover .fa-facebook-f {
  color: #1877f2 !important;
  filter: drop-shadow(0 0 8px rgba(24, 119, 242, 0.6));

}

.footer-bottom-social-icon ul li a:hover .fa-linkedin-in {
  color: #0a66c2 !important;
  filter: drop-shadow(0 0 8px rgba(10, 102, 194, 0.6));

}

.footer-bottom-social-icon ul li a:hover .fa-x-twitter {
  color: #ffffff !important;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.6));

}

.footer-bottom-social-icon ul li a:hover .fa-instagram {
  color: #e4405f !important;
  filter: drop-shadow(0 0 8px rgba(228, 64, 95, 0.6));

}

/* ========================================================

   ATTENTION TO DETAIL: MICRO-ANIMATIONS & ELEMENTS

   Pulsing Radar Dots, Button Shimmers, Floating Bobbing,

   Floating WhatsApp Desk Widget, Tech Dot Grid Patterns

   ======================================================== */

/* 1. Live Pulse Radar Beacon */

.hits-live-pulse-dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  background-color: #10b981;
  border-radius: 50%;
  position: relative;
  vertical-align: middle;

}

.hits-live-pulse-dot::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background-color: rgba(16, 185, 129, 0.7);
  animation: hits-pulse-wave 1.8s cubic-bezier(0, 0, 0.2, 1) infinite;

}

@keyframes hits-pulse-wave {

  0% { transform: scale(0.9); opacity: 0.9; }

  70% { transform: scale(2.3); opacity: 0; }

  100% { transform: scale(2.5); opacity: 0; }

}

/* 2. Button Shimmer Beam */

.hits-shimmer-btn,

.hero-btn a,

.sign-up-btn,

.theme-btn,

.btn-warning {
  position: relative !important;
  overflow: hidden !important;

}

.hits-shimmer-btn::before,

.hero-btn a::before,

.sign-up-btn::before,

.theme-btn::before,

.btn-warning::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 50% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent) !important;
  transform: skewX(-25deg) !important;
  animation: hits-shimmer-anim 4.5s ease-in-out infinite !important;
  pointer-events: none !important;

}

@keyframes hits-shimmer-anim {

  0% { left: -100%; }

  25% { left: 220%; }

  100% { left: 220%; }

}

/* 3. Floating Student Badges Smooth Bobbing */

@keyframes hits-gentle-bob {

  0% { transform: translateY(0px); }

  50% { transform: translateY(-8px); }

  100% { transform: translateY(0px); }

}

@keyframes hits-gentle-bob-alt {

  0% { transform: translateY(0px); }

  50% { transform: translateY(8px); }

  100% { transform: translateY(0px); }

}

.hero-floating-badge.badge-top-left {
  animation: hits-gentle-bob 4s ease-in-out infinite !important;

}

.hero-floating-badge.badge-bottom-right {
  animation: hits-gentle-bob-alt 4.5s ease-in-out infinite !important;

}

.hero-floating-badge {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;

}

.hero-floating-badge:hover {
  transform: scale(1.06) !important;
  box-shadow: 0 16px 32px rgba(18, 56, 120, 0.22) !important;

}

/* 4. Hero Student Breathing Aura */

@keyframes hits-glow-pulse {

  0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }

  100% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }

}

.hero-student-glow {
  animation: hits-glow-pulse 6s ease-in-out infinite alternate !important;

}

/* 5. Course Cards Micro-Interactions */

.cases-item,

.single-cases-card {
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;

}

.cases-item:hover,

.single-cases-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 42px rgba(15, 23, 42, 0.12) !important;
  border-color: rgba(18, 56, 120, 0.35) !important;

}

.cases-item:hover .cases-img img,

.single-cases-card:hover img {
  transform: scale(1.05) !important;
  transition: transform 0.4s ease !important;

}

/* 6. Navigation Link Expanding Indicator */

.header-menu > ul.nav_scroll > li > a {
  position: relative !important;
  transition: color 0.25s ease !important;

}

.header-menu > ul.nav_scroll > li > a::after {
  content: "" !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 50% !important;
  width: 0% !important;
  height: 2.5px !important;
  background: linear-gradient(90deg, #10b981, #123878) !important;
  border-radius: 2px !important;
  transition: width 0.3s ease, left 0.3s ease !important;

}

.header-menu > ul.nav_scroll > li > a:hover::after,

.header-menu > ul.nav_scroll > li > a.active::after {
  width: 80% !important;
  left: 10% !important;

}

/* 7. Floating WhatsApp Desk Widget */

.hits-floating-whatsapp {
  position: fixed !important;
  left: 28px !important;
  bottom: 30px !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
  color: #ffffff !important;
  padding: 11px 18px 11px 14px !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45), 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  text-decoration: none !important;
  transition: transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.35s ease !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;

}

.hits-floating-whatsapp:hover {
  transform: translateY(-5px) scale(1.05) !important;
  box-shadow: 0 16px 36px rgba(37, 211, 102, 0.6) !important;
  color: #ffffff !important;

}

.hits-floating-whatsapp .whatsapp-pulse-dot {
  width: 10px !important;
  height: 10px !important;
  background: #ffffff !important;
  border-radius: 50% !important;
  position: relative !important;

}

.hits-floating-whatsapp .whatsapp-pulse-dot::after {
  content: "" !important;
  position: absolute !important;
  inset: -4px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.65) !important;
  animation: hits-ping-whatsapp 1.8s cubic-bezier(0, 0, 0.2, 1) infinite !important;

}

@keyframes hits-ping-whatsapp {

  0% { transform: scale(0.9); opacity: 0.9; }

  70% { transform: scale(2.2); opacity: 0; }

  100% { transform: scale(2.4); opacity: 0; }

}

.hits-floating-whatsapp .whatsapp-icon {
  font-size: 20px !important;

}

/* 8. Modernized Scroll-to-Top Button */

.prgoress_indicator {
  background-color: #ffffff !important;
  box-shadow: 0 10px 25px rgba(18, 56, 120, 0.25), 0 0 0 2px rgba(16, 185, 129, 0.3) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;

}

.prgoress_indicator:hover {
  transform: translateY(-4px) scale(1.08) !important;
  box-shadow: 0 15px 35px rgba(18, 56, 120, 0.35), 0 0 0 3px rgba(16, 185, 129, 0.6) !important;

}

/* 9. Hero Section Subtle Blueprint Tech Pattern */

.hero_area.style-one {
  position: relative !important;

}

.hero_area.style-one::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: radial-gradient(rgba(18, 56, 120, 0.08) 1.2px, transparent 1.2px) !important;
  background-size: 26px 26px !important;
  pointer-events: none !important;
  z-index: 0 !important;

}

.hero_area.style-one > .container {
  position: relative !important;
  z-index: 1 !important;

}

/* ========================================================

   USER CUSTOMIZATION: Footer Subscribe Row Branding

   - "HAYA INSTITUTE" in vibrant Emerald Green (#10b981)

   - "Helpline: 03020042222" in solid high-contrast Black (#000000)

   ======================================================== */

.footer-logo .hits-logo-title,

.footer-area .footer-logo .hits-logo-title,

.footer-area .hits-logo-title {
  color: #10b981 !important; /* Green */

  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 0 0 12px rgba(16, 185, 129, 0.45) !important;

}

.footer-logo .hits-logo-subtitle,

.footer-area .footer-logo .hits-logo-subtitle,

.footer-area .hits-logo-subtitle {
  color: #ffffff !important; /* Crisp pure white for subtitle */

  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  opacity: 0.95 !important;

}

/* Helpline button text & phone icon in Black */

.footer-area .row.subscribe .btn-warning,

.footer-area .row.subscribe a[href^="tel"],

.row.subscribe .btn-warning,

.row.subscribe a[href^="tel"] {
  color: #000000 !important;
  background-color: #ffb606 !important;
  border-color: #ffb606 !important;
  font-weight: 800 !important;
  letter-spacing: 0.4px !important;
  box-shadow: 0 4px 18px rgba(255, 182, 6, 0.45) !important;

}

.footer-area .row.subscribe .btn-warning *,

.footer-area .row.subscribe .btn-warning i,

.footer-area .row.subscribe a[href^="tel"] *,

.footer-area .row.subscribe a[href^="tel"] i,

.row.subscribe .btn-warning *,

.row.subscribe .btn-warning i,

.row.subscribe a[href^="tel"] *,

.row.subscribe a[href^="tel"] i {
  color: #000000 !important;

}

.footer-area .row.subscribe .btn-warning:hover,

.footer-area .row.subscribe a[href^="tel"]:hover,

.row.subscribe .btn-warning:hover,

.row.subscribe a[href^="tel"]:hover {
  color: #000000 !important;
  background-color: #ffa500 !important;
  border-color: #ffa500 !important;
  box-shadow: 0 6px 22px rgba(255, 182, 6, 0.65) !important;
  transform: translateY(-2px) !important;

}

/* ========================================================

   HITS Luxury Theatrical Curtain-Opening Preloader

   ======================================================== */

.hits-curtain-preloader,

.loading-screen {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh !important;
  z-index: 99999999 !important;
  overflow: hidden !important;
  display: block !important;
  pointer-events: all !important;
  background: transparent !important;

}

/* Dual Curtain Split Panels (Left & Right) */

.curtain-panel {
  position: absolute !important;
  top: 0 !important;
  height: 100vh !important;
  width: 50.1% !important;
  max-width: 50.1% !important;
  z-index: 2 !important;
  will-change: transform !important;
  transition: transform 1.25s cubic-bezier(0.77, 0, 0.175, 1) !important;
  overflow: hidden !important;

}

/* Left Curtain Panel */

.curtain-panel.curtain-left {
  left: 0 !important;
  transform: translate3d(0, 0, 0) !important;
  background: 

    radial-gradient(circle at 100% 50%, rgba(16, 185, 129, 0.1) 0%, transparent 60%),

    linear-gradient(135deg, #030710 0%, #06111f 45%, #041813 100%) !important;
  box-shadow: inset -25px 0 50px rgba(0, 0, 0, 0.9), inset -2px 0 0 rgba(16, 185, 129, 0.5) !important;

}

/* Right Curtain Panel */

.curtain-panel.curtain-right {
  right: 0 !important;
  transform: translate3d(0, 0, 0) !important;
  background: 

    radial-gradient(circle at 0% 50%, rgba(18, 56, 120, 0.1) 0%, transparent 60%),

    linear-gradient(225deg, #030710 0%, #06111f 45%, #041813 100%) !important;
  box-shadow: inset 25px 0 50px rgba(0, 0, 0, 0.9), inset 2px 0 0 rgba(16, 185, 129, 0.5) !important;

}

/* Realistic Fabric Shading / Pleats on Curtains */

.curtain-pleats {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: repeating-linear-gradient(

    90deg,

    rgba(255, 255, 255, 0.012) 0px,

    rgba(255, 255, 255, 0.012) 36px,

    rgba(0, 0, 0, 0.28) 36px,

    rgba(0, 0, 0, 0.28) 72px

  ) !important;
  opacity: 0.85 !important;
  pointer-events: none !important;

}

/* Central Seam Light Beam (Center Axis) */

.curtain-seam-beam {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 2.5px !important;
  height: 100% !important;
  z-index: 5 !important;
  background: linear-gradient(180deg, transparent 0%, #10b981 25%, #38bdf8 50%, #f59e0b 75%, transparent 100%) !important;
  box-shadow: 0 0 20px #10b981, 0 0 35px rgba(56, 189, 248, 0.75) !important;
  transition: opacity 0.45s ease, transform 0.5s ease !important;

}

/* Theatrical Curtain Split Open Classes */

.loading-screen.curtains-open .curtain-left,

.hits-curtain-preloader.curtains-open .curtain-left {
  transform: translate3d(-102%, 0, 0) !important;

}

.loading-screen.curtains-open .curtain-right,

.hits-curtain-preloader.curtains-open .curtain-right {
  transform: translate3d(102%, 0, 0) !important;

}

.loading-screen.curtains-open .curtain-seam-beam,

.hits-curtain-preloader.curtains-open .curtain-seam-beam {
  opacity: 0 !important;
  transform: translateX(-50%) scaleY(1.4) !important;

}

/* Center Stage Content */

.curtain-stage {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10 !important;
  text-align: center !important;
  width: 90% !important;
  max-width: 520px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), filter 0.45s ease !important;
  pointer-events: none !important;

}

.loading-screen.stage-exit .curtain-stage,

.hits-curtain-preloader.stage-exit .curtain-stage {
  opacity: 0 !important;
  transform: translate(-50%, -50%) scale(0.92) !important;
  filter: blur(8px) !important;

}

/* Glowing Logo & Orbital Rings */

.curtain-logo-container {
  position: relative !important;
  width: 145px !important;
  height: 145px !important;
  margin-bottom: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

}

.curtain-ring-outer {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 50% !important;
  border: 2px dashed rgba(16, 185, 129, 0.35) !important;
  animation: curtainSpinOuter 16s linear infinite !important;
  box-shadow: 0 0 25px rgba(16, 185, 129, 0.2) !important;

}

.curtain-ring-inner {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: 8px !important;
  bottom: 8px !important;
  border-radius: 50% !important;
  border: 2.5px solid transparent !important;
  border-top-color: #10b981 !important;
  border-right-color: #123878 !important;
  animation: curtainSpinInner 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;

}

@keyframes curtainSpinOuter {
  from { transform: rotate(0deg); }

  to { transform: rotate(360deg); }

}

@keyframes curtainSpinInner {
  from { transform: rotate(0deg); }

  to { transform: rotate(360deg); }

}

.curtain-logo-card {
  position: relative !important;
  z-index: 3 !important;
  width: 96px !important;
  height: 96px !important;
  border-radius: 26px !important;
  background: radial-gradient(circle at 50% 50%, rgba(16, 185, 129, 0.2) 0%, rgba(6, 13, 24, 0.95) 75%) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 0 20px rgba(16, 185, 129, 0.15) !important;

}

.curtain-logo-img {
  max-width: 76px !important;
  max-height: 76px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 6px 16px rgba(16, 185, 129, 0.45)) !important;
  animation: hitsLogoFloat 2.4s ease-in-out infinite !important;

}

/* Brand Text Styling */

.curtain-brand-info {
  margin-bottom: 22px !important;

}

.curtain-badge {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(16, 185, 129, 0.14) !important;
  color: #34d399 !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 4px 14px !important;
  border-radius: 999px !important;
  margin-bottom: 12px !important;

}

.curtain-institute-name {
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  margin: 0 0 6px 0 !important;
  background: linear-gradient(135deg, #ffffff 20%, #a7f3d0 60%, #38bdf8 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6) !important;

}

.curtain-campus-tag {
  color: #94a3b8 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  letter-spacing: 0.5px !important;

}

/* Progress Wrapper */

.curtain-progress-wrapper {
  width: 100% !important;
  max-width: 380px !important;

}

.curtain-progress-track {
  width: 100% !important;
  height: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  position: relative !important;

}

.curtain-progress-bar {
  width: 0%;
  height: 100% !important;
  background: linear-gradient(90deg, #10b981 0%, #123878 60%, #1e52a8 100%) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.8) !important;
  transition: width 0.08s linear !important;
  position: relative !important;

}

.curtain-progress-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 10px !important;
  font-size: 12px !important;

}

.curtain-status-label {
  color: #94a3b8 !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;

}

.curtain-percent-val {
  color: #34d399 !important;
  font-family: monospace, SFMono-Regular, Menlo, Monaco, Consolas !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;

}

/* When Preloader Is Finished */

.loading-screen.preloader-done,

.hits-curtain-preloader.preloader-done {
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;

}

/* Page Content Reveal on Curtain Open */

body.curtain-revealed {
  animation: pageCurtainReveal 0.9s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;

}

@keyframes pageCurtainReveal {

  0% {
    opacity: 0.92;
    transform: scale(0.988);

  }

  100% {
    opacity: 1;
    transform: scale(1);

  }

}

/* Motion Accessibility (`motion` guide compliance) */

@media (prefers-reduced-motion: reduce) {

  .curtain-panel,

  .curtain-stage,

  .curtain-seam-beam,

  .curtain-ring-outer,

  .curtain-ring-inner,

  .curtain-logo-img {
    animation: none !important;
    transition-duration: 0.05s !important;

  }

}

@media (max-width: 576px) {

  .curtain-logo-container {
    width: 120px !important;
    height: 120px !important;
    margin-bottom: 18px !important;

  }

  .curtain-logo-card {
    width: 80px !important;
    height: 80px !important;

  }

  .curtain-logo-img {
    max-width: 62px !important;
    max-height: 62px !important;

  }

  .curtain-institute-name {
    font-size: 19px !important;

  }

  .curtain-campus-tag {
    font-size: 12px !important;

  }

  .curtain-progress-wrapper {
    max-width: 290px !important;

  }

}

/* ========================================================

   FIX: About Section Counter Alignment (+ & % layout fix)

   ======================================================== */

.style-one .about-item-box,

.about-item-box {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  position: relative !important;

}

.about-item-count,

.about-iteam-count {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 2px !important;
  position: relative !important;
  flex-shrink: 0 !important;

}

.style-one .about-item-box h3.counter,

.about-item-box h3.counter {
  display: inline-block !important;
  font-size: 46px !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
  font-weight: 700 !important;
  position: static !important;

}

.style-one .about-item-box span,

.about-item-box span {
  display: inline-block !important;
  position: static !important;
  font-size: 36px !important;
  line-height: 1 !important;
  margin-left: 2px !important;
  font-weight: 700 !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  vertical-align: baseline !important;

}

.style-one .about-item-box .about-item-desc,

.about-item-box .about-item-desc {
  margin-top: 0 !important;
  padding-left: 0 !important;

}

.style-one .about-item-box .about-item-desc p,

.about-item-box .about-item-desc p {
  margin-bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #475569 !important;

}

/* ========================================================

   FIX: About Section Layout & 2nd Image Alignment

   (Removes template's negative margin-left: -236px and clips)

   ======================================================== */

.style-one .about-thumb-wrapper,

.about-area .about-thumb-wrapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  text-align: center !important;
  max-width: 100% !important;
  width: 100% !important;

}

.style-one .about-thumb-wrapper img,

.about-area .about-thumb-wrapper img {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 20px !important;
  display: block !important;
  object-fit: cover !important;

}

/* Hide legacy absolute background shapes that cause overflow */

.style-one .about-thumb-shape1,

.style-one .about-thumb-shape2,

.style-one .about-thumb-shape3,

.style-one .about-shape4,

.style-one .about-shape5 {
  display: none !important;

}

/* Floating Campus Badge inside Image (No cutoff, beautifully placed) */

.about-campus-badge {
  position: absolute !important;
  bottom: 20px !important;
  left: 20px !important;
  max-width: 270px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
  z-index: 5 !important;
  text-align: left !important;

}

.about-campus-badge .badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;

}

.about-campus-badge p {
  color: #0f172a !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;

}

/* ========================================================

   FIX: Horizontal Bar / Divider Lines in About Section

   (Removes fixed 648px width lines that overflow the container)

   ======================================================== */

.style-one .row.about-border,

.about-area .row.about-border {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  border-top: 1px solid #e2e8f0 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  position: relative !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;

}

.style-one .row.about-border::before,

.style-one .row.about-border::after,

.about-area .row.about-border::before,

.about-area .row.about-border::after {
  display: none !important;
  content: none !important;

}

/* ========================================================

   RE-DESIGN: Modern 'Learn More About HITS' & Action Buttons

   (Modern gradient, pill shape, hover lift & glowing shadow)

   ======================================================== */

.about-btn {
  margin-top: 28px !important;
  position: relative !important;
  z-index: 2 !important;

}

.about-btn a,

.about-btn a.theme-btn,

.about-btn a.btn-style-two,

.style-one .about-btn a,

a.theme-btn.btn-style-two {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background: linear-gradient(135deg, #123878 0%, #1e52a8 100%) !important;
  color: #ffffff !important;
  font-family: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 15px 32px !important;
  border-radius: 50px !important;
  border: none !important;
  box-shadow: 0 10px 24px rgba(18, 56, 120, 0.28) !important;
  position: relative !important;
  overflow: hidden !important;
  z-index: 1 !important;
  transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  text-decoration: none !important;

}

.about-btn a span,

.about-btn a.theme-btn span,

.about-btn a.btn-style-two span,

.style-one .about-btn a span,

a.theme-btn.btn-style-two span {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  display: inline-block !important;
  letter-spacing: 0.5px !important;

}

.about-btn a i,

.about-btn a.theme-btn i,

.about-btn a.btn-style-two i,

.style-one .about-btn a i,

a.theme-btn.btn-style-two i {
  color: #ffffff !important;
  font-size: 14px !important;
  margin: 0 !important;
  display: inline-block !important;
  transition: transform 0.3s ease !important;

}

.about-btn a:hover,

.about-btn a.theme-btn:hover,

.about-btn a.btn-style-two:hover,

.style-one .about-btn a:hover,

a.theme-btn.btn-style-two:hover {
  background: linear-gradient(135deg, #1e52a8 0%, #0c2653 100%) !important;
  color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 16px 32px rgba(18, 56, 120, 0.42) !important;

}

.about-btn a:hover i,

.about-btn a.theme-btn:hover i,

.about-btn a.btn-style-two:hover i,

.style-one .about-btn a:hover i,

a.theme-btn.btn-style-two:hover i {
  transform: translateX(5px) !important;

}

/* Remove old conflicting clip-path pseudo-elements */

.about-btn a::before,

.about-btn a::after,

.style-one .about-btn a::before,

.style-one .about-btn a::after,

a.theme-btn.btn-style-two::before,

a.theme-btn.btn-style-two::after {
  display: none !important;

}

/* ========================================================

   FIX: Offcanvas Sidebar Drawer (Image 1) Scrollbar & Overflow

   ======================================================== */

.xs-sidebar-widget {
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255, 255, 255, 0.25) transparent !important;

}

.xs-sidebar-widget::-webkit-scrollbar {
  width: 6px !important;

}

.xs-sidebar-widget::-webkit-scrollbar-track {
  background: transparent !important;

}

.xs-sidebar-widget::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.25) !important;
  border-radius: 6px !important;

}

.xs-sidebar-widget::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.45) !important;

}

.sidebar-widget-container,

.sidebar-textwidget,

.sidebar-info-contents {
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;

}

.sidebar-info-contents li,

.sidebar-info-contents p {
  word-break: break-word !important;

}

/* ========================================================

   FIX: Course Cards Details & Action Buttons Always Visible

   (Overrides any template hover-only opacity / translateY)

   ======================================================== */

.single-cases-card .btn,

.single-cases-card a.btn,

.single-cases-card .btn-outline-primary,

.single-cases-card .btn-warning,

.single-cases-card .course-btn a {
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.25s ease !important;

}

.single-cases-card .btn-outline-primary {
  color: #123878 !important;
  border-color: #123878 !important;
  background-color: transparent !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;

}

.single-cases-card .btn-outline-primary:hover {
  background-color: #123878 !important;
  color: #ffffff !important;
  border-color: #123878 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(18, 56, 120, 0.25) !important;

}

.single-cases-card .btn-warning {
  background: #ffc107 !important;
  color: #111827 !important;
  border: 1px solid #eab308 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;

}

.single-cases-card .btn-warning:hover {
  background: #f59e0b !important;
  color: #000000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3) !important;

}

.single-cases-card .btn-outline-secondary {
  color: #64748b !important;
  border-color: #cbd5e1 !important;
  background-color: #f8fafc !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;

}

.single-cases-card .btn-outline-secondary:hover {
  background-color: #e2e8f0 !important;
  color: #1e293b !important;
  border-color: #94a3b8 !important;

}

/* ========================================================

   Campus Labs & Facilities Cards Styling

   ======================================================== */

.facility-card {
  transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.35s ease, border-color 0.35s ease !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;

}

.facility-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1) !important;
  border-color: rgba(18, 56, 120, 0.3) !important;

}

.facility-card:hover img {
  transform: scale(1.05) !important;
}

.facility-card .card-body {
  padding: 1.25rem 1.25rem !important;
}

.facility-card h5,
.facility-card .facility-title {
  font-size: 1.15rem !important;
  line-height: 1.35 !important;
  letter-spacing: -0.2px !important;
  margin-bottom: 0.45rem !important;
  text-wrap: balance !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  color: #0f172a !important;
}

.facility-card p {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  margin-bottom: 0.85rem !important;
}

@media (max-width: 767.98px) {
  .facility-card .card-body {
    padding: 1rem 0.95rem !important;
  }
  .facility-card h5,
  .facility-card .facility-title {
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.35rem !important;
  }
  .facility-card p {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 0.75rem !important;
  }
}

/* ========================================================

   FIX: Course Card Action Buttons & Badges (No Overflow)

   ======================================================== */

.single-cases-card .flex-fill {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;

}

/* ========================================================

   OUTCLASS MOBILE-FIRST DESIGN UPGRADES (Smartphones & Tablets)

   ======================================================== */

/* Fluid Typography for Hero Titles */

.hero-main-title {
  font-size: clamp(1.85rem, 1.25rem + 2.6vw, 2.75rem) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 10px !important;

}

.hero-site-title {
  font-size: clamp(1.15rem, 0.95rem + 1vw, 1.75rem) !important;
  line-height: 1.25 !important;
  margin-bottom: 16px !important;

}

/* ========================================================

   1. Modern Branded Mobile Header (Flexbox - Zero Overlap)

   ======================================================== */

.mobile-menu-area {
  background: #ffffff !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
  padding: 0 !important;

}

.hits-mobile-header-bar {
  min-height: 66px !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;

}

.mobile-brand-img {
  height: 42px !important;
  width: auto !important;
  max-width: 48px !important;
  object-fit: contain !important;
  display: block !important;

}

.mobile-brand-title {
  font-weight: 800 !important;
  font-size: 14px !important;
  color: #0f172a !important;
  line-height: 1.15 !important;
  letter-spacing: 0.4px !important;
  margin: 0 !important;

}

.mobile-brand-sub {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: #123878 !important;
  letter-spacing: 0.6px !important;
  margin: 0 !important;
  line-height: 1.15 !important;

}

/* Modern Hamburger Button */

.hits-mobile-hamburger-btn {
  width: 40px !important;
  height: 40px !important;
  padding: 9px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;

}

.hits-mobile-hamburger-btn span {
  display: block !important;
  width: 22px !important;
  height: 2.5px !important;
  background: #0f172a !important;
  border-radius: 2px !important;
  margin: 0 !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;

}

.hits-mobile-hamburger-btn:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;

}

/* Transform to 'X' when active */

.hits-mobile-hamburger-btn.active {
  background: #fee2e2 !important;
  border-color: #fca5a5 !important;

}

.hits-mobile-hamburger-btn.active span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg) !important;
  background: #dc2626 !important;

}

.hits-mobile-hamburger-btn.active span:nth-child(2) {
  opacity: 0 !important;
  transform: scaleX(0) !important;

}

.hits-mobile-hamburger-btn.active span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg) !important;
  background: #dc2626 !important;

}

/* Modern Mobile Drawer Dropdown */

.hits-mobile-drawer {
  display: none;
  background: #0f172a !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-bottom: 3px solid #123878 !important;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5) !important;
  max-height: calc(100vh - 110px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;

}

.hits-mobile-drawer.open {
  display: block !important;
  animation: hitsDrawerSlideDown 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards !important;

}

@keyframes hitsDrawerSlideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);

  }

  to {
    opacity: 1;
    transform: translateY(0);

  }

}

.hits-mobile-nav-list {
  padding: 8px 0 !important;
  margin: 0 !important;

}

.hits-mobile-nav-list li a {
  display: flex !important;
  align-items: center !important;
  padding: 13px 20px !important;
  color: #f8fafc !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  transition: all 0.2s ease !important;
  background: transparent !important;

}

.hits-mobile-nav-list li a:hover,

.hits-mobile-nav-list li a:active {
  background: rgba(16, 185, 129, 0.14) !important;
  color: #34d399 !important;
  padding-left: 24px !important;

}

.hits-mobile-nav-list li a.highlight-link {
  background: rgba(245, 158, 11, 0.12) !important;
  color: #fbbf24 !important;
  font-weight: 700 !important;

}

.hits-mobile-drawer-footer {
  background: rgba(0, 0, 0, 0.35) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;

}

/* ========================================================

   2. Outclass Mobile Bottom Navigation Dock (App-Like)

   ======================================================== */

.hits-mobile-bottom-dock {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 64px !important;
  padding-bottom: max(6px, env(safe-area-inset-bottom)) !important;
  background: rgba(15, 23, 42, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
  z-index: 9999999 !important;

}

@media (min-width: 992px) {

  .hits-mobile-bottom-dock {
    display: none !important;

  }

}

.hits-mobile-bottom-dock .dock-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: #94a3b8 !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 4px 2px !important;
  transition: all 0.2s ease !important;
  -webkit-tap-highlight-color: transparent !important;

}

.hits-mobile-bottom-dock .dock-item .dock-icon-wrap {
  font-size: 20px !important;
  line-height: 1 !important;
  margin-bottom: 3px !important;
  transition: transform 0.2s ease, color 0.2s ease !important;

}

.hits-mobile-bottom-dock .dock-item .dock-text {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  line-height: 1 !important;
  white-space: nowrap !important;

}

.hits-mobile-bottom-dock .dock-item:hover,

.hits-mobile-bottom-dock .dock-item.active {
  color: #38bdf8 !important;

}

.hits-mobile-bottom-dock .dock-item:hover .dock-icon-wrap,

.hits-mobile-bottom-dock .dock-item.active .dock-icon-wrap {
  transform: translateY(-2px) scale(1.1) !important;
  color: #38bdf8 !important;

}

.hits-mobile-bottom-dock .dock-item.dock-wa {
  color: #25D366 !important;

}

.hits-mobile-bottom-dock .dock-item.dock-wa .dock-icon-wrap {
  color: #25D366 !important;

}

/* Center Highlighted Apply Button */

.hits-mobile-bottom-dock .dock-item-highlight {
  position: relative !important;
  top: -10px !important;

}

.hits-mobile-bottom-dock .dock-pill-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #10b981 0%, #123878 100%) !important;
  color: #ffffff !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 50% !important;
  border: 3px solid #0f172a !important;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;

}

.hits-mobile-bottom-dock .dock-pill-btn i {
  font-size: 20px !important;
  line-height: 1 !important;
  margin-bottom: 2px !important;

}

.hits-mobile-bottom-dock .dock-pill-btn span {
  font-size: 8.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  line-height: 1 !important;

}

.hits-mobile-bottom-dock .dock-item-highlight:hover .dock-pill-btn,

.hits-mobile-bottom-dock .dock-item-highlight:active .dock-pill-btn {
  transform: scale(1.08) !important;
  box-shadow: 0 10px 25px rgba(16, 185, 129, 0.6) !important;

}

/* ========================================================

   3. Responsive Mobile Viewport Overrides (@media <= 768px)

   ======================================================== */

@media (max-width: 991px) {
  body {
    padding-bottom: 78px !important; /* Prevents bottom dock overlap */

  }

  .hits-floating-whatsapp,

  .prgoress_indicator,

  .prgoress_indicator.active-progress {
    display: none !important; /* Clean Mobile: Floating WhatsApp and Go to top removed */

    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: none !important;

  }

}

@media (max-width: 768px) {
  /* Tight, sleek mobile section padding */

  section,

  .hero_area,

  .about-area,

  .feature-area,

  .case-study-area,

  .footer-area {
    padding-top: 40px !important;
    padding-bottom: 40px !important;

  }

  .section_title h1,

  .section_title h2 {
    font-size: clamp(1.35rem, 1.05rem + 1.8vw, 2.1rem) !important;
    line-height: 1.25 !important;
    text-wrap: balance !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .section-sub-title h6 {
    font-size: 11.5px !important;
    letter-spacing: 1px !important;

  }

  /* Hero Section Mobile Polish */

  .hero_area.style-one {
    padding-top: 32px !important;
    padding-bottom: 40px !important;

  }

  .hero_content {
    text-align: center !important;

  }

  .hero_content h5 {
    font-size: 13px !important;
    display: inline-flex !important;
    margin-bottom: 12px !important;

  }

  .hero_content p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 12px auto 20px !important;
    max-width: 480px !important;
    color: #475569 !important;

  }

  /* Full-width thumb-friendly dual CTA buttons */

  .hero-button {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 20px !important;

  }

  .hero-button .hero-btn,

  .hero-button .hero-course-btn,

  .hero-button a {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    text-align: center !important;
    border-radius: 50px !important;

  }

  .hero-rating-box {
    justify-content: center !important;
    margin: 22px auto 0 !important;
    display: inline-flex !important;

  }

  .hero-thumb {
    margin-top: 30px !important;

  }

  .hero-student-wrapper {
    max-width: 300px !important;
    margin: 0 auto !important;

  }

  .hits-hero-student-img {
    max-height: 290px !important;
    width: auto !important;

  }

  .hero-floating-badge {
    padding: 8px 12px !important;
    font-size: 11px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;

  }

  .hero-floating-badge.badge-top-left {
    top: 5px !important;
    left: -10px !important;

  }

  .hero-floating-badge.badge-bottom-right {
    bottom: 5px !important;
    right: -10px !important;

  }

  /* Courses Category Filter Chips (Horizontal Swipeable Bar) */

  .hits-filter-nav {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
    padding: 6px 14px 14px !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;

  }

  .hits-filter-nav::-webkit-scrollbar {
    display: none !important;

  }

  .hits-filter-btn {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 8px 16px !important;
    border-radius: 50px !important;

  }

  /* Course Card Mobile Polish */

  .single-cases-card {
    border-radius: 18px !important;
    margin-bottom: 20px !important;

  }

  .single-cases-card .cases-img {
    height: 180px !important;
    aspect-ratio: 16 / 9 !important;

  }

  .single-cases-card .cases-content {
    padding: 18px !important;

  }

  .single-cases-card h4.fs-5 {
    font-size: 16px !important;
    line-height: 1.35 !important;

  }

  /* Features Box (Why Choose HITS) on Mobile */

  .single-feature-box {
    padding: 22px 18px !important;
    border-radius: 16px !important;
    margin-bottom: 16px !important;
    text-align: left !important;

  }

  .single-feature-box .feature-title {
    font-size: 17px !important;

  }

  .single-feature-box .feature-desc {
    font-size: 13.5px !important;
    line-height: 1.5 !important;

  }

  /* About Us Section on Mobile */

  .about-thumb-wrapper img {
    max-height: 260px !important;
    border-radius: 16px !important;

  }

  .about-campus-badge {
    bottom: 12px !important;
    left: 12px !important;
    right: 12px !important;
    max-width: calc(100% - 24px) !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;

  }

  .about-campus-badge p {
    font-size: 11.5px !important;
    line-height: 1.35 !important;

  }

  /* About Stats Row: 2 Clean Side-by-Side Columns */

  .style-one .row.about-border {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;

  }

  .style-one .row.about-border > div {
    flex: 1 1 50% !important;
    width: 50% !important;
    margin-bottom: 0 !important;

  }

  .style-one .about-item-box {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;

  }

  .style-one .about-item-box h3.counter,

  .about-item-box h3.counter {
    font-size: 32px !important;

  }

  .style-one .about-item-box span,

  .about-item-box span {
    font-size: 24px !important;

  }

  .style-one .about-item-box .about-item-desc p {
    font-size: 12px !important;
    line-height: 1.35 !important;

  }

  .about-btn a,

  .about-btn .theme-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 20px !important;

  }

  /* Form Elements: Touch-Friendly & iOS Auto-Zoom Prevention */

  input[type="text"],

  input[type="email"],

  input[type="tel"],

  input[type="password"],

  select,

  textarea {
    font-size: 16px !important; /* Critical: prevents iOS auto-zoom */

    min-height: 48px !important;
    border-radius: 12px !important;

  }

  .form-label {
    font-size: 13.5px !important;
    margin-bottom: 6px !important;

  }

  .btn-lg,

  button[type="submit"] {
    min-height: 48px !important;
    font-size: 15px !important;
    border-radius: 12px !important;

  }

}

/* ========================================================= */

/* HEADER TOP BAR PIXEL-PERFECT VERTICAL ALIGNMENT FIX       */

/* ========================================================= */

.header-top-area {
  background-color: #1e1e1e !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;

}

.row.header-top {
  padding: 8px 45px 8px 52px !important;
  min-height: 44px !important;
  align-items: center !important;

}

.header-top-welcome {
  display: flex !important;
  align-items: center !important;

}

.header-top-welcome p {
  margin: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;

}

.header-top-welcome p a {
  color: #10b981 !important;
  text-decoration: none !important;
  margin-left: 4px !important;
  transition: color 0.2s ease;

}

.header-top-welcome p a:hover {
  color: #34d399 !important;

}

.header-top-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  margin: 0 !important;

}

.header-top-track-link {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1 !important;
  transition: color 0.2s ease;

}

.header-top-track-link:hover {
  color: #f59e0b !important;

}

.header-top-track-link i {
  font-size: 14px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;

}

.educate-header-from {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;

}

.educate-header-from a,

.sign-up-btn,

.header-top-apply-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  padding: 6px 14px !important;
  background: rgba(16, 185, 129, 0.16) !important;
  border: 1px solid rgba(16, 185, 129, 0.45) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  vertical-align: middle !important;

}

.educate-header-from a:hover,

.sign-up-btn:hover,

.header-top-apply-btn:hover {
  background: #10b981 !important;
  border-color: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.35) !important;

}

.educate-header-from a i,

.sign-up-btn i,

.header-top-apply-btn i {
  font-size: 15px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #10b981 !important;
  margin: 0 !important;
  margin-right: 0 !important;
  transition: color 0.25s ease;

}

.educate-header-from a:hover i,

.sign-up-btn:hover i,

.header-top-apply-btn:hover i {
  color: #ffffff !important;

}

/* Hide Breadcrumb Navigation Globally */

.breadcumb-list {
  display: none !important;

}

/* Clickable Footer Contact & Address Buttons */

.footer-contact-info a.footer-contact-phone,

.footer-contact-info a.footer-contact-address {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  cursor: pointer !important;

}

.footer-contact-info a.footer-contact-phone:hover p,

.footer-contact-info a.footer-contact-address:hover span {
  color: #38bdf8 !important;

}

/* ========================================================

   HITS AI CHATBOT SYSTEM (Replaces Go-to-Top Button)

   ======================================================== */

.prgoress_indicator,

.prgoress_indicator.active-progress {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;

}

/* 1. Floating Launcher Button */

.hits-chatbot-launcher-wrap {
  position: fixed !important;
  right: 28px !important;
  bottom: 30px !important;
  z-index: 999999 !important;

}

.hits-chatbot-launcher {
  position: relative !important;
  width: 72px !important;
  height: 72px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  outline: none !important;

}

.hits-chatbot-launcher:hover {
  transform: translateY(-4px) scale(1.08) !important;

}

.hits-chatbot-launcher.chat-opened {
  transform: scale(0.92) !important;
  opacity: 0.9 !important;

}

.hits-chatbot-launcher-img {
  width: 66px !important;
  height: 66px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  box-shadow: 0 10px 24px rgba(18, 56, 120, 0.35) !important;
  border: 2px solid #ffffff !important;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease !important;
  animation: hitsChatbotFloat 3.2s ease-in-out infinite !important;
}

@keyframes hitsChatbotFloat {

  0%, 100% { transform: translateY(0px); }

  50% { transform: translateY(-6px); }

}

.hits-chatbot-launcher:hover .hits-chatbot-launcher-img {
  transform: translateY(-2px) rotate(6deg) scale(1.08) !important;
  filter: drop-shadow(0 16px 28px rgba(18, 56, 120, 0.55)) drop-shadow(0 6px 12px rgba(0, 0, 0, 0.22)) !important;

}

.hits-chatbot-launcher-badge {
  position: absolute !important;
  top: -4px !important;
  right: -2px !important;
  background: #f59e0b !important;
  color: #0f172a !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25) !important;
  white-space: nowrap !important;
  border: 2px solid #ffffff !important;
  letter-spacing: 0.3px !important;
  pointer-events: none !important;
  z-index: 2 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: scale(0.4) translateY(6px) !important;
  transform-origin: bottom right !important;
  animation: hitsAskAiLoop 33s cubic-bezier(0.34, 1.56, 0.64, 1) infinite !important;
  transition: opacity 0.3s ease, transform 0.3s ease !important;

}

/* 3 seconds visible, 30 seconds hidden loop (Total 33s) */

@keyframes hitsAskAiLoop {

  0% {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.4) translateY(6px);

  }

  1.2% { /* ~0.4s: pops into view */

    opacity: 1;
    visibility: visible;
    transform: scale(1.08) translateY(-2px);

  }

  2.2% { /* ~0.7s: settles smoothly */

    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0);

  }

  7.8% { /* ~2.6s: remains cleanly visible */

    opacity: 1;
    visibility: visible;
    transform: scale(1) translateY(0);

  }

  9.09% { /* 3.0s: fades out and scales down */

    opacity: 0;
    visibility: hidden;
    transform: scale(0.4) translateY(4px);

  }

  100% { /* 33.0s: stays hidden for remaining 30s until next cycle */

    opacity: 0;
    visibility: hidden;
    transform: scale(0.4) translateY(4px);

  }

}

/* Show badge on hover */

.hits-chatbot-launcher:hover .hits-chatbot-launcher-badge {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) translateY(0) !important;

}

/* Hide badge when chat window is active */

.hits-chatbot-launcher.chat-opened .hits-chatbot-launcher-badge {
  display: none !important;
  animation: none !important;

}

.hits-chatbot-pulse-ring {
  display: none !important;

}

/* ========================================================
   SAYLANI-MODEL CLEAN AI ASSISTANT CHATBOT (EXACT REFERENCE)
   ======================================================== */

/* 2. Floating Chatbot Window / Card */
.hits-chatbot-window {
  position: fixed !important;
  right: 28px !important;
  bottom: 104px !important;
  width: 385px !important;
  max-width: calc(100vw - 28px) !important;
  height: 625px !important;
  max-height: calc(100vh - 110px) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, #dbeafe 0%, #eff6ff 28%, #ffffff 58%) !important;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16), 0 4px 16px rgba(15, 23, 42, 0.04) !important;
  border: 1px solid rgba(226, 232, 240, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  z-index: 9999999 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(20px) scale(0.96) !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.hits-chatbot-window.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

/* Minimalist Clean Transparent Header */
.hits-chat-header {
  background: transparent !important;
  padding: 16px 20px 8px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  color: #0f172a !important;
  border: none !important;
  box-shadow: none !important;
}

.hits-chat-header-left {
  display: flex !important;
  align-items: center !important;
}

.hits-chat-logo-img {
  height: 26px !important;
  width: auto !important;
  object-fit: contain !important;
}

.hits-chat-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.hits-chat-header-btn {
  background: transparent !important;
  border: none !important;
  color: #64748b !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 17px !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.hits-chat-header-btn:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: #0f172a !important;
  transform: scale(1.08) !important;
}

/* Messages Body Area - 100% Invisible Scrollbar (Saylani SIT Assistant Model) */
.hits-chat-body {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px 18px 10px 18px !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  scroll-behavior: smooth !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

/* Hide scrollbars completely across Chrome, Safari, Edge, Opera, Firefox */
.hits-chat-body::-webkit-scrollbar,
.hits-chat-messages::-webkit-scrollbar,
.hits-chatbot-window::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

.hits-chat-messages {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

/* Hero Introduction Area (Exact Match with Reference) */
.hits-chat-hero {
  padding: 2px 0 2px 0 !important;
}

.hits-hero-avatar-wrap {
  width: 68px !important;
  height: 68px !important;
  margin: 0 auto 6px auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-shadow: 0 8px 20px rgba(18, 56, 120, 0.14) !important;
  background: #f0f7ff !important;
  border: 2px solid #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
}

.hits-hero-avatar-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.hits-hero-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 4px !important;
  letter-spacing: -0.3px !important;
}

.hits-hero-desc {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.4 !important;
  max-width: 275px !important;
  margin: 0 auto !important;
}

/* Clean "Today" Date Stamp Divider */
.hits-chat-date-divider {
  text-align: center !important;
  margin: 8px 0 6px 0 !important;
}

.hits-chat-date-divider span {
  font-size: 11.5px !important;
  color: #94a3b8 !important;
  font-weight: 500 !important;
}

/* Message Bubbles */
.hits-chat-msg {
  display: flex !important;
  max-width: 88% !important;
  animation: hitsChatFadeIn 0.25s ease forwards !important;
}

@keyframes hitsChatFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.hits-msg-bot {
  align-self: flex-start !important;
}

.hits-msg-user {
  align-self: flex-end !important;
}

.hits-msg-bubble {
  padding: 10px 16px !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
}

.hits-msg-bot .hits-msg-bubble {
  background: #f1f5f9 !important;
  color: #1e293b !important;
  border-radius: 18px 18px 18px 6px !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 450 !important;
}

.hits-msg-user .hits-msg-bubble {
  background: #2076EE !important;
  color: #ffffff !important;
  border-radius: 18px 18px 6px 18px !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(32, 118, 238, 0.25) !important;
}

.hits-msg-user .hits-msg-bubble,
.hits-msg-user .hits-msg-bubble p,
.hits-msg-user .hits-msg-bubble span,
.hits-msg-user .hits-msg-bubble div {
  color: #ffffff !important;
}

.hits-msg-bot .hits-msg-bubble,
.hits-msg-bot .hits-msg-bubble p,
.hits-msg-bot .hits-msg-bubble span,
.hits-msg-bot .hits-msg-bubble div {
  color: #1e293b !important;
}

/* Quick Suggestion Chips (Reference Light-Blue Vertically Stacked Pills) */
.hits-chat-quick-chips {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  margin-top: 6px !important;
  padding: 0 !important;
  width: 100% !important;
}

.hits-quick-chip {
  background: #dbeafe !important;
  color: #1e3a8a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  text-align: left !important;
  width: fit-content !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  user-select: none !important;
}

.hits-quick-chip:hover {
  background: #bfdbfe !important;
  color: #1e3a8a !important;
  transform: translateY(-1px) scale(1.02) !important;
}

.hits-quick-chip:active {
  transform: scale(0.98) !important;
}

/* Typing Indicator Animation */
.hits-chat-typing {
  display: flex !important;
  align-items: center !important;
  margin-top: 4px !important;
}

.hits-typing-bubble {
  background: #f1f5f9 !important;
  padding: 10px 14px !important;
  border-radius: 18px 18px 18px 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.hits-typing-bubble span {
  width: 6px !important;
  height: 6px !important;
  background: #94a3b8 !important;
  border-radius: 50% !important;
  animation: hitsTypingBounce 1.4s infinite ease-in-out !important;
}

.hits-typing-bubble span:nth-child(1) { animation-delay: -0.32s !important; }
.hits-typing-bubble span:nth-child(2) { animation-delay: -0.16s !important; }

@keyframes hitsTypingBounce {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); background: #2076EE; }
}

/* Footer / Input Area */
.hits-chat-footer {
  background: #ffffff !important;
  padding: 10px 18px 12px 18px !important;
  border-top: none !important;
}

.hits-chat-form {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* Reference Capsule Input Container */
.hits-chat-pill-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 9999px !important;
  height: 50px !important;
  padding: 4px 6px 4px 18px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  transition: all 0.2s ease-in-out !important;
  overflow: hidden !important;
  outline: none !important;
}

.hits-chat-pill-wrap:focus-within {
  border-color: #2076EE !important;
  box-shadow: 0 0 0 3px rgba(32, 118, 238, 0.12) !important;
}

.hits-chat-pill-input {
  flex: 1 1 auto !important;
  width: 100% !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  color: #0f172a !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hits-chat-pill-input::placeholder {
  color: #94a3b8 !important;
  font-size: 14px !important;
}

.hits-chat-input-controls {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}

.hits-chat-mic-btn {
  background: transparent !important;
  border: none !important;
  color: #64748b !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 18px !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
}

.hits-chat-mic-btn:hover {
  color: #0f172a !important;
  background: #f1f5f9 !important;
}

.hits-chat-mic-btn.listening {
  color: #ef4444 !important;
  animation: hitsMicPulse 1s infinite !important;
}

@keyframes hitsMicPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* Reference Circular Up-Arrow Button */
.hits-chat-pill-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hits-chat-pill-btn i {
  font-size: 16px !important;
  font-weight: bold !important;
  transform: none !important;
}

.hits-chat-pill-btn.has-text,
.hits-chat-pill-btn:hover {
  background: #2076EE !important;
  color: #ffffff !important;
  transform: scale(1.05) !important;
  box-shadow: 0 4px 10px rgba(32, 118, 238, 0.3) !important;
}

.hits-chat-pill-btn:active {
  transform: scale(0.95) !important;
}

/* Footer Disclaimer */
.hits-chat-disclaimer {
  font-size: 11px !important;
  color: #94a3b8 !important;
  text-align: center !important;
  margin-top: 8px !important;
}

.hits-powered-link {
  color: #2076EE !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.hits-powered-link:hover {
  text-decoration: underline !important;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
  .hits-chatbot-launcher-wrap {
    bottom: 82px !important;
    right: 14px !important;
  }

  .hits-chatbot-launcher {
    width: 60px !important;
    height: 60px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .hits-chatbot-launcher-img {
    width: 60px !important;
    height: 60px !important;
  }

  .hits-chatbot-window {
    right: 12px !important;
    bottom: 148px !important;
    width: calc(100vw - 24px) !important;
    height: calc(100vh - 175px) !important;
    border-radius: 22px !important;
  }
}


/* Universal High-Contrast Safeguard on Dark & text-white Containers */
.text-white h1:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.text-white h2:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.text-white h3:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.text-white h4:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.text-white h5:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.text-white h6:not([class*="text-warning"]):not([class*="text-danger"]):not([class*="text-info"]):not([class*="text-success"]):not([class*="text-dark"]),
.card.text-white h1,
.card.text-white h2,
.card.text-white h3,
.card.text-white h4,
.card.text-white h5,
.card.text-white h6 {
  color: #ffffff !important;
}

/* ========================================================
   SAYLANI-STYLE COMPREHENSIVE ENROLLMENT SYSTEM STYLES
   ======================================================== */

.saylani-enroll-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 25px;
}

.saylani-enroll-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  color: #334155;
  border-radius: 50px;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.saylani-enroll-tab:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
  transform: translateY(-1px);
}

.saylani-enroll-tab.active {
  background: linear-gradient(135deg, #123878 0%, #1e52a8 100%) !important;
  border-color: #123878 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(18, 56, 120, 0.25);
}

.saylani-enroll-tab.active i {
  color: #f59e0b !important;
}

.saylani-enroll-tab.btn-amber {
  background: #fffbeb;
  border-color: #fde68a;
  color: #b45309;
}

.saylani-enroll-tab.btn-amber:hover {
  background: #f59e0b;
  border-color: #f59e0b;
  color: #ffffff;
}

.saylani-section-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.saylani-section-card:hover {
  border-color: #cbd5e1;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.06);
}

.saylani-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 2px solid #f1f5f9;
  padding-bottom: 14px;
  margin-bottom: 20px;
}

.saylani-section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #123878;
  color: #ffffff;
  font-weight: 700;
  font-size: 15px;
}

.saylani-section-title h5 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin: 0 !important;
}

.saylani-section-title span.sub {
  font-size: 12.5px;
  color: #64748b;
  display: block;
}

.saylani-photo-upload-box {
  border: 2px dashed #cbd5e1;
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  background: #f8fafc;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.saylani-photo-upload-box:hover {
  border-color: #123878;
  background: #f1f5f9;
}

.saylani-photo-preview {
  width: 120px;
  height: 140px;
  border-radius: 10px;
  object-fit: cover;
  border: 2px solid #123878;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  display: none;
  margin: 0 auto 12px auto;
}

.saylani-rules-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.6;
}

.saylani-rules-box ul {
  padding-left: 20px;
  margin-bottom: 0;
}

.saylani-rules-box li {
  margin-bottom: 6px;
}

.saylani-rules-box li:last-child {
  margin-bottom: 0;
}

.saylani-terms-scroll {
  max-height: 180px;
  overflow-y: auto;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: 10px;
  padding: 14px 18px;
  font-size: 13px;
  color: #334155;
  line-height: 1.6;
}

.saylani-radio-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 1.5px solid #cbd5e1;
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  color: #334155;
  transition: all 0.2s ease;
}

.saylani-radio-pill:has(input:checked) {
  border-color: #123878;
  background: #eff6ff;
  color: #123878;
  box-shadow: 0 2px 8px rgba(18, 56, 120, 0.15);
}

.saylani-radio-pill input {
  accent-color: #123878;
}

/* ========================================================
   SAYLANI-MODEL CLEAN THEME & INTERACTIVE PAKISTAN MAP
   ======================================================== */

.hits-map-section {
  position: relative;
  background-color: #ffffff;
  overflow: hidden;
}

.hits-map-wrapper {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.hits-map-canvas {
  position: relative;
  width: 100%;
}

.hits-pk-map-img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 14px 28px rgba(15, 23, 42, 0.05));
  user-select: none;
  pointer-events: none;
}

.hits-map-markers-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hits-map-pin-item {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  pointer-events: auto;
  z-index: 15;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hits-map-pin-item:hover {
  transform: translate(-50%, -50%) scale(1.18);
  z-index: 60;
}

.hits-pin-icon-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hits-pin-svg {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.18));
  transition: transform 0.2s ease;
}

.hits-pin-green {
  color: #10b981;
}

.hits-pin-blue {
  color: #2076EE;
}

/* Green Pulse Radar for Live Karachi Campus */
.hits-pin-pulse-ring {
  position: absolute;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.4);
  pointer-events: none;
  animation: hitsPinPulse 1.8s infinite;
}

@keyframes hitsPinPulse {
  0% { transform: scale(0.5); opacity: 1; }
  100% { transform: scale(1.9); opacity: 0; }
}

.hits-pin-label {
  font-size: 11px;
  font-weight: 600;
  padding: 2.5px 8px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(4px);
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  color: #334155;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  margin-top: 3px;
  line-height: 1.2;
  transition: all 0.2s ease;
  user-select: none;
}

.hits-map-pin-item:hover .hits-pin-label {
  border-color: #94a3b8;
  color: #0f172a;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

.hits-label-live {
  border-color: #86efac !important;
  background: #f0fdf4 !important;
  color: #15803d !important;
  font-weight: 700 !important;
}

.hits-live-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #16a34a;
  margin-right: 3px;
  vertical-align: middle;
}

/* Interactive Floating Tooltip Card */
.hits-pin-tooltip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 210px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  z-index: 100;
  text-align: left;
}

.hits-pin-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
}

.hits-map-pin-item:hover .hits-pin-tooltip {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.hits-tooltip-live {
  border-color: #86efac;
  box-shadow: 0 12px 32px rgba(16, 185, 129, 0.18);
}

/* Saylani-Style Clean Theme Overrides */
.clean-theme-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 13px;
  font-weight: 600;
  background: #eff6ff;
  color: #123878;
  border: 1px solid #dbeafe;
}

.clean-theme-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03) !important;
}

.clean-theme-card:hover {
  transform: translateY(-3px) !important;
  border-color: #cbd5e1 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
}

@media (max-width: 768px) {
  .hits-map-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 12px;
  }
  .hits-map-canvas {
    min-width: 540px;
  }
  .hits-pin-label {
    font-size: 10px;
    padding: 2px 6px;
  }
  .hits-pin-svg {
    transform: scale(0.9);
  }
  .hits-pin-tooltip {
    min-width: 180px;
    font-size: 12px;
  }
}


/* ========================================================
   SAYLANI-MODEL GLOBAL CLEAN UI ENHANCEMENTS & MONTSERRAT
   ======================================================== */

/* 1. Global Montserrat Font Integration */
html, body,
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
p, a, span, label,
button, input, select, textarea,
.btn, .badge, .nav-link,
.header-menu, .footer-area, .hits-saylani-footer {
  font-family: 'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* 2. Completely Hide Header Top Bar (Per User Request) */
.header-top-area {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 3. Completely Remove Floating WhatsApp Widget (Per User Request) */
.hits-floating-whatsapp,
#hitsFloatingWhatsApp {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* 4. Saylani-Model Footer Styles */
.hits-saylani-footer {
  position: relative;
  z-index: 10;
}

.hits-saylani-social-icon {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background-color: #2d2d2d !important;
  color: #9ca3af !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  font-size: 14px !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.hits-saylani-social-icon:hover {
  background-color: #2076EE !important;
  color: #ffffff !important;
  transform: translateY(-3px) scale(1.1) !important;
  box-shadow: 0 8px 20px rgba(32, 118, 238, 0.4) !important;
}

.footer-hover-link {
  color: #9ca3af !important;
  transition: all 0.2s ease !important;
  display: inline-block !important;
}

.footer-hover-link:hover {
  color: #ffffff !important;
  transform: translateX(3px) !important;
}

.footer-haya-link {
  transition: all 0.2s ease !important;
}

.footer-haya-link:hover {
  color: #2076EE !important;
  text-decoration: underline !important;
}

.footer-dev-badge {
  transition: all 0.25s ease !important;
}

.footer-dev-badge:hover {
  border-color: rgba(255, 255, 255, 0.35) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2) !important;
}

/* 5. Chat Window Scroll Prevention & Complete Scrollbar Removal (Saylani SIT Model) */
.hits-chatbot-window {
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.hits-chatbot-window::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.hits-chat-body {
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.hits-chat-body::-webkit-scrollbar,
.hits-chat-messages::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

.hits-chatbot-launcher-img {
  width: 66px !important;
  height: 66px !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  background: #ffffff !important;
  padding: 4px !important;
  box-shadow: 0 10px 24px rgba(18, 56, 120, 0.35) !important;
  border: 2px solid #ffffff !important;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease !important;
  animation: hitsChatbotFloat 3.2s ease-in-out infinite !important;
}

.hits-hero-avatar-wrap {
  width: 68px !important;
  height: 68px !important;
  margin: 0 auto 6px auto !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  box-shadow: 0 8px 20px rgba(18, 56, 120, 0.14) !important;
  background: #f0f7ff !important;
  border: 2px solid #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
}

.hits-hero-avatar-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}


/* ========================================================
   Sidebar Information Desk (Offcanvas Window) Enhancements
   ======================================================== */
.header-sidbar-button.navSidebar-button a,
#hitsNavSidebarBtn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;
}

.header-sidbar-button.navSidebar-button a:hover,
#hitsNavSidebarBtn:hover {
  background: #059669 !important;
  transform: scale(1.06) !important;
  box-shadow: 0 6px 18px rgba(16, 185, 129, 0.45) !important;
}

.header-sidbar-button.navSidebar-button a i,
#hitsNavSidebarBtn i {
  font-size: 20px !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.xs-sidebar-group {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 10000000 !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

.xs-sidebar-group.isActive {
  pointer-events: auto !important;
}

.xs-sidebar-group .xs-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(10, 15, 30, 0.72) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease !important;
  z-index: 1 !important;
}

.xs-sidebar-group.isActive .xs-overlay {
  opacity: 1 !important;
  visibility: visible !important;
}

.xs-sidebar-widget {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 420px !important;
  height: 100vh !important;
  background: #181b1f !important;
  color: #f8fafc !important;
  box-shadow: -12px 0 50px rgba(0, 0, 0, 0.65) !important;
  z-index: 2 !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  transform: translateX(105%) !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.xs-sidebar-widget::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.xs-sidebar-group.isActive .xs-sidebar-widget {
  transform: translateX(0) !important;
}

.sidebar-widget-container {
  opacity: 1 !important;
  visibility: visible !important;
  top: 0 !important;
  transition: none !important;
  padding: 42px 34px !important;
}

.xs-sidebar-widget {
  background: #14171d !important;
}

.hits-side-close-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #20242c !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.hits-side-close-btn:hover {
  background: #10b981 !important;
  border-color: #10b981 !important;
  color: #ffffff !important;
  transform: scale(1.05) !important;
  box-shadow: none !important;
}

/* Hide floating AI chatbot launcher button when sidebar is open */
.xs-sidebar-group.isActive ~ * #hitsChatbotLauncherWrap,
body:has(.xs-sidebar-group.isActive) #hitsChatbotLauncherWrap {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ========================================================
   Leaflet Real Interactive Karachi Map Styling
   ======================================================== */
.hits-leaflet-pin {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.hits-leaflet-pin:hover {
  transform: translateY(-4px) scale(1.12);
  z-index: 1000 !important;
}

.hits-leaflet-radar {
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(16, 185, 129, 0.45);
  animation: hitsRadarPulse 2s infinite ease-out;
  pointer-events: none;
  z-index: -1;
}

@keyframes hitsRadarPulse {
  0% { transform: translateX(-50%) scale(0.6); opacity: 1; }
  100% { transform: translateX(-50%) scale(2.8); opacity: 0; }
}

.hits-leaflet-badge-label {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  color: #1e293b;
  background: rgba(255, 255, 255, 0.96);
  padding: 1px 7px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.08);
  white-space: nowrap;
  pointer-events: none;
}

.hits-leaflet-pin-live .hits-leaflet-badge-label {
  color: #065f46;
  border-color: rgba(16, 185, 129, 0.45);
  background: #ecfdf5;
}

.hits-leaflet-tooltip {
  font-family: inherit;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 8px;
}

.hits-leaflet-popup-card {
  font-family: inherit;
  padding: 4px;
}

/* Fix Map Filter Buttons Contrast & Colors */
.hits-map-filter-btn {
  background: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  border-width: 1.5px !important;
  border-style: solid !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

/* 1. All Locations */
.hits-map-filter-btn[data-filter="all"] {
  color: #475569 !important;
  border-color: #cbd5e1 !important;
  background: #ffffff !important;
}
.hits-map-filter-btn[data-filter="all"]:hover,
.hits-map-filter-btn[data-filter="all"].active {
  background: #1e293b !important;
  color: #ffffff !important;
  border-color: #1e293b !important;
  box-shadow: 0 4px 12px rgba(30, 41, 59, 0.25) !important;
}

/* 2. Live: Shahrah-e-Faisal */
.hits-map-filter-btn[data-filter="live"] {
  color: #047857 !important;
  border-color: #10b981 !important;
  background: #f0fdf4 !important;
}
.hits-map-filter-btn[data-filter="live"]:hover,
.hits-map-filter-btn[data-filter="live"].active {
  background: #10b981 !important;
  color: #ffffff !important;
  border-color: #10b981 !important;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3) !important;
}
.hits-map-filter-btn[data-filter="live"].active .hits-live-dot {
  background: #ffffff !important;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.8) !important;
}

/* 3. Upcoming Campuses */
.hits-map-filter-btn[data-filter="upcoming"] {
  color: #1d4ed8 !important;
  border-color: #3b82f6 !important;
  background: #eff6ff !important;
}
.hits-map-filter-btn[data-filter="upcoming"]:hover,
.hits-map-filter-btn[data-filter="upcoming"].active {
  background: #2076EE !important;
  color: #ffffff !important;
  border-color: #2076EE !important;
  box-shadow: 0 4px 12px rgba(32, 118, 238, 0.3) !important;
}

/* 4. Reset View */
#hitsResetMapBtn {
  background: #ffffff !important;
  color: #475569 !important;
  border: 1.5px solid #cbd5e1 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
}
#hitsResetMapBtn:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: #94a3b8 !important;
}

.leaflet-popup-content-wrapper {
  border-radius: 14px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.leaflet-popup-tip {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}
