/* =========================================================
   FINAL OVERRIDE - HOME SLIDERS UNIFIED SIZE
   Put this at the END of newhome.css
========================================================= */

/* Sections spacing */
.section-popular,
.section-recommend {
  overflow: hidden;
}

.section-popular {
  padding: 5rem 0 4rem;
}

.section-recommend {
  padding: 5rem 0 8rem;
}

/* Wrappers */
.popular-swiper-wrapper,
.recommend-swiper-wrapper,
.home-slider-wrapper {
  position: relative;
  width: 100%;
}

/* Swipers */
.popular-swiper,
.recommend-swiper {
  width: 100%;
  overflow: hidden !important;
  padding: 3rem 0 5.5rem !important;
  margin-top: 2.5rem;
}

/* Wrapper alignment */
.popular-swiper .swiper-wrapper,
.recommend-swiper .swiper-wrapper {
  align-items: stretch;
}

/* Unified slide width */
.popular-swiper .swiper-slide,
.recommend-swiper .swiper-slide {
  width: 28rem !important;
  height: auto !important;
  flex-shrink: 0;
  display: flex;
}

/* =========================
   City Card
========================= */

.city-card {
  width: 28rem !important;
  height: 38rem !important;
  display: flex !important;
  flex-direction: column;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.12);
}

.city-card-image-wrapper {
  width: 100% !important;
  height: 28rem !important;
  position: relative;
  overflow: hidden;
  background: #eeeeee;
}

.city-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.city-card-content {
  height: 10rem !important;
  padding: 2rem 2.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #ffffff;
}

.city-card-name {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #1f3347;
}

/* =========================
   Recommend Card
========================= */

.recommend-card {
  width: 28rem !important;
  height: 43rem !important;
  min-height: unset !important;
  display: flex !important;
  flex-direction: column;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.12);
}

.recommend-card-image-wrapper {
  width: 100% !important;
  height: 22rem !important;
  position: relative;
  overflow: hidden;
  background: #eeeeee;
}

.recommend-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.recommend-card-body {
  height: 21rem !important;
  padding: 1.8rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  background: #ffffff;
}

.recommend-card-title {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
  color: #1f3347;
}

.recommend-card-rating {
  margin: 0;
}

.rating-stars {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.star-icon {
  width: 1.4rem;
  height: 1.4rem;
  color: #cbd3db;
}

.star-filled {
  color: #fbbf24;
  fill: #fbbf24;
}

.recommend-card-price {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
  margin: 0;
}

.price-amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-secondary);
}

.price-period {
  font-size: 1.3rem;
  color: #707070;
}

.recommend-card-features {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.feature-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.feature-icon {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}

.feature-icon svg {
  width: 100%;
  height: 100%;
}

.feature-name {
  font-size: 1.3rem;
  color: #707070;
  white-space: nowrap;
}

/* Favorite button */
.recommend-favorite-btn {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 4.2rem !important;
  height: 4.2rem !important;
  border-radius: 50%;
  border: 0;
  background: #ffffff;
  color: #c7ced6;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  cursor: pointer;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.16);
}

[dir="rtl"] .recommend-favorite-btn {
  right: auto;
  left: 1.2rem;
}

.favorite-icon {
  width: 2rem;
  height: 2rem;
}

.favorite-icon-filled {
  color: #ef4444 !important;
  fill: #ef4444 !important;
}

/* =========================
   Unified Slider Buttons
========================= */

.home-slider-nav,
.city-nav-btn,
.recommend-nav-btn {
  position: absolute !important;
  top: 50% !important;
  z-index: 50 !important;
  width: 5.4rem !important;
  height: 5.4rem !important;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  background: transparent !important;
  cursor: pointer;
  transform: translateY(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.home-slider-nav svg,
.city-nav-btn svg,
.recommend-nav-btn svg {
  width: 5.4rem !important;
  height: 5.4rem !important;
  display: block;
}

.home-slider-nav--prev,
.city-nav-btn--prev,
.recommend-nav-btn--prev {
  left: 0 !important;
}

.home-slider-nav--next,
.city-nav-btn--next,
.recommend-nav-btn--next {
  right: 0 !important;
}

[dir="rtl"] .home-slider-nav--prev,
[dir="rtl"] .city-nav-btn--prev,
[dir="rtl"] .recommend-nav-btn--prev {
  left: auto !important;
  right: 0 !important;
}

[dir="rtl"] .home-slider-nav--next,
[dir="rtl"] .city-nav-btn--next,
[dir="rtl"] .recommend-nav-btn--next {
  right: auto !important;
  left: 0 !important;
}

/* Pagination */
.cities-pagination {
  bottom: 1.2rem !important;
}

.cities-pagination .swiper-pagination-bullet {
  width: 1rem !important;
  height: 1rem !important;
  background: rgba(35, 135, 194, 0.35) !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  margin: 0 0.4rem !important;
}

.cities-pagination .swiper-pagination-bullet-active {
  width: 3rem !important;
  border-radius: 2rem !important;
  background: var(--color-primary) !important;
}

/* Hover */
.city-card:hover,
.recommend-card:hover {
  transform: translateY(-0.8rem);
}

/* Responsive */
@media only screen and (max-width: 75em) {

  .popular-swiper .swiper-slide,
  .recommend-swiper .swiper-slide,
  .city-card,
  .recommend-card {
    width: 26rem !important;
  }

  .city-card {
    height: 36rem !important;
  }

  .city-card-image-wrapper {
    height: 26rem !important;
  }

  .recommend-card {
    height: 41rem !important;
  }

  .recommend-card-image-wrapper {
    height: 20.5rem !important;
  }

  .recommend-card-body {
    height: 20.5rem !important;
  }
}

@media only screen and (max-width: 48em) {

  .popular-swiper .swiper-slide,
  .recommend-swiper .swiper-slide,
  .city-card,
  .recommend-card {
    width: 24rem !important;
  }

  .city-card {
    height: 34rem !important;
  }

  .city-card-image-wrapper {
    height: 24rem !important;
  }

  .recommend-card {
    height: 39rem !important;
  }

  .recommend-card-image-wrapper {
    height: 19rem !important;
  }

  .recommend-card-body {
    height: 20rem !important;
  }

  .home-slider-nav,
  .city-nav-btn,
  .recommend-nav-btn {
    display: none !important;
  }
}

/* =========================================================
   FINAL SLIDER NAV BUTTONS FIX
========================================================= */

.popular-swiper-wrapper,
.recommend-swiper-wrapper {
  position: relative;
  padding-inline: 7rem;
}

.home-slider-nav {
  position: absolute !important;
  top: 50% !important;
  z-index: 999 !important;

  width: 5.4rem !important;
  height: 5.4rem !important;

  border: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  cursor: pointer !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  transform: translateY(-50%) !important;
  box-shadow: none !important;
}

.home-slider-nav svg {
  width: 5.4rem !important;
  height: 5.4rem !important;
  display: block !important;
  overflow: visible;
}

.home-slider-nav circle {
  transition: 0.25s ease;
}

.home-slider-nav path {
  transition: 0.25s ease;
}

/* Previous button */
.home-slider-nav--prev {
  left: 0 !important;
}

.home-slider-nav--prev circle {
  fill: #e0e0e0 !important;
}

.home-slider-nav--prev path {
  stroke: #1f3347 !important;
}

/* Next button */
.home-slider-nav--next {
  right: 0 !important;
}

.home-slider-nav--next circle {
  fill: #1687f2 !important;
}

.home-slider-nav--next path {
  stroke: #ffffff !important;
}

/* RTL */
[dir="rtl"] .home-slider-nav--prev {
  left: auto !important;
  right: 0 !important;
}

[dir="rtl"] .home-slider-nav--next {
  right: auto !important;
  left: 0 !important;
}

/* Hover */
.home-slider-nav:hover {
  transform: translateY(-50%) scale(1.08) !important;
}

.home-slider-nav.swiper-button-disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}

/* Mobile: keep buttons visible */
@media only screen and (max-width: 48em) {

  .popular-swiper-wrapper,
  .recommend-swiper-wrapper {
    padding-inline: 5rem;
  }

  .home-slider-nav {
    width: 4.4rem !important;
    height: 4.4rem !important;
    display: flex !important;
  }

  .home-slider-nav svg {
    width: 4.4rem !important;
    height: 4.4rem !important;
  }
}

@media only screen and (max-width: 36em) {

  .popular-swiper-wrapper,
  .recommend-swiper-wrapper {
    padding-inline: 4rem;
  }

  .home-slider-nav {
    width: 4rem !important;
    height: 4rem !important;
  }

  .home-slider-nav svg {
    width: 4rem !important;
    height: 4rem !important;
  }
}

/* =========================================================
   FLOATING ADD AD BUTTON FIX
========================================================= */

.add-add {
  position: fixed !important;
  right: -11.5rem !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;

  transform: translateY(-50%) !important;

  width: 19rem !important;
  min-height: 8rem !important;

  display: flex !important;
  align-items: center !important;

  padding: 1rem 2rem 1rem 0 !important;
  border-radius: 2.2rem 0 0 2.2rem !important;

  background-color: var(--color-secondary) !important;
  color: #ffffff !important;

  font-size: 2rem !important;
  font-weight: 500 !important;

  z-index: 99999 !important;
  transition: right 0.3s ease-out !important;
}

.add-add:hover {
  right: 0 !important;
}

.plus-icon {
  flex: 0 0 7.5rem !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.plus {
  width: 3rem !important;
  height: 3rem !important;
  border-radius: 50% !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  margin: 0 !important;

  font-size: 2rem !important;
  font-weight: 500 !important;

  color: var(--color-secondary) !important;
  background-color: #ffffff !important;
}

.add-add-text {
  flex: 1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.add-add-text:hover {
  color: #ffffff !important;
}

/* RTL */
[dir="rtl"] .add-add {
  right: auto !important;
  left: -11.5rem !important;
  padding: 1rem 0 1rem 2rem !important;
  border-radius: 0 2.2rem 2.2rem 0 !important;
  transition: left 0.3s ease-out !important;
}

[dir="rtl"] .add-add:hover {
  left: 0 !important;
}

/* =========================================================
   HERO SEARCH BOX FIX
========================================================= */

.section-hero {
  position: relative !important;
}

.hero-box {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 7rem !important;
  transform: translateX(-50%) !important;

  width: min(78rem, calc(100% - 4rem)) !important;
  max-width: 78rem !important;

  z-index: 20 !important;
  padding: 0 !important;
  margin: 0 auto !important;

  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Livewire search root */
.hero-box>div,
.hero-box form,
.search-modern,
.search-container {
  width: 100% !important;
  max-width: 78rem !important;
}

/* Search input container */
.search-input-wrapper {
  width: 100% !important;
  height: 7.2rem !important;

  display: flex !important;
  align-items: center !important;

  background: #ffffff !important;
  border-radius: 2rem !important;
  overflow: hidden !important;

  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18) !important;
}

/* Input */
.search-input-modern,
.search-input-wrapper input,
.hero-box input[type="text"],
.hero-box input[type="search"] {
  flex: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;

  padding: 0 2rem !important;
  font-size: 1.7rem !important;
  color: #1f3347 !important;
}

/* Search button */
.search-icon-btn-left,
.search-icon-btn,
.hero-box button[type="submit"] {
  width: 6.2rem !important;
  height: 6.2rem !important;
  min-width: 6.2rem !important;

  margin: 0.5rem !important;
  border: 0 !important;
  border-radius: 1.5rem !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #ffffff !important;
  color: #000000 !important;
  cursor: pointer !important;
}

/* If your search button should be black border like screenshot */
.hero-box button[type="submit"] {
  border: 0.2rem solid #111 !important;
  border-radius: 0 !important;
}

/* RTL */
[dir="rtl"] .hero-box {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

[dir="rtl"] .search-input-modern,
[dir="rtl"] .search-input-wrapper input,
[dir="rtl"] .hero-box input[type="text"],
[dir="rtl"] .hero-box input[type="search"] {
  text-align: right !important;
}

/* Mobile */
@media only screen and (max-width: 768px) {
  .hero-box {
    width: calc(100% - 3rem) !important;
    bottom: 4rem !important;
  }

  .search-input-wrapper {
    height: 6rem !important;
    border-radius: 1.5rem !important;
  }

  .search-icon-btn-left,
  .search-icon-btn,
  .hero-box button[type="submit"] {
    width: 5rem !important;
    height: 5rem !important;
    min-width: 5rem !important;
  }

  .search-input-modern,
  .search-input-wrapper input,
  .hero-box input[type="text"],
  .hero-box input[type="search"] {
    font-size: 1.4rem !important;
    padding: 0 1.2rem !important;
  }
}

/* =========================================================
   HERO SEARCH - FINAL DESIGN FIX
========================================================= */

.hero-box {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: 9rem !important;
  transform: translateX(-50%) !important;

  width: min(82rem, calc(100% - 4rem)) !important;
  max-width: 82rem !important;

  z-index: 30 !important;
  padding: 0 !important;
  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Livewire root/form wrapper */
.hero-box>div,
.hero-box form,
.search-modern,
.search-container {
  width: 100% !important;
  max-width: 82rem !important;
}

/* Main search box */
.search-input-wrapper {
  width: 100% !important;
  height: 6.4rem !important;

  display: flex !important;
  align-items: center !important;

  background: rgba(255, 255, 255, 0.96) !important;
  border: 0.1rem solid rgba(255, 255, 255, 0.7) !important;
  border-radius: 1.8rem !important;

  overflow: hidden !important;

  box-shadow:
    0 1rem 3rem rgba(0, 0, 0, 0.18),
    0 0.4rem 1.2rem rgba(0, 0, 0, 0.08) !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

/* Input */
.search-input-modern,
.search-input-wrapper input,
.hero-box input[type="text"],
.hero-box input[type="search"] {
  flex: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;

  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;

  padding: 0 2.4rem !important;

  font-size: 1.55rem !important;
  font-weight: 500 !important;
  color: #1f3347 !important;

  font-family: "Tajawal", "Poppins", sans-serif !important;
}

.search-input-modern::placeholder,
.search-input-wrapper input::placeholder,
.hero-box input[type="text"]::placeholder,
.hero-box input[type="search"]::placeholder {
  color: #8a96a3 !important;
  opacity: 1 !important;
  font-size: 1.45rem !important;
}

/* Search button */
.search-icon-btn-left,
.search-icon-btn,
.hero-box button[type="submit"] {
  width: 5.4rem !important;
  height: 5.4rem !important;
  min-width: 5.4rem !important;

  margin: 0.5rem !important;

  border: 0 !important;
  border-radius: 1.4rem !important;

  background: linear-gradient(135deg, #2387c2 0%, #166c9f 100%) !important;
  color: #ffffff !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;

  box-shadow:
    0 0.5rem 1.4rem rgba(35, 135, 194, 0.35),
    inset 0 0.1rem 0 rgba(255, 255, 255, 0.25) !important;

  transition: 0.25s ease !important;
}

.search-icon-btn-left:hover,
.search-icon-btn:hover,
.hero-box button[type="submit"]:hover {
  transform: scale(1.04) !important;
  background: linear-gradient(135deg, #166c9f 0%, #0f5f8f 100%) !important;
}

/* Button icon */
.search-icon-btn-left svg,
.search-icon-btn svg,
.hero-box button[type="submit"] svg {
  width: 2.4rem !important;
  height: 2.4rem !important;
  stroke: currentColor !important;
}

/* RTL support */
[dir="rtl"] .hero-box {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

[dir="rtl"] .search-input-modern,
[dir="rtl"] .search-input-wrapper input,
[dir="rtl"] .hero-box input[type="text"],
[dir="rtl"] .hero-box input[type="search"] {
  text-align: right !important;
}

/* LTR support */
[dir="ltr"] .search-input-modern,
[dir="ltr"] .search-input-wrapper input,
[dir="ltr"] .hero-box input[type="text"],
[dir="ltr"] .hero-box input[type="search"] {
  text-align: left !important;
}

/* Move hero bullets a bit lower */
.hero-swiper .swiper-pagination,
.hero-pagination {
  bottom: 3.2rem !important;
}

/* Mobile */
@media only screen and (max-width: 768px) {
  .hero-box {
    width: calc(100% - 3rem) !important;
    bottom: 7.5rem !important;
  }

  .search-input-wrapper {
    height: 5.8rem !important;
    border-radius: 1.5rem !important;
  }

  .search-input-modern,
  .search-input-wrapper input,
  .hero-box input[type="text"],
  .hero-box input[type="search"] {
    font-size: 1.35rem !important;
    padding: 0 1.4rem !important;
  }

  .search-input-modern::placeholder,
  .search-input-wrapper input::placeholder,
  .hero-box input[type="text"]::placeholder,
  .hero-box input[type="search"]::placeholder {
    font-size: 1.25rem !important;
  }

  .search-icon-btn-left,
  .search-icon-btn,
  .hero-box button[type="submit"] {
    width: 4.8rem !important;
    height: 4.8rem !important;
    min-width: 4.8rem !important;
    border-radius: 1.2rem !important;
  }

  .search-icon-btn-left svg,
  .search-icon-btn svg,
  .hero-box button[type="submit"] svg {
    width: 2.1rem !important;
    height: 2.1rem !important;
  }
}

@media only screen and (max-width: 480px) {
  .hero-box {
    width: calc(100% - 2rem) !important;
    bottom: 7rem !important;
  }

  .search-input-wrapper {
    height: 5.4rem !important;
    border-radius: 1.3rem !important;
  }

  .search-icon-btn-left,
  .search-icon-btn,
  .hero-box button[type="submit"] {
    width: 4.4rem !important;
    height: 4.4rem !important;
    min-width: 4.4rem !important;
    margin: 0.45rem !important;
  }
}

/* Fix Swiper blank space while dragging */
.popular-swiper {
  overflow: hidden !important;
}

.popular-swiper .swiper-wrapper {
  justify-content: flex-start !important;
}

.popular-swiper .swiper-slide {
  flex-shrink: 0 !important;
}

/* =========================================================
   SEE MORE PAGE - UNIFIED DESIGN
========================================================= */

.section-recent,
.section-highest,
.section-seekers {
  padding: 6rem 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(248, 244, 219, 0.25) 100%);
  overflow: hidden;
}

.section-recent .heading-secondary,
.section-highest .heading-secondary,
.section-seekers .heading-secondary {
  font-size: 3rem;
  font-weight: 700;
  color: #2c3e50;
  margin-bottom: 3.5rem;
  position: relative;
  display: inline-block;
  padding: 0 2rem;
}

.section-recent .heading-secondary::after,
.section-highest .heading-secondary::after,
.section-seekers .heading-secondary::after {
  content: '';
  position: absolute;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  height: 0.4rem;
  background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  border-radius: 2rem;
}

.header-wrapper,
.highest-header,
.seekers-header {
  text-align: center;
}

.header-content {
  position: relative;
}

.view-more-wrapper {
  position: absolute;
  top: 0.8rem;
  inset-inline-end: 0;
}

.view-more {
  color: var(--color-primary);
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
}

/* Grid */
.recent-grid,
.section-highest .grid {
  display: grid;
  grid-template-columns: repeat(3, 28rem);
  justify-content: center;
  gap: 3.2rem;
}

/* =========================================================
   Recent Cards
========================================================= */

.recent-card {
  width: 28rem !important;
  height: 43rem !important;
  display: flex !important;
  flex-direction: column;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.12);
  transition: 0.3s ease;
}

.recent-card:hover {
  transform: translateY(-0.8rem);
}

.recent-card-image-wrapper {
  width: 100%;
  height: 25rem;
  position: relative;
  overflow: hidden;
  background: #eeeeee;
}

.recent-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.recent-favorite-btn {
  position: absolute;
  top: 1.2rem;
  inset-inline-end: 1.2rem;
  width: 4.2rem;
  height: 4.2rem;
  border: 0;
  border-radius: 50%;
  background: #ffffff;
  color: #c7ced6;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  cursor: pointer;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.16);
}

.favorite-active {
  color: #ef4444 !important;
  fill: #ef4444 !important;
}

.recent-card-body {
  height: 18rem;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.recent-card-title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1f3347;
  line-height: 1.4;
}

.recent-card-footer {
  margin-top: auto;
  padding-top: 1.4rem;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.recent-price {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}

.recent-price .price-amount {
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-secondary);
}

.recent-price .price-period {
  font-size: 1.3rem;
  color: #707070;
}

.recent-location {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  color: #707070;
  font-size: 1.4rem;
}

/* =========================================================
   Highest Rating Cards
========================================================= */

.roommate-card {
  width: 28rem !important;
  height: 38rem !important;
  display: flex !important;
  flex-direction: column;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.12);
  transition: 0.3s ease;
}

.roommate-card:hover {
  transform: translateY(-0.8rem);
}

.roommate-card-image-wrapper {
  width: 100%;
  height: 28rem;
  position: relative;
  overflow: hidden;
  background: #eeeeee;
}

.roommate-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.roommate-rating-badge {
  position: absolute;
  top: 1.2rem;
  inset-inline-end: 1.2rem;
  min-width: 5.4rem;
  height: 3.4rem;
  padding: 0 1rem;
  border-radius: 2rem;
  background: #ffffff;
  color: #fbbf24;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-weight: 700;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.16);
}

.roommate-card-body {
  height: 10rem;
  padding: 2rem;
  background: #ffffff;
}

.roommate-card-name {
  margin: 0 0 0.6rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1f3347;
  line-height: 1.4;
}

.roommate-card-age {
  margin: 0;
  font-size: 1.4rem;
  color: #707070;
}

/* Tabs */
.highest-tabs-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 3.5rem;
}

.highest-tabs {
  border: 0;
  gap: 1rem;
}

.highest-btn {
  min-width: 12rem;
  height: 4.4rem;
  border: 0 !important;
  border-radius: 5rem !important;
  background: #ffffff !important;
  color: #1f3347 !important;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.08);
}

.highest-btn.active {
  background: var(--color-primary) !important;
  color: #ffffff !important;
}

/* =========================================================
   Seekers Slider
========================================================= */

.seekers-swiper {
  width: 100%;
  overflow: hidden !important;
  padding: 3rem 0 5rem;
  position: relative;
}

.seekers-swiper .swiper-wrapper {
  align-items: stretch;
}

.seekers-swiper .swiper-slide {
  width: 28rem !important;
  height: auto;
  flex-shrink: 0;
  display: flex;
}

.seeker-card {
  width: 28rem !important;
  height: 43rem !important;
  display: flex !important;
  flex-direction: column;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.12);
  transition: 0.3s ease;
}

.seeker-card:hover {
  transform: translateY(-0.8rem);
}

.seeker-card-image-wrapper {
  width: 100%;
  height: 24rem;
  overflow: hidden;
  background: #eeeeee;
}

.seeker-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.seeker-card-body {
  height: 19rem;
  padding: 1.8rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.seeker-card-name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1f3347;
}

.seeker-price {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #707070;
  font-size: 1.3rem;
}

.seeker-price .price-amount {
  color: var(--color-secondary);
  font-size: 1.6rem;
  font-weight: 800;
}

.seeker-bio {
  margin: 0;
  color: #707070;
  font-size: 1.3rem;
  line-height: 1.6;

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Seekers buttons */
.seekers-nav-btn {
  width: 5.4rem !important;
  height: 5.4rem !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #1f3347 !important;
  box-shadow: 0 0.6rem 1.6rem rgba(0, 0, 0, 0.16);
}

.seekers-nav-btn::after {
  display: none !important;
}

.seekers-swiper .swiper-button-next {
  right: 0 !important;
}

.seekers-swiper .swiper-button-prev {
  left: 0 !important;
}

[dir="rtl"] .seekers-swiper .swiper-button-next {
  right: auto !important;
  left: 0 !important;
}

[dir="rtl"] .seekers-swiper .swiper-button-prev {
  left: auto !important;
  right: 0 !important;
}

/* Responsive */
@media only screen and (max-width: 992px) {

  .recent-grid,
  .section-highest .grid {
    grid-template-columns: repeat(2, 28rem);
  }
}

@media only screen and (max-width: 640px) {

  .recent-grid,
  .section-highest .grid {
    grid-template-columns: 28rem;
  }

  .view-more-wrapper {
    position: static;
    margin-top: -2rem;
    margin-bottom: 2rem;
  }

  .section-recent,
  .section-highest,
  .section-seekers {
    padding: 4rem 0;
  }

  .seekers-nav-btn {
    display: none !important;
  }
}

/* =========================================================
   FIX POPULAR/CITIES SWIPER SPACING
========================================================= */

.popular-swiper,
.cities-swiper {
  width: 100% !important;
  overflow: hidden !important;
}

.popular-swiper .swiper-wrapper,
.cities-swiper .swiper-wrapper {
  align-items: stretch !important;
}

/* fallback before Swiper initializes */
.popular-swiper:not(.swiper-initialized) .swiper-wrapper,
.cities-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex !important;
  gap: 3.2rem !important;
}

.popular-swiper .swiper-slide,
.cities-swiper .swiper-slide {
  width: 28rem !important;
  flex: 0 0 28rem !important;
  height: auto !important;
  display: flex !important;
}

/* Make sure the card does not exceed the slide */
.popular-swiper .city-card,
.cities-swiper .city-card {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile */
@media only screen and (max-width: 48em) {

  .popular-swiper .swiper-slide,
  .cities-swiper .swiper-slide {
    width: 24rem !important;
    flex-basis: 24rem !important;
  }

  .popular-swiper:not(.swiper-initialized) .swiper-wrapper,
  .cities-swiper:not(.swiper-initialized) .swiper-wrapper {
    gap: 1.8rem !important;
  }
}