.rh4-home{margin:28px 0 0}.rh4-home-section{margin:0 0 38px}.rh4-home-head{margin:0 0 18px}.rh4-home-title{margin:0;font-size:2rem;line-height:1.1}.rh4-home-subtitle{margin-top:6px;color:#667085}.rh4-home-grid,.rh4-home-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.rh4-home-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.05)}.rh4-home-card-link{display:block;color:inherit;text-decoration:none;height:100%}.rh4-home-card-image{aspect-ratio:16/10;background:#f3f4f6;overflow:hidden}.rh4-home-card-image img{display:block;width:100%;height:100%;object-fit:cover}.rh4-home-card-body{padding:18px}.rh4-home-card-title{margin:0 0 8px;font-size:1.25rem;line-height:1.2}.rh4-home-card-text,.rh4-home-card-meta{color:#667085;font-size:.98rem;line-height:1.5}.rh4-home-card-stars{margin:8px 0;color:#f59e0b;letter-spacing:1px}.rh4-home-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.rh4-home-badge,.rh4-home-chip{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #d0d5dd;border-radius:999px;background:#f8fafc;font-size:.87rem;line-height:1.2;color:#344054}.rh4-home-card-cta{display:inline-block;margin-top:14px;padding:10px 16px;border-radius:10px;background:#237a34;color:#fff;font-weight:600}.rh4-home-section--areas .rh4-home-card-body{padding:22px}.rh4-home-recent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rh4-home-recent-item{display:block;padding:14px 16px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;color:#101828;text-decoration:none}.rh4-home-recent-item strong{display:block;margin-bottom:6px}.rh4-home-recent-item span{display:block;color:#667085;font-size:.92rem}@media (max-width:1024px){.rh4-home-grid,.rh4-home-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.rh4-home-grid,.rh4-home-recent-grid{grid-template-columns:1fr}.rh4-home-title{font-size:1.7rem}}

.rh4-home-section[hidden]{display:none!important}

/* =========================================
   v0.9.9.64.7 final premium polish
   Search-home sections and cards
   ========================================= */

.rh4-home{
  margin: 34px 0 0;
}

.rh4-home-section{
  margin: 0 0 46px;
}

.rh4-home-head{
  margin: 0 0 18px;
}

.rh4-home-title{
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
  letter-spacing: -0.03em;
}

.rh4-home--context-search_home .rh4-home-title{
  font-size: clamp(28px, 3.6vw, 46px);
}

.rh4-home-grid{
  gap: 26px;
}

.rh4-home-grid--destinations,
.rh4-home-grid--hotels{
  align-items: stretch;
}

.rh4-home-card,
.rh4-home-recent-item{
  box-shadow: 0 10px 30px rgba(16,24,40,.06);
}

.rh4-home-card-link{
  display: flex;
  flex-direction: column;
}

.rh4-home-card-body{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
}

.rh4-home-card--hotel .rh4-home-card-body{
  min-height: 250px;
}

.rh4-home-card--area .rh4-home-card-body{
  min-height: 165px;
  justify-content: flex-start;
}

.rh4-home-card-title{
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.18;
  letter-spacing: -0.02em;
}

.rh4-home-card-text{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 4.4em;
}

.rh4-home-card-meta{
  font-size: .95rem;
}

.rh4-home-card-stars{
  margin: 0;
}

.rh4-home-badges{
  margin: 4px 0 0;
}

.rh4-home-card-cta{
  margin-top: auto;
  align-self: flex-start;
}

.rh4-home-recent-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 920px;
}

.rh4-home-recent-item{
  padding: 14px 16px;
  border-radius: 16px;
}

.rh4-home-recent-item strong{
  font-size: 1rem;
  line-height: 1.25;
}

.rh4-home-recent-item span{
  font-size: .9rem;
}

.rh4-home-grid--areas{
  gap: 22px;
}

.rh4-home-grid--areas .rh4-home-card-title{
  font-size: clamp(1.05rem, 2vw, 1.4rem);
}

.rh4-home-grid--areas .rh4-home-card-meta{
  font-size: .9rem;
}

@media (max-width: 1200px){
  .rh4-home-grid,
  .rh4-home-recent-grid{
    gap: 20px;
  }
}

@media (max-width: 1024px){
  .rh4-home-grid,
  .rh4-home-recent-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rh4-home-card-body,
  .rh4-home-card--hotel .rh4-home-card-body{
    min-height: 0;
  }
}

@media (max-width: 640px){
  .rh4-home{
    margin-top: 26px;
  }

  .rh4-home-section{
    margin-bottom: 34px;
  }

  .rh4-home-title{
    font-size: 2.1rem;
  }

  .rh4-home-grid,
  .rh4-home-recent-grid{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .rh4-home-recent-item{
    padding: 12px 14px;
  }

  .rh4-home-card-body{
    padding: 16px;
  }
}


/* v0.9.9.64.8 denser desktop grid controls */
.rh4-home{
  --rh4-home-cols: 4;
  --rh4-home-recent-cols: 4;
}

.rh4-home-grid{
  grid-template-columns: repeat(var(--rh4-home-cols), minmax(0, 1fr));
  gap: 22px;
}

.rh4-home-recent-grid{
  grid-template-columns: repeat(var(--rh4-home-recent-cols), minmax(0, 1fr));
  gap: 14px;
  max-width: none;
}

.rh4-home-title{
  font-size: clamp(30px, 3.4vw, 48px);
}

.rh4-home--context-search_home .rh4-home-title{
  font-size: clamp(26px, 3vw, 42px);
}

.rh4-home-card-body{
  min-height: 198px;
  padding: 16px;
  gap: 8px;
}

.rh4-home-card--hotel .rh4-home-card-body{
  min-height: 220px;
}

.rh4-home-card--area .rh4-home-card-body{
  min-height: 140px;
  padding: 18px;
}

.rh4-home-card-title{
  font-size: 1.06rem;
}

.rh4-home-card-text,
.rh4-home-card-meta{
  font-size: .92rem;
}

.rh4-home-card-stars{
  font-size: .95rem;
}

.rh4-home-badge,
.rh4-home-chip{
  padding: 5px 9px;
  font-size: .8rem;
}

.rh4-home-card-cta{
  margin-top: auto;
  padding: 9px 14px;
  font-size: .95rem;
}

.rh4-home-section--areas .rh4-home-card{
  min-height: 100%;
}

.rh4-home-grid--areas{
  gap: 18px;
}

.rh4-home-grid--areas .rh4-home-card-title{
  font-size: 1rem;
}

.rh4-home-grid--areas .rh4-home-card-meta{
  font-size: .88rem;
}

@media (max-width: 1200px){
  .rh4-home-grid,
  .rh4-home-recent-grid{
    gap: 18px;
  }
}

@media (max-width: 1024px){
  .rh4-home-grid,
  .rh4-home-recent-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rh4-home-card-body,
  .rh4-home-card--hotel .rh4-home-card-body,
  .rh4-home-card--area .rh4-home-card-body{
    min-height: 0;
  }
}

@media (max-width: 640px){
  .rh4-home-title{
    font-size: 2rem;
  }

  .rh4-home-grid,
  .rh4-home-recent-grid{
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
}
