

:root {
  --hvhb-ink: #102117;
  --hvhb-text: #33483a;
  --hvhb-muted: #64746a;
  --hvhb-line: rgba(16, 33, 23, .12);
  --hvhb-soft: #f5faf6;
  --hvhb-soft-2: #e8f4eb;
  --hvhb-white: #fff;
  --hvhb-dark: #0d1710;
  --hvhb-gold: #16803a;
  --hvhb-gold-soft: rgba(22, 128, 58, .12);
  --hvhb-danger: #b34132;
  --hvhb-success: #16803a;
  --hvhb-radius: 12px;
  --hvhb-shadow: 0 14px 38px rgba(12, 24, 15, .10);
  --hvhb-shadow-sm: 0 8px 22px rgba(12, 24, 15, .07);
}

.hvhb-single-room-page,
.hvhb-room-archive-page,
.hvhb-room-grid-wrap,
.hvhb-search-hero,
.hvhb-room-card,
.hvhb-booking-card,
.hvhb-room-detail {
  color: var(--hvhb-ink) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.hvhb-single-room-page *,
.hvhb-room-archive-page *,
.hvhb-room-grid-wrap *,
.hvhb-search-hero *,
.hvhb-room-card *,
.hvhb-booking-card *,
.hvhb-room-detail * {
  box-sizing: border-box !important;
  font-family: inherit !important;
}

.hvhb-single-room-page i[class^="fa-"],
.hvhb-single-room-page i[class*=" fa-"],
.hvhb-room-archive-page i[class^="fa-"],
.hvhb-room-grid-wrap i[class^="fa-"],
.hvhb-search-hero i[class^="fa-"],
.hvhb-booking-card i[class^="fa-"] {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  flex: 0 0 auto;
}

.hvhb-single-room-page,
.hvhb-room-archive-page {
  background: var(--hvhb-soft) !important;
  padding-bottom: 54px !important;
  overflow-x: hidden !important;
}

.hvhb-single-container {
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}


.hvhb-room-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 18px 0 14px !important;
  margin: 0 !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.hvhb-room-breadcrumb a,
.hvhb-room-breadcrumb strong {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.hvhb-room-breadcrumb a:hover,
.hvhb-room-breadcrumb strong {
  color: var(--hvhb-ink) !important;
}

.hvhb-edit-room-link,
.hvhb-room-card__edit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 999px !important;
  background: var(--hvhb-white) !important;
  color: var(--hvhb-ink) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
}

.hvhb-edit-room-link {
  margin-left: auto !important;
}

.hvhb-edit-room-link:hover,
.hvhb-room-card__edit:hover {
  background: var(--hvhb-dark) !important;
  border-color: var(--hvhb-dark) !important;
  color: #fff !important;
}


.hvhb-btn,
.hvhb-single-room-page .hvhb-btn,
.hvhb-room-archive-page .hvhb-btn,
.hvhb-room-grid-wrap .hvhb-btn,
.hvhb-search-hero .hvhb-btn,
.hvhb-booking-card .hvhb-btn,
.hvhb-room-detail .hvhb-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  border: 1px solid transparent !important;
  border-radius: 6px !important;
  background-image: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: .2s ease !important;
}

.hvhb-btn-primary {
  background: var(--hvhb-dark) !important;
  border-color: var(--hvhb-dark) !important;
  color: #fff !important;
}

.hvhb-btn-primary:hover {
  background: var(--hvhb-gold) !important;
  border-color: var(--hvhb-gold) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.hvhb-btn-outline {
  background: var(--hvhb-white) !important;
  border-color: var(--hvhb-line) !important;
  color: var(--hvhb-ink) !important;
}

.hvhb-btn-outline:hover {
  background: var(--hvhb-dark) !important;
  border-color: var(--hvhb-dark) !important;
  color: #fff !important;
}

.hvhb-btn-lg { min-height: 42px !important; padding-left: 18px !important; padding-right: 18px !important; }
.hvhb-btn-full { width: 100% !important; }


.hvhb-search-hero {
  position: relative !important;
  margin: 0 0 30px !important;
  padding: 30px !important;
  background: var(--hvhb-dark) !important;
  color: #fff !important;
  border-radius: 0 !important;
  box-shadow: var(--hvhb-shadow) !important;
}

.hvhb-search-hero__title {
  max-width: 720px !important;
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(25px, 3vw, 38px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

.hvhb-search-hero__subtitle {
  max-width: 620px !important;
  margin: 0 0 20px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.hvhb-search-form {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.hvhb-search-form__field,
.hvhb-booking-form label {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 9px 11px 7px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.hvhb-search-form__field:focus-within,
.hvhb-booking-form label:focus-within {
  border-color: var(--hvhb-gold) !important;
  box-shadow: 0 0 0 2px var(--hvhb-gold-soft) !important;
}

.hvhb-search-form__field label,
.hvhb-booking-form label span {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 4px !important;
  color: var(--hvhb-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.hvhb-search-form__field label i,
.hvhb-booking-form label span i {
  color: var(--hvhb-gold) !important;
  font-size: 11px !important;
}

.hvhb-search-form input,
.hvhb-search-form select,
.hvhb-booking-form input,
.hvhb-booking-form select,
.hvhb-booking-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 30px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--hvhb-ink) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

.hvhb-search-form select {
  padding-right: 18px !important;
}

.hvhb-booking-form textarea {
  min-height: 74px !important;
  padding-top: 4px !important;
  resize: vertical !important;
}

.hvhb-search-form input::placeholder,
.hvhb-booking-form input::placeholder,
.hvhb-booking-form textarea::placeholder {
  color: rgba(33,26,22,.40) !important;
  opacity: 1 !important;
}

.hvhb-search-form__submit {
  display: flex !important;
}

.hvhb-search-form__submit .hvhb-btn {
  height: 100% !important;
  min-height: 48px !important;
}

.hvhb-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  margin-top: 14px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.hvhb-trust-row span,
.hvhb-booking-card__trust span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.hvhb-trust-row i,
.hvhb-booking-card__trust i {
  color: var(--hvhb-gold) !important;
}


.hvhb-archive-hero {
  margin: 0 0 28px !important;
  padding: 34px !important;
  background: var(--hvhb-dark) !important;
  color: #fff !important;
  box-shadow: var(--hvhb-shadow) !important;
}

.hvhb-archive-hero span,
.hvhb-room-section__head span,
.hvhb-room-label-row span,
.hvhb-booking-card__head span,
.hvhb-room-hero-price span,
.hvhb-room-card__price small {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 7px !important;
  color: var(--hvhb-gold) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.hvhb-archive-hero h1 {
  margin: 0 0 9px !important;
  color: #fff !important;
  font-size: clamp(28px, 3.6vw, 44px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

.hvhb-archive-hero p {
  max-width: 680px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}


.hvhb-room-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.hvhb-room-grid-wrap--cols-1 .hvhb-room-grid { grid-template-columns: 1fr !important; }
.hvhb-room-grid-wrap--cols-2 .hvhb-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.hvhb-room-grid-wrap--cols-3 .hvhb-room-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.hvhb-room-grid-wrap--cols-4 .hvhb-room-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.hvhb-room-card {
  position: relative !important;
  min-width: 0 !important;
  background: var(--hvhb-white) !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
}

.hvhb-room-card__edit {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 4 !important;
}

.hvhb-room-card__image {
  position: relative !important;
  display: block !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: var(--hvhb-soft-2) !important;
  color: var(--hvhb-muted) !important;
  text-decoration: none !important;
}

.hvhb-room-card__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .35s ease !important;
}

.hvhb-room-card:hover .hvhb-room-card__image img {
  transform: scale(1.035) !important;
}

.hvhb-room-card__placeholder {
  display: grid !important;
  place-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 100% !important;
  color: var(--hvhb-muted) !important;
  font-size: 13px !important;
}

.hvhb-room-card__badge {
  position: absolute !important;
  left: 10px !important;
  top: 10px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 26px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(12,24,15,.92) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.hvhb-room-card__body {
  padding: 15px !important;
}

.hvhb-room-card__title {
  margin: 0 0 8px !important;
  font-size: clamp(18px, 1.8vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
}

.hvhb-room-card__title a {
  color: var(--hvhb-ink) !important;
  text-decoration: none !important;
}

.hvhb-room-card__title a:hover {
  color: var(--hvhb-gold) !important;
}

.hvhb-room-card__meta,
.hvhb-room-card__amenities {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 0 0 9px !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.hvhb-room-card__meta span,
.hvhb-room-card__amenities span,
.hvhb-room-hero-meta span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.hvhb-room-card__meta i,
.hvhb-room-card__amenities i,
.hvhb-room-hero-meta i {
  color: var(--hvhb-gold) !important;
  font-size: 11px !important;
}

.hvhb-room-card__footer {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--hvhb-line) !important;
}

.hvhb-room-card__price strong {
  display: block !important;
  margin: 1px 0 !important;
  color: var(--hvhb-ink) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.hvhb-room-card__price span {
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
}

.hvhb-room-card__actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.hvhb-room-card__actions .hvhb-btn {
  min-height: 36px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  font-size: 12px !important;
}

.hvhb-empty-state,
.hvhb-alert {
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 10px !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
}

.hvhb-empty-state strong,
.hvhb-alert strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--hvhb-ink) !important;
  font-size: 18px !important;
}


.hvhb-room-featured-cover {
  width: min(100%, 1240px) !important;
  margin: 0 auto 28px !important;
  padding: 0 22px !important;
}

.hvhb-room-featured-cover__image {
  display: block !important;
  width: 100% !important;
  height: clamp(320px, 46vh, 520px) !important;
  object-fit: cover !important;
  object-position: center !important;
  background: var(--hvhb-soft-2) !important;
  border-radius: 12px !important;
  box-shadow: var(--hvhb-shadow) !important;
}

.hvhb-room-hero-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  gap: 28px !important;
  align-items: end !important;
  margin: 0 0 30px !important;
  padding: 0 0 28px !important;
  border-bottom: 1px solid var(--hvhb-line) !important;
}

.hvhb-room-label-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.hvhb-room-label-row span {
  min-height: 26px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  font-size: 12px !important;
}

.hvhb-single-room-title {
  max-width: 760px !important;
  margin: 0 0 10px !important;
  color: var(--hvhb-ink) !important;
  font-size: clamp(30px, 4.1vw, 46px) !important;
  font-weight: 700 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
}

.hvhb-room-hero-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  color: var(--hvhb-muted) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.hvhb-room-hero-meta span {
  min-height: 28px !important;
  padding: 4px 9px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 999px !important;
}

.hvhb-room-hero-price {
  padding: 18px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
}

.hvhb-room-hero-price del {
  display: block !important;
  margin: 4px 0 0 !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
}

.hvhb-room-hero-price strong,
.hvhb-booking-card__head strong {
  display: block !important;
  margin: 4px 0 1px !important;
  color: var(--hvhb-ink) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

.hvhb-room-hero-price small,
.hvhb-booking-card__head small {
  display: block !important;
  margin: 0 0 12px !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
}

.hvhb-single-room-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 350px !important;
  gap: 34px !important;
  align-items: start !important;
}

.hvhb-single-room-main {
  min-width: 0 !important;
}

.hvhb-single-room-sidebar {
  position: sticky !important;
  top: 22px !important;
  min-width: 0 !important;
}

.hvhb-room-section {
  padding: 0 0 32px !important;
  margin: 0 0 32px !important;
  border-bottom: 1px solid var(--hvhb-line) !important;
}

.hvhb-room-section:last-child {
  margin-bottom: 0 !important;
}

.hvhb-room-section__head {
  max-width: 720px !important;
  margin: 0 0 16px !important;
}

.hvhb-room-section__head h2 {
  margin: 0 !important;
  color: var(--hvhb-ink) !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.018em !important;
}


.hvhb-room-slider {
  position: relative !important;
}

.hvhb-room-slider__viewport {
  position: relative !important;
  overflow: hidden !important;
  background: var(--hvhb-soft-2) !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
  touch-action: pan-y !important;
}

.hvhb-room-slider--content .hvhb-room-slider__viewport {
  height: clamp(290px, 36vw, 450px) !important;
}

.hvhb-room-slider__track {
  display: flex !important;
  height: 100% !important;
  transition: transform .45s ease !important;
  will-change: transform !important;
}

.hvhb-room-slider__slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  height: 100% !important;
}

.hvhb-room-slider__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.hvhb-room-slider__arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 50% !important;
  background: rgba(12,24,15,.65) !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
}

.hvhb-room-slider__arrow:hover {
  background: var(--hvhb-gold) !important;
}

.hvhb-room-slider__arrow--prev { left: 12px !important; }
.hvhb-room-slider__arrow--next { right: 12px !important; }

.hvhb-room-slider__counter {
  position: absolute !important;
  right: 12px !important;
  bottom: 12px !important;
  z-index: 4 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: rgba(12,24,15,.68) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.hvhb-room-slider__thumbs {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(64px, 86px) !important;
  gap: 8px !important;
  margin-top: 9px !important;
  padding-bottom: 4px !important;
  overflow-x: auto !important;
}

.hvhb-room-slider__thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: var(--hvhb-soft-2) !important;
  overflow: hidden !important;
  opacity: .72 !important;
  cursor: pointer !important;
}

.hvhb-room-slider__thumb.is-active,
.hvhb-room-slider__thumb:hover {
  opacity: 1 !important;
  border-color: var(--hvhb-gold) !important;
}

.hvhb-room-slider__thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}


.hvhb-room-spec-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.hvhb-room-spec-grid div,
.hvhb-room-policy-grid div {
  padding: 16px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
}

.hvhb-room-spec-grid div > i,
.hvhb-room-policy-grid div > i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-bottom: 8px !important;
  border-radius: 999px !important;
  background: var(--hvhb-gold-soft) !important;
  color: var(--hvhb-gold) !important;
  font-size: 13px !important;
}

.hvhb-room-spec-grid span {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.hvhb-room-spec-grid strong {
  display: block !important;
  color: var(--hvhb-ink) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

.hvhb-room-content-text {
  max-width: 820px !important;
  color: var(--hvhb-text) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.hvhb-room-content-text p,
.hvhb-room-content-text li {
  margin-bottom: 1em !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

.hvhb-room-content-text h1,
.hvhb-room-content-text h2,
.hvhb-room-content-text h3,
.hvhb-room-content-text h4 {
  margin: 1em 0 .55em !important;
  color: var(--hvhb-ink) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.hvhb-room-amenities-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.hvhb-room-amenities-list span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 11px 13px !important;
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 10px !important;
  color: var(--hvhb-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.hvhb-room-amenities-list i {
  color: var(--hvhb-gold) !important;
  font-size: 12px !important;
}

.hvhb-room-policy-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.hvhb-room-policy-grid strong {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--hvhb-ink) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.hvhb-room-policy-grid p {
  margin: 0 !important;
  color: var(--hvhb-muted) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}


.hvhb-booking-card {
  background: #fff !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--hvhb-shadow) !important;
  overflow: hidden !important;
}

.hvhb-booking-card__head {
  padding: 18px 18px 0 !important;
}

.hvhb-booking-form {
  display: grid !important;
  gap: 11px !important;
  padding: 14px 18px 18px !important;
}

.hvhb-booking-form__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.hvhb-booking-form__submit {
  margin-top: 2px !important;
}

.hvhb-booking-form__message {
  display: none;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  border: 1px solid var(--hvhb-line) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.hvhb-booking-form__message.is-success {
  display: block !important;
  background: rgba(36, 122, 89, .08) !important;
  border-color: rgba(36, 122, 89, .20) !important;
  color: var(--hvhb-success) !important;
}

.hvhb-booking-form__message.is-error {
  display: block !important;
  background: rgba(179, 65, 50, .08) !important;
  border-color: rgba(179, 65, 50, .20) !important;
  color: var(--hvhb-danger) !important;
}

.hvhb-booking-card__trust {
  display: grid !important;
  gap: 5px !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}


.hvhb-room-gallery { margin: 0 0 24px !important; }
.hvhb-room-gallery-main { aspect-ratio: 16 / 10 !important; overflow: hidden !important; background: var(--hvhb-soft-2) !important; border-radius: 10px !important; }
.hvhb-room-gallery-main-img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.hvhb-room-gallery-thumbs { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(58px, 1fr)) !important; gap: 8px !important; margin-top: 8px !important; }
.hvhb-room-gallery-thumb { padding: 0 !important; border: 1px solid transparent !important; border-radius: 7px !important; background: transparent !important; aspect-ratio: 1 / 1 !important; overflow: hidden !important; }
.hvhb-room-gallery-thumb.is-active { border-color: var(--hvhb-gold) !important; }
.hvhb-room-gallery-thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.hvhb-room-info-box { padding: 16px !important; background: #fff !important; border: 1px solid var(--hvhb-line) !important; border-radius: 10px !important; }
.hvhb-room-info-box h2 { margin: 0 0 12px !important; font-size: 20px !important; font-weight: 700 !important; }
.hvhb-room-info-list { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.hvhb-room-info-list span { padding: 7px 10px !important; background: var(--hvhb-soft) !important; border-radius: 999px !important; color: var(--hvhb-text) !important; font-size: 12px !important; }


@media (max-width: 1180px) {
  .hvhb-search-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .hvhb-search-form__submit { grid-column: 1 / -1 !important; }
  .hvhb-search-form__submit .hvhb-btn { width: 100% !important; min-height: 42px !important; }
  .hvhb-room-grid-wrap--cols-4 .hvhb-room-grid,
  .hvhb-room-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hvhb-room-hero-panel,
  .hvhb-single-room-layout { grid-template-columns: 1fr !important; }
  .hvhb-single-room-sidebar { position: static !important; }
  .hvhb-room-hero-price { max-width: 420px !important; }
}

@media (max-width: 820px) {
  .hvhb-single-room-page,
  .hvhb-room-archive-page { padding-bottom: 42px !important; }
  .hvhb-single-container { padding-left: 14px !important; padding-right: 14px !important; }
  .hvhb-room-breadcrumb { font-size: 11px !important; padding-top: 14px !important; }
  .hvhb-edit-room-link { margin-left: 0 !important; }

  .hvhb-search-hero,
  .hvhb-archive-hero { padding: 22px !important; margin-bottom: 24px !important; }
  .hvhb-search-hero__title,
  .hvhb-archive-hero h1 { font-size: clamp(24px, 7vw, 34px) !important; }
  .hvhb-search-hero__subtitle,
  .hvhb-archive-hero p { font-size: 13px !important; }
  .hvhb-search-form { grid-template-columns: 1fr !important; }

  .hvhb-room-grid,
  .hvhb-room-grid-wrap--cols-2 .hvhb-room-grid,
  .hvhb-room-grid-wrap--cols-3 .hvhb-room-grid,
  .hvhb-room-grid-wrap--cols-4 .hvhb-room-grid { grid-template-columns: 1fr !important; gap: 18px !important; }

  .hvhb-room-featured-cover { margin-bottom: 22px !important; padding-left: 14px !important; padding-right: 14px !important; }
  .hvhb-room-featured-cover__image { height: auto !important; aspect-ratio: 16 / 10 !important; max-height: 390px !important; border-radius: 10px !important; box-shadow: var(--hvhb-shadow-sm) !important; }

  .hvhb-room-hero-panel { gap: 18px !important; margin-bottom: 24px !important; padding-bottom: 24px !important; }
  .hvhb-single-room-title { font-size: clamp(26px, 8vw, 36px) !important; line-height: 1.18 !important; }
  .hvhb-room-hero-price { max-width: 100% !important; }
  .hvhb-room-hero-meta span { font-size: 12px !important; }

  .hvhb-single-room-layout { gap: 24px !important; }
  .hvhb-room-section { padding-bottom: 26px !important; margin-bottom: 26px !important; }
  .hvhb-room-section__head { margin-bottom: 13px !important; }
  .hvhb-room-section__head h2 { font-size: clamp(21px, 6vw, 27px) !important; }

  .hvhb-room-slider--content .hvhb-room-slider__viewport { height: auto !important; aspect-ratio: 16 / 10 !important; }
  .hvhb-room-slider__arrow { width: 32px !important; height: 32px !important; font-size: 12px !important; }
  .hvhb-room-slider__arrow--prev { left: 8px !important; }
  .hvhb-room-slider__arrow--next { right: 8px !important; }
  .hvhb-room-slider__counter { right: 8px !important; bottom: 8px !important; min-height: 26px !important; font-size: 10px !important; }
  .hvhb-room-slider__thumbs { grid-auto-columns: 58px !important; gap: 7px !important; }

  .hvhb-room-spec-grid,
  .hvhb-room-amenities-list,
  .hvhb-room-policy-grid { grid-template-columns: 1fr !important; gap: 9px !important; }
  .hvhb-room-spec-grid div,
  .hvhb-room-policy-grid div { padding: 14px !important; }
  .hvhb-room-spec-grid strong { font-size: 17px !important; }
  .hvhb-room-content-text,
  .hvhb-room-content-text p,
  .hvhb-room-content-text li { font-size: 14px !important; line-height: 1.7 !important; }

  .hvhb-booking-form__grid { grid-template-columns: 1fr !important; }
  .hvhb-booking-card__head { padding: 16px 16px 0 !important; }
  .hvhb-booking-form { padding: 13px 16px 16px !important; }

  .hvhb-room-card__footer,
  .hvhb-room-card__actions { align-items: stretch !important; flex-direction: column !important; }
  .hvhb-room-card__actions .hvhb-btn { width: 100% !important; }
}

@media (max-width: 520px) {
  .hvhb-single-container { padding-left: 12px !important; padding-right: 12px !important; }
  .hvhb-room-featured-cover { padding-left: 0 !important; padding-right: 0 !important; }
  .hvhb-room-featured-cover__image { border-radius: 0 !important; aspect-ratio: 4 / 3 !important; }

  .hvhb-single-room-title { font-size: clamp(24px, 8vw, 32px) !important; }
  .hvhb-room-label-row span,
  .hvhb-room-section__head span,
  .hvhb-booking-card__head span,
  .hvhb-room-hero-price span,
  .hvhb-search-form__field label,
  .hvhb-booking-form label span { font-size: 11px !important; }

  .hvhb-room-hero-price strong,
  .hvhb-booking-card__head strong { font-size: 22px !important; }
  .hvhb-room-card__title { font-size: 19px !important; }
  .hvhb-room-card__body { padding: 13px !important; }

  .hvhb-btn,
  .hvhb-single-room-page .hvhb-btn,
  .hvhb-room-archive-page .hvhb-btn,
  .hvhb-room-grid-wrap .hvhb-btn,
  .hvhb-search-hero .hvhb-btn,
  .hvhb-booking-card .hvhb-btn { min-height: 40px !important; padding-left: 13px !important; padding-right: 13px !important; font-size: 12px !important; }

  .hvhb-search-form input,
  .hvhb-search-form select,
  .hvhb-booking-form input,
  .hvhb-booking-form select,
  .hvhb-booking-form textarea { font-size: 14px !important; }
}


.hvhb-single-room-page,
.hvhb-room-archive-page,
.hvhb-room-grid-wrap,
.hvhb-search-hero,
.hvhb-room-card,
.hvhb-booking-card {
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-family: inherit !important;
}

.hvhb-single-room-page *,
.hvhb-room-archive-page *,
.hvhb-room-grid-wrap *,
.hvhb-search-hero *,
.hvhb-room-card *,
.hvhb-booking-card * {
  font-family: inherit !important;
}

.hvhb-btn,
.hvhb-single-room-page .hvhb-btn,
.hvhb-room-archive-page .hvhb-btn,
.hvhb-room-grid-wrap .hvhb-btn,
.hvhb-search-hero .hvhb-btn,
.hvhb-booking-card .hvhb-btn {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 5px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.hvhb-archive-clean-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 22px !important;
  padding: 22px 0 16px !important;
  border-bottom: 1px solid var(--hvhb-line) !important;
}

.hvhb-archive-clean-head span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 5px !important;
  color: var(--hvhb-gold) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.hvhb-archive-clean-head h1 {
  margin: 0 !important;
  color: var(--hvhb-ink) !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}

.hvhb-archive-clean-desc,
.hvhb-archive-clean-desc p {
  max-width: 720px !important;
  margin: 8px 0 0 !important;
  color: var(--hvhb-muted) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.hvhb-room-archive-page--clean .hvhb-room-card__body {
  padding: 13px !important;
}

.hvhb-room-archive-page--clean .hvhb-room-card__title {
  font-size: 18px !important;
  margin-bottom: 7px !important;
}

.hvhb-room-archive-page--clean .hvhb-room-card__footer {
  padding-top: 10px !important;
}

.hvhb-room-card__meta,
.hvhb-room-card__amenities,
.hvhb-room-hero-meta {
  font-size: 12px !important;
  gap: 6px !important;
}

.hvhb-room-card__price strong {
  font-size: 17px !important;
}

.hvhb-room-card__actions .hvhb-btn {
  min-height: 34px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 11.5px !important;
}

.hvhb-single-room-title {
  font-size: clamp(26px, 3.5vw, 38px) !important;
  line-height: 1.18 !important;
}

.hvhb-room-section__head h2 {
  font-size: clamp(20px, 2.1vw, 26px) !important;
  line-height: 1.28 !important;
}

.hvhb-room-section__head span,
.hvhb-room-label-row span,
.hvhb-booking-card__head span,
.hvhb-room-hero-price span,
.hvhb-room-card__price small {
  font-size: 11.5px !important;
}

.hvhb-room-hero-panel {
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 22px !important;
  margin-bottom: 26px !important;
  padding-bottom: 24px !important;
}

.hvhb-room-hero-price,
.hvhb-booking-card {
  border-radius: 10px !important;
}

.hvhb-room-hero-price strong,
.hvhb-booking-card__head strong {
  font-size: 21px !important;
}

.hvhb-single-room-layout {
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 28px !important;
}

.hvhb-room-section {
  padding-bottom: 26px !important;
  margin-bottom: 26px !important;
}

.hvhb-room-spec-grid strong,
.hvhb-room-policy-grid strong {
  font-size: 15px !important;
}

.hvhb-room-content-text,
.hvhb-room-content-text p,
.hvhb-room-content-text li,
.hvhb-room-policy-grid p {
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.hvhb-room-amenities-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.hvhb-room-amenities-list span {
  min-height: 40px !important;
  padding: 9px 11px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}

.hvhb-room-amenities-list i {
  min-width: 15px !important;
  text-align: center !important;
  font-size: 13px !important;
}

.hvhb-booking-card__head {
  padding: 15px 15px 0 !important;
}

.hvhb-booking-form {
  gap: 9px !important;
  padding: 12px 15px 15px !important;
}

.hvhb-search-form__field,
.hvhb-booking-form label {
  padding: 8px 10px 6px !important;
  border-radius: 7px !important;
}

.hvhb-search-form input,
.hvhb-search-form select,
.hvhb-booking-form input,
.hvhb-booking-form select,
.hvhb-booking-form textarea {
  min-height: 28px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.hvhb-booking-form textarea {
  min-height: 64px !important;
}

@media (max-width: 1180px) {
  .hvhb-room-hero-panel,
  .hvhb-single-room-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 820px) {
  .hvhb-archive-clean-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding-top: 18px !important;
  }

  .hvhb-archive-clean-head h1 {
    font-size: clamp(23px, 7vw, 30px) !important;
  }

  .hvhb-single-room-title {
    font-size: clamp(23px, 7vw, 31px) !important;
  }

  .hvhb-room-section__head h2 {
    font-size: clamp(19px, 5.5vw, 24px) !important;
  }

  .hvhb-room-amenities-list {
    grid-template-columns: 1fr !important;
  }

  .hvhb-room-card__footer,
  .hvhb-room-card__actions {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

@media (max-width: 520px) {
  .hvhb-room-card__title {
    font-size: 18px !important;
  }

  .hvhb-room-hero-price strong,
  .hvhb-booking-card__head strong {
    font-size: 20px !important;
  }

  .hvhb-search-form input,
  .hvhb-search-form select,
  .hvhb-booking-form input,
  .hvhb-booking-form select,
  .hvhb-booking-form textarea {
    font-size: 13px !important;
  }
}



.hvhb-room-card__amenities {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 14px) / 3) !important;
  grid-template-columns: none !important;
  grid-template-rows: 1fr !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: 7px !important;
  padding: 2px 0 8px !important;
  margin: 0 0 8px !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--hvhb-gold) transparent !important;
}

.hvhb-room-card__amenities::-webkit-scrollbar {
  height: 4px !important;
}

.hvhb-room-card__amenities::-webkit-scrollbar-track {
  background: transparent !important;
}

.hvhb-room-card__amenities::-webkit-scrollbar-thumb {
  background: var(--hvhb-gold) !important;
  border-radius: 999px !important;
}

.hvhb-room-card__amenities span {
  min-width: 0 !important;
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  height: 30px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: var(--hvhb-gold-soft) !important;
  border: 1px solid rgba(22, 128, 58, .18) !important;
  color: var(--hvhb-text) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  scroll-snap-align: start !important;
}

.hvhb-room-card__amenities i {
  color: var(--hvhb-gold) !important;
  font-size: 11px !important;
  width: 13px !important;
  min-width: 13px !important;
  text-align: center !important;
}

.hvhb-room-card__badge {
  background: var(--hvhb-gold) !important;
  color: #fff !important;
}

.hvhb-room-card__title a:hover,
.hvhb-room-card__edit:hover,
.hvhb-archive-clean-title a:hover {
  color: var(--hvhb-gold) !important;
}

@media (max-width: 640px) {
  .hvhb-room-card__amenities {
    grid-auto-columns: calc((100% - 12px) / 3) !important;
    gap: 6px !important;
  }

  .hvhb-room-card__amenities span {
    height: 28px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
  }
}


.hvhb-footer-cta,
.hvhb-footer-cta * {
  box-sizing: border-box !important;
  font-family: inherit !important;
}

.hvhb-footer-cta {
  --hvhb-footer-cta-green: #16803a;
  --hvhb-footer-cta-green-dark: #0f5f2b;
  --hvhb-footer-cta-dark: #0d1710;
  --hvhb-footer-cta-line: rgba(16, 33, 23, .14);
  width: 100% !important;
  color: #fff !important;
  line-height: 1.2 !important;
}

.hvhb-footer-cta--fixed {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 99998 !important;
  padding: 9px 14px calc(9px + env(safe-area-inset-bottom)) !important;
  background: rgba(255, 255, 255, .94) !important;
  border-top: 1px solid var(--hvhb-footer-cta-line) !important;
  box-shadow: 0 -10px 28px rgba(13, 23, 16, .12) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.hvhb-footer-cta--static {
  position: relative !important;
  z-index: 2 !important;
  padding: 14px 16px !important;
  background: #f5faf6 !important;
  border-top: 1px solid var(--hvhb-footer-cta-line) !important;
}

.hvhb-footer-cta__inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: min(100%, 780px) !important;
  max-width: 780px !important;
  margin: 0 auto !important;
}

.hvhb-footer-cta__btn,
.hvhb-footer-cta a.hvhb-footer-cta__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  margin: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: var(--hvhb-footer-cta-dark) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  outline: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease !important;
}

.hvhb-footer-cta__btn--schedule,
.hvhb-footer-cta a.hvhb-footer-cta__btn--schedule {
  background: var(--hvhb-footer-cta-green) !important;
  border-color: var(--hvhb-footer-cta-green) !important;
  color: #fff !important;
}

.hvhb-footer-cta__btn--consult,
.hvhb-footer-cta a.hvhb-footer-cta__btn--consult {
  background: #fff !important;
  border-color: var(--hvhb-footer-cta-green) !important;
  color: var(--hvhb-footer-cta-green) !important;
}

.hvhb-footer-cta__btn:hover,
.hvhb-footer-cta a.hvhb-footer-cta__btn:hover,
.hvhb-footer-cta__btn:focus,
.hvhb-footer-cta a.hvhb-footer-cta__btn:focus {
  transform: translateY(-1px) !important;
  background: var(--hvhb-footer-cta-green-dark) !important;
  border-color: var(--hvhb-footer-cta-green-dark) !important;
  color: #fff !important;
  text-decoration: none !important;
}

.hvhb-footer-cta__btn i,
.hvhb-footer-cta a.hvhb-footer-cta__btn i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  min-width: 14px !important;
  color: inherit !important;
  font-family: "Font Awesome 6 Free" !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.hvhb-footer-cta__btn span,
.hvhb-footer-cta a.hvhb-footer-cta__btn span {
  display: inline-block !important;
  overflow: hidden !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: 1 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 575px) {
  .hvhb-footer-cta--fixed {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  }

  .hvhb-footer-cta__inner {
    gap: 8px !important;
  }

  .hvhb-footer-cta__btn,
  .hvhb-footer-cta a.hvhb-footer-cta__btn {
    min-height: 42px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }
}


.hvhb-room-overview-section,
.hvhb-room-amenities-section {
  position: relative !important;
  overflow: hidden !important;
  padding: 22px !important;
  margin-bottom: 26px !important;
  border: 1px solid rgba(22, 128, 58, .13) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 0 0, rgba(22, 128, 58, .10), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,252,248,.96)) !important;
  box-shadow: 0 14px 34px rgba(10, 38, 21, .07) !important;
}

.hvhb-room-overview-section::before,
.hvhb-room-amenities-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #16803a, #35b466) !important;
  border-radius: 18px 0 0 18px !important;
}

.hvhb-room-overview-section .hvhb-room-section__head,
.hvhb-room-amenities-section .hvhb-room-section__head {
  max-width: 100% !important;
  margin-bottom: 18px !important;
}

.hvhb-room-overview-section .hvhb-room-section__head > span,
.hvhb-room-amenities-section .hvhb-room-section__head > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 26px !important;
  padding: 0 11px !important;
  margin: 0 0 9px !important;
  border-radius: 999px !important;
  background: rgba(22, 128, 58, .10) !important;
  color: #16803a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.hvhb-room-overview-section .hvhb-room-section__head h2,
.hvhb-room-amenities-section .hvhb-room-section__head h2 {
  max-width: 820px !important;
  font-size: clamp(22px, 2.4vw, 32px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}

.hvhb-room-spec-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.hvhb-room-spec-grid div {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-height: 128px !important;
  padding: 18px 17px 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(22, 128, 58, .13) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(10, 38, 21, .06) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.hvhb-room-spec-grid div::after {
  content: "" !important;
  position: absolute !important;
  right: -28px !important;
  top: -28px !important;
  width: 78px !important;
  height: 78px !important;
  border-radius: 50% !important;
  background: rgba(22, 128, 58, .08) !important;
}

.hvhb-room-spec-grid div:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(22, 128, 58, .28) !important;
  box-shadow: 0 16px 34px rgba(10, 38, 21, .10) !important;
}

.hvhb-room-spec-grid div > i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 0 14px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(22,128,58,.16), rgba(22,128,58,.07)) !important;
  color: #16803a !important;
  font-size: 16px !important;
}

.hvhb-room-spec-grid span {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--hvhb-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.hvhb-room-spec-grid strong {
  display: block !important;
  color: var(--hvhb-ink) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.hvhb-room-amenities-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.hvhb-room-amenities-list span {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 54px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(22, 128, 58, .13) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--hvhb-ink) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  box-shadow: 0 8px 22px rgba(10, 38, 21, .05) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

.hvhb-room-amenities-list span:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(22, 128, 58, .30) !important;
  background: #fbfffc !important;
}

.hvhb-room-amenities-list i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  background: rgba(22, 128, 58, .10) !important;
  color: #16803a !important;
  font-size: 14px !important;
}

.hvhb-single-room-sidebar--sticky {
  align-self: start !important;
}

@media (min-width: 1181px) {
  .hvhb-single-room-sidebar--sticky {
    position: sticky !important;
    top: 86px !important;
    z-index: 20 !important;
  }

  .admin-bar .hvhb-single-room-sidebar--sticky {
    top: 118px !important;
  }

  .hvhb-single-room-sidebar--sticky .hvhb-booking-card {
    max-height: calc(100vh - 110px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  .admin-bar .hvhb-single-room-sidebar--sticky .hvhb-booking-card {
    max-height: calc(100vh - 142px) !important;
  }
}

.hvhb-room-sticky-booking {
  display: none !important;
}

@media (max-width: 1180px) {
  .hvhb-room-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hvhb-room-amenities-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hvhb-room-sticky-booking {
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    bottom: calc(72px + env(safe-area-inset-bottom)) !important;
    z-index: 99980 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 64px !important;
    padding: 10px 10px 10px 14px !important;
    border: 1px solid rgba(22, 128, 58, .18) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 16px 46px rgba(10, 38, 21, .20) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  .hvhb-single-room-page {
    padding-bottom: 150px !important;
  }

  .hvhb-room-sticky-booking__price {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
  }

  .hvhb-room-sticky-booking__price span,
  .hvhb-room-sticky-booking__price small {
    display: block !important;
    color: var(--hvhb-muted) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
  }

  .hvhb-room-sticky-booking__price strong {
    display: block !important;
    color: var(--hvhb-ink) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  .hvhb-room-sticky-booking__btn,
  .hvhb-single-room-page .hvhb-room-sticky-booking__btn {
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    background: #16803a !important;
    border-color: #16803a !important;
    color: #fff !important;
    font-size: 13px !important;
    box-shadow: 0 8px 18px rgba(22, 128, 58, .24) !important;
  }
}

@media (max-width: 575px) {
  .hvhb-room-overview-section,
  .hvhb-room-amenities-section {
    padding: 17px !important;
    border-radius: 15px !important;
  }

  .hvhb-room-overview-section .hvhb-room-section__head h2,
  .hvhb-room-amenities-section .hvhb-room-section__head h2 {
    font-size: 21px !important;
  }

  .hvhb-room-spec-grid,
  .hvhb-room-amenities-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .hvhb-room-spec-grid div {
    min-height: auto !important;
    padding: 14px !important;
  }

  .hvhb-room-spec-grid div > i {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 10px !important;
  }

  .hvhb-room-spec-grid strong {
    font-size: 16px !important;
  }

  .hvhb-room-amenities-list span {
    min-height: 48px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
  }

  .hvhb-room-sticky-booking {
    left: 10px !important;
    right: 10px !important;
    min-height: 58px !important;
    padding: 8px 8px 8px 12px !important;
    border-radius: 15px !important;
  }

  .hvhb-room-sticky-booking__price strong {
    font-size: 16px !important;
  }

  .hvhb-room-sticky-booking__btn,
  .hvhb-single-room-page .hvhb-room-sticky-booking__btn {
    min-height: 40px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}


.hvhb-single-room-page {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

.hvhb-single-container,
.hvhb-single-room-layout,
.hvhb-single-room-main,
.hvhb-single-room-sidebar {
  overflow: visible !important;
}

.hvhb-single-room-layout {
  position: relative !important;
  align-items: flex-start !important;
}

.hvhb-single-room-sidebar,
.hvhb-single-room-sidebar--sticky {
  align-self: flex-start !important;
  height: auto !important;
  min-height: 1px !important;
}

@media (min-width: 1181px) {
  .hvhb-single-room-sidebar--sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 86px !important;
    z-index: 50 !important;
  }

  .admin-bar .hvhb-single-room-sidebar--sticky {
    top: 118px !important;
  }

  .hvhb-single-room-sidebar--sticky .hvhb-booking-card {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 86px !important;
    z-index: 51 !important;
    max-height: calc(100vh - 104px) !important;
    overflow-y: auto !important;
    scrollbar-width: thin !important;
    overscroll-behavior: contain !important;
  }

  .admin-bar .hvhb-single-room-sidebar--sticky .hvhb-booking-card {
    top: 118px !important;
    max-height: calc(100vh - 136px) !important;
  }
}

.hvhb-booking-card,
.hvhb-single-room-page .hvhb-booking-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(22, 128, 58, .16) !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 46px rgba(9, 32, 19, .12) !important;
}

.hvhb-booking-card::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 5px !important;
  background: linear-gradient(90deg, #16803a, #2dbd64, #88d66c) !important;
  z-index: 2 !important;
}

.hvhb-booking-card__head,
.hvhb-single-room-page .hvhb-booking-card__head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 20px 20px 14px !important;
  background:
    radial-gradient(circle at 100% 0, rgba(45, 189, 100, .18), transparent 38%),
    linear-gradient(180deg, #f7fff8, #ffffff) !important;
  border-bottom: 1px solid rgba(22, 128, 58, .10) !important;
}

.hvhb-booking-card__pricebox {
  min-width: 0 !important;
}

.hvhb-booking-card__eyebrow,
.hvhb-booking-card__head span.hvhb-booking-card__eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 8px !important;
  color: #16803a !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.hvhb-booking-card__head strong,
.hvhb-single-room-page .hvhb-booking-card__head strong {
  display: block !important;
  margin: 0 !important;
  color: #0b2012 !important;
  font-size: 28px !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}

.hvhb-booking-card__head small,
.hvhb-single-room-page .hvhb-booking-card__head small {
  display: block !important;
  margin: 4px 0 0 !important;
  color: #68766d !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.hvhb-booking-card__badge,
.hvhb-booking-card__head span.hvhb-booking-card__badge {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(22, 128, 58, .16) !important;
  border-radius: 999px !important;
  background: #eaf8ee !important;
  color: #16803a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.hvhb-booking-card__note {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 14px 16px 0 !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(22, 128, 58, .14) !important;
  border-radius: 14px !important;
  background: #f3fbf5 !important;
  color: #415247 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.hvhb-booking-card__note i {
  color: #16803a !important;
  margin-top: 2px !important;
}

.hvhb-booking-form,
.hvhb-single-room-page .hvhb-booking-form {
  display: grid !important;
  gap: 10px !important;
  padding: 14px 16px 17px !important;
  background: #fff !important;
}

.hvhb-booking-form__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.hvhb-booking-form label,
.hvhb-single-room-page .hvhb-booking-form label {
  position: relative !important;
  display: block !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(16, 33, 23, .12) !important;
  border-radius: 14px !important;
  background: #fbfdfb !important;
  box-shadow: 0 4px 14px rgba(9, 32, 19, .035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.hvhb-booking-form label:hover,
.hvhb-booking-form label:focus-within {
  border-color: rgba(22, 128, 58, .36) !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(22, 128, 58, .08) !important;
}

.hvhb-booking-form label span,
.hvhb-single-room-page .hvhb-booking-form label span {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 5px !important;
  color: #52705a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.hvhb-booking-form label span i {
  color: #16803a !important;
  font-size: 13px !important;
}

.hvhb-booking-form input,
.hvhb-booking-form select,
.hvhb-booking-form textarea,
.hvhb-single-room-page .hvhb-booking-form input,
.hvhb-single-room-page .hvhb-booking-form select,
.hvhb-single-room-page .hvhb-booking-form textarea {
  width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #142018 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  outline: none !important;
}

.hvhb-booking-form textarea,
.hvhb-single-room-page .hvhb-booking-form textarea {
  min-height: 68px !important;
  resize: vertical !important;
}

.hvhb-booking-form input::placeholder,
.hvhb-booking-form textarea::placeholder {
  color: rgba(20, 32, 24, .42) !important;
}

.hvhb-booking-form__submit,
.hvhb-single-room-page .hvhb-booking-form__submit {
  min-height: 48px !important;
  margin-top: 2px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #16803a, #24a857) !important;
  border: 0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 12px 24px rgba(22, 128, 58, .26) !important;
}

.hvhb-booking-form__submit:hover,
.hvhb-single-room-page .hvhb-booking-form__submit:hover {
  background: linear-gradient(135deg, #0f642c, #16803a) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(22, 128, 58, .32) !important;
}

.hvhb-booking-card__trust,
.hvhb-single-room-page .hvhb-booking-card__trust {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  margin-top: 2px !important;
  color: #50645a !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}

.hvhb-booking-card__trust span {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  background: #f4fbf5 !important;
}

.hvhb-booking-card__trust i {
  color: #16803a !important;
  font-size: 13px !important;
}

.hvhb-booking-card.is-hvhb-js-fixed {
  position: fixed !important;
  z-index: 99970 !important;
}

.hvhb-booking-card.is-hvhb-js-bottom {
  position: absolute !important;
  z-index: 50 !important;
}


.hvhb-room-overview-section,
.hvhb-room-amenities-section {
  padding: 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff, #f7fcf8) !important;
  border: 1px solid rgba(22, 128, 58, .14) !important;
  box-shadow: 0 14px 34px rgba(9, 32, 19, .06) !important;
}

.hvhb-room-overview-section .hvhb-room-section__head h2,
.hvhb-room-amenities-section .hvhb-room-section__head h2 {
  font-size: clamp(20px, 2vw, 27px) !important;
  line-height: 1.25 !important;
}

.hvhb-room-spec-grid {
  gap: 12px !important;
}

.hvhb-room-spec-grid div {
  min-height: 104px !important;
  padding: 14px !important;
  border-radius: 15px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,251,246,.96)) !important;
}

.hvhb-room-spec-grid div > i {
  width: 34px !important;
  height: 34px !important;
  margin-bottom: 9px !important;
  border-radius: 999px !important;
  background: #e7f7eb !important;
}

.hvhb-room-spec-grid strong {
  font-size: 16px !important;
  line-height: 1.28 !important;
}

.hvhb-room-amenities-list {
  gap: 10px !important;
}

.hvhb-room-amenities-list span {
  min-height: 46px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.hvhb-room-amenities-list i {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
}


@media (max-width: 1180px) {
  .hvhb-room-sticky-booking,
  .hvhb-single-room-page .hvhb-room-sticky-booking {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: calc(74px + env(safe-area-inset-bottom)) !important;
    z-index: 99990 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 62px !important;
    padding: 9px 9px 9px 14px !important;
    border: 1px solid rgba(22, 128, 58, .18) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .97) !important;
    box-shadow: 0 18px 46px rgba(9, 32, 19, .22) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .hvhb-room-sticky-booking__price strong {
    color: #0b2012 !important;
    font-size: 17px !important;
  }

  .hvhb-room-sticky-booking__btn,
  .hvhb-single-room-page .hvhb-room-sticky-booking__btn {
    min-height: 43px !important;
    padding: 0 17px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #16803a, #24a857) !important;
    border: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    box-shadow: 0 9px 20px rgba(22, 128, 58, .27) !important;
  }

  .hvhb-single-room-page {
    padding-bottom: 158px !important;
  }
}

@media (max-width: 575px) {
  .hvhb-booking-card,
  .hvhb-single-room-page .hvhb-booking-card {
    border-radius: 17px !important;
  }

  .hvhb-booking-card__head {
    padding: 18px 16px 13px !important;
  }

  .hvhb-booking-card__head strong {
    font-size: 25px !important;
  }

  .hvhb-booking-card__badge {
    display: none !important;
  }

  .hvhb-booking-form {
    padding: 13px 14px 15px !important;
  }

  .hvhb-booking-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .hvhb-booking-form label {
    padding: 9px 10px !important;
    border-radius: 12px !important;
  }

  .hvhb-booking-form input,
  .hvhb-booking-form select,
  .hvhb-booking-form textarea {
    font-size: 13.5px !important;
  }

  .hvhb-booking-form__submit {
    min-height: 45px !important;
    font-size: 13px !important;
  }

  .hvhb-room-sticky-booking,
  .hvhb-single-room-page .hvhb-room-sticky-booking {
    left: 9px !important;
    right: 9px !important;
    bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    min-height: 58px !important;
    padding: 8px 8px 8px 11px !important;
    border-radius: 16px !important;
  }

  .hvhb-room-sticky-booking__price span,
  .hvhb-room-sticky-booking__price small {
    font-size: 10px !important;
  }

  .hvhb-room-sticky-booking__price strong {
    font-size: 15px !important;
  }

  .hvhb-room-sticky-booking__btn,
  .hvhb-single-room-page .hvhb-room-sticky-booking__btn {
    min-height: 39px !important;
    padding: 0 13px !important;
    font-size: 12px !important;
  }
}


.hvhb-single-room-sidebar--sticky .hvhb-booking-card.is-hvhb-js-fixed {
  position: fixed !important;
  top: var(--hvhb-js-top, 86px) !important;
  left: var(--hvhb-js-left, auto) !important;
  right: auto !important;
  width: var(--hvhb-js-width, auto) !important;
  max-height: var(--hvhb-js-max-height, calc(100vh - 104px)) !important;
}

.hvhb-single-room-sidebar--sticky .hvhb-booking-card.is-hvhb-js-bottom {
  position: absolute !important;
  top: var(--hvhb-js-top, auto) !important;
  left: auto !important;
  right: 0 !important;
  width: var(--hvhb-js-width, auto) !important;
  max-height: var(--hvhb-js-max-height, calc(100vh - 104px)) !important;
}


.hvhb-search-hero,
.hvhb-room-archive-page .hvhb-search-hero,
.hvhb-room-grid-wrap .hvhb-search-hero {
  margin: 0 0 22px !important;
  padding: 20px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f3faf5 100%) !important;
  color: var(--hvhb-ink) !important;
  border: 1px solid rgba(22, 128, 58, .12) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(12, 24, 15, .06) !important;
  overflow: hidden !important;
}

.hvhb-search-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: linear-gradient(180deg, #16803a, #54b96d) !important;
  pointer-events: none !important;
}

.hvhb-search-hero__content {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 14px !important;
  padding-left: 2px !important;
}

.hvhb-search-hero__title,
.hvhb-room-archive-page .hvhb-search-hero__title,
.hvhb-room-grid-wrap .hvhb-search-hero__title {
  max-width: 680px !important;
  margin: 0 !important;
  color: var(--hvhb-ink) !important;
  font-size: clamp(20px, 2.1vw, 28px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -.015em !important;
}

.hvhb-search-hero__subtitle,
.hvhb-room-archive-page .hvhb-search-hero__subtitle,
.hvhb-room-grid-wrap .hvhb-search-hero__subtitle {
  max-width: 420px !important;
  margin: 0 !important;
  color: var(--hvhb-muted) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.hvhb-search-form,
.hvhb-room-archive-page .hvhb-search-form,
.hvhb-room-grid-wrap .hvhb-search-form {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(128px, 1fr)) minmax(132px, .72fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hvhb-search-form__field,
.hvhb-room-archive-page .hvhb-search-form__field,
.hvhb-room-grid-wrap .hvhb-search-form__field {
  min-height: 54px !important;
  padding: 8px 11px 7px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(16, 33, 23, .12) !important;
  border-radius: 11px !important;
  box-shadow: 0 4px 14px rgba(12, 24, 15, .035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.hvhb-search-form__field:hover,
.hvhb-room-archive-page .hvhb-search-form__field:hover,
.hvhb-room-grid-wrap .hvhb-search-form__field:hover,
.hvhb-search-form__field:focus-within,
.hvhb-room-archive-page .hvhb-search-form__field:focus-within,
.hvhb-room-grid-wrap .hvhb-search-form__field:focus-within {
  background: #fff !important;
  border-color: rgba(22, 128, 58, .38) !important;
  box-shadow: 0 0 0 3px rgba(22, 128, 58, .08) !important;
}

.hvhb-search-form__field label,
.hvhb-room-archive-page .hvhb-search-form__field label,
.hvhb-room-grid-wrap .hvhb-search-form__field label {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 0 5px !important;
  color: #466052 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.hvhb-search-form__field label i,
.hvhb-room-archive-page .hvhb-search-form__field label i,
.hvhb-room-grid-wrap .hvhb-search-form__field label i {
  color: var(--hvhb-gold) !important;
  font-size: 12px !important;
}

.hvhb-search-form input,
.hvhb-search-form select,
.hvhb-room-archive-page .hvhb-search-form input,
.hvhb-room-archive-page .hvhb-search-form select,
.hvhb-room-grid-wrap .hvhb-search-form input,
.hvhb-room-grid-wrap .hvhb-search-form select {
  min-height: 25px !important;
  height: 25px !important;
  padding: 0 !important;
  color: var(--hvhb-ink) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 25px !important;
}

.hvhb-search-form input::placeholder,
.hvhb-room-archive-page .hvhb-search-form input::placeholder,
.hvhb-room-grid-wrap .hvhb-search-form input::placeholder {
  color: rgba(16, 33, 23, .42) !important;
}

.hvhb-search-form__submit,
.hvhb-room-archive-page .hvhb-search-form__submit,
.hvhb-room-grid-wrap .hvhb-search-form__submit {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

.hvhb-search-form__submit .hvhb-btn,
.hvhb-search-hero .hvhb-search-form__submit .hvhb-btn,
.hvhb-room-archive-page .hvhb-search-form__submit .hvhb-btn,
.hvhb-room-grid-wrap .hvhb-search-form__submit .hvhb-btn {
  width: 100% !important;
  min-height: 54px !important;
  height: auto !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: #16803a !important;
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(22, 128, 58, .18) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.hvhb-search-form__submit .hvhb-btn:hover,
.hvhb-search-hero .hvhb-search-form__submit .hvhb-btn:hover {
  background: #0f6c2f !important;
  box-shadow: 0 11px 24px rgba(22, 128, 58, .24) !important;
  transform: translateY(-1px) !important;
}

.hvhb-trust-row,
.hvhb-room-archive-page .hvhb-trust-row,
.hvhb-room-grid-wrap .hvhb-trust-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  margin: 13px 0 0 !important;
  padding: 0 !important;
  color: #52685b !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.hvhb-trust-row span,
.hvhb-room-archive-page .hvhb-trust-row span,
.hvhb-room-grid-wrap .hvhb-trust-row span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.hvhb-trust-row i,
.hvhb-room-archive-page .hvhb-trust-row i,
.hvhb-room-grid-wrap .hvhb-trust-row i {
  color: var(--hvhb-gold) !important;
  font-size: 12px !important;
}

@media (max-width: 1180px) {
  .hvhb-search-form,
  .hvhb-room-archive-page .hvhb-search-form,
  .hvhb-room-grid-wrap .hvhb-search-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .hvhb-search-form__submit,
  .hvhb-room-archive-page .hvhb-search-form__submit,
  .hvhb-room-grid-wrap .hvhb-search-form__submit {
    grid-column: auto !important;
  }
}

@media (max-width: 820px) {
  .hvhb-search-hero,
  .hvhb-room-archive-page .hvhb-search-hero,
  .hvhb-room-grid-wrap .hvhb-search-hero {
    padding: 16px !important;
    border-radius: 14px !important;
    margin-bottom: 18px !important;
  }

  .hvhb-search-hero__content {
    display: block !important;
    margin-bottom: 12px !important;
  }

  .hvhb-search-hero__title,
  .hvhb-room-archive-page .hvhb-search-hero__title,
  .hvhb-room-grid-wrap .hvhb-search-hero__title {
    font-size: clamp(19px, 6vw, 24px) !important;
    line-height: 1.25 !important;
  }

  .hvhb-search-hero__subtitle,
  .hvhb-room-archive-page .hvhb-search-hero__subtitle,
  .hvhb-room-grid-wrap .hvhb-search-hero__subtitle {
    margin-top: 6px !important;
    font-size: 12.5px !important;
  }

  .hvhb-search-form,
  .hvhb-room-archive-page .hvhb-search-form,
  .hvhb-room-grid-wrap .hvhb-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .hvhb-search-form__submit,
  .hvhb-room-archive-page .hvhb-search-form__submit,
  .hvhb-room-grid-wrap .hvhb-search-form__submit {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px) {
  .hvhb-search-hero,
  .hvhb-room-archive-page .hvhb-search-hero,
  .hvhb-room-grid-wrap .hvhb-search-hero {
    padding: 13px !important;
    border-radius: 12px !important;
  }

  .hvhb-search-form,
  .hvhb-room-archive-page .hvhb-search-form,
  .hvhb-room-grid-wrap .hvhb-search-form {
    grid-template-columns: 1fr !important;
  }

  .hvhb-search-form__field,
  .hvhb-room-archive-page .hvhb-search-form__field,
  .hvhb-room-grid-wrap .hvhb-search-form__field,
  .hvhb-search-form__submit .hvhb-btn,
  .hvhb-search-hero .hvhb-search-form__submit .hvhb-btn {
    min-height: 50px !important;
    border-radius: 10px !important;
  }

  .hvhb-trust-row,
  .hvhb-room-archive-page .hvhb-trust-row,
  .hvhb-room-grid-wrap .hvhb-trust-row {
    gap: 7px 10px !important;
    font-size: 11.5px !important;
  }
}



.hvhb-search-hero .hvhb-search-form,
.hvhb-room-archive-page .hvhb-search-form,
.hvhb-room-grid-wrap .hvhb-search-form,
body .hvhb-search-hero form.hvhb-search-form {
  grid-template-columns: repeat(4, minmax(120px, 1fr)) minmax(128px, .68fr) !important;
  align-items: stretch !important;
}

.hvhb-search-hero .hvhb-search-form__field,
.hvhb-room-archive-page .hvhb-search-form__field,
.hvhb-room-grid-wrap .hvhb-search-form__field {
  min-height: 52px !important;
  padding-top: 8px !important;
  padding-bottom: 7px !important;
}

.hvhb-search-hero .hvhb-search-form__field label,
.hvhb-room-archive-page .hvhb-search-form__field label,
.hvhb-room-grid-wrap .hvhb-search-form__field label {
  font-size: 11px !important;
  margin-bottom: 4px !important;
}

body .hvhb-search-hero .hvhb-search-form input,
body .hvhb-search-hero .hvhb-search-form select,
body .hvhb-room-archive-page .hvhb-search-form input,
body .hvhb-room-archive-page .hvhb-search-form select,
body .hvhb-room-grid-wrap .hvhb-search-form input,
body .hvhb-room-grid-wrap .hvhb-search-form select {
  font-size: 13px !important;
  min-height: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
}


body .hvhb-btn,
body a.hvhb-btn,
body button.hvhb-btn,
body input.hvhb-btn,
body .hvhb-single-room-page .hvhb-btn,
body .hvhb-room-archive-page .hvhb-btn,
body .hvhb-room-grid-wrap .hvhb-btn,
body .hvhb-search-hero .hvhb-btn,
body .hvhb-booking-card .hvhb-btn,
body .hvhb-room-detail .hvhb-btn,
body .hvhb-room-card .hvhb-btn,
body .hvhb-footer-cta .hvhb-footer-cta__btn,
body .hvhb-room-sticky-booking__btn {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 15px !important;
  margin: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background-image: none !important;
  box-shadow: none !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  text-shadow: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

body .hvhb-btn::before,
body .hvhb-btn::after,
body .hvhb-footer-cta__btn::before,
body .hvhb-footer-cta__btn::after,
body .hvhb-room-sticky-booking__btn::before,
body .hvhb-room-sticky-booking__btn::after {
  content: none !important;
  display: none !important;
}

body .hvhb-btn i,
body .hvhb-footer-cta__btn i,
body .hvhb-room-sticky-booking__btn i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: currentColor !important;
  font-size: 1em !important;
  line-height: 1 !important;
}

body .hvhb-btn-primary,
body a.hvhb-btn-primary,
body button.hvhb-btn-primary,
body .hvhb-search-hero .hvhb-btn-primary,
body .hvhb-booking-card .hvhb-btn-primary,
body .hvhb-room-card .hvhb-btn-primary {
  background: #16803a !important;
  border-color: #16803a !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(22, 128, 58, .18) !important;
}

body .hvhb-btn-primary:hover,
body .hvhb-btn-primary:focus,
body a.hvhb-btn-primary:hover,
body button.hvhb-btn-primary:hover,
body .hvhb-search-hero .hvhb-btn-primary:hover,
body .hvhb-booking-card .hvhb-btn-primary:hover,
body .hvhb-room-card .hvhb-btn-primary:hover {
  background: #0f6c2f !important;
  border-color: #0f6c2f !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(22, 128, 58, .24) !important;
}

body .hvhb-btn-outline,
body a.hvhb-btn-outline,
body button.hvhb-btn-outline,
body .hvhb-room-card .hvhb-btn-outline,
body .hvhb-single-room-page .hvhb-btn-outline {
  background: #fff !important;
  border-color: rgba(15, 33, 24, .14) !important;
  color: #102117 !important;
  box-shadow: none !important;
}

body .hvhb-btn-outline:hover,
body .hvhb-btn-outline:focus,
body a.hvhb-btn-outline:hover,
body button.hvhb-btn-outline:hover,
body .hvhb-room-card .hvhb-btn-outline:hover,
body .hvhb-single-room-page .hvhb-btn-outline:hover {
  background: #eaf5ed !important;
  border-color: rgba(22, 128, 58, .28) !important;
  color: #0f6c2f !important;
  transform: translateY(-1px) !important;
}

body .hvhb-search-form__submit .hvhb-btn,
body .hvhb-search-hero .hvhb-search-form__submit button.hvhb-btn,
body .hvhb-search-hero form.hvhb-search-form .hvhb-search-form__submit .hvhb-btn {
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 15px !important;
  border-radius: 11px !important;
  background: #16803a !important;
  border-color: #16803a !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: 0 9px 20px rgba(22, 128, 58, .18) !important;
}

body .hvhb-room-card__actions .hvhb-btn {
  min-height: 38px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}

body .hvhb-booking-form__submit,
body .hvhb-booking-card button.hvhb-booking-form__submit {
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 9px !important;
  background: #102117 !important;
  border-color: #102117 !important;
  color: #fff !important;
  font-size: 13px !important;
  box-shadow: 0 10px 22px rgba(16, 33, 23, .16) !important;
}

body .hvhb-booking-form__submit:hover,
body .hvhb-booking-card button.hvhb-booking-form__submit:hover {
  background: #16803a !important;
  border-color: #16803a !important;
  color: #fff !important;
}

body .hvhb-edit-room-link,
body a.hvhb-edit-room-link,
body .hvhb-room-card__edit,
body a.hvhb-room-card__edit {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(16, 33, 23, .12) !important;
  color: #102117 !important;
  box-shadow: 0 7px 18px rgba(12, 24, 15, .08) !important;
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

body .hvhb-edit-room-link:hover,
body a.hvhb-edit-room-link:hover,
body .hvhb-room-card__edit:hover,
body a.hvhb-room-card__edit:hover {
  background: #16803a !important;
  border-color: #16803a !important;
  color: #fff !important;
}

@media (max-width: 1180px) {
  .hvhb-search-hero .hvhb-search-form,
  .hvhb-room-archive-page .hvhb-search-form,
  .hvhb-room-grid-wrap .hvhb-search-form,
  body .hvhb-search-hero form.hvhb-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .hvhb-search-form__submit {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 520px) {
  .hvhb-search-hero .hvhb-search-form,
  .hvhb-room-archive-page .hvhb-search-form,
  .hvhb-room-grid-wrap .hvhb-search-form,
  body .hvhb-search-hero form.hvhb-search-form {
    grid-template-columns: 1fr !important;
  }

  body .hvhb-btn,
  body a.hvhb-btn,
  body button.hvhb-btn,
  body .hvhb-search-form__submit .hvhb-btn {
    min-height: 42px !important;
    font-size: 12px !important;
  }
}



.hvhb-room-slider__slide--video,
.hvhb-room-slider__video-frame {
  background: #06150b !important;
}

.hvhb-room-slider__video-frame {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.hvhb-room-slider__iframe,
.hvhb-room-slider__video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: #06150b !important;
}

.hvhb-room-slider__video {
  object-fit: contain !important;
}

.hvhb-room-slider__thumb--video {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #06150b !important;
  color: #fff !important;
}

.hvhb-room-slider__thumb--video img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: .55 !important;
}

.hvhb-room-slider__thumb--video span {
  position: relative !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: var(--hvhb-gold) !important;
  color: #fff !important;
  font-size: 11px !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.24) !important;
}

.hvhb-room-slider__thumb--video:not(:has(img))::before {
  content: "Video" !important;
  position: absolute !important;
  left: 7px !important;
  bottom: 5px !important;
  color: rgba(255,255,255,.8) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}


:root {
  --hvhb-ink: #18221c;
  --hvhb-text: #38453d;
  --hvhb-muted: #68736c;
  --hvhb-line: #d9e0db;
  --hvhb-soft: #f7f8f6;
  --hvhb-soft-2: #e6efe8;
  --hvhb-white: #fff;
  --hvhb-dark: #123321;
  --hvhb-gold: #176b3a;
  --hvhb-gold-soft: rgba(23,107,58,.11);
  --hvhb-radius: 10px;
  --hvhb-shadow: 0 8px 24px rgba(24,34,28,.07);
  --hvhb-shadow-sm: 0 3px 14px rgba(24,34,28,.055);
}
.hvhb-single-room-page,
.hvhb-room-archive-page,
.hvhb-room-grid-wrap,
.hvhb-search-hero,
.hvhb-room-card,
.hvhb-booking-card,
.hvhb-room-detail { font-size: 15px !important; line-height: 1.6 !important; text-rendering: optimizeLegibility; }
.hvhb-single-room-page :where(h1,h2,h3,h4,h5,h6),
.hvhb-room-archive-page :where(h1,h2,h3,h4,h5,h6),
.hvhb-room-grid-wrap :where(h1,h2,h3,h4,h5,h6) {
  font-weight: 700 !important;
  letter-spacing: -.018em !important;
  text-wrap: balance;
}
.hvhb-single-room-page :where(a,button,input,select,textarea):focus-visible,
.hvhb-room-archive-page :where(a,button,input,select,textarea):focus-visible,
.hvhb-room-grid-wrap :where(a,button,input,select,textarea):focus-visible {
  outline: 3px solid rgba(23,107,58,.22) !important;
  outline-offset: 2px !important;
}


.hvhb-btn,
.hvhb-single-room-page .hvhb-btn,
.hvhb-room-archive-page .hvhb-btn,
.hvhb-room-grid-wrap .hvhb-btn,
.hvhb-search-hero .hvhb-btn,
.hvhb-booking-card .hvhb-btn,
.hvhb-room-detail .hvhb-btn {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease !important;
}
.hvhb-btn-primary { background: var(--hvhb-dark) !important; border-color: var(--hvhb-dark) !important; }
.hvhb-btn-primary:hover { background: var(--hvhb-gold) !important; border-color: var(--hvhb-gold) !important; transform: none !important; }
.hvhb-btn-outline:hover { background: var(--hvhb-soft) !important; border-color: #b9c5bd !important; color: var(--hvhb-ink) !important; }


.hvhb-single-room-page,
.hvhb-room-archive-page { background: #fff !important; }
.hvhb-archive-hero,
.hvhb-archive-clean-head {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--hvhb-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hvhb-archive-clean-title,
.hvhb-archive-hero h1 { font-size: clamp(28px,3.2vw,42px) !important; line-height: 1.12 !important; }
.hvhb-search-hero {
  margin-bottom: 28px !important;
  padding: 22px !important;
  background: var(--hvhb-soft) !important;
  color: var(--hvhb-ink) !important;
  border: 1px solid var(--hvhb-line) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.hvhb-search-hero__title { color: var(--hvhb-ink) !important; font-size: clamp(22px,2.6vw,31px) !important; line-height: 1.2 !important; }
.hvhb-search-hero__subtitle { color: var(--hvhb-muted) !important; line-height: 1.55 !important; }
.hvhb-search-form__field,
.hvhb-booking-form label { padding: 9px 11px !important; border-radius: 7px !important; }
.hvhb-search-form__submit { border-radius: 7px !important; }
.hvhb-trust-row { border-top: 1px solid var(--hvhb-line) !important; }


.hvhb-room-grid { gap: 20px !important; }
.hvhb-room-card {
  border-radius: 14px !important;
  border-color: var(--hvhb-line) !important;
  box-shadow: var(--hvhb-shadow-sm) !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}
.hvhb-room-card:hover { transform: none !important; border-color: #bac6bd !important; box-shadow: var(--hvhb-shadow) !important; }
.hvhb-room-card__image img { transition: none !important; }
.hvhb-room-card:hover .hvhb-room-card__image img { transform: none !important; }
.hvhb-room-card__body { padding: 16px !important; }
.hvhb-room-card__title { font-size: clamp(18px,1.55vw,21px) !important; line-height: 1.28 !important; font-weight: 700 !important; }
.hvhb-room-card__meta { font-size: 12.5px !important; font-weight: 600 !important; }
.hvhb-room-card__badge,
.hvhb-room-card__edit,
.hvhb-edit-room-link {
  min-height: 28px !important;
  padding: 0 9px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(24,34,28,.08) !important;
}


.hvhb-room-card__amenities {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain !important;
  scroll-snap-type: inline proximity !important;
  scrollbar-width: thin !important;
  scrollbar-color: #c5cec8 transparent !important;
  padding: 1px 0 8px !important;
  margin-bottom: 12px !important;
}
.hvhb-room-card__amenities::-webkit-scrollbar { height: 5px; }
.hvhb-room-card__amenities::-webkit-scrollbar-thumb { background: #c5cec8; border-radius: 10px; }
.hvhb-room-card__amenities > * {
  flex: 0 0 auto !important;
  scroll-snap-align: start !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border: 1px solid #d7e2da !important;
  border-radius: 6px !important;
  background: #f1f6f2 !important;
  color: var(--hvhb-text) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
.hvhb-room-card__footer { padding-top: 12px !important; }
.hvhb-room-card__price strong { font-size: 21px !important; font-weight: 700 !important; }
.hvhb-room-card__actions { gap: 7px !important; }


.hvhb-room-featured-cover,
.hvhb-room-gallery-main,
.hvhb-room-slider__viewport { border-radius: 14px !important; }
.hvhb-single-room-title { font-size: clamp(31px,4.4vw,50px) !important; line-height: 1.08 !important; font-weight: 700 !important; letter-spacing: -.025em !important; }
.hvhb-room-hero-meta { gap: 8px 16px !important; }
.hvhb-room-hero-meta > * {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}
.hvhb-single-room-layout { grid-template-columns: minmax(0,1fr) 340px !important; gap: 30px !important; }
.hvhb-room-section { padding: 25px 0 !important; }
.hvhb-room-section__head h2,
.hvhb-room-amenities-section h2,
.hvhb-room-overview-section h2 { font-size: clamp(22px,2.5vw,31px) !important; line-height: 1.2 !important; font-weight: 700 !important; }
.hvhb-room-info-box,
.hvhb-booking-card,
.hvhb-room-policy-grid > *,
.hvhb-room-spec-grid > * {
  border-radius: 10px !important;
  border-color: var(--hvhb-line) !important;
  box-shadow: none !important;
}
.hvhb-booking-card { padding: 20px !important; }
.hvhb-booking-card__pricebox { background: var(--hvhb-soft) !important; border-radius: 8px !important; }
.hvhb-room-slider__arrow { box-shadow: 0 2px 10px rgba(0,0,0,.15) !important; }


.hvhb-footer-cta--fixed {
  padding: 8px 12px !important;
  background: rgba(255,255,255,.98) !important;
  border-top: 1px solid var(--hvhb-line) !important;
  box-shadow: 0 -5px 18px rgba(24,34,28,.08) !important;
  backdrop-filter: none !important;
}
.hvhb-footer-cta__inner { width: min(640px,100%) !important; gap: 8px !important; }
.hvhb-footer-cta__btn { min-height: 44px !important; border-radius: 6px !important; }
.hvhb-footer-cta__btn--consult { background: #244b37 !important; }

@media (prefers-reduced-motion: reduce) {
  .hvhb-single-room-page *, .hvhb-room-archive-page *, .hvhb-room-grid-wrap * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@media (max-width: 767px) {
  .hvhb-search-hero { padding: 15px !important; border-radius: 10px !important; }
  .hvhb-room-card { border-radius: 10px !important; }
  .hvhb-room-card__body { padding: 14px !important; }
  .hvhb-room-card__title { font-size: 19px !important; }
  .hvhb-room-card__amenities > * { max-width: 82vw !important; }
  .hvhb-single-room-title { font-size: 31px !important; }
  .hvhb-room-section__head h2,
  .hvhb-room-amenities-section h2,
  .hvhb-room-overview-section h2 { font-size: 24px !important; }
  .hvhb-room-sticky-booking { border-top: 1px solid var(--hvhb-line) !important; box-shadow: 0 -4px 16px rgba(24,34,28,.08) !important; backdrop-filter: none !important; }
}



@media (max-width:549px){
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid{
    display:flex!important;grid-template-columns:none!important;gap:14px!important;overflow-x:auto!important;
    overflow-y:hidden;padding:2px 4px 14px!important;margin-left:-4px!important;margin-right:-4px!important;
    scroll-snap-type:x mandatory;scroll-padding-left:4px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;
  }
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid>.hvhb-room-card{
    flex:0 0 var(--hvhb-mobile-slide-width,84vw)!important;width:var(--hvhb-mobile-slide-width,84vw)!important;
    max-width:var(--hvhb-mobile-slide-width,84vw)!important;margin:0!important;scroll-snap-align:start;scroll-snap-stop:always;
  }
  .hvhb-mobile-slider--76{--hvhb-mobile-slide-width:76vw}.hvhb-mobile-slider--84{--hvhb-mobile-slide-width:84vw}.hvhb-mobile-slider--92{--hvhb-mobile-slide-width:92vw}
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid::-webkit-scrollbar{height:4px}
}



@media (max-width:549px){
  .hvtb-tour-grid-wrap.hvtb-mobile-slider,
  .hvhb-room-grid-wrap.hvhb-mobile-slider{min-width:0!important;max-width:100%!important;overflow:visible!important}
  .hvtb-tour-grid-wrap.hvtb-mobile-slider .hvtb-tour-grid,
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid{
    width:100%!important;max-width:100%!important;min-width:0!important;
    overscroll-behavior-x:contain!important;touch-action:pan-x pan-y!important;
    cursor:grab;user-select:none;-webkit-user-select:none;
    scrollbar-width:thin!important;scroll-behavior:smooth;
  }
  .hvtb-tour-grid-wrap.hvtb-mobile-slider .hvtb-tour-grid.is-dragging,
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid.is-dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto!important}
  .hvtb-tour-grid-wrap.hvtb-mobile-slider .hvtb-tour-grid img,
  .hvhb-room-grid-wrap.hvhb-mobile-slider .hvhb-room-grid img{pointer-events:none;-webkit-user-drag:none;user-drag:none}
}
\n\n\n.hvhb-room-grid{gap:18px!important}\n.hvhb-room-card{border-radius:12px!important;box-shadow:0 5px 18px rgba(18,42,28,.07)!important}\n.hvhb-room-card__image{aspect-ratio:16/9!important;min-height:0!important}\n.hvhb-room-card__body{padding:14px!important}\n.hvhb-room-card__title{margin:0 0 8px!important;font-size:18px!important;line-height:1.3!important}\n.hvhb-room-card__meta{margin-bottom:9px!important;font-size:12px!important;gap:6px 11px!important}\n.hvhb-room-card__amenities{margin-bottom:9px!important;padding-bottom:4px!important}\n.hvhb-room-card__amenities>*{min-height:30px!important;padding:5px 9px!important;font-size:11.5px!important}\n.hvhb-room-card__footer{padding-top:10px!important;gap:10px!important}\n.hvhb-room-card__price strong{font-size:19px!important}\n.hvhb-room-card__actions .hvhb-btn{min-height:38px!important;border-radius:7px!important;padding:0 13px!important;font-size:12.5px!important;font-weight:700!important;box-shadow:none!important}\n.hvhb-room-card__actions .hvhb-btn-outline{background:#eef5f8!important;border:1px solid #cbdde5!important;color:#15516a!important}\n.hvhb-room-card__actions .hvhb-btn-outline:hover{background:#deedf3!important;border-color:#a9cbd8!important;color:#103f53!important}\n.hvhb-room-card__actions .hvhb-btn-primary{background:#12759a!important;border:1px solid #12759a!important;color:#fff!important;box-shadow:0 5px 12px rgba(18,117,154,.2)!important}\n.hvhb-room-card__actions .hvhb-btn-primary:hover{background:#0d607f!important;border-color:#0d607f!important;color:#fff!important;transform:translateY(-1px)}\n.hvhb-room-card__actions .hvhb-btn:focus-visible{outline:3px solid rgba(18,117,154,.25)!important;outline-offset:2px!important}\n@media(max-width:549px){.hvhb-room-card__body{padding:13px!important}.hvhb-room-card__title{font-size:17px!important}.hvhb-room-card__footer{align-items:flex-end!important}.hvhb-room-card__actions .hvhb-btn{padding:0 11px!important}}\n

.hvhb-room-grid-wrap{background:#fff!important}
.hvhb-room-card--portrait-overlay{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.hvhb-room-card--portrait-overlay:hover{transform:none!important;box-shadow:none!important}
.hvhb-room-card__portrait-link{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:520px!important;
  overflow:hidden!important;
  background:#162019!important;
  color:#fff!important;
  text-decoration:none!important;
  isolation:isolate!important;
}
.hvhb-room-card__portrait-media,
.hvhb-room-card__portrait-media img,
.hvhb-room-card__portrait-shade{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important}
.hvhb-room-card__portrait-media img{object-fit:cover!important;transition:transform .7s cubic-bezier(.22,.61,.36,1)!important}
.hvhb-room-card--portrait-overlay:hover .hvhb-room-card__portrait-media img{transform:scale(1.035)!important}
.hvhb-room-card__portrait-shade{z-index:1!important;background:linear-gradient(180deg,rgba(5,10,8,.04) 15%,rgba(5,10,8,.18) 44%,rgba(5,10,8,.9) 100%)!important}
.hvhb-room-card__portrait-duration{position:absolute!important;z-index:2!important;top:24px!important;right:24px!important;color:#fff!important;font-size:12px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;text-shadow:0 2px 8px rgba(0,0,0,.35)!important}
.hvhb-room-card__portrait-content{position:absolute!important;z-index:2!important;left:30px!important;right:30px!important;bottom:28px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;color:#fff!important}
.hvhb-room-card__portrait-location{margin-bottom:10px!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.09em!important}
.hvhb-room-card__portrait-title{display:block!important;max-width:96%!important;color:#fff!important;font-size:clamp(20px,1.55vw,27px)!important;line-height:1.22!important;font-weight:800!important;letter-spacing:.045em!important;text-transform:uppercase!important;text-shadow:0 2px 14px rgba(0,0,0,.28)!important}
.hvhb-room-card__portrait-excerpt{margin-top:10px!important;color:rgba(255,255,255,.9)!important;font-size:14px!important;line-height:1.55!important}
.hvhb-room-card__portrait-price{margin-top:10px!important;color:#fff!important;font-size:14px!important;line-height:1.35!important;font-style:italic!important;font-weight:600!important}
.hvhb-room-card__portrait-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;margin-top:20px!important;padding:0 24px!important;border:1px solid rgba(255,255,255,.88)!important;background:rgba(8,14,11,.12)!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;backdrop-filter:blur(2px)!important;transition:background-color .2s ease,color .2s ease!important}
.hvhb-room-card--portrait-overlay:hover .hvhb-room-card__portrait-button{background:#fff!important;color:#172033!important}
.hvhb-room-card__edit--portrait{z-index:5!important;top:12px!important;left:12px!important;right:auto!important}
.hvhb-card-style--portrait_overlay .hvhb-room-card__portrait-link{aspect-ratio:3/4!important;min-height:0!important}
@media(max-width:849px){.hvhb-room-card__portrait-content{left:22px!important;right:22px!important;bottom:22px!important}.hvhb-room-card__portrait-duration{top:18px!important;right:18px!important}}
@media(max-width:549px){.hvhb-room-card__portrait-link{min-height:470px!important}.hvhb-room-card__portrait-title{font-size:21px!important}.hvhb-room-card__portrait-button{min-height:44px!important;padding:0 20px!important}}



.hvhb-card-style--portrait_overlay .hvhb-room-card--portrait-overlay{
  border-radius:var(--hvhb-luxury-radius,14px)!important;
  overflow:hidden!important;
}
.hvhb-card-style--portrait_overlay .hvhb-room-card__portrait-link{
  aspect-ratio:var(--hvhb-luxury-ratio,4 / 5)!important;
  min-height:0!important;
  border-radius:inherit!important;
}
.hvhb-room-card__portrait-title{
  display:-webkit-box!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3!important;
  max-height:3.66em!important;
}
.hvhb-room-card__portrait-excerpt{
  display:block!important;
  max-height:0!important;
  margin-top:0!important;
  overflow:hidden!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(8px)!important;
  transition:max-height .35s ease,margin-top .35s ease,opacity .25s ease,transform .35s ease,visibility 0s linear .35s!important;
}
.hvhb-room-card--portrait-overlay:hover .hvhb-room-card__portrait-excerpt,
.hvhb-room-card__portrait-link:focus-visible .hvhb-room-card__portrait-excerpt,
.hvhb-room-card--portrait-overlay:focus-within .hvhb-room-card__portrait-excerpt{
  max-height:3.2em!important;
  margin-top:9px!important;
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  transition-delay:0s!important;
}
@media(max-width:549px){
  .hvhb-card-style--portrait_overlay .hvhb-room-card__portrait-link{aspect-ratio:var(--hvhb-luxury-ratio,4 / 5)!important;min-height:0!important}
}
