/* Polissage de la mise en page historique de la page d'accueil. */
.home-page {
  background: #f7f8fb;
  color: #29313d;
}

.home-page #header {
  background: #fff;
  box-shadow: 0 1px 0 rgba(21, 25, 36, .08);
}

.home-page #header .header-row {
  min-height: 72px;
}

.home-page #header .logo img {
  width: auto;
  max-width: 152px;
  height: auto;
}

.home-page .primary-menu .navbar-nav > li > a,
.home-page .login-signup a {
  font-weight: 500;
}

.home-page .home-search-area {
  background:
    radial-gradient(circle at 85% 0, rgba(82, 57, 170, .45), transparent 34%),
    linear-gradient(135deg, #17014c 0%, #25106a 58%, #153a75 100%) !important;
}

.home-page .secondary-nav {
  gap: .2rem;
  margin-bottom: 1rem;
}

.home-page .secondary-nav.alternate .nav-link {
  border-radius: 10px 10px 0 0;
  color: rgba(255, 255, 255, .78);
  transition: color .2s ease, background-color .2s ease;
}

.home-page .secondary-nav.alternate .nav-link:hover,
.home-page .secondary-nav.alternate .nav-link:focus {
  color: #fff;
}

.home-page .secondary-nav.alternate .nav-link.active {
  color: #17014c;
  background: #fff;
}

.home-page .home-search-area > .container > .bg-white {
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 14px !important;
  box-shadow: 0 18px 44px rgba(9, 4, 38, .22) !important;
}

.home-page .home-search-area h1 {
  color: #201649;
  font-weight: 600;
}

.home-page #bookingHotels .form-control {
  min-height: 50px;
  border-color: #dfe3eb;
  border-radius: 8px;
  background-color: #fff;
}

.home-page #bookingHotels .form-control:focus {
  border-color: #6350b5;
  box-shadow: 0 0 0 3px rgba(99, 80, 181, .12);
}

.home-page #bookingHotels .btn-primary {
  min-height: 50px;
  border-radius: 8px;
  font-weight: 600;
}

.home-page #content > .section.bg-white {
  padding-top: 4.5rem;
  padding-bottom: 4rem;
}

.home-page #content h2 {
  color: #231b3d;
  letter-spacing: -.02em;
}

.home-page #content h2 + p {
  color: #6b7280;
  margin-top: .35rem;
  margin-bottom: 1.35rem;
}

.home-page .home-offer-link {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(28, 23, 50, .09);
}

.home-page .home-offer-link img {
  width: 100%;
  min-height: 170px;
  object-fit: cover;
  transition: transform .35s ease;
}

.home-page .home-offer-link:hover img {
  transform: scale(1.018);
}

.home-page .owl-carousel .card-img-top {
  aspect-ratio: 5 / 3;
  object-fit: cover;
  border-radius: 10px !important;
}

.home-page .owl-carousel .card-title {
  margin-top: .35rem;
}

.home-page .home-hotel-card {
  overflow: hidden;
  border: 1px solid #e5e7ee;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(30, 24, 55, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.home-page .home-hotel-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 13px 28px rgba(30, 24, 55, .12);
}

.home-page .home-hotel-photo {
  position: relative;
  display: block;
  overflow: hidden;
  background: #e9ebf1;
}

.home-page .home-hotel-photo img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
  transition: transform .35s ease;
}

.home-page .home-hotel-card:hover .home-hotel-photo img {
  transform: scale(1.025);
}

.home-page .home-hotel-stars {
  position: absolute;
  top: .75rem;
  left: .75rem;
  display: inline-flex;
  gap: 2px;
  padding: .32rem .48rem;
  border-radius: 7px;
  color: #f5b301;
  background: rgba(255, 255, 255, .94);
  font-size: .7rem;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
}

.home-page .home-hotel-city {
  color: #6350b5;
  font-size: .76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.home-page .home-hotel-card h3 {
  line-height: 1.38;
}

.home-page .home-hotel-card h3 a:hover {
  color: #5743a9 !important;
}

.home-page .home-hotel-address {
  min-height: 42px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-page .home-hotel-meta {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding-top: .85rem;
  border-top: 1px solid #eceef3;
}

.home-page .home-hotel-score {
  min-width: 39px;
  padding: .38rem .4rem;
  border-radius: 7px 7px 7px 2px;
  color: #fff;
  background: #24166c;
  font-size: .86rem;
  font-weight: 700;
  text-align: center;
}

.home-page .home-hotel-meta > span:last-child {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.home-page .home-hotel-meta strong {
  color: #2f3440;
  font-size: .82rem;
}

.home-page .home-hotel-meta small {
  color: #7b818c;
  font-size: .72rem;
}

.home-page .featured-box.style-3 {
  min-height: 145px;
  border-color: #e5e7ee !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 18px rgba(30, 24, 55, .04);
}

.home-page .featured-box.style-3 .featured-box-icon {
  color: #604cb1;
}

.home-page .home-bottom-cta {
  background:
    radial-gradient(circle at 15% 0, rgba(104, 84, 198, .42), transparent 35%),
    linear-gradient(135deg, #17014c, #261269) !important;
}

.home-page .home-bottom-cta .btn {
  border-radius: 8px;
  padding: .7rem 1.2rem;
  font-weight: 600;
}

.home-page #footer {
  border-top: 1px solid #ececf1;
}

@media (max-width: 991.98px) {
  .home-page #header .header-row {
    min-height: 64px;
  }

  .home-page .secondary-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: .2rem;
  }

  .home-page .secondary-nav .nav-link {
    white-space: nowrap;
  }
}

@media (max-width: 575.98px) {
  .home-page .home-search-area {
    padding-top: 1rem !important;
    padding-bottom: 2rem !important;
  }

  .home-page .home-search-area > .container > .bg-white {
    padding: 1.15rem !important;
  }

  .home-page #content > .section.bg-white {
    padding-top: 3rem;
  }

  .home-page .home-offer-link img {
    min-height: 120px;
  }

  .home-page .home-hotel-photo img {
    height: 210px;
  }
}
