/* =============================================================================
   Homepage Cab premium shell (loaded only from home.blade.php)
   Dark / ivory / gold — overrides HRH teal bands on .home-page only where needed
   ============================================================================= */

.cab-home-hero-stack {
  position: relative !important;
}

.cab-home-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding-top: clamp(56px, 10vh, 120px) !important;
}

.cab-home-hero-overlay .container {
  pointer-events: none !important;
}

.cab-home-hero-overlay__inner {
  pointer-events: auto !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.cab-home-hero-overlay__title {
  margin: 0 0 12px !important;
  font-size: clamp(26px, 4.2vw, 46px) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  color: #ffffff !important;
  text-transform: none !important;
  text-shadow: 0 6px 28px rgba(0, 0, 0, 0.55) !important;
}

.cab-home-hero-overlay__subtitle {
  margin: 0 auto 22px !important;
  max-width: 640px !important;
  font-size: clamp(14px, 1.9vw, 18px) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: rgba(248, 250, 252, 0.92) !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45) !important;
}

.cab-home-hero-overlay__ctas {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: center !important;
}

.cab-home-hero-overlay__cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 22px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.cab-home-hero-overlay__cta--primary {
  background: linear-gradient(90deg, #e8a53a 0%, #fcb142 45%, #ffd166 100%) !important;
  color: #141414 !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38) !important;
}

.cab-home-hero-overlay__cta--secondary {
  background: rgba(10, 12, 16, 0.55) !important;
  color: #fdf6e9 !important;
  border: 1px solid rgba(252, 177, 66, 0.55) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35) !important;
}

.cab-home-hero-overlay__cta:hover {
  transform: translateY(-2px) !important;
}

@media (max-width: 767.98px) {
  .cab-home-hero-overlay {
    padding-top: 44px !important;
    align-items: flex-start !important;
  }

  .cab-home-hero-overlay__title {
    font-size: clamp(22px, 6vw, 32px) !important;
  }

  .cab-home-hero-overlay__cta {
    flex: 1 1 46% !important;
    min-width: 140px !important;
    padding: 12px 14px !important;
    font-size: 11px !important;
  }
}

/* Thin premium trust band under hero (override HRH teal “cards”) */
.cab-home-trust-strip--premium {
  position: relative !important;
  z-index: 3 !important;
  background: linear-gradient(180deg, #07090d 0%, #0c1016 100%) !important;
  border-bottom: 1px solid rgba(252, 177, 66, 0.22) !important;
  padding: 10px 0 12px !important;
}

.cab-home-trust-strip--premium .hrh-trust {
  margin: 0 !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar {
  padding: 0 !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px 14px !important;
  align-items: stretch !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__item {
  flex: 1 1 140px !important;
  max-width: 220px !important;
  min-height: 0 !important;
  padding: 8px 10px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(252, 177, 66, 0.28) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  flex-direction: row !important;
  text-align: left !important;
  gap: 10px !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__logo-wrap {
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__title-row,
.cab-home-trust-strip--premium .hrh-trust-bar__title {
  text-align: left !important;
  justify-content: flex-start !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__title {
  font-size: 11.5px !important;
  color: #f8fafc !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__desc {
  display: none !important;
}

.cab-home-trust-strip--premium .hrh-trust-bar__item > .hrh-trust-bar__logo-wrap + div {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

@media (max-width: 575.98px) {
  .cab-home-trust-strip--premium .hrh-trust-bar__inner {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    justify-content: flex-start !important;
    padding-bottom: 4px !important;
  }

  .cab-home-trust-strip--premium .hrh-trust-bar__item {
    flex: 0 0 52% !important;
    max-width: 52% !important;
  }
}

/* How-it-works: remove HRH turquoise field; Cab-style dark band + gold accents */
.home-page .x_counter_main_wrapper {
  background: linear-gradient(180deg, #0a0d12 0%, #0f141c 55%, #121821 100%) !important;
  padding-top: 48px !important;
  padding-bottom: 52px !important;
}

.home-page .x_counter_main_wrapper .x_counter_img_overlay {
  opacity: 0.35 !important;
  background: radial-gradient(ellipse at 50% 0%, rgba(252, 177, 66, 0.12) 0%, transparent 55%) !important;
}

.home-page .x_counter_main_wrapper .x_counter_car_heading_wrapper h4 {
  color: #c9a227 !important;
  letter-spacing: 0.14em !important;
}

.home-page .x_counter_main_wrapper .x_counter_car_heading_wrapper h3 {
  color: #f8fafc !important;
}

.home-page .x_counter_main_wrapper .x_counter_car_heading_wrapper p {
  color: rgba(226, 232, 240, 0.88) !important;
}

.home-page .x_counter_main_wrapper .x_cou_main_box_wrapper {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(252, 177, 66, 0.22) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35) !important;
}

.home-page .x_counter_main_wrapper .x_icon {
  background: linear-gradient(145deg, #2a2115 0%, #1a1510 100%) !important;
  border: 1px solid rgba(252, 177, 66, 0.35) !important;
  color: #fcb142 !important;
}

.home-page .x_counter_main_wrapper .x_cou_main_box_wrapper h5 a {
  color: #f8fafc !important;
}

.home-page .x_counter_main_wrapper .x_cou_main_box_wrapper p,
.home-page .x_counter_main_wrapper .how-it-works-list li {
  color: rgba(203, 213, 225, 0.92) !important;
}

/* Four-icons row: premium dark (not purple HRH strip) */
.home-page .x_slider_bottom_title_main_wrapper {
  background: linear-gradient(180deg, #0f141c 0%, #0b0e14 100%) !important;
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

.home-page .x_slider_bottom_title_main_wrapper .home-four-icons-row {
  border-top: 1px solid rgba(252, 177, 66, 0.15) !important;
}

.home-page .x_slider_bottom_title_main_wrapper .x_slider_bottom_box_wrapper {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(252, 177, 66, 0.2) !important;
}

.home-page .x_slider_bottom_title_main_wrapper .x_slider_bottom_box_wrapper h3 a {
  color: #f8fafc !important;
}

.home-page .x_slider_bottom_title_main_wrapper .x_slider_bottom_box_wrapper p {
  color: rgba(203, 213, 225, 0.9) !important;
}

.home-page .x_slider_bottom_title_main_wrapper .x_slider_bottom_box_wrapper i {
  color: #fcb142 !important;
}

.cab-home-content.cab-lower-shell {
  background: linear-gradient(180deg, #0b1722 0%, #0f2330 100%) !important;
  color: #e8edf1 !important;
  padding: 56px 0 48px !important;
}

.cab-home-content .cab-section {
  position: relative !important;
  margin: 0 0 28px !important;
  padding: 24px !important;
  background: #102431 !important;
  border: 1px solid rgba(252, 177, 66, 0.26) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32) !important;
}

.cab-home-content .cab-section-title {
  display: inline-block !important;
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
}

.cab-home-content .cab-section-title::after {
  content: "" !important;
  display: block !important;
  width: 64px !important;
  height: 4px !important;
  margin-top: 10px !important;
  border-radius: 3px !important;
  background: linear-gradient(90deg, #fcb142 0%, #ffd166 100%) !important;
}

.cab-home-content .cab-services-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 18px !important;
}

.cab-home-content--after-icons {
  padding-top: 28px !important;
}

.cab-home-content .cab-reviews-lead {
  margin: 0 0 16px !important;
  color: #c8d4de !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.cab-home-content .cab-final-cta {
  text-align: center !important;
}

.cab-home-content .cab-final-cta__inner {
  padding: 8px 4px 4px !important;
}

.cab-home-content .cab-final-cta__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  justify-content: center !important;
  align-items: center !important;
}

.cab-home-content .cab-final-cta__btn {
  display: inline-block !important;
  padding: 14px 22px !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease !important;
}

.cab-home-content .cab-final-cta__btn--primary {
  flex: 1 1 220px !important;
  max-width: 320px !important;
  background: linear-gradient(90deg, #fcb142 0%, #ffd166 100%) !important;
  color: #1d2733 !important;
  box-shadow: 0 8px 22px rgba(252, 177, 66, 0.34) !important;
}

.cab-home-content .cab-final-cta__btn--secondary {
  flex: 0 1 240px !important;
  border: 1px solid rgba(252, 177, 66, 0.55) !important;
  color: #fcb142 !important;
  background: rgba(16, 36, 49, 0.6) !important;
}

.cab-home-content .cab-final-cta__btn:hover {
  transform: translateY(-2px) !important;
}

.cab-home-content .cab-popular-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.cab-home-content .cab-card,
.cab-home-content .cab-service-card,
.cab-home-content .cab-pop-item {
  display: block !important;
  min-height: 100% !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.cab-home-content .cab-service-card {
  background: linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
  border: 1px solid rgba(252, 177, 66, 0.42) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}

.cab-home-content .cab-service-card img {
  border-bottom: 1px solid rgba(252, 177, 66, 0.18) !important;
}

.cab-home-content .cab-pop-item {
  background: #ffffff !important;
  border: 1px solid #e8eaef !important;
}

.cab-home-content .cab-card:hover,
.cab-home-content .cab-service-card:hover,
.cab-home-content .cab-pop-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28) !important;
}

.cab-home-content img,
.cab-home-content .cab-service-card img,
.cab-home-content .cab-pop-item img {
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #132534 !important;
}

.cab-home-content .cab-service-body {
  padding: 16px 16px 18px !important;
}

.cab-home-content .cab-service-body h4 {
  margin: 0 0 10px !important;
  color: #1b2430 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.02em !important;
}

.cab-home-content .cab-service-body p {
  margin: 0 !important;
  color: #3a4655 !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 4 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.cab-home-content .cab-pop-item p {
  margin: 0 !important;
  padding: 12px 12px 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #1f2b38 !important;
  min-height: 62px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.cab-home-content .cab-all-content-btn {
  display: inline-block !important;
  margin-top: 18px !important;
  padding: 12px 18px !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, #fcb142 0%, #ffd166 100%) !important;
  color: #1d2733 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 22px rgba(252, 177, 66, 0.34) !important;
}

.cab-home-content .cab-reviews-wrap {
  background: #0d1f2b !important;
}

@media (max-width: 991px) {
  .cab-home-content.cab-lower-shell {
    padding: 44px 0 38px !important;
  }

  .cab-home-content .cab-section {
    padding: 18px !important;
    border-radius: 12px !important;
  }

  .cab-home-content .cab-services-grid {
    grid-template-columns: 1fr !important;
  }

  .cab-home-content .cab-popular-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cab-home-content img,
  .cab-home-content .cab-service-card img,
  .cab-home-content .cab-pop-item img {
    height: 170px !important;
  }
}
