/* === SPACING === */
.section-padding {
  padding: 2.5rem 0 !important;
}
.padding-top-bottom-90 {
  padding: 2.5rem 0 !important;
}

/* === CARDS — rounded + soft shadow === */
.service-box-card,
.category-card,
.iq-testimonial,
.shop-card,
.card {
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid #e9ecef !important;
  overflow: hidden !important;
}

/* Card images get rounded corners */
.service-box-card > .iq-image img.service-img,
.shop-card > .iq-image img {
  border-radius: 8px !important;
}

/* === BUTTONS — pill shape + blue === */
.btn-primary,
.btn.btn-primary,
a.btn-primary {
  background-color: #0026ac !important;
  border-color: #0026ac !important;
  border-radius: 50px !important;
  padding: 10px 28px !important;
}
.btn-primary:hover,
.btn.btn-primary:hover {
  background-color: #001d8a !important;
  border-color: #001d8a !important;
}
.btn-outline-primary,
.btn.btn-outline-primary {
  color: #0026ac !important;
  border-color: #0026ac !important;
  border-radius: 50px !important;
  padding: 10px 28px !important;
  background: transparent !important;
}
.btn-outline-primary:hover,
.btn.btn-outline-primary:hover {
  background-color: #0026ac !important;
  color: #ffffff !important;
}

/* === HEADINGS — tighter, darker === */
.section-title,
.iq-title-box .iq-title {
  color: #111111 !important;
  font-weight: 700 !important;
}
.section-subtitle,
.iq-title-box p {
  color: #6c757d !important;
  letter-spacing: 0.3px !important;
}

/* === HARDCODED PURPLE OVERRIDES === */
.text-primary,
a.text-primary {
  color: #0026ac !important;
}
.bg-primary {
  background-color: #0026ac !important;
}
.border-primary {
  border-color: #0026ac !important;
}

/* === IMAGE ROUNDING === */
.service-box-card .service-img img,
.recently-viewed-card img,
.provider-card img {
  border-radius: 8px !important;
}

/* === TIGHTER SECTION SPACING — reduce stacking gap === */
.section-padding {
  padding: 2.5rem 0 !important;
}
.padding-top-bottom-90 {
  padding: 2.5rem 0 !important;
}

/* === PROVIDER CTA — was untouched at 7rem === */
.provider-section {
  padding: 2.5rem 0 !important;
}

/* === INTERNAL GAPS — Bootstrap mt-5/mb-5/py-5 inside sections === */
.section-padding .mt-5,
.section-padding .mb-5,
.padding-top-bottom-90 .mt-5,
.padding-top-bottom-90 .mb-5 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.section-padding .py-5,
.padding-top-bottom-90 .py-5 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

/* === VIDEO SECTION — pt-0 conflict === */
.section-padding.pt-0 {
  padding-top: 0 !important;
  padding-bottom: 2.5rem !important;
}

/* Cards need white bg to stand out from bg-light sections */
.service-box-card.bg-light,
.bg-light .service-box-card.bg-light {
  background-color: #ffffff !important;
}

[data-bs-theme="dark"] .service-box-card.bg-light,
[data-bs-theme="dark"] .bg-light .service-box-card.bg-light {
  background-color: var(--bs-body-bg) !important;
}

/* Card hover lift effect */
.service-box-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.service-box-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1) !important;
}

/* Hide the yellow welcome banner */
.global-notice {
  display: none !important;
}

/* Fix card height stretch — let cards be natural height so bottom corners show */
.our-service .swiper-slide .service-box-card,
.our-service .swiper-slide .service-slide-items-4,
.our-service .swiper-slide .col {
  height: auto !important;
}

/* Remove the large bottom margin on service cards inside the services section */
.our-service .swiper-slide .service-box-card.mb-5 {
  margin-bottom: 1rem !important;
}

/* Reduce the top margin on each slide's inner wrapper */
.our-service .swiper-slide .mt-5 {
  margin-top: 1.5rem !important;
}

/* Add consistent bottom padding to the swiper so cards don't touch the next heading */
.our-service .swiper-wrapper {
  padding-bottom: 1rem !important;
}

/* Fixed title area height — fits 2 lines, keeps all cards same height */
.service-box-card .service-title.font-size-18 {
  min-height: 2.8em !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* ===== BATCH 2: NAVBAR RESTYLE ===== */

/* Fix sticky — parent elements must not clip overflow */
header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1030 !important;
}

body {
  padding-top: 70px !important;
}

/* Neutralize jQuery .fixed toggle completely — navbar is static */
header .iq-navbar.fixed {
  animation: none !important;
  transform: none !important;
}

.main-content {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* Main navbar — white bg, subtle border, compact */
header .iq-navbar {
  background-color: #ffffff !important;
  border-bottom: 1px solid #e9ecef !important;
  padding: 0.25rem 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* Nav links — styled from navbar mockup */
header .iq-navbar .nav-link {
  display: inline-block !important;
  position: relative !important;
  padding: 0.5rem 0.875rem !important;
  color: #3d4f6f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
  transition: color 0.2s ease !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  text-transform: none !important;
}

header .iq-navbar .nav-link::after {
  content: "" !important;
  position: absolute !important;
  left: 0.875rem !important;
  right: 0.875rem !important;
  bottom: 0.3rem !important;
  height: 2px !important;
  background-color: #0026ac !important;
  border-radius: 1px !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.22s ease !important;
}

header .iq-navbar .nav-link:hover {
  color: #0026ac !important;
}

header .iq-navbar .nav-link:hover::after {
  transform: scaleX(1) !important;
}

header .iq-navbar .nav-link.active {
  color: #0026ac !important;
  font-weight: 600 !important;
}

header .iq-navbar .nav-link.active::after {
  transform: scaleX(1) !important;
  opacity: 0.85 !important;
}

header .iq-navbar .nav-link.change-mode,
header .iq-navbar .nav-link.d-flex {
  display: inline-flex !important;
  align-items: center !important;
}

header .iq-navbar .nav-link.change-mode::after,
header .iq-navbar .nav-link.d-flex::after {
  display: none !important;
}

/* Sign in — plain text link (mockup auth style) */
header .iq-navbar .btn.btn-outline-primary {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #3d4f6f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  padding: 0.5rem 0.75rem !important;
  text-decoration: none !important;
  position: relative !important;
}

header .iq-navbar .btn.btn-outline-primary:hover {
  color: #0026ac !important;
  background: none !important;
}

/* Login button — hide the user icon SVG */
header .iq-navbar .btn-outline-primary svg {
  display: none !important;
}

/* Sign Up button — blue pill */
header .iq-navbar .btn-primary {
  background-color: #0026ac !important;
  border-color: #0026ac !important;
  color: #ffffff !important;
  border-radius: 50px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  padding: 0.4rem 1.25rem !important;
}

header .iq-navbar .btn-primary:hover {
  background-color: #001d8a !important;
  border-color: #001d8a !important;
}

header .iq-navbar .btn-primary.rounded-pill,
header .iq-navbar .btn-secondary.rounded-pill.provider-nav-btn {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  text-transform: none !important;
}

/* Dark mode toggle icon — match navbar */
header .iq-navbar .change-mode {
  color: #555555 !important;
}

/* Language globe — compact styling */
header .iq-navbar .font-size-12 {
  font-size: 13px !important;
  color: #555555 !important;
}

/* Language dropdown only — open below globe, left-aligned to trigger */
header .iq-navbar .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) {
  position: relative !important;
}

header .iq-navbar .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu,
header .iq-navbar .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu.dropdown-menu-end,
header .iq-navbar .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu[data-bs-popper] {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  inset: auto auto auto 0 !important;
  margin-top: 0.25rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  float: none !important;
}

/* Language dropdown — mobile collapse panel (override theme top: 126% / li position: static) */
@media (max-width: 575px) {
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) {
    position: relative !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu,
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu.dropdown-menu-end,
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:has(> .nav-link[title="Language"]) > .dropdown-menu[data-bs-popper] {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    inset: auto auto auto 0 !important;
    margin: 0.25rem 0 0 !important;
    width: auto !important;
    min-width: 10rem !important;
    transform: none !important;
  }
}

/* Mobile hamburger — blue */
header .iq-navbar .toggle-rounded-btn {
  background-color: #0026ac !important;
  border-color: #0026ac !important;
}

/* Dark mode guards */
[data-bs-theme="dark"] header .iq-navbar {
  background-color: var(--bs-body-bg) !important;
  border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] header .iq-navbar .nav-link,
[data-bs-theme="dark"] header .iq-navbar .btn-outline-primary,
[data-bs-theme="dark"] header .iq-navbar .change-mode {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] header .iq-navbar .nav-link:hover,
[data-bs-theme="dark"] header .iq-navbar .nav-link.active {
  color: #4d6fff !important;
}

/* Provider nav buttons */
/* Uniform spacing for navbar button group */
header .iq-navbar .nav-buttons-group {
  gap: 0.5rem !important;
}

header .iq-navbar .nav-buttons-group > span {
  margin-left: 0 !important;
}

header .iq-navbar .provider-nav-btn {
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 0.4rem 1.25rem !important;
  padding-left: 1.25rem !important;
}

header .iq-navbar .nav-buttons-group .btn-outline-secondary.provider-nav-btn {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #3d4f6f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  padding: 0.5rem 0.75rem !important;
  padding-left: 0.75rem !important;
  text-decoration: none !important;
  position: relative !important;
}

header .iq-navbar .nav-buttons-group .btn-outline-secondary.provider-nav-btn:hover {
  color: #0026ac !important;
  background: none !important;
}

header .iq-navbar .btn-secondary.provider-nav-btn {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
  color: #ffffff !important;
}

header .iq-navbar .btn-secondary.provider-nav-btn:hover {
  background-color: #b91c1c !important;
  border-color: #b91c1c !important;
}

/* Show Join ↔ Pro Sign In separator on tablet (hidden by d-none d-xl-inline-block below xl) */
@media (min-width: 576px) and (max-width: 1199px) {
  header .iq-navbar .nav-buttons-group > span.d-flex .d-none.d-xl-inline-block {
    display: inline-block !important;
  }
}

/* Guest navbar — prevent wrap in tight xl band (1200–1265px) */
@media (min-width: 1200px) and (max-width: 1265px) {
  header .iq-navbar:has(.nav-buttons-group) .iq-nav-menu {
    flex-wrap: nowrap !important;
  }

  header .iq-navbar:has(.nav-buttons-group) .iq-nav-menu > li > a.nav-link {
    padding-left: 0.55rem !important;
    padding-right: 0.55rem !important;
  }

  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group {
    gap: 0.35rem !important;
  }

  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group .btn.btn-outline-primary,
  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group .btn-outline-secondary.provider-nav-btn {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group .btn-primary,
  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group .btn-secondary.provider-nav-btn {
    padding-left: 0.9rem !important;
    padding-right: 0.9rem !important;
  }

  header .iq-navbar:has(.nav-buttons-group) .nav-buttons-group .d-xl-inline-block {
    margin-left: 0.5rem !important;
  }
}

/* Dark mode guards */
[data-bs-theme="dark"] header .iq-navbar .btn-outline-secondary.provider-nav-btn {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] header .iq-navbar .btn-secondary.provider-nav-btn {
  background-color: #dc2626 !important;
  border-color: #dc2626 !important;
}

/* ===== BATCH 3: HERO SECTION ===== */

/* Hero wrapper — light blue bg */
.padding-top-bottom-90.bg-light:has(.iq-team-slider) {
  background-color: #f0f4ff !important;
  padding: 3rem 0 !important;
}

/* Hero headline — larger and bolder */
.padding-top-bottom-90.bg-light .iq-title-box h2.text-capitalize.line-count-3 {
  font-size: 2.75rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  line-height: 1.2 !important;
}

/* Hero highlighted/accent underline — blue */
.padding-top-bottom-90.bg-light .iq-title-box .highlighted-text {
  color: #0026ac !important;
}

/* Hero description text */
.padding-top-bottom-90.bg-light .iq-title-box .iq-title-desc {
  font-size: 1.1rem !important;
  color: #6c757d !important;
  line-height: 1.7 !important;
  margin-top: 1rem !important;
}

/* Hero title box — reduce bottom margin */
.padding-top-bottom-90.bg-light .iq-title-box.mb-5 {
  margin-bottom: 1.5rem !important;
}

/* Search box — stacked redesign: location row + service row with embedded search icon */
.search-box-wrapper {
  border-radius: 12px !important;
  border: 1px solid #e9ecef !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  background-color: #ffffff !important;
  padding: 0.75rem !important;
}

.search-box-wrapper > .d-flex {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0.625rem !important;
}

.search-box-wrapper .location-search-block {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 0.625rem !important;
}

.search-box-wrapper .modal-location {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 44px !important;
  padding: 0.625rem 0.875rem !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  gap: 0.625rem !important;
}

.search-box-wrapper .location-search {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

.search-box-wrapper .location-search-service-row {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid #e9ecef !important;
  border-radius: 8px !important;
  background-color: #ffffff !important;
  overflow: visible !important;
}

.search-box-wrapper .location-search-service-row .input-group {
  position: relative !important;
  flex: 1 1 auto !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  align-items: center !important;
}

.search-box-wrapper .location-search-service-row input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0.625rem 0.875rem !important;
  font-size: 0.9375rem !important;
}

.search-box-wrapper .search-icon-btn {
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 7px 7px 0 !important;
  background-color: #0026ac !important;
  color: #ffffff !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
}

.search-box-wrapper .search-icon-btn:hover {
  background-color: #001e8a !important;
}

/* Hero search results — anchor below the service input, not over it */
.search-box-wrapper .location-search .dropdown-menu.user-dropdown:has(.location-search-dropdown) {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  margin-top: 0.5rem !important;
  transform: none !important;
  z-index: 1050 !important;
}

.search-box-wrapper .modal .btn-primary {
  border-radius: 8px !important;
  padding: 0.5rem 1.5rem !important;
  font-size: 15px !important;
}

/* Provider photo images — rounded corners */
.iq-team-slider.swiper .swiper-slide .iq-banner-img img {
  border-radius: 16px !important;
}

/* Active provider card overlay — blue */
.iq-team-slider.swiper .swiper-slide.swiper-slide-active .card-box .card-description {
  background-color: rgba(0, 38, 172, 0.9) !important;
  border-radius: 12px !important;
  padding: 20px 28px !important;
}

/* Non-active provider card overlay — subtle blue tint */
.iq-team-slider.swiper .swiper-slide .card-box .card-description {
  background-color: rgba(0, 38, 172, 0.75) !important;
  border-radius: 10px !important;
}

/* Provider name text — white on active slide */
.iq-team-slider.swiper .swiper-slide.swiper-slide-active .card-box .card-description .heading {
  color: #ffffff !important;
  font-size: 1.5rem !important;
}

/* Provider name text — dark on non-active slides */
.iq-team-slider.swiper .swiper-slide .card-box .card-description .heading {
  color: #ffffff !important;
}

/* Rating text on active slide */
.iq-team-slider.swiper .swiper-slide.swiper-slide-active .card-box .card-description .rating-text {
  color: #ffffff !important;
}

/* Remove extra top margin on hero slider slides */
.iq-team-slider.swiper .swiper-slide .mt-5 {
  margin-top: 0 !important;
}

/* Dark mode guards */
[data-bs-theme="dark"] .padding-top-bottom-90.bg-light:has(.iq-team-slider) {
  background-color: var(--bs-body-bg) !important;
}

[data-bs-theme="dark"] .padding-top-bottom-90.bg-light .iq-title-box h2.text-capitalize.line-count-3 {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .search-box-wrapper {
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .iq-team-slider.swiper .swiper-slide .card-box .card-description {
  background-color: rgba(0, 38, 172, 0.3) !important;
}

[data-bs-theme="dark"] .iq-team-slider.swiper .swiper-slide .card-box .card-description .heading {
  color: var(--bs-body-color) !important;
}

/* ===== HERO: Category links as pill buttons ===== */

/* Hide any default list separators and underlines */
.categories-list {
  list-style: none !important;
}

.categories-list li a {
  text-decoration: none !important;
}

.categories-list li {
  margin-right: 8px !important;
  margin-bottom: 8px !important;
}

/* Kill compiled comma separators */
.categories-list li:after {
  content: none !important;
}

/* Kill compiled underline on links */
.categories-list li a:before {
  display: none !important;
}

/* The title label before the links */
.categories-list li h6 {
  color: #6c757d !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Category link pills */
.categories-list li a {
  display: inline-block !important;
  background-color: #ffffff !important;
  color: #333333 !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 50px !important;
  padding: 6px 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.categories-list li a:hover {
  background-color: #0026ac !important;
  color: #ffffff !important;
  border-color: #0026ac !important;
}

/* Dark mode guard */
[data-bs-theme="dark"] .categories-list li a {
  background-color: var(--bs-body-bg) !important;
  color: var(--bs-body-color) !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .categories-list li a:hover {
  background-color: #0026ac !important;
  color: #ffffff !important;
  border-color: #0026ac !important;
}

/* ===== TRUST STRIP ===== */
.trust-strip {
  padding: 1.25rem 0 !important;
  border-top: none !important;
  border-bottom: none !important;
  background-color: transparent !important;
}

.trust-strip .trust-item span {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333333 !important;
}

.trust-strip .trust-item svg {
  flex-shrink: 0 !important;
}

/* Dark mode guard */
[data-bs-theme="dark"] .trust-strip {
  background-color: var(--bs-body-bg) !important;
  border-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .trust-strip .trust-item span {
  color: var(--bs-body-color) !important;
}

@media (max-width: 767px) {
  .trust-strip .trust-item {
    margin-bottom: 1rem !important;
  }

  .trust-strip .trust-item .d-flex {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.5rem !important;
  }

  .trust-strip .trust-item span {
    font-size: 12px !important;
    text-align: center !important;
    line-height: 1.4 !important;
  }
}

/* ===== BATCH 4: CATEGORIES + SERVICES SECTIONS ===== */

/* Section titles — clean styling */
.section-padding .iq-title-box h3,
.our-service .iq-title-box h3 {
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
}

/* Swiper pagination dots — blue */
.swiper-pagination-bullet-active {
  background-color: #0026ac !important;
}

.swiper-pagination-bullet {
  background-color: #c0c0c0 !important;
  opacity: 1 !important;
}

/* ===== PROMO BANNER PAGINATION DOTS ===== */
.promo-banner-slider .promo-banner-nav {
  display: none !important;
}

.promo-banner-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 1rem !important;
}

.promo-banner-pagination .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.2) !important;
  opacity: 1 !important;
  transition: all 0.3s ease !important;
  cursor: pointer !important;
}

.promo-banner-pagination .swiper-pagination-bullet-active {
  width: 28px !important;
  height: 10px !important;
  border-radius: 8px !important;
  background: #0026ac !important;
}

/* Service card price — bold blue */
.service-box-card .price-content .text-primary {
  color: #0026ac !important;
  font-weight: 700 !important;
}

/* Service card provider name */
.service-box-card .service-user-name {
  color: #333333 !important;
  font-weight: 500 !important;
}

/* Services section background */
.section-padding.bg-light.our-service {
  background-color: #f8f9fa !important;
}

/* Online service badge — blue */
.service-box-card .online-service {
  background-color: #0026ac !important;
}

/* Dark mode guards */
[data-bs-theme="dark"] .section-padding .iq-title-box h3,
[data-bs-theme="dark"] .our-service .iq-title-box h3 {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .service-box-card .service-user-name {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .section-padding.bg-light.our-service {
  background-color: var(--bs-body-bg) !important;
}

/* Discount text — red */
.service-box-card .price-content li .discount-text {
  color: #e53935 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

[data-bs-theme="dark"] .service-box-card .price-content li .discount-text {
  color: #ff6b6b !important;
}

/* ===== SERVICE SLIDER NAV ===== */

.service-slider__wrapper {
  position: relative !important;
}

.service-slider-nav {
  position: absolute !important;
  top: 40% !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 12px rgba(0, 38, 172, 0.15) !important;
  color: #0026ac !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.service-slider-nav:hover {
  background: #0026ac !important;
  color: #ffffff !important;
}

.service-slider-nav--prev {
  left: -20px !important;
}

.service-slider-nav--prev::after {
  content: "‹" !important;
}

.service-slider-nav--next {
  right: -20px !important;
}

.service-slider-nav--next::after {
  content: "›" !important;
}

@media (max-width: 768px) {
  .service-slider-nav {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }
  .service-slider-nav--prev { left: -12px !important; }
  .service-slider-nav--next { right: -12px !important; }
}

/* ===== BATCH 5: HOW IT WORKS SECTION ===== */

/* Header — centered */
.hiw-section-header {
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 2rem !important;
  text-align: center !important;
}

.hiw-section-header .iq-title-box h3 {
  color: #111111 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 0.625rem !important;
}

.hiw-section-subtitle {
  font-size: 1.0625rem !important;
  color: #6c757d !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* Tighter gap between header and video/steps row */
.section-padding.pt-0 .hiw-section-header ~ .row.align-items-center {
  margin-top: 1.5rem !important;
  padding-top: 0 !important;
}

/* Video image — rounded frame + shadow */
.section-padding.pt-0 .col-lg-6.pe-xl-5 img {
  border-radius: 16px !important;
  box-shadow: 0 8px 32px rgba(0, 38, 172, 0.10), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

/* Play button — brand blue circle */
.section-padding.pt-0 .iq-popup-video .iq-video-icon .iq-video .icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 64px !important;
  height: 64px !important;
  background-color: #0026ac !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 20px rgba(0, 38, 172, 0.35) !important;
  transition: background-color 0.2s, transform 0.2s, box-shadow 0.2s !important;
}

.section-padding.pt-0 .iq-popup-video .iq-video-icon .iq-video a:hover .icon {
  background-color: #001d8a !important;
  transform: scale(1.06) !important;
  box-shadow: 0 6px 28px rgba(0, 38, 172, 0.45) !important;
}

.section-padding.pt-0 .iq-popup-video .iq-video-icon .iq-video .icon svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  margin-left: 3px !important;
}

/* Steps column — connector line + spacing */
.section-padding.pt-0 .col-lg-6.ps-xl-5 {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}

.section-padding.pt-0 .col-lg-6.ps-xl-5 > div {
  position: relative !important;
}

.section-padding.pt-0 .col-lg-6.ps-xl-5 > div:not(:last-child)::after {
  content: '' !important;
  position: absolute !important;
  left: 26px !important;
  transform: translateX(-50%) !important;
  top: calc(0.25rem + 52px) !important;
  height: calc(100% - (0.25rem + 52px) + 2rem + 0.25rem + 26px) !important;
  width: 2px !important;
  background-color: rgba(0, 38, 172, 0.18) !important;
  z-index: 0 !important;
}

/* Remove old step separators */
.section-padding.pt-0 .col-lg-6.ps-xl-5 > .border-bottom,
.section-padding.pt-0 .col-lg-6.ps-xl-5 > div {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Individual step */
.hiw-step {
  position: relative !important;
  display: flex !important;
  gap: 1.25rem !important;
  align-items: flex-start !important;
  padding: 0.25rem 0 !important;
  z-index: 1 !important;
  transition: transform 0.2s !important;
}

.hiw-step:hover {
  transform: translateX(4px) !important;
}

/* Icon box */
.hiw-step-icon {
  flex-shrink: 0 !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
  background-color: #eef2fb !important;
  border: 2px solid #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0026ac !important;
  box-shadow: 0 0 0 2px #eef2fb !important;
}

.hiw-step-icon svg {
  display: block !important;
}

/* Step content */
.hiw-step-content {
  flex: 1 !important;
  min-width: 0 !important;
  padding-top: 2px !important;
}

.hiw-step-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.625rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 0.375rem !important;
}

.hiw-step-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 26px !important;
  height: 26px !important;
  padding: 0 0.375rem !important;
  border-radius: 50px !important;
  background-color: rgba(0, 38, 172, 0.12) !important;
  color: #0026ac !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.hiw-step-title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.35 !important;
}

.hiw-step-desc {
  font-size: 1.0625rem !important;
  color: #6c757d !important;
  line-height: 1.7 !important;
  padding-left: calc(26px + 0.625rem) !important;
}

/* Responsive */
@media (max-width: 991px) {
  .hiw-section-header {
    margin-bottom: 1.5rem !important;
  }

  .section-padding.pt-0 .hiw-section-header ~ .row.align-items-center {
    margin-top: 1.25rem !important;
  }
}

@media (max-width: 480px) {
  .hiw-step-desc {
    padding-left: 0 !important;
  }

  .section-padding.pt-0 .col-lg-6.ps-xl-5 {
    gap: 1.75rem !important;
  }
}

/* Dark mode */
[data-bs-theme="dark"] .hiw-section-header .iq-title-box h3,
[data-bs-theme="dark"] .hiw-step-title {
  color: var(--bs-body-color) !important;
}

[data-bs-theme="dark"] .hiw-section-subtitle,
[data-bs-theme="dark"] .hiw-step-desc {
  color: var(--bs-secondary-color) !important;
}

[data-bs-theme="dark"] .hiw-step-icon {
  background-color: rgba(0, 38, 172, 0.15) !important;
  border-color: var(--bs-body-bg) !important;
  box-shadow: 0 0 0 2px rgba(0, 38, 172, 0.15) !important;
}

/* ===== BATCH 6: PROVIDER CTA ===== */

.provider-cta-section {
  padding: 2.5rem 0 !important;
}

.provider-cta {
  position: relative !important;
  width: 100% !important;
  min-height: 520px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(255, 255, 255, 0.14) 0%, transparent 60%),
    linear-gradient(135deg, #001d85 0%, #0026ac 48%, #0038d4 100%) !important;
  box-shadow:
    0 24px 64px rgba(0, 38, 172, 0.28),
    0 4px 16px rgba(0, 0, 0, 0.08) !important;
}

.provider-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.06) 0%, transparent 40%),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 35%) !important;
  pointer-events: none !important;
}

.provider-cta__grid {
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
  mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, #000000 20%, transparent 100%) !important;
  pointer-events: none !important;
}

.provider-cta__inner {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 4.5rem 2rem !important;
  min-height: 520px !important;
}

.provider-cta__title {
  max-width: 680px !important;
  font-size: clamp(2rem, 5vw, 3rem) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
  margin-bottom: 1.125rem !important;
}

.provider-cta__title span {
  background: linear-gradient(90deg, #ffffff 0%, #b8ccff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

.provider-cta__desc {
  max-width: 520px !important;
  font-size: 1.0625rem !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.78) !important;
  margin-bottom: 2.25rem !important;
}

.provider-cta__contact {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem 1.25rem !important;
  margin-bottom: 1.5rem !important;
  width: min(100%, 560px) !important;
}

.provider-cta__email,
.provider-cta__phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 0.5rem 0 !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.35) !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
}

.provider-cta__email:hover,
.provider-cta__phone:hover {
  color: #ffffff !important;
  border-color: #ffffff !important;
  background: none !important;
}

.provider-cta__email svg,
.provider-cta__phone svg {
  flex-shrink: 0 !important;
}

.provider-cta__or {
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.55) !important;
  text-transform: lowercase !important;
}

.provider-cta__cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.625rem !important;
  width: min(100%, 560px) !important;
  padding: 1.125rem 2rem !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f0f4ff 100%) !important;
  color: #0026ac !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.22),
    0 0 0 2px rgba(255, 255, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.provider-cta__cta:hover {
  color: #0026ac !important;
  transform: translateY(-3px) !important;
  background: linear-gradient(180deg, #ffffff 0%, #e8eeff 100%) !important;
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.28),
    0 0 0 2px rgba(255, 255, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

.provider-cta__cta svg {
  flex-shrink: 0 !important;
  transition: transform 0.2s ease !important;
}

.provider-cta__cta:hover svg {
  transform: translateX(4px) !important;
}

.provider-cta__photo {
  position: absolute !important;
  z-index: 3 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 3px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.22),
    0 0 0 6px rgba(0, 38, 172, 0.22) !important;
  animation: provider-cta-float 6s ease-in-out infinite !important;
}

.provider-cta__photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.provider-cta__photo--1 {
  width: 88px !important;
  height: 88px !important;
  top: 12% !important;
  left: 8% !important;
  animation-delay: 0s !important;
}

.provider-cta__photo--2 {
  width: 72px !important;
  height: 72px !important;
  top: 8% !important;
  right: 12% !important;
  animation-delay: -1.2s !important;
}

.provider-cta__photo--3 {
  width: 96px !important;
  height: 96px !important;
  bottom: 14% !important;
  left: 10% !important;
  animation-delay: -2.4s !important;
}

.provider-cta__photo--4 {
  width: 68px !important;
  height: 68px !important;
  bottom: 10% !important;
  right: 9% !important;
  animation-delay: -3.6s !important;
}

.provider-cta__photo--5 {
  width: 80px !important;
  height: 80px !important;
  top: 42% !important;
  right: 5% !important;
  animation-delay: -4.8s !important;
}

@keyframes provider-cta-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@media (max-width: 768px) {
  .provider-cta__inner {
    padding: 3.5rem 1.5rem !important;
    min-height: 480px !important;
  }

  .provider-cta__photo--1 {
    width: 64px !important;
    height: 64px !important;
    left: 4% !important;
    top: 6% !important;
  }

  .provider-cta__photo--2 {
    width: 56px !important;
    height: 56px !important;
    right: 5% !important;
    top: 5% !important;
  }

  .provider-cta__photo--3 {
    width: 68px !important;
    height: 68px !important;
    left: 4% !important;
    bottom: 8% !important;
  }

  .provider-cta__photo--4 {
    width: 52px !important;
    height: 52px !important;
    right: 4% !important;
    bottom: 6% !important;
  }

  .provider-cta__photo--5 {
    width: 58px !important;
    height: 58px !important;
    right: 3% !important;
    top: 38% !important;
  }

  .provider-cta__contact {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }

  .provider-cta__cta {
    font-size: 1.0625rem !important;
    padding: 1rem 1.5rem !important;
  }
}

/* ===== BATCH 6: TESTIMONIALS ===== */

.testimonial-slider__wrapper {
  position: relative !important;
  padding-top: 28px !important;
  padding-bottom: 16px !important;
}

.testimonial-swiper {
  width: 100% !important;
}

.testimonial-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 2px 12px rgba(0, 38, 172, 0.15) !important;
  color: #0026ac !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.testimonial-nav:hover {
  background: #0026ac !important;
  color: #ffffff !important;
}

.testimonial-nav--prev {
  left: -20px !important;
}

.testimonial-nav--prev::after {
  content: "‹" !important;
}

.testimonial-nav--next {
  right: -20px !important;
}

.testimonial-nav--next::after {
  content: "›" !important;
}

.ratingSlider .swiper-button-next,
.ratingSlider .swiper-button-prev {
  display: none !important;
}

.testimonial-slider .testimonial-pagination {
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  margin: 2rem auto 0 !important;
  text-align: center !important;
}

.testimonial-slider .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  margin: 0 6px !important;
  background: #c9d4f5 !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}

.testimonial-slider .swiper-pagination-bullet-active {
  width: 28px !important;
  height: 10px !important;
  border-radius: 8px !important;
  background: #0026ac !important;
}

.iq-testimonial.testimonial {
  overflow: visible !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.iq-testimonial.testimonial:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 32px rgba(0, 38, 172, 0.12) !important;
}

.iq-testimonial .testimonial-card-rating {
  line-height: 1 !important;
}

.iq-testimonial .testimonial-card-rating svg {
  color: #ff9302 !important;
}

@media (max-width: 768px) {
  .testimonial-nav {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }

  .testimonial-nav--prev {
    left: -12px !important;
  }

  .testimonial-nav--next {
    right: -12px !important;
  }

  .testimonial-slider .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
  }

  .testimonial-slider .swiper-pagination-bullet-active {
    width: 22px !important;
    height: 8px !important;
  }
}

/* Testimonials section wrapper — white background */
.section-testimonials {
  background-color: #ffffff !important;
}

/* ===== COOKIE NOTICE ===== */

.cookie-banner {
  position: fixed !important;
  bottom: 1.25rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 1000 !important;
  width: calc(100% - 2rem) !important;
  max-width: 520px !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow:
    0 8px 32px rgba(0, 38, 172, 0.12),
    0 2px 12px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid #e9ecef !important;
  padding: 1.25rem 1.5rem !important;
  margin: 0 !important;
}

.cookie-banner__inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.cookie-banner__title {
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  color: #111111 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.cookie-banner__desc {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  color: #6c757d !important;
  margin: 0 !important;
}

.cookie-banner__actions {
  display: flex !important;
  justify-content: flex-end !important;
}

.cookie-banner__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 28px !important;
  background-color: #0026ac !important;
  border: 1px solid #0026ac !important;
  border-radius: 50px !important;
  color: #ffffff !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.cookie-banner__btn:hover {
  background-color: #001d8a !important;
  border-color: #001d8a !important;
  color: #ffffff !important;
}

@media (min-width: 576px) {
  .cookie-banner {
    bottom: 1.5rem !important;
    max-width: 560px !important;
    padding: 1.375rem 1.75rem !important;
  }

  .cookie-banner__inner {
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.25rem !important;
  }

  .cookie-banner__content {
    flex: 1 !important;
    min-width: 0 !important;
  }

  .cookie-banner__actions {
    flex-shrink: 0 !important;
  }
}

@media (max-width: 575px) {
  .cookie-banner {
    bottom: 1rem !important;
    width: calc(100% - 1.5rem) !important;
    padding: 1.125rem 1.25rem !important;
  }

  .cookie-banner__btn {
    width: 100% !important;
  }

  .cookie-banner__actions {
    justify-content: stretch !important;
  }
}

/* ===== MOBILE FIXES ===== */

@media (max-width: 991px) {
  .provider-cta__photo {
    display: none !important;
  }
}

/* ===== BATCH 7: APP DOWNLOAD SECTION ===== */

.section-padding .col-12 > .bg-primary.rounded-3 {
  position: relative !important;
  background: linear-gradient(135deg, #001b8f 0%, #0026ac 45%, #6a6cc6 100%) !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  clip-path: inset(0 round 28px) !important;
  box-shadow:
    0 24px 64px rgba(0, 38, 172, 0.28),
    0 4px 16px rgba(0, 0, 0, 0.08) !important;
}

/* Purple bloom — anchored to left edge only */
.section-padding .col-12 > .bg-primary.rounded-3::after {
  content: "" !important;
  position: absolute !important;
  width: 380px !important;
  height: 380px !important;
  left: -140px !important;
  bottom: -160px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(106, 108, 198, 0.55) 0%, transparent 70%) !important;
  filter: blur(36px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Hide pattern background image */
.section-padding .col-12 > .bg-primary.rounded-3 > .position-absolute.top-0.end-0 {
  display: none !important;
}

/* Keep content above card decoration */
.section-padding .col-12 > .bg-primary.rounded-3 > .row {
  position: relative !important;
  z-index: 1 !important;
}

/* Title white and bold */
.section-padding .col-12 > .bg-primary.rounded-3 h2 {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Description text fully white */
.section-padding .col-12 > .bg-primary.rounded-3 p {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* ===== BATCH 7: FOOTER ===== */

footer.footer {
  background-color: #232f3e !important;
  color: #ffffff !important;
  --bs-border-color: rgba(255, 255, 255, 0.08) !important;
  --bs-body-color: rgba(255, 255, 255, 0.75) !important;
}

footer.footer .footer-top {
  background-color: #232f3e !important;
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

/* Anchor all contact blocks from the top so titles align */
footer.footer .footer-inner-box .d-flex.align-items-sm-center {
  align-items: flex-start !important;
}

/* Address icon: nudge down to match Email/Call icons (those are centered in shorter blocks) */
@media (min-width: 1200px) {
  footer.footer .footer-inner-box .d-inline-flex.align-items-xl-start > .icon {
    margin-top: 0.5rem !important;
  }

  /* Extra space between Call Us and Address on desktop */
  footer.footer .footer-inner-box .d-inline-flex.align-items-xl-start {
    margin-left: 1.5rem !important;
  }
}

/* Extra space between Call Us and Address on tablet */
@media (min-width: 768px) and (max-width: 1199px) {
  footer.footer .footer-inner-box .d-inline-flex.align-items-xl-start {
    margin-left: 1rem !important;
  }
}

/* Override theme's 114px top padding on footer inner box */
footer.footer .footer-inner-box {
  padding: 0.75rem 0 !important;
}

/* Reduce stacked mt-5 margins inside footer */
footer.footer .footer-inner-box .mt-5 {
  margin-top: 0.75rem !important;
}

/* Reduce stacked pt-lg-5 and pt-lg-3 inside footer */
footer.footer .footer-inner-box .pt-lg-5,
footer.footer .footer-inner-box .pt-lg-3 {
  padding-top: 0 !important;
}

/* When right column is hidden, expand left column to full width */
footer.footer .footer-top .col-lg-5:only-child {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

footer.footer .footer-inner-box p,
footer.footer .footer-inner-box .readmore-text,
footer.footer .footer-inner-box .readmore-btn {
  color: rgba(255, 255, 255, 0.75) !important;
}

footer.footer .footer-inner-box .readmore-btn:hover {
  color: #ffffff !important;
}

footer.footer .footer-inner-box h5,
footer.footer .footer-inner-box .content h5,
footer.footer h5.text-white {
  color: #ffffff !important;
  font-weight: 600 !important;
}

footer.footer .footer-inner-box a,
footer.footer .iq-footer-catogery-list a,
footer.footer .popular-service-list a,
footer.footer .popular-service-list .popular-service-text,
footer.footer .popular-service-list a.text-body {
  color: rgba(255, 255, 255, 0.70) !important;
  text-decoration: none !important;
}

footer.footer .footer-inner-box a:hover,
footer.footer .iq-footer-catogery-list a:hover,
footer.footer .popular-service-list a:hover,
footer.footer .popular-service-list .popular-service-text:hover {
  color: #ffffff !important;
}

footer.footer .footer-inner-box .icon,
footer.footer .footer-inner-box .icon.text-primary {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Soften / remove harsh column dividers */
footer.footer .custom-border-left {
  border-left: none !important;
}

footer.footer .vr {
  display: none !important;
}

footer.footer .iq-social-list-text li::after {
  display: none !important;
  content: none !important;
}

/* Social links — separated from address; Follow Us via ::before (no Blade change) */
footer.footer .footer-inner-box .mt-5:has(.iq-social-list-text) {
  margin-top: 1.5rem !important;
  padding-top: 0 !important;
}

footer.footer .iq-social-list-text {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-top: 0 !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

footer.footer .iq-social-list-text::before {
  content: "Follow Us" !important;
  flex: 0 0 100% !important;
  display: block !important;
  width: 100% !important;
  margin: 0 0 0.75rem !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.60) !important;
  line-height: 1.3 !important;
}

footer.footer .iq-social-list-text li {
  margin: 0 !important;
  padding: 0 !important;
}

footer.footer .iq-social-list-text a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  background-color: transparent !important;
  transition: opacity 0.2s ease !important;
}

footer.footer .iq-social-list-text a:hover {
  background-color: transparent !important;
  border-color: transparent !important;
  opacity: 0.75 !important;
}

footer.footer .iq-social-list-text a img {
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
}

/* Constrain single-column footer content width */
footer.footer .footer-top .col-lg-5:only-child .footer-inner-box {
  max-width: 700px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Read More link — red so it stands out */
footer.footer .footer-inner-box .readmore-btn {
  color: #e63946 !important;
}

footer.footer .footer-inner-box .readmore-btn:hover {
  color: #c1121f !important;
}

/* Footer bottom bar */
footer.footer .footer-bottom {
  background-color: #1a2530 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

footer.footer .footer-bottom p,
footer.footer .footer-bottom p.text-white,
footer.footer .footer-bottom a,
footer.footer .footer-bottom a.text-body,
footer.footer .footer-bottom a.link-primary {
  color: rgba(255, 255, 255, 0.60) !important;
  font-size: 13px !important;
  text-decoration: none !important;
}

footer.footer .footer-bottom a:hover,
footer.footer .footer-bottom a.link-primary:hover {
  color: #ffffff !important;
}

/* Copyright — left aligned on phones only */
@media (max-width: 767px) {
  footer.footer .footer-bottom .row > .col-md-6:first-child {
    text-align: left !important;
  }
}

/*
 * Footer bottom — mobile + tablet only (≤1199px):
 * Links first, copyright last (CSS order; Blade unchanged).
 * Desktop (≥1200px) keeps side-by-side copyright | links.
 */
@media (max-width: 1199px) {
  footer.footer .footer-bottom .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.75rem !important;
  }

  /* Links column (2nd in DOM) → first visually */
  footer.footer .footer-bottom .row > .col-md-6:last-child {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  /* Copyright column (1st in DOM) → last visually */
  footer.footer .footer-bottom .row > .col-md-6:first-child {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    margin-top: 0.25rem !important;
    padding-top: 0.75rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  footer.footer .footer-bottom .d-inline-flex.flex-wrap {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }
}

/* Phones: links wrap in a left-aligned row group */
@media (max-width: 767px) {
  footer.footer .footer-bottom .d-inline-flex.flex-wrap {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 0.5rem 1rem !important;
  }
}

/* Tablet: links stacked in a left-aligned column */
@media (min-width: 768px) and (max-width: 1199px) {
  footer.footer .footer-bottom .d-inline-flex.flex-wrap {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0.45rem !important;
  }

  /* Scroll-to-top overlap — clear links column on tablet only */
  footer.footer .footer-bottom .row > .col-md-6:last-child {
    padding-right: 4.5rem !important;
  }
}

/* ===== MOBILE: REMOVE TEXT TRUNCATION ===== */
@media (max-width: 767px) {
  .line-count-1,
  .line-count-2,
  .line-count-3,
  .line-count-4,
  .line-count-5 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: unset !important;
    overflow: visible !important;
  }
}

/* Prevent white space below footer on short pages */
body {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}
main.main-content {
  flex: 1 !important;
}

/* ===== FLASH FIXES ===== */
/* Scroll-to-top: hidden on all screen sizes */
#back-to-top {
  display: none !important;
}
/* Cookie banner: hidden by default, JS sets display:block when needed */
#cookiePopup {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}
#cookiePopup[style*="display: block"],
#cookiePopup[style*="display:block"] {
  visibility: visible !important;
  opacity: 1 !important;
}

/* Fix double-container indent on post-job-requirements page */
.section-padding > .container > div.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Mobile/tablet: align hamburger + profile icons; 44px tap targets */
@media (max-width: 1199px) {
  header .iq-navbar .navbar-toggler {
    position: relative !important;
    z-index: 1100 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  header .iq-navbar .navbar-toggler .navbar-toggler-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    margin-top: 9px !important;
    padding: 0 !important;
    position: relative !important;
  }

  header .iq-navbar .navbar-toggler .navbar-toggler-btn > svg {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Hamburger (#res_sidebar) — match profile size / tap area */
  header .iq-navbar #res_sidebar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-top: 9px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
  }

  header .iq-navbar #res_sidebar svg,
  header .iq-navbar #res_sidebar .icon-20 {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
}

/* ===== MOBILE AUTH PANEL (≤575px) — stacked column layout ===== */
@media (max-width: 575px) {
  /* Panel shell under the fixed navbar */
  header .iq-navbar #navbarSupportedContent:not(.offcanvas-collapse) {
    background: #ffffff !important;
    border-bottom: 1px solid #e9ecef !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
  }

  /* Override theme row + float layout */
  header .iq-navbar #navbarSupportedContent .navbar-nav {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    float: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px 16px 18px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > li {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* Utility row: language left, dark mode right */
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:not(.user-dropdown) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    align-self: center !important;
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
    border-bottom: none !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .theme-scheme-dropdown {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    justify-self: end !important;
    align-self: center !important;
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
    border-bottom: none !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:not(.user-dropdown) .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #374151 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    padding: 4px 2px !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:not(.user-dropdown) .nav-link svg {
    flex-shrink: 0 !important;
    color: #0026ac !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:not(.user-dropdown) .font-size-12 {
    font-size: 14px !important;
    color: #374151 !important;
  }

  header .iq-navbar #navbarSupportedContent .theme-scheme-dropdown .change-mode {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: 1px solid #e9ecef !important;
    background: #f8fafc !important;
    color: #374151 !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* Auth CTAs + any other full-width nav items */
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-buttons-group,
  header .iq-navbar #navbarSupportedContent .navbar-nav > .user-dropdown,
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item:not(.dropdown):not(.theme-scheme-dropdown) {
    grid-column: 1 / -1 !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
  }

  /* Utility → Sign In separator (same full-width technique as Provider divider) */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group::before {
    content: "Customer" !important;
    display: block !important;
    width: 100% !important;
    margin: 2px 0 !important;
    box-sizing: border-box !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #9ca3af !important;
    background:
      linear-gradient(#e9ecef, #e9ecef) left center / calc(50% - 3.5em) 1px no-repeat,
      linear-gradient(#e9ecef, #e9ecef) right center / calc(50% - 3.5em) 1px no-repeat !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group > span {
    display: block !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 50px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
  }

  /* Sign In — outline blue pill */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-outline-primary {
    color: #0026ac !important;
    background: transparent !important;
    border: 1.5px solid #0026ac !important;
    border-radius: 50px !important;
    padding: 0.65rem 1.25rem !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-outline-primary:hover {
    color: #0026ac !important;
    background: rgba(0, 38, 172, 0.04) !important;
  }

  /* Join — solid blue */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-primary {
    color: #ffffff !important;
    background: #0026ac !important;
    border: 1.5px solid #0026ac !important;
    padding: 0.65rem 1.25rem !important;
  }

  /* Provider separator (CSS-only; before Pro Sign In = 3rd span) */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group > span:nth-child(3) {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-top: 6px !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group > span:nth-child(3)::before {
    content: "Provider" !important;
    display: block !important;
    width: 100% !important;
    margin: 2px 0 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    color: #9ca3af !important;
    background:
      linear-gradient(#e9ecef, #e9ecef) left center / calc(50% - 3.5em) 1px no-repeat,
      linear-gradient(#e9ecef, #e9ecef) right center / calc(50% - 3.5em) 1px no-repeat;
  }

  /* Pro Sign In — outline blue pill */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-outline-secondary.provider-nav-btn {
    color: #0026ac !important;
    background: transparent !important;
    border: 1.5px solid #0026ac !important;
    border-radius: 50px !important;
    padding: 0.65rem 1.25rem !important;
    padding-left: 1.25rem !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-outline-secondary.provider-nav-btn:hover {
    color: #0026ac !important;
    background: rgba(0, 38, 172, 0.04) !important;
  }

  /* Become a Pro — solid red */
  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-secondary.provider-nav-btn {
    color: #ffffff !important;
    background: #dc3545 !important;
    border: 1.5px solid #dc3545 !important;
    padding: 0.65rem 1.25rem !important;
  }

  header .iq-navbar #navbarSupportedContent .nav-buttons-group .btn-secondary.provider-nav-btn:hover {
    background: #c82333 !important;
    border-color: #c82333 !important;
  }

  /* ----- Logged-in panel (≤575px) ----- */

  /* Flatten user dropdown so profile + actions stack in the panel */
  header .iq-navbar #navbarSupportedContent .navbar-nav > .user-dropdown,
  header .iq-navbar #navbarSupportedContent .user-dropdown > .user-dropdown-menu {
    display: contents !important;
  }

  /* Hide avatar-only toggle — profile card below replaces it */
  header .iq-navbar #navbarSupportedContent .user-dropdown > .nav-link#navbarDropdown {
    display: none !important;
  }

  /* Utility row stays language + dark mode only (wishlist leaves this row) */
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item.dropdown:not(.user-dropdown) {
    order: 1 !important;
  }

  header .iq-navbar #navbarSupportedContent .navbar-nav > .theme-scheme-dropdown {
    order: 1 !important;
  }

  /* Profile card */
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li.d-flex {
    order: 2 !important;
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    margin: 0 !important;
    border: 1px solid #e9ecef !important;
    border-radius: 14px !important;
    background: #fafbfc !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li.d-flex img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 0 0 1px #e9ecef !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li.d-flex h6 {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #374151 !important;
    line-height: 1.25 !important;
  }

  /* Hide original divider */
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(.dropdown-divider) {
    display: none !important;
  }

  /* Shared action-row look: Dashboard, Favourites, Wallet, Helpdesk, KYC, Logout */
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #374151 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu .dropdown-item:hover {
    background: #f8fafc !important;
    color: #374151 !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu .dropdown-item svg {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    color: #9ca3af !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu .dropdown-item .ms-2 {
    margin-left: 0 !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:not(.d-flex):not(:has(.dropdown-divider)) {
    grid-column: 1 / -1 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }

  /* Dashboard — first action after profile */
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(a.dropdown-item[href*="home"]),
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:nth-child(3) {
    order: 3 !important;
  }

  /* Favourites — restyle existing #wishlist (not a top-row icon) */
  header .iq-navbar #navbarSupportedContent .navbar-nav > .nav-item:has(#wishlist) {
    order: 4 !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  header .iq-navbar #navbarSupportedContent #wishlist {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #374151 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    /* Override desktop nav-link underline positioning context */
    position: relative !important;
  }

  header .iq-navbar #navbarSupportedContent #wishlist:hover {
    background: #f8fafc !important;
    color: #374151 !important;
    text-decoration: none !important;
  }

  /*
   * Kill desktop .nav-link::after underline (absolute + scaleX(0) until hover).
   * Render "Favourites" as always-visible text matching dropdown-item rows.
   */
  header .iq-navbar #navbarSupportedContent #wishlist::after,
  header .iq-navbar #navbarSupportedContent #wishlist:hover::after,
  header .iq-navbar #navbarSupportedContent #wishlist.active::after {
    content: "Favourites" !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    transform: none !important;
    transform-origin: unset !important;
    transition: none !important;
    opacity: 1 !important;
    display: inline !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #374151 !important;
    text-decoration: none !important;
  }

  header .iq-navbar #navbarSupportedContent #wishlist .nav-list-icon,
  header .iq-navbar #navbarSupportedContent #wishlist .btn-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
  }

  header .iq-navbar #navbarSupportedContent #wishlist svg {
    width: 18px !important;
    height: 18px !important;
    color: #9ca3af !important;
    flex-shrink: 0 !important;
  }

  /* Remaining dropdown actions after Favourites */
  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(.dropdown-item):not(:nth-child(3)):not(:has(form)) {
    order: 5 !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(form) {
    order: 6 !important;
    margin-top: 4px !important;
    padding-top: 4px !important;
    border-top: 1px solid #e9ecef !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(form) .dropdown-item {
    color: #dc3545 !important;
  }

  header .iq-navbar #navbarSupportedContent .user-dropdown-menu > li:has(form) .dropdown-item svg {
    color: #dc3545 !important;
  }
}

/* ===== MOBILE SIDE NAV (#navbar_main ≤575px) ===== */
@media (max-width: 575px) {
  /* Panel shell */
  #navbar_main.mobile-offcanvas {
    background: #ffffff !important;
    box-shadow: 8px 0 32px rgba(0, 0, 0, 0.12) !important;
  }

  #navbar_main .offcanvas-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 20px 16px 16px !important;
    border-bottom: 1px solid #e9ecef !important;
    min-height: 72px !important;
  }

  #navbar_main .offcanvas-header .navbar-brand {
    margin: 0 !important;
    padding: 0 !important;
    max-width: calc(100% - 48px) !important;
  }

  #navbar_main .offcanvas-header .navbar-brand .logo-normal img,
  #navbar_main .offcanvas-header .navbar-brand img {
    max-height: 36px !important;
    width: auto !important;
    max-width: 160px !important;
  }

  #navbar_main .offcanvas-header .btn-close {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    border: 1px solid #e9ecef !important;
    background-color: #f8fafc !important;
    opacity: 1 !important;
    float: none !important;
    flex-shrink: 0 !important;
  }

  /* Nav list — text only, mockup-matched rows */
  #navbar_main .iq-nav-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 12px 12px 24px !important;
    margin: 0 !important;
  }

  #navbar_main .iq-nav-menu > .nav-item {
    width: 100% !important;
  }

  #navbar_main .iq-nav-menu .nav-link {
    display: block !important;
    width: 100% !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    color: #374151 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    background: transparent !important;
  }

  /* Kill desktop underline accent on side-nav links */
  #navbar_main .iq-nav-menu .nav-link::after {
    display: none !important;
    content: none !important;
  }

  #navbar_main .iq-nav-menu .nav-link:hover {
    background: #f8fafc !important;
    color: #374151 !important;
  }

  #navbar_main .iq-nav-menu .nav-link.active,
  #navbar_main .iq-nav-menu .nav-item.active > .nav-link {
    background: rgba(0, 38, 172, 0.06) !important;
    color: #0026ac !important;
    border-color: rgba(0, 38, 172, 0.12) !important;
    font-weight: 600 !important;
  }

  /* Dark mode — panel + footer logo */
  [data-bs-theme="dark"] #navbar_main.mobile-offcanvas {
    background: #111827 !important;
  }

  [data-bs-theme="dark"] #navbar_main .offcanvas-header {
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
  }

  [data-bs-theme="dark"] #navbar_main .offcanvas-header .btn-close {
    border-color: rgba(255, 255, 255, 0.12) !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    filter: invert(1) grayscale(100%) !important;
  }

  [data-bs-theme="dark"] #navbar_main .iq-nav-menu .nav-link {
    color: rgba(255, 255, 255, 0.85) !important;
  }

  [data-bs-theme="dark"] #navbar_main .iq-nav-menu .nav-link:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
  }

  [data-bs-theme="dark"] #navbar_main .iq-nav-menu .nav-link.active,
  [data-bs-theme="dark"] #navbar_main .iq-nav-menu .nav-item.active > .nav-link {
    background: rgba(77, 111, 255, 0.14) !important;
    color: #4d6fff !important;
    border-color: rgba(77, 111, 255, 0.22) !important;
  }
}

/* Side nav logos — all drawer widths (≤1199px); light vs dark theme swap */
@media (max-width: 1199px) {
  #navbar_main .sidenav-logo--light {
    display: block !important;
  }

  #navbar_main .sidenav-logo--dark {
    display: none !important;
  }

  [data-bs-theme="dark"] #navbar_main .sidenav-logo--light {
    display: none !important;
  }

  [data-bs-theme="dark"] #navbar_main .sidenav-logo--dark {
    display: block !important;
  }
}

/* ===== LIST PAGE SEARCH BAR ===== */
.list-search-input {
    width: 300px !important;
    max-width: 300px !important;
    flex: 0 0 300px !important;
}
@media (max-width: 991px) {
    .list-search-input {
        width: 300px !important;
        max-width: 300px !important;
        flex: 0 0 300px !important;
    }
}
@media (max-width: 575px) {
    .list-search-input {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }
    .float-start .search-form {
        width: 100% !important;
    }
    .float-start {
        width: 100% !important;
    }
}

/* ===== FILTER PAGE SEARCH BAR ===== */
.filter-search-input {
    width: 300px !important;
    max-width: 300px !important;
    flex: 0 0 300px !important;
}
.search-form:has(.filter-search-input) {
    width: fit-content !important;
    max-width: 400px !important;
}
@media (max-width: 991px) {
    .filter-search-input {
        width: 250px !important;
        max-width: 250px !important;
        flex: 0 0 250px !important;
    }
    .search-form:has(.filter-search-input) {
        max-width: 300px !important;
    }
}
@media (max-width: 575px) {
    .filter-search-input {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
    }
    .search-form:has(.filter-search-input) {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Category card — inactive (default) state */
.circle-clip-effect.card {
    background-color: #F8FAFF !important;
    border: 1px solid transparent !important;
}
.circle-clip-effect .img-bg {
    background-color: #F0F4FF !important;
}

/* Category card — active/hover state (replaces solid fill animation) */
.circle-clip-effect::after {
    display: none !important;
}
.circle-clip-effect:hover,
.swiper-slide-active .circle-clip-effect {
    background-color: #F0F4FF !important;
    border: 1.5px solid #2A69FF !important;
}
.circle-clip-effect:hover .img-bg,
.swiper-slide-active .img-bg {
    background-color: #E6EDFF !important;
}
.circle-clip-effect:hover .categories-name,
.circle-clip-effect:hover .categories-desc,
.swiper-slide-active .categories-name,
.swiper-slide-active .categories-desc {
    color: #0026AC !important;
}

/* Profile toggle — show X when open, profile icon when closed */
header .iq-navbar .navbar-toggler .navbar-toggler-btn > svg.toggler-close-icon { display: none !important; }
header .iq-navbar .navbar-toggler[aria-expanded="true"] .navbar-toggler-btn > svg.toggler-profile-icon { display: none !important; }
header .iq-navbar .navbar-toggler[aria-expanded="true"] .navbar-toggler-btn > svg.toggler-close-icon { display: block !important; }

/* App download section — center phone image and fix text wrapping below 992px */
@media (max-width: 991px) {
    .section-padding .col-12 > .bg-primary.rounded-3 .col-lg-6.position-relative.my-5 {
        margin-bottom: 0.25rem !important;
    }
    .section-padding .col-lg-6.align-self-end.text-center {
        text-align: center !important;
        margin-top: 0.75rem !important;
        align-self: center !important;
        padding-bottom: 1.5rem;
    }
    .section-padding .col-12 > .bg-primary.rounded-3 p {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
    .section-padding .col-12 > .bg-primary.rounded-3 h2 {
        text-align: center !important;
    }
    .section-padding .col-12 > .bg-primary.rounded-3 .col-lg-6:first-child {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .section-padding .col-12 > .bg-primary.rounded-3 .app-link {
        justify-content: center !important;
    }
}

@media (max-width: 472px) {
    .section-padding .col-12 > .bg-primary.rounded-3 .d-flex.align-items-center.gap-3 {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* ===== BATCH 10c: CUSTOMER AUTH � RIGHT FORM PANE CARD ===== */
/* Targets only the right column (.col-xl-4.col-lg-5); left marketing column untouched */

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light {
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 clamp(1.25rem, 3vw, 2.5rem) clamp(1.75rem, 4vw, 3rem) !important;
  position: relative !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light > .row {
  width: 100% !important;
  justify-content: center !important;
  margin: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light > .row > [class*="col-"] {
  flex: 0 1 100% !important;
  max-width: 420px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms {
  width: 100% !important;
  max-width: 420px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: clamp(1.75rem, 3vw, 2.25rem) !important;
  border: 1px solid rgba(0, 38, 172, 0.08) !important;
  box-shadow: 0 18px 48px rgba(0, 38, 172, 0.1) !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms > .d-flex.justify-content-between,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms > .text-center.mb-5 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 0.75rem !important;
  margin-bottom: 1.25rem !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms h4 {
  font-weight: 600 !important;
  font-size: clamp(1.55rem, 2.2vw, 1.85rem) !important;
  letter-spacing: -0.02em !important;
  color: #12141f !important;
  margin: 0 !important;
  text-align: center !important;
}

.authontication-forms p.text-secondary,
.authontication-forms p.small.text-secondary {
  color: #5c6378 !important;
  font-size: 0.95rem !important;
  margin-bottom: 1.75rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .form-group.mb-5,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .icon-right.mb-5 {
  margin-bottom: 1rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms label {
  display: block !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  margin-bottom: 0.4rem !important;
  color: #12141f !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .form-control {
  height: 48px !important;
  border: 1px solid rgba(18, 20, 31, 0.1) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  font-size: 0.95rem !important;
  color: #12141f !important;
  box-shadow: none !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .form-control:focus {
  border-color: #0026ac !important;
  box-shadow: 0 0 0 3px rgba(0, 38, 172, 0.12) !important;
}

/* Password eye sits inside the input (real markup uses .input-group / .input-group-append) */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group {
  position: relative !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group > .form-control {
  width: 100% !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-radius: 10px !important;
}

/* Only pad password fields that actually have an eye toggle */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group:has(.input-group-text) > .form-control,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group:has(.input-group-append) > .form-control {
  padding-right: 44px !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group > .input-group-text,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group > .input-group-append {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  z-index: 5 !important;
  height: 48px !important;
  width: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 10px 10px 0 !important;
  color: #5c6378 !important;
  pointer-events: auto !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group .input-group-append .input-group-text {
  position: static !important;
  height: auto !important;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #5c6378 !important;
  cursor: pointer !important;
}

/* Contact number ? intl-tel-input must fill the same width as other fields */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iti {
  width: 100% !important;
  display: block !important;
}

.authontication-forms .iti__country-list {
  z-index: 20 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .input-group .iti {
  width: 100% !important;
  flex: 1 1 auto !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iti .form-control,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms #contact_number {
  width: 100% !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .btn-primary,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms a.btn-primary {
  background-color: #0026ac !important;
  border-color: #0026ac !important;
  color: #ffffff !important;
  height: 48px !important;
  border-radius: 10px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .btn-primary:hover,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms a.btn-primary:hover {
  background-color: #001b8f !important;
  border-color: #001b8f !important;
  color: #ffffff !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .btn-link,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms a.btn-link,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms a:not(.btn) {
  color: #0026ac !important;
  font-weight: 600 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .text-signup,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .text-signup label,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .text-signup a {
  color: #5c6378 !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .text-signup a {
  color: #0026ac !important;
  font-weight: 600 !important;
}

/* Remember Me / Forgot Password — one line inside auth card (beats global label display:block) */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .d-flex.justify-content-between.mb-4 {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  min-width: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .login-remember {
  margin: 0 !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
  line-height: 1.2 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .login-remember label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  margin: 0 !important;
  margin-bottom: 0 !important;
  white-space: nowrap !important;
  color: #5c6378 !important;
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .d-flex.justify-content-between.mb-4 > a,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .d-flex.justify-content-between.mb-4 > a i {
  white-space: nowrap !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

@media (max-width: 389px) {
  .main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .iq-login-form .d-flex.justify-content-between.mb-4 {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.35rem !important;
  }
}

/* ===== BATCH 10c: CUSTOMER AUTH LEFT PANEL + FULL-BLEED FIX ===== */

/* Kill extra page chrome / grey gutters on customer auth split pages */
.main-content .row.min-vh-100 {
  min-height: 100vh !important;
  margin: 0 !important;
}

.main-content .container-fluid.px-lg-0.py-lg-0.pb-5 {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  margin: 0 !important;
}

/* Flush both columns to the top of the viewport - no white band above */
body:has(.authontication-forms) {
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.authontication-forms) #loading,
body:has(.authontication-forms) .screen-darken {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body:has(.authontication-forms) .main-content,
body:has(.authontication-forms) .main-content > div {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.main-content .row.min-vh-100 > [class*="col-"] > .py-5 {
  padding-top: 0 !important;
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem) !important;
}

/* RIGHT - vertically center form card (login, forgot password, register) */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light {
  justify-content: center !important;
  padding-top: 0 !important;
}

/* Register: fill viewport height; safe center when space allows, top-align when overflowing */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light:has(#registerForm) {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  justify-content: safe center !important;
}

/* LEFT � brand blue marketing panel (dynamic title/description/image unchanged) */
.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 70% 55% at 15% 90%, rgba(106, 108, 198, 0.45) 0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 95% 8%, rgba(255, 255, 255, 0.14) 0%, transparent 50%),
    linear-gradient(145deg, #001b8f 0%, #0026ac 48%, #2430a8 100%) !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 78%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100::after {
  content: "" !important;
  position: absolute !important;
  width: 460px !important;
  height: 460px !important;
  right: -140px !important;
  top: -100px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.16) 0%, transparent 68%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 > * {
  position: relative !important;
  z-index: 1 !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 h3 {
  color: #ffffff !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 p {
  color: rgba(255, 255, 255, 0.85) !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 .text-center img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 75% !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 .text-center img.w-100 {
  max-width: 75% !important;
}

@media (max-width: 991px) {
  .main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 .text-center img,
  .main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 .text-center img.w-100 {
    max-width: 100% !important;
  }

  /* Hide left marketing column on customer auth pages */
  .main-content .row.min-vh-100 > .col-xl-8.col-lg-7.mh-100 {
    display: none !important;
  }

  /* Right form column → full width */
  .main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Auth scrollport — makes .main-content the single scroll container like provider .login-content */
  body:has(.authontication-forms) {
    overflow: hidden !important;
    height: 100% !important;
  }

  body:has(.authontication-forms) .main-content {
    min-height: 100svh !important;
    max-height: 100svh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Flatten intermediate wrappers */
  body:has(.authontication-forms) .container-fluid,
  body:has(.authontication-forms) .row.min-vh-100,
  body:has(.authontication-forms) .col-xl-4.col-lg-5.mh-100 {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Short forms (login + forgot) — centered with stable svh */
  body:has(.authontication-forms) .bg-light:not(:has(#registerForm)) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    min-height: 100svh !important;
    height: auto !important;
  }

  /* Register — safe-center when space allows; top-align and scroll when overflowing */
  body:has(.authontication-forms) .bg-light:has(#registerForm) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: safe center !important;
    min-height: 100svh !important;
    height: auto !important;
  }
}

/* RIGHT � white pane (no grey band), logo above title */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5.mh-100 > .bg-light {
  background: #ffffff !important;
  background-image: none !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .auth-form-logo {
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 1.25rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms .auth-form-logo img {
  height: 44px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
}

/* Register only: tighten vertical spacing to reduce scrolling */
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms:has(#registerForm) {
  padding-top: clamp(1.25rem, 2.5vw, 1.5rem) !important;
  padding-bottom: clamp(1.25rem, 2.5vw, 1.5rem) !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms:has(#registerForm) .auth-form-logo {
  margin-bottom: 0.75rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms:has(#registerForm) > .text-center.mb-5 {
  margin-bottom: 0.75rem !important;
}

.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms:has(#registerForm) .form-group.mb-5,
.main-content .row.min-vh-100 > .col-xl-4.col-lg-5 .authontication-forms:has(#registerForm) .icon-right.mb-5 {
  margin-bottom: 0.6rem !important;
}
