/*
Theme Name: THEME HÙNG VŨ
Description: Theme by Vũ Đình Hùng
Author: https://www.facebook.com/vudinhhungth
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-Light.105a77d8.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Isolate the View All Offer button from other theme button rules. */
.hv-offer-card__view-all.Button_button__OFOdO {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  box-sizing: border-box !important;
}

.hv-offer-card__view-all.Button_button__OFOdO .Button_hiddenText__Z5fCB,
.hv-offer-card__view-all.Button_button__OFOdO .Button_displayText__wvSPk {
  display: block !important;
  margin: 0 !important;
  line-height: 1 !important;
  transition: transform .35s ease, opacity .35s ease !important;
}

.hv-offer-card__view-all.Button_button__OFOdO .Button_hiddenText__Z5fCB {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  text-align: center !important;
  opacity: 0 !important;
  transform: translate(-50%, -170%) !important;
}

.hv-offer-card__view-all.Button_button__OFOdO .Button_displayText__wvSPk {
  position: relative !important;
  transform: translateY(0) !important;
}

.hv-offer-card__view-all.Button_button__OFOdO:hover .Button_hiddenText__Z5fCB {
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
}

.hv-offer-card__view-all.Button_button__OFOdO:hover .Button_displayText__wvSPk {
  opacity: 0 !important;
  transform: translateY(120%) !important;
}

.hv-offer-card__view-all.Button_button__OFOdO:hover {
  border-color: #18130e !important;
  background: #18130e !important;
  color: #f7eedf !important;
}

.hv-offer-card__view-all.Button_button__OFOdO,
.hv-offer-card__view-all.Button_button__OFOdO .Button_hiddenText__Z5fCB,
.hv-offer-card__view-all.Button_button__OFOdO .Button_displayText__wvSPk {
  color: #18130e !important;
}

.hv-offer-card__view-all.Button_button__OFOdO:hover .Button_hiddenText__Z5fCB,
.hv-offer-card__view-all.Button_button__OFOdO:hover .Button_displayText__wvSPk {
  color: #fff !important;
}
@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-Regular.8eb19258.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-Medium.e0e82f1d.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-Bold.468135db.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-Black.b04f1fb4.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Brandon Text";
    src: url("./fonts/BrandonText-RegularItalic.4d993cd7.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "UTM Times";
    src: url("./fonts/UTM Times-Regular.eea02c7d.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


body, #masthead ul li a, h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a, li.tab.has-icon a {font-family: 'Brandon Text' !important;}
/* Thiết lập cho slider toàn site */
.slider {
  --hv-color: #fff;
  --hv-edge: 28px;
  --hv-bottom: 18px;
  --hv-button: 44px;
  --hv-gap: 26px;
  --hv-arrow: 26px;
  --hv-font: 13px;
}

/* Nút điều hướng */
.slider > .flickity-prev-next-button {
  display: block !important;
  position: absolute !important;
  top: auto !important;
  bottom: var(--hv-bottom) !important;
  width: var(--hv-button) !important;
  height: var(--hv-button) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 20;
}

.slider > .flickity-prev-next-button.next {
  left: auto !important;
  right: var(--hv-edge) !important;
}

.slider > .flickity-prev-next-button.previous {
  left: auto !important;
  right: calc(
    var(--hv-edge) + var(--hv-button) + var(--hv-gap)
  ) !important;
}

/* Ẩn icon mặc định */
.slider > .flickity-prev-next-button svg {
  display: none !important;
}

/* Mũi tên nhỏ, nét mảnh */
.slider > .flickity-prev-next-button::before {
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--hv-arrow);
  height: 18px;
  border: 0;
  background: var(--hv-color);

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M28 10H2M10 2L2 10l8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Cpath d='M28 10H2M10 2L2 10l8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;

  transform: translate(-50%, -50%);
}

.slider > .flickity-prev-next-button.next::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.slider > .flickity-prev-next-button::after {
  content: none !important;
}

.slider > .flickity-prev-next-button:hover {
  opacity: .65 !important;
}

.slider > .flickity-prev-next-button:disabled {
  opacity: .3 !important;
}

.slider > .flickity-prev-next-button:focus-visible {
  outline: 1px solid var(--hv-color);
  outline-offset: 2px;
}

/* Bộ đếm: slide hiện tại / tổng số */
.slider > .flickity-page-dots {
  counter-reset: hvslide !important;
  position: absolute !important;
  display: flex !important;
  align-items: center;
  gap: 0;

  top: auto !important;
  right: auto !important;
  bottom: calc(
    var(--hv-bottom) + (var(--hv-button) - 20px) / 2
  ) !important;
  left: var(--hv-edge) !important;

  width: auto !important;
  height: 20px;
  margin: 0 !important;
  padding: 0 !important;

  color: var(--hv-color) !important;
  font: 400 var(--hv-font)/20px Arial, sans-serif;
  letter-spacing: .8px;
  font-variant-numeric: tabular-nums;
  text-align: left;
  list-style: none;
  transform: none !important;
  pointer-events: none;
  z-index: 20;
}

/* Ẩn toàn bộ hình chấm, giữ lại để đếm */
.slider > .flickity-page-dots .dot {
  counter-increment: hvslide !important;
  position: absolute !important;
  display: block !important;

  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0 !important;
  transform: none !important;
}

.slider > .flickity-page-dots .dot::before,
.slider > .flickity-page-dots .dot::after,
.slider > .flickity-page-dots::before {
  content: none !important;
}

/* Số của slide đang chọn */
.slider > .flickity-page-dots .dot.is-selected {
  position: static !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
}

.slider > .flickity-page-dots .dot.is-selected::before {
  content: counter(hvslide, decimal-leading-zero) !important;
  position: static;
  color: inherit;
  font: inherit;
}

/* Tổng số slide */
.slider > .flickity-page-dots::after {
  content: " / " counter(hvslide, decimal-leading-zero) !important;
  white-space: pre;
  order: 1;
}

/* Điện thoại */
@media (max-width: 549px) {
  .slider {
    --hv-edge: 16px;
    --hv-bottom: 10px;
    --hv-button: 40px;
    --hv-gap: 12px;
    --hv-arrow: 22px;
    --hv-font: 12px;
  }
}

/* Keep the Stories page heading centered above Flatsome's archive styles. */
body .hv-stories-grid-wrap > .hv-stories-latest-heading {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 50px !important;
  padding: 50px 0 0 !important;
  text-align: center !important;
}

body .hv-stories-grid-wrap > .hv-stories-latest-heading > span {
  display: block !important;
  flex: 1 1 0 !important;
  width: auto !important;
  height: 1px !important;
  margin: 0 !important;
}

body .hv-stories-grid-wrap > .hv-stories-latest-heading > h2 {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #f7eedf !important;
  font-family: 'UTM Times', Georgia, serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Flatsome can force light text on transparent-header templates; the offer
 * detail content uses a light background and therefore needs dark text. */
.hv-single-offer__content,
.hv-single-offer__content .rank-math-breadcrumb,
.hv-single-offer__content .rank-math-breadcrumb a,
.hv-single-offer__content .rank-math-breadcrumb span,
.hv-single-offer__body,
.hv-single-offer__body p,
.hv-single-offer__body li,
.hv-single-offer__body span,
.hv-single-offer__body strong,
.hv-single-offer__body em,
.hv-single-offer__body h1,
.hv-single-offer__body h2,
.hv-single-offer__body h3,
.hv-single-offer__body h4,
.hv-single-offer__body h5,
.hv-single-offer__body h6 {
  color: #18130e !important;
}

/* Keep the Offers reserve button animation identical to the ama-label button. */
.hv-offer-card__reserve.Button_button__OFOdO {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  min-height: 52px !important;
  padding: 0 28px !important;
}

.hv-offer-card__reserve.Button_button__OFOdO .Button_hiddenText__Z5fCB,
.hv-offer-card__reserve.Button_button__OFOdO .Button_displayText__wvSPk {
  display: block !important;
  margin: 0 !important;
  line-height: 1 !important;
  transition: transform .35s ease, opacity .35s ease !important;
}

.hv-offer-card__reserve.Button_button__OFOdO .Button_hiddenText__Z5fCB {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 100% !important;
  text-align: center !important;
  opacity: 0 !important;
  transform: translate(-50%, -170%) !important;
}

.hv-offer-card__reserve.Button_button__OFOdO .Button_displayText__wvSPk {
  position: relative !important;
  transform: translateY(0) !important;
}

.hv-offer-card__reserve.Button_button__OFOdO:hover .Button_hiddenText__Z5fCB {
  opacity: 1 !important;
  transform: translate(-50%, -50%) !important;
}

.hv-offer-card__reserve.Button_button__OFOdO:hover .Button_displayText__wvSPk {
  opacity: 0 !important;
  transform: translateY(120%) !important;
}

@media (max-width: 549px) {
  .hv-offer-card__reserve.Button_button__OFOdO {
    min-width: 126px !important;
    padding: 0 14px !important;
  }
}

/* Stories category archive */
.hv-stories-archive {
  background: #000;
  color: #f7eedf;
}

.hv-stories-latest-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: 100%;
  margin: 0 0 50px;
  color: #f7eedf;
}

.hv-stories-latest-heading > span {
  flex: 1 1 0;
  height: 1px;
  background: rgba(247, 238, 223, .55);
}

.hv-stories-latest-heading h2 {
  flex: 0 0 auto;
  margin: 0;
  color: #f7eedf;
  font: 400 30px/1.1 'UTM Times', Georgia, serif;
  white-space: nowrap;
}

.hv-stories-hero {
  position: relative;
  display: flex;
  min-height: min(590px, 72vh);
  align-items: flex-end;
  overflow: hidden;
  background: #28221d var(--hv-stories-hero-image) center/cover no-repeat;
}

.hv-stories-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, .18) 45%, rgba(0, 0, 0, .65));
}

.hv-stories-hero__content {
  position: relative;
  z-index: 1;
  width: min(1140px, calc(100% - 60px));
  margin: 0 auto;
  padding: 90px 0 42px;
  text-align: center;
}

.hv-stories-hero h1 {
  margin: 0 0 112px;
  color: #f7eedf;
  font: 400 48px/1.05 'UTM Times', Georgia, serif;
  text-transform: none;
}

.hv-stories-hero__topics {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}

.hv-stories-hero__topics a {
  display: inline-flex;
  align-items: center;
  color: #f7eedf;
  font: 500 13px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.hv-stories-hero__topics a + a::before {
  content: '|';
  margin: 0 15px;
  color: rgba(247, 238, 223, .65);
}

.hv-stories-hero__topics a:hover,
.hv-stories-hero__topics a.is-active {
  color: #b59662;
}

.hv-stories-hero__topics-mobile {
  display: none;
}

.hv-stories-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1140px, calc(100% - 60px));
  margin: 0 auto;
  padding: 34px 0 48px;
  color: #f7eedf;
  font: 500 14px/1.3 'Brandon Text', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hv-stories-toolbar__category,
.hv-stories-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 18px;
}

.hv-stories-category-dropdown {
  position: relative;
}

.hv-stories-category-dropdown summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  padding-right: 22px;
  cursor: pointer;
  list-style: none;
}

.hv-stories-category-dropdown summary::-webkit-details-marker {
  display: none;
}

.hv-stories-category-dropdown summary strong {
  color: #b59662;
  font-weight: 500;
  text-transform: uppercase;
}

.hv-stories-category-dropdown summary > span:last-child {
  display: none;
}

.hv-stories-category-dropdown summary::after,
.hv-stories-sort-dropdown summary::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-50%, -50%) rotate(90deg) scaleY(1.75);
  color: var(--primary-color, #b59662);
  font-size: 12px;
  pointer-events: none;
  z-index: 2;
  transition: all .25s cubic-bezier(.4, .25, .3, 1);
}

.hv-stories-category-dropdown__menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 14px);
  left: 0;
  display: flex;
  width: 240px;
  max-height: 320px;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  padding: 12px 0;
  background: #b59662;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
}

.hv-stories-category-dropdown__menu a {
  display: block;
  padding: 10px 14px;
  color: #f7eedf;
  font-size: 12px;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

.hv-stories-category-dropdown__menu a:hover,
.hv-stories-category-dropdown__menu a.is-active {
  background: rgba(0, 0, 0, .12);
  color: #f7eedf;
}

.hv-stories-sort-dropdown {
  position: relative;
}

.hv-stories-sort-dropdown summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 54px;
  padding-right: 22px;
  cursor: pointer;
  list-style: none;
}

.hv-stories-sort-dropdown summary::-webkit-details-marker {
  display: none;
}

.hv-stories-sort-dropdown summary > span:last-child {
  display: none;
}

.hv-stories-sort-dropdown__menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 28px);
  right: 0;
  display: flex;
  width: 140px;
  flex-direction: column;
  background: #b59662;
}

.hv-stories-sort-dropdown__menu a {
  display: block;
  padding: 10px 14px;
  color: #f7eedf;
  font-size: 12px;
  letter-spacing: 0;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.hv-stories-sort-dropdown__menu a:hover,
.hv-stories-sort-dropdown__menu a.is-active {
  background: rgba(0, 0, 0, .12);
}

.hv-stories-toolbar__category > span:last-of-type,
.hv-stories-toolbar__sort > span:last-of-type {
  color: #b59662;
  font-size: 18px;
  transform: translateY(-2px);
}

.hv-stories-toolbar strong {
  color: #b59662;
  font-weight: 500;
}

.hv-stories-toolbar a {
  color: #f7eedf;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-transform: none;
}

.hv-stories-grid-wrap {
  width: min(1140px, calc(100% - 60px));
  margin: 0 auto;
  padding: 0 0 100px;
}

.hv-stories-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 72px 28px;
}

.hv-story-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}

.hv-story-card__meta {
  order: 1;
}

.hv-story-card__image {
  order: 2;
  display: block;
  margin: 0 0 22px;
  overflow: hidden;
}

.hv-story-card__image img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .6s ease;
}

.hv-story-card__image:hover img {
  transform: scale(1.035);
}

.hv-story-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 18px;
  color: #b59662;
  font: 500 12px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hv-story-card h2 {
  order: 3;
}

.hv-story-card > p {
  order: 4;
}

.hv-story-card__more {
  order: 5;
}

.hv-story-card__meta time {
  color: #f7eedf;
  white-space: nowrap;
}

.hv-story-card h2 {
  margin: 0 0 16px;
  font: 400 24px/1.2 'UTM Times', Georgia, serif;
  text-align: left;
}

.hv-story-card h2 a {
  color: #f7eedf;
  font-family: 'UTM Times', Georgia, serif;
  text-decoration: none;
}

.hv-story-card > p {
  margin: 0 0 28px;
  color: rgba(247, 238, 223, .68);
  font: 400 16px/1.45 'Brandon Text', sans-serif;
  text-align: left;
}

.hv-story-card__more {
  display: inline-flex;
  align-items: center;
  color: #f7eedf;
  font: 500 14px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
}

.hv-story-card__more-label {
  position: relative;
  z-index: 2;
  padding-right: 20px;
  background: #000;
}

.hv-story-card__more svg {
  display: inline-block;
  position: relative;
  z-index: 1;
  margin-left: 0;
  width: 51px;
  height: 14px;
  transition: transform .35s ease;
  vertical-align: -3px;
}

.hv-story-card__more:hover svg {
  transform: translateX(-30px);
}

.hv-stories-pagination {
  margin-top: 70px;
  text-align: center;
}

.hv-stories-pagination ul {
  display: inline-flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hv-stories-pagination a,
.hv-stories-pagination span {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(247, 238, 223, .35);
  color: #f7eedf;
  text-decoration: none;
}

.hv-stories-pagination .current,
.hv-stories-pagination a:hover {
  border-color: #b59662;
  color: #b59662;
}

.hv-stories-load-more {
  display: block;
  margin: 70px auto 0;
  padding: 14px 34px;
  border: 1px solid rgba(247, 238, 223, .55);
  background: transparent;
  color: #f7eedf;
  cursor: pointer;
  font: inherit;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

.hv-stories-load-more:hover:not(:disabled) {
  background: #f7eedf;
  color: #1d1d1d;
}

.hv-stories-load-more:disabled {
  cursor: wait;
  opacity: .6;
}

.hv-stories-empty {
  min-height: 260px;
  color: rgba(247, 238, 223, .7);
  font-size: 18px;
  text-align: center;
}

/* Stories single post */
.hv-single-story {
  background: #fff;
  color: #18130e;
}

body.single-post .page-title.blog-featured-title.featured-title.no-overflow {
  display: none !important;
}

.hv-single-story__hero {
  min-height: min(620px, 72vh);
  background-position: center;
  background-size: cover;
}

.hv-single-story__content {
  width: 100%;
  margin: 0;
  padding: 34px 0 110px;
  background: #fff;
}

.hv-single-story__content-row,
.hv-single-offer__content-row {
  margin-bottom: 0;
}

.hv-single-story__breadcrumbs {
  color: rgba(24, 19, 14, .55);
  font: 600 11px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

.hv-single-story__breadcrumbs .rank-math-breadcrumb,
.hv-single-story__breadcrumbs .rank-math-breadcrumb p {
  margin: 0;
}

.hv-single-story__breadcrumbs a,
.hv-single-story__breadcrumbs span,
.hv-single-story__breadcrumbs * {
  color: rgba(24, 19, 14, .55) !important;
  text-decoration: none;
}

.hv-single-story__header {
  margin: 72px auto 62px;
  text-align: center;
}

.hv-single-story__header h1 {
  max-width: 850px;
  margin: 0 auto 20px;
  color: #18130e !important;
  font: 400 48px/1.08 'Brandon Text', sans-serif;
  text-align: center;
}

.hv-single-story__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: rgba(24, 19, 14, .62) !important;
  font: 500 12px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hv-single-story__reading-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
}

.hv-single-story__body {
  color: #18130e !important;
  font: 400 17px/1.65 'Brandon Text', sans-serif;
}

.hv-single-story__body p,
.hv-single-story__body li,
.hv-single-story__body span,
.hv-single-story__body strong,
.hv-single-story__body em,
.hv-single-story__body h1,
.hv-single-story__body h2,
.hv-single-story__body h3,
.hv-single-story__body h4,
.hv-single-story__body h5,
.hv-single-story__body h6 {
  color: #18130e !important;
}

.hv-single-story__body h2,
.hv-single-story__body h3,
.hv-single-story__body h4 {
  margin: 48px 0 18px;
  font-family: 'UTM Times', Georgia, serif !important;
  line-height: 1.15;
}

.hv-single-story__body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 42px auto;
}

.hv-single-story__tags,
.hv-single-story__share {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 54px;
  color: rgba(24, 19, 14, .62);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hv-single-story__tags a {
  color: #18130e;
}

.hv-single-story__share a {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(24, 19, 14, .3);
  border-radius: 50%;
  color: #18130e;
  text-decoration: none;
}

.hv-single-story__share-block {
  width: 100%;
  margin-left: 0;
  margin-top: 82px;
}

body.single-post .hv-single-story .hv-single-story__section-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

body.single-post .hv-single-story .hv-single-story__section-heading > span {
  display: block !important;
  flex: 1 1 0 !important;
  width: auto !important;
  height: 1px !important;
  min-width: 0 !important;
  background: rgba(24, 19, 14, .16) !important;
}

body.single-post .hv-single-story .hv-single-story__section-heading > h2 {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  color: #2c2722 !important;
  font-family: 'UTM Times', Georgia, serif !important;
  font-size: 30 px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.hv-single-story__share {
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
}

.hv-single-story__share a {
  width: 64px;
  height: 64px;
  border: 0;
  background: #2c2722;
  color: #f7eedf !important;
  font: 700 30px/1 'Brandon Text', sans-serif;
  text-transform: none;
}

.hv-single-story__latest {
  width: 100%;
  margin-left: 0;
  margin-top: 145px;
}

body.single-post .hv-single-story .hv-single-story__latest .hv-single-story__section-heading > h2 {
  font-size: 28px !important;
}

.hv-single-story__latest-grid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 50px;
}

.hv-single-story__latest-card {
  min-width: 0;
  margin-bottom: 48px;
}

body.single-post .hv-single-story__latest .hv-story-card__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 15px !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  color: rgba(24, 19, 14, .62) !important;
  font: 500 12px/1.2 'Brandon Text', sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.single-post .hv-single-story__latest .hv-story-card__meta time {
  color: rgba(24, 19, 14, .62) !important;
}

body.single-post .hv-single-story__latest .hv-story-card__meta span {
  color: #b59662 !important;
}

body.single-post .hv-single-story__latest .hv-story-card__image {
  margin-bottom: 22px !important;
}

body.single-post .hv-single-story__latest .hv-story-card h2 {
  margin: 0 0 16px !important;
  color: #18130e !important;
  font: 400 24px/1.2 'UTM Times', Georgia, serif !important;
  text-align: left !important;
}

body.single-post .hv-single-story__latest .hv-story-card h2 a {
  color: #18130e !important;
  font-family: 'UTM Times', Georgia, serif !important;
  text-decoration: none !important;
}

body.single-post .hv-single-story__latest .hv-story-card > p {
  margin: 0 0 28px !important;
  color: rgba(24, 19, 14, .68) !important;
  font: 400 16px/1.45 'Brandon Text', sans-serif !important;
  text-align: left !important;
}

body.single-post .hv-single-story__latest .hv-story-card__more {
  color: #18130e !important;
}

body.single-post .hv-single-story__latest .hv-story-card__more-label {
  background: #fff !important;
}

body.single-post .hv-single-story__latest .hv-story-card__more svg path {
  fill: #18130e !important;
}

.hv-single-story__latest-image {
  display: block;
  aspect-ratio: 1.58 / 1;
  overflow: hidden;
  background: #ddd5c7;
}

.hv-single-story__latest-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.hv-single-story__latest-image:hover img {
  transform: scale(1.035);
}

.hv-single-story__latest-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  color: rgba(24, 19, 14, .62);
  font: 500 11px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hv-single-story__latest-card h3 {
  margin: 14px 0 0;
  font: 400 24px/1.2 'UTM Times', Georgia, serif;
}

.hv-single-story__latest-card h3 a {
  color: #18130e !important;
  text-decoration: none;
}

@media (max-width: 549px) {
  .hv-single-story__hero {
    min-height: 405px;
  }

  .hv-single-story__content {
    width: 100%;
    padding-top: 28px;
  }

  .hv-single-story__breadcrumbs {
    font-size: 9px;
  }

  .hv-single-story__header {
    margin: 72px auto 48px;
  }

  .hv-single-story__header h1 {
    font-size: 36px;
  }

  .hv-single-story__meta {
    flex-wrap: wrap;
    font-size: 10px;
  }

  .hv-single-story__body {
    font-size: 16px;
  }

  .hv-single-story__share-block {
    width: auto;
    margin-left: 0;
    margin-top: 58px;
  }

  .hv-single-story__section-heading {
    gap: 14px;
    width: 100%;
  }

  body.single-post .hv-single-story .hv-single-story__section-heading > h2 {
    font-size: 34px !important;
  }

  .hv-single-story__share {
    gap: 16px;
    margin-top: 42px;
  }

  .hv-single-story__share a {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }

  .hv-single-story__latest {
    width: auto;
    margin-left: 0;
    margin-top: 88px;
  }

  body.single-post .hv-single-story .hv-single-story__latest .hv-single-story__section-heading > h2 {
    font-size: 34px !important;
  }

  .hv-single-story__latest-grid {
    width: 100%;
    margin-top: 42px;
  }
}

/* Offers archive */
.hv-offers-hero {
  position: relative;
  display: flex;
  min-height: min(590px, 72vh);
  align-items: flex-end;
  overflow: hidden;
  background: #28221d var(--hv-offers-hero-image) center/cover no-repeat;
}

.hv-offers-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, .18) 45%, rgba(0, 0, 0, .65));
}

.hv-offers-hero__content {
  position: relative;
  z-index: 1;
  width: min(1140px, calc(100% - 60px));
  margin: 0 auto;
  padding: 90px 0 72px;
  text-align: center;
}

.hv-offers-hero h1 {
  margin: 0;
  color: #f7eedf !important;
  font: 400 48px/1.05 'UTM Times', Georgia, serif !important;
  text-transform: none;
}

.hv-offers-archive {
  position: relative;
  min-height: 70vh;
  padding: 38px 0 110px;
  background: #000;
  color: #f7eedf;
}

.hv-offers-filter,
.hv-offers-divider {
  width: min(100% - 8vw, 1272px);
  margin-right: auto;
  margin-left: auto;
}

.hv-offers-filter {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 48px;
  margin-bottom: 50px;
  padding: 20px 0;
  border-top: 1px solid rgba(247, 238, 223, .42);
  border-bottom: 1px solid rgba(247, 238, 223, .42);
  text-align: center;
}

.hv-offers-filter a {
  display: inline-flex;
  align-items: center;
  color: #f7eedf;
  font: 600 12px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
}

.hv-offers-filter a + a::before {
  content: '|';
  margin: 0 23px;
  color: rgba(247, 238, 223, .82);
  font-weight: 400;
}

.hv-offers-filter a:hover,
.hv-offers-filter a.is-active {
  color: #b59662;
}

.hv-offers-divider {
  display: none;
}

.hv-offers-grid {
  width: 100%;
}

.hv-offer-card {
  min-width: 0;
  margin: 0;
}

.hv-offer-card__image {
  display: block;
  aspect-ratio: 1.78 / 1;
  overflow: hidden;
  background: #201c18;
}

.hv-offer-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.hv-offer-card__image:hover img {
  transform: scale(1.035);
}

.hv-offer-card__image-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: rgba(247, 238, 223, .45);
  font-size: 14px;
  text-transform: uppercase;
}

.hv-offer-card h2 {
  margin: 28px 0 18px;
  font: 400 24px/1.2 'UTM Times', Georgia, serif;
  font-family: 'UTM Times', Georgia, serif !important;
  text-align: left;
}

.hv-offer-card h2 a {
  color: #f7eedf;
  text-decoration: none;
}

.hv-offer-card > p {
  margin: 0 0 30px;
  color: rgba(247, 238, 223, .68);
  font: 400 16px/1.45 'Brandon Text', sans-serif;
  text-align: left;
}

.hv-offer-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 50px;
}

.hv-offer-card__actions a {
  color: #f7eedf;
  font: 600 12px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}

.hv-offer-card__discover {
  position: relative;
  padding-bottom: 7px;
}

.hv-offer-card__discover::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: #b59662;
  content: '';
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s cubic-bezier(.4, .25, .3, 1);
}

.hv-offer-card__discover:hover::after {
  transform: scaleX(1);
}

.hv-offer-card__discover:hover {
  color: #b59662;
}

.hv-offer-card__reserve {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-width: 160px;
  padding: 16px 28px;
  border: 1px solid rgba(247, 238, 223, .42);
  text-align: center;
  transition: border-color .35s ease, color .35s ease;
}

.hv-offer-card__actions .hv-offer-card__reserve {
  margin: 0;
  color: #f7eedf;
  font: 600 12px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hv-offer-card__reserve:hover {
  border-color: #f7eedf;
  color: #18130e;
}

.hv-offers-pagination {
  margin-top: 80px;
  text-align: center;
}

.hv-offers-empty {
  min-height: 240px;
  color: rgba(247, 238, 223, .7);
  font-size: 18px;
  text-align: center;
}

.hv-offers-archive.is-loading {
  opacity: .55;
  pointer-events: none;
  transition: opacity .2s ease;
}

.hv-offers-archive .hv-offer-card[hidden] {
  display: none !important;
}

/* Lenis smooth-scroll integration. Keep native layout/sticky behaviour intact. */
html.lenis,
html.lenis body {
  height: auto;
}

html.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

html.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

html.hv-lenis-ready {
  scroll-behavior: auto !important;
}

.hv-single-offer {
  min-height: 70vh;
  padding: 0 0 110px;
  background: #fff;
  color: #18130e;
}

.hv-single-offer__hero {
  display: flex;
  min-height: min(720px, 78vh);
  align-items: flex-end;
  padding: 70px max(6vw, 30px) 105px;
  background-color: #201c18;
  background-position: center;
  background-size: cover;
}

.hv-single-offer__hero h1 {
  width: 100%;
  max-width: 568px;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  color: #f7eedf;
  font: 400 clamp(34px, 3.8vw, 56px)/1.08 'Brandon Text', sans-serif;
  font-family: 'Brandon Text', sans-serif !important;
  text-align: center;
}

.hv-single-offer__content {
  width: 100%;
  margin: 0;
  padding-top: 34px;
  background: #fff;
}

.hv-single-offer__breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  color: rgba(24, 19, 14, .55);
  font: 600 11px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hv-single-offer__breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.hv-single-offer__body {
  width: 100%;
}

.hv-single-offer .hv-offer-card__actions {
  justify-content: center;
  margin-top: 42px;
}

.hv-single-offer .hv-offer-card__discover {
  color: #18130e;
}

.hv-single-offer .hv-offer-card__reserve {
  border-color: #18130e;
  color: #18130e;
}

.hv-single-offer .hv-offer-card__reserve:hover {
  border-color: #18130e;
}

.hv-other-offers {
  text-align: center;
}

.hv-other-offers__heading {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 110px;
}

.hv-other-offers__heading span {
  height: 1px;
  flex: 1;
  background: rgba(24, 19, 14, .16);
}

.hv-other-offers__heading h2 {
  margin: 0;
  color: #2c2722;
  font: 400 54px/1 'UTM Times', Georgia, serif;
  white-space: nowrap;
}

.hv-other-offers__grid {
  margin: 0;
}

.hv-other-offer-card {
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.hv-other-offer-card .hv-offer-card__image {
  aspect-ratio: 1.78 / 1;
}

.hv-other-offer-card h2 {
  margin-top: 28px;
}

.hv-other-offer-card .hv-offer-card__actions {
  justify-content: flex-end;
  margin-top: 0 !important;
}

.hv-single-offer .hv-other-offer-card h2 a {
  color: #18130e !important;
}

.hv-single-offer .hv-other-offer-card > p {
  color: rgba(24, 19, 14, .68) !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__actions a {
  color: #18130e !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__reserve {
  border-color: #18130e !important;
  color: #18130e !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__reserve:hover {
  border-color: #18130e !important;
  background: #18130e !important;
  color: #f7eedf !important;
}

.hv-single-offer .hv-offer-card__view-all,
.hv-other-offer-card .hv-offer-card__view-all {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  min-width: 250px;
  justify-content: center;
  padding: 0 28px;
  border: 1px solid #2c2722;
  color: #2c2722;
  font: 600 13px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .35s ease, color .35s ease;
}

.hv-single-offer .hv-offer-card__view-all .Button_hiddenText__Z5fCB,
.hv-single-offer .hv-offer-card__view-all .Button_displayText__wvSPk,
.hv-other-offer-card .hv-offer-card__view-all .Button_hiddenText__Z5fCB,
.hv-other-offer-card .hv-offer-card__view-all .Button_displayText__wvSPk {
  line-height: 1 !important;
}

.hv-single-offer .hv-offer-card__view-all:hover,
.hv-other-offer-card .hv-offer-card__view-all:hover {
  background: #2c2722;
  color: #f7eedf;
}

.hv-other-offers__view-all {
  display: inline-flex;
  min-width: 250px;
  justify-content: center;
  margin-top: 118px;
  padding: 20px 28px;
  border: 1px solid #2c2722;
  color: #2c2722;
  font: 600 13px/1.2 'Brandon Text', sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .35s ease, color .35s ease;
}

.hv-other-offers__view-all:hover {
  background: #2c2722;
  color: #f7eedf;
}

@media (max-width: 849px) {
  .hv-offers-hero {
    min-height: 520px;
  }

  .hv-offers-archive {
    padding-top: 25px;
  }

  .hv-offers-divider {
    display: none;
  }

  .hv-offers-filter {
    margin-bottom: 50px;
    padding: 20px 0;
  }

  .hv-offers-grid {
    width: 100%;
  }

  .hv-stories-hero {
    min-height: 520px;
  }

  .hv-stories-hero__content,
  .hv-stories-toolbar,
  .hv-stories-grid-wrap {
    width: min(100% - 36px, 620px);
  }

  .hv-stories-hero h1 {
    margin-bottom: 74px;
  }

  .hv-stories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 549px) {
  .hv-offers-hero__content {
    width: calc(100% - 36px);
    padding: 70px 0 48px;
  }

  .hv-offers-hero h1 {
    font-size: 40px !important;
  }

  .hv-offers-filter {
    flex-wrap: wrap;
    row-gap: 16px;
  }

  .hv-offers-filter a {
    font-size: 11px;
  }

  .hv-offers-filter a + a::before {
    margin: 0 11px;
  }

  .hv-offers-divider {
    display: none;
  }

  .hv-offers-filter {
    margin-bottom: 50px;
    padding: 20px 0;
  }

  .hv-offers-grid {
    width: 100%;
  }

  .hv-offer-card h2 {
    margin-top: 21px;
  }

  .hv-offer-card__actions {
    justify-content: space-between;
    gap: 18px;
  }

  .hv-offer-card__actions a {
    font-size: 11px;
  }

  .hv-offer-card__reserve {
    min-width: 126px;
    padding: 17px 14px;
  }
}

@media (max-width: 549px) {
  .hv-stories-hero {
    min-height: 520px;
    z-index: 5;
    overflow: visible;
  }

  .hv-stories-hero__content {
    z-index: 20;
    padding-bottom: 28px;
  }

  .hv-stories-hero h1 {
    margin-bottom: 58px;
    font-size: 42px;
  }

  .hv-stories-hero__topics a {
    margin-bottom: 14px;
    font-size: 11px;
  }

  .hv-stories-hero__topics a + a::before {
    margin: 0 9px;
  }

  .hv-stories-hero__topics {
    display: none;
  }

  .hv-stories-hero__topics-mobile {
    position: relative;
    z-index: 30;
    display: block;
    width: min(280px, 100%);
    margin: 0 auto;
    text-align: left;
  }

  .hv-stories-hero__topics-mobile summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border: 1px solid rgba(247, 238, 223, .7);
    color: #f7eedf;
    cursor: pointer;
    font: 500 12px/1.2 'Brandon Text', sans-serif;
    letter-spacing: .1em;
    list-style: none;
    text-transform: uppercase;
  }

  .hv-stories-hero__topics-mobile summary::-webkit-details-marker {
    display: none;
  }

  .hv-stories-hero__topics-mobile summary > span:last-child {
    color: #b59662;
    font-size: 18px;
    transition: transform .25s ease;
  }

  .hv-stories-hero__topics-mobile[open] summary > span:last-child {
    transform: rotate(180deg);
  }

  .hv-stories-hero__topics-mobile-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: flex;
    max-height: 260px;
    flex-direction: column;
    overflow-y: auto;
    background: #b59662;
  }

  .hv-stories-hero__topics-mobile-menu a {
    padding: 11px 16px;
    color: #f7eedf;
    font: 500 12px/1.2 'Brandon Text', sans-serif;
    letter-spacing: .08em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .hv-stories-hero__topics-mobile-menu a.is-active,
  .hv-stories-hero__topics-mobile-menu a:hover {
    background: rgba(0, 0, 0, .12);
  }

  .hv-stories-toolbar {
    display: none;
  }

  .hv-stories-grid-wrap {
    padding-top: 34px;
  }

  .hv-stories-grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }
}

/* Lenis smooth scroll — preserve native document flow for Flatsome */
html.hv-smooth-scroll,
html.hv-smooth-scroll body {
  min-height: 100%;
}

html.hv-smooth-scroll {
  scroll-behavior: auto !important;
}

@media (prefers-reduced-motion: reduce) {
  html.hv-smooth-scroll {
    scroll-behavior: auto !important;
  }
}

@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}

/* Room detail layout */
.hv-room-page {
    background: #000;
    color: #f7eedf;
    font-family: "Brandon Text", sans-serif;
}

.hv-room-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.hv-room-hero {
    min-height: 650px;
    display: grid;
    align-items: end;
    background-color: #1a1712;
    background-position: center;
    background-size: cover;
}

.hv-room-hero__inner {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
    padding: 0 0 58px;
    text-align: center;
}

.hv-room-hero h1 {
    margin: 0;
    color: #f7eedf;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 400;
    line-height: 1.1;
}

.hv-room-breadcrumbs {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 26px 24px;
    color: #8b8379;
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hv-room-breadcrumbs a { color: inherit; }

.hv-room-intro {
    padding-block: 50px 82px;
}

.hv-room-intro__content {
    font-family: "UTM Times", Georgia, serif;
    font-style: normal;
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    text-align: center;
    color: #f6eedf;
    max-width: 872px;
    margin: 0 auto !important;
}

.hv-room-intro__content p { margin: 0; }

.hv-room-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 18px clamp(18px, 3vw, 44px);
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    border: 0;
}

.Overview_item__KvEm_ {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
    white-space: nowrap;
}

.Overview_icon__bwH9A {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    filter: invert(91%) sepia(87%) saturate(60%) hue-rotate(341deg) brightness(113%) contrast(100%);
}

.Overview_text__x2Nei {
    color: #f7eedf;
    font-family: "Brandon Text", sans-serif;
    font-size: clamp(16px, 1.25vw, 23px);
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.hv-room-stats small { display: none; }

.hv-room-booking .col { padding-bottom: 0; }

.hv-room-booking { margin-top: 34px; }

.hv-room-booking .booking-form {
    width: 100% !important;
    max-width: none !important;
    margin: 0;
}

.hv-room-gallery {
    position: relative;
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.hv-room-gallery__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 14%;
    scrollbar-width: none;
}

.hv-room-gallery__track::-webkit-scrollbar { display: none; }

.hv-room-gallery__track::before,
.hv-room-gallery__track::after {
    content: "";
    display: block;
    flex: 0 0 14%;
}

.hv-room-gallery figure {
    flex: 0 0 72%;
    height: min(760px, 65vw);
    margin: 0;
    opacity: .32;
    scroll-snap-align: center;
    transition: opacity .35s ease, transform .35s ease;
}

.hv-room-gallery figure.is-active {
    opacity: 1;
    transform: scale(1.015);
}

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

.hv-room-gallery__controls {
    position: absolute;
    right: 14%;
    bottom: 0;
    left: 14%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8vw 30px;
    pointer-events: none;
}

.hv-room-gallery__nav {
    display: flex;
    align-items: center;
    gap: 34px;
    pointer-events: auto;
}

.hv-room-gallery__controls button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #f7eedf;
    font-size: 28px;
    cursor: pointer;
        margin: 0;
    min-height: auto;
    line-height: 1;
}

.hv-room-gallery__controls button:hover { color: #c5a565; }

.hv-room-gallery__count {
    color: #f7eedf;
    font-size: 13px;
    letter-spacing: .1em;
    pointer-events: auto;
}

.hv-room-details { padding-bottom: 100px; padding-top: 50px;}
.hv-room-details__title h2 {
    margin: 0 0 18px;
    color: #f7eedf;
    font-family: "UTM Times", Georgia, serif !important;
    font-size: 46px;
    font-weight: 400;
}

.hv-room-details__layout > .col { padding-bottom: 0; }
.hv-room-details__layout h3 {
    margin: 0 0 38px;
    color: #c5a565;
    font-family: "UTM Times", Georgia, serif !important;
    font-size: 32px;
    font-weight: 400;
}

.hv-room-details__utilities strong {
    display: block;
    margin: 0 0 12px;
    color: #f7eedf;
    font-size: 18px;
    font-weight: 700;
}

.hv-room-details__utilities ul,
.hv-room-amenities ul {
    margin: 0 0 12px;
    padding: 0;
    list-style: none;
    color: #ddd2c6;
    font-size: 17px;
    line-height: 1.9;
}

.hv-room-amenities ul {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(8, auto);
    column-gap: 72px;
    row-gap: 0;
}

.hv-room-amenities ul li {
    margin-left: 0;
}

.hv-room-details__times { margin-top: 12px; }
.hv-room-details__times > div {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 54px;
    border-bottom: 1px solid rgba(247, 238, 223, .25);
    color: #ddd2c6;
    font-size: 16px;
    letter-spacing: .08em;
}

.hv-room-details__times > div:last-child { border-bottom: 0; }
.hv-room-time-icon {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    filter: invert(68%) sepia(31%) saturate(608%) hue-rotate(358deg) brightness(87%) contrast(85%);
}

.hv-rooms-tabs {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(420px, .8fr);
    min-height: 720px;
    background: #000;
    color: #f7eedf;
}

.hv-rooms-archive {
    background: #000;
    color: #f7eedf;
}

.hv-rooms-archive__intro {
    min-height: 430px;
    display: grid;
    place-items: end center;
    padding: 70px 24px 82px;
    background: #000;
    text-align: center;
}

.hv-rooms-archive__intro-inner { max-width: 980px; }

.hv-rooms-archive__intro h1 {
    margin: 0 0 24px;
    color: #f7eedf;
    font-family: "UTM Times", Georgia, serif;
    font-size: clamp(48px, 6vw, 86px);
    font-weight: 400;
}

.hv-rooms-archive__intro p {
    margin: 0;
    color: #ddd2c6;
    font-family: "UTM Times", Georgia, serif;
    font-size: clamp(22px, 2.1vw, 34px);
    line-height: 1.3;
}

.hv-rooms-tabs__gallery,
.hv-rooms-tabs__content { min-width: 0; }

.hv-rooms-tabs__gallery { position: relative; overflow: hidden; }
.hv-rooms-tabs__gallery-panel { display: none; position: absolute; inset: 0; }
.hv-rooms-tabs__gallery-panel.is-active { display: block; }
.hv-rooms-tabs__gallery-track,
.hv-rooms-tabs__gallery-track img { width: 100%; height: 100%; }
.hv-rooms-tabs__gallery-track { position: relative; }
.hv-rooms-tabs__gallery-track img { position: absolute; inset: 0; display: block; object-fit: cover; opacity: 0; transition: opacity .45s ease; }
.hv-rooms-tabs__gallery-track img.is-active { opacity: 1; }

.hv-rooms-tabs__gallery-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    padding: 0;
    border: 0;
    background: transparent;
    color: #f7eedf;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.hv-rooms-tabs__gallery-arrow:hover { color: #c5a565; }
.hv-rooms-tabs__gallery-arrow.is-prev { left: 24px; }
.hv-rooms-tabs__gallery-arrow.is-next { right: 24px; }

.hv-rooms-tabs__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
}

.hv-rooms-tabs__nav { display: grid; gap: 13px; margin-bottom: 34px; }
.hv-rooms-tabs__tab {
    width: fit-content;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(247, 238, 223, .58);
    font-family: "UTM Times", Georgia, serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    margin: 0;
    min-height: auto;
    text-transform: capitalize;
}

.hv-rooms-tabs__tab:hover,
.hv-rooms-tabs__tab.is-active { color: #f7eedf; }
.hv-rooms-tabs__tab.is-active { text-decoration: underline; text-underline-offset: 6px; }
.hv-rooms-tabs__panels { min-height: 330px; }
.hv-rooms-tabs__panel { display: none; }
.hv-rooms-tabs__panel.is-active { display: block; }
.hv-rooms-tabs__description { color: #f7eedf; font-size: 18px; line-height: 1.45; }
.hv-rooms-tabs__description p { margin: 0 0 24px; }

.hv-rooms-tabs__overview {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 24px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(247, 238, 223, .28);
}

.hv-rooms-tabs__overview span { display: inline-flex; align-items: center; gap: 9px; }
.hv-rooms-tabs__overview img { width: 22px; height: 22px; filter: invert(91%) sepia(87%) saturate(60%) hue-rotate(341deg) brightness(113%) contrast(100%); }
.hv-rooms-tabs__overview b { color: #f7eedf; font-size: 15px; font-weight: 400; }

.hv-rooms-tabs__actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 30px; }
.hv-rooms-tabs__actions a { color: #f7eedf; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.hv-rooms-tabs__actions a:hover { color: #c5a565; }
.hv-rooms-tabs__actions .hv-rooms-tabs__book { padding: 16px 28px; border: 1px solid #f7eedf; white-space: nowrap; }

.hv-rooms-tabs__actions .hv-rooms-tabs__book:hover { border-color: #c5a565; }

.hv-rooms-portfolio { background: #000; color: #f7eedf; }
.hv-rooms-portfolio__filters {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 58px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(247, 238, 223, .3);
}
.hv-rooms-portfolio__filters button {
    margin: 0;
    min-height: auto;
    padding: 0 10px;
    border: 0;
    border-right: 1px solid #f7eedf;
    background: transparent;
    color: #f7eedf;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
    cursor: pointer;
}
.hv-rooms-portfolio__filters button:last-child { border-right: 0; }
.hv-rooms-portfolio__filters button:hover,
.hv-rooms-portfolio__filters button.is-active { color: #c5a565; }
.hv-rooms-portfolio__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 84px 68px; }
.hv-rooms-portfolio__item[hidden] { display: none; }
.hv-rooms-portfolio__image { display: block; height: min(540px, 38vw); overflow: hidden; background: #1a1712; }
.hv-rooms-portfolio__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hv-rooms-portfolio__image:hover img { transform: scale(1.04); }
.hv-rooms-portfolio__item h2 { margin: 28px 0 18px; color: #f7eedf; font-family: "UTM Times" !important; font-size: 32px; font-weight: 400; }
.hv-rooms-portfolio__item p { min-height: 78px; margin: 0 0 18px; color: #b9aea1; font-size: 18px; line-height: 1.45; }
.hv-rooms-portfolio__overview { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-bottom: 28px; }
.hv-rooms-portfolio__overview span { display: inline-flex; align-items: center; gap: 8px; }
.hv-rooms-portfolio__overview img { width: 22px; height: 22px; filter: invert(68%) sepia(31%) saturate(608%) hue-rotate(358deg) brightness(87%) contrast(85%); }
.hv-rooms-portfolio__overview b { color: #f7eedf; font-size: 15px; font-weight: 400; }
.hv-rooms-portfolio__actions { display: flex; align-items: center; justify-content: flex-end; gap: 25px; padding-top: 18px; border-top: 1px solid rgba(247, 238, 223, .3); }
.hv-rooms-portfolio__actions > a:first-child {
    position: relative;
    margin-right: auto;
    color: #f7eedf;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .1em;
    text-decoration: none;
    text-transform: uppercase;
}

.hv-rooms-portfolio__actions > a:first-child::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #f6eedf;
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform .25s ease-out;
}

.hv-rooms-portfolio__actions > a:first-child:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.hv-rooms-portfolio__actions > a:first-child:hover { color: #c5a565; }
.hv-rooms-portfolio__book {
    min-width: 170px;
    font-weight: 700 !important;
    letter-spacing: .14em;
    text-align: center;
    text-transform: uppercase;
}

/* Main menu underline animation, matching “View this room”. */
#header .header-nav-main > li > a,
#header .header-nav-main > li > a.nav-top-link,
#header .header-bottom-nav > li > a {
    position: relative !important;
    display: inline-block !important;
}

#header .header-nav-main > li > a::after,
#header .header-nav-main > li > a.nav-top-link::after,
#header .header-bottom-nav > li > a::after {
    content: "" !important;
    position: absolute;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 1px !important;
    margin: 0;
    display: block !important;
    background-color: currentColor !important;
    opacity: 1 !important;
    pointer-events: none;
    transform: scaleX(0) !important;
    transform-origin: bottom right !important;
    transition: transform .25s ease-out !important;
}

#header .header-nav-main > li > a:hover::after,
#header .header-nav-main > li > a.nav-top-link:hover::after,
#header .header-bottom-nav > li > a:hover::after,
#header .header-nav-main > li.current-menu-item > a::after,
#header .header-nav-main > li.current-menu-ancestor > a::after,
#header .header-bottom-nav > li.current-menu-item > a::after,
#header .header-bottom-nav > li.current-menu-ancestor > a::after {
    transform: scaleX(1) !important;
    transform-origin: bottom left !important;
}

/* Small separators between the primary menu items. */
#header .header-bottom-nav > li:not(:last-child),
#header .header-nav-main > li:not(:last-child) {
    position: relative;
}

#header .header-bottom-nav > li:not(:last-child)::before,
#header .header-nav-main > li:not(:last-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
    transform: translateY(-50%);
    pointer-events: none;
}

/* Booking button: same two-layer hover effect as the reference button. */
.Button_button__OFOdO {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    min-height: 52px;
    padding: 0;
    border: 1px solid #f7eedf;
    color: #f7eedf !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.Button_hiddenText__Z5fCB,
.Button_displayText__wvSPk {
    transition: transform .35s ease, opacity .35s ease;
}

.Button_hiddenText__Z5fCB {
    position: absolute;
    opacity: 0;
    transform: translateY(-120%);
}

.Button_displayText__wvSPk { transform: translateY(0); }

.Button_button__OFOdO:hover {
    border-color: #f7eedf !important;
    background: #f7eedf;
    color: #18130e !important;
}

.Button_button__OFOdO:hover .Button_hiddenText__Z5fCB {
    opacity: 1;
    transform: translateY(0);
}

.Button_button__OFOdO:hover .Button_displayText__wvSPk {
    opacity: 0;
    transform: translateY(120%);
}

.hv-other-rooms {
    padding-bottom: 110px;
}

.hv-other-rooms__heading {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 58px;
}

.hv-other-rooms__heading span {
    height: 1px;
    flex: 1;
    background: rgba(247, 238, 223, .3);
}

.hv-other-rooms__heading h2 {
    margin: 0;
    color: #f7eedf;
    font-family: "UTM Times", Georgia, serif !important;
    font-size: 48px;
    font-weight: 400;
    white-space: nowrap;
    text-align: center;
}

.hv-other-rooms__slider {
    position: relative;
}

.hv-other-rooms__track {
    display: flex;
    gap: 38px;
    overflow-x: auto;
    padding: 0 0 12px;
    scroll-behavior: smooth;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.hv-other-rooms__track::-webkit-scrollbar { display: none; }

.hv-other-room-card {
    flex: 0 0 calc((100% - 76px) / 3);
    min-width: 0;
    scroll-snap-align: start;
}

.hv-other-room-card__image {
    display: block;
    height: 380px;
    background: #1a1712;
    overflow: hidden;
}

.hv-other-room-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.hv-other-room-card__image:hover img { transform: scale(1.04); }

.hv-other-room-card h3 {
    margin: 26px 0 20px;
    color: #f7eedf;
    font-family: "UTM Times", Georgia, serif;
    font-size: 31px;
    font-weight: 400;
    text-align: center;
}

.hv-other-room-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(247, 238, 223, .3);
}

.hv-other-room-card__actions a {
    color: #f7eedf;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
    text-decoration: none;
    text-transform: uppercase;
}

.hv-other-room-card__actions a:hover { color: #c5a565; }

.hv-other-room-card__actions .hv-other-room-card__book {
    padding: 17px 28px;
    border: 1px solid #f7eedf;
    white-space: nowrap;
}

.hv-other-room-card__actions .hv-other-room-card__book:hover {
    border-color: #c5a565;
}

.hv-other-rooms__arrow {
    position: absolute;
    top: 180px;
    z-index: 2;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: rgba(0, 0, 0, .45);
    color: #f7eedf;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.hv-other-rooms__arrow:hover { color: #c5a565; }
.hv-other-rooms__arrow--prev { left: 12px; }
.hv-other-rooms__arrow--next { right: 12px; }

@media (max-width: 700px) {
    .hv-room-container { width: min(100% - 32px, 1200px); }
    .hv-room-intro { width: calc(100% - 32px); padding-block: 52px 60px; }
    .hv-room-intro__content { margin-bottom: 64px; font-size: 28px; }
    .hv-room-stats { flex-wrap: wrap; gap: 18px 28px; }
    .Overview_item__KvEm_ { justify-content: center; }
    .hv-room-hero__inner { width: calc(100% - 32px); padding-bottom: 36px; }
    .hv-room-details__title h2 { font-size: 36px; }
    .hv-room-details__layout h3 { margin-bottom: 24px; font-size: 28px; }
    .hv-room-amenities { margin-top: 42px; }
    .hv-room-amenities ul { display: block; }
    .hv-other-rooms { padding-bottom: 70px; }
    .hv-other-rooms__heading { gap: 12px; margin-bottom: 34px; }
    .hv-other-rooms__heading h2 { font-size: 36px; }
    .hv-other-room-card { flex-basis: 88%; }
    .hv-other-room-card__image { height: 300px; }
    .hv-other-room-card h3 { font-size: 27px; }
    .hv-other-rooms__arrow { display: none; }
    .hv-rooms-tabs { display: block; min-height: 0; }
    .hv-rooms-archive__intro { min-height: 330px; padding: 50px 20px 58px; }
    .hv-rooms-archive__intro h1 { font-size: 48px; }
    .hv-rooms-archive__intro p { font-size: 23px; }
    .hv-rooms-portfolio__filters { justify-content: flex-start; gap: 14px 0; overflow-x: auto; flex-wrap: nowrap; margin-bottom: 34px; padding-bottom: 20px; white-space: nowrap; }
    .hv-rooms-portfolio__filters button { padding: 0 15px; font-size: 12px; }
    .hv-rooms-portfolio__grid { grid-template-columns: 1fr; gap: 60px; }
    .hv-rooms-portfolio__image { height: 72vw; }
    .hv-rooms-portfolio__item h2 { font-size: 34px; }
    .hv-rooms-portfolio__item p { min-height: 0; font-size: 16px; }
    .hv-rooms-portfolio__actions { gap: 14px; }
    .hv-rooms-tabs__gallery { min-height: 420px; }
    .hv-rooms-tabs__content { padding: 48px 24px 60px; }
    .hv-rooms-tabs__tab { font-size: 27px; }
    .hv-room-gallery figure { height: 70vw; }
    .hv-room-gallery figure { flex-basis: 88%; }
    .hv-room-gallery__track::before,
    .hv-room-gallery__track::after { flex-basis: 6%; }
    .hv-room-gallery__controls { right: 6%; left: 6%; padding-inline: 24px; }
}

.h-tt {
    display: flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    font-size: 18px;
    gap: 5px;
    line-height: 25px;
    margin-bottom: 20px;
    color: #af915e;
}

.h-tt h1 {width: auto;font-style: normal;font-size: 18px;line-height: 25px;margin-bottom: 0;color: #af915e;letter-spacing: .1em;text-transform: uppercase;font-weight: bold;}

.h-tt p {
    margin-bottom: 0;
    font-style: normal;
    font-weight: 450;
    font-size: 18px;
    line-height: 25px;
    text-transform: uppercase;
    color: #af915e;
    font-weight: bold;
    letter-spacing: .1em;
    text-transform: uppercase;
}


.h-info-item a {
    display: flex;
}

.h-info {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    color: #af915e;
    font-weight: bold;
    text-transform: uppercase;
}

.h-info p {
    margin-bottom: 0;
}

.h-info-item a br {
    display: none;
}

.h-info-item a img {
	    filter: invert(67%) sepia(13%) saturate(1171%) hue-rotate(359deg) brightness(86%) contrast(87%);
    width: 72px;
    height: 27px;
    aspect-ratio: 72 / 35;
}

.learn-more-link::after {
    content: "";
    display: block;
    width: 51px;
    height: 14px;
    background: url("/amanaki-thao-dien/wp-content/uploads/2026/10/learn-more-arrow.svg")
        center / contain no-repeat;
    transition: transform .35s ease;
}

.learn-more-link:hover::after {
    transform: translateX(-30px);
}

.learn-more-link {
    display: inline-flex;
    align-items: center;
    gap: 0px;
    color: #f7f0e7;
    font-family: "Brandon Text", sans-serif;
    font-size: 14px;
    text-decoration: none;
}


.learn-more-link br {
    display: none;
}

.learn-more-link span {
    padding-right: 20px;
    position: relative;
    overflow: hidden;
    background: #000;
    z-index: 2;
}


.learn-more-link-white::after {
    content: "";
    display: block;
    width: 51px;
    height: 14px;
    background: url("/amanaki-thao-dien/wp-content/uploads/2026/10/learn-more-arrow.svg")
        center / contain no-repeat;
    transition: transform .35s ease;
}

.learn-more-link-white:hover::after {
    transform: translateX(-30px);
}

.learn-more-link-white {
    display: inline-flex !important;
    align-items: center;
    gap: 0px;
    color: #ae905e;
    font-family: "Brandon Text", sans-serif;
    font-size: 14px;
    text-decoration: none;
}


.learn-more-link-white br {
    display: none;
}

.learn-more-link-white span {
    padding-right: 20px;
    position: relative;
    overflow: hidden;
    background: #fff;
    z-index: 2;
	text-transform: uppercase;
	color: #ae905e;
}

.ab-text {
    margin-bottom: 30px;
}

.main-tt {
    font-family: UTM Times;
    font-style: normal;
    font-weight: 400;
    font-size: 48px;
    line-height: 61px;
    text-transform: capitalize;
    color: #f7eedf;
}


.an-best-price a {
    padding: 1.5rem 0;
    text-transform: capitalize;
    font-style: italic;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.375rem;
}

.an-best-price {
    margin: 15px auto;
    text-align: center;
}

/* Booking facade — consolidated styles */
.booking-form {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.amanaki-f,
.amanaki-f-child {
  overflow: visible !important;
  position: absolute;
  bottom: 50px;
  left: 50%;
  z-index: 999;
  transform: translateX(-50%);
  width: 100%;
}

.hv-rooms-booking {
  position: relative;
  z-index: 10000;
  width: min(1200px, calc(100% - 48px));
  margin: 34px auto 48px;
}

.hv-booking-facade[data-booking-facade] {
  position: relative;
  z-index: 10;
  display: flex !important;
  align-items: stretch !important;
  width: min(1050px, calc(100% - 20px)) !important;
  max-width: 1050px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 10px !important;
  gap: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: #f8efdf !important;
  color: #292624 !important;
}

.hv-booking-facade[data-booking-facade] > .hv-booking-field,
.hv-booking-facade[data-booking-facade] > .hv-booking-submit {
  box-sizing: border-box !important;
  height: 45px !important;
  min-height: 45px !important;
  max-height: 45px !important;
}

.hv-booking-facade[data-booking-facade] > .hv-booking-field {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  gap: 10px !important;
  padding: 10px !important;
  border: 0 !important;
  border-right: 1px solid rgba(94, 85, 79, .28) !important;
  background: #f8efdf !important;
  color: #292624 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 22px !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.hv-booking-facade[data-booking-facade] > .hv-booking-field--room {
  order: 1 !important;
  flex: 1.15 1 0 !important;
}
.hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkin"] { order: 2 !important; }
.hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkout"] { order: 3 !important; }
.hv-booking-field--guests {
  order: 4 !important;
  display: flex !important;
  flex: 1.25 1 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
  border-right: 0 !important;
}

.hv-booking-facade[data-booking-facade] > .hv-booking-field.hv-booking-field--guests {
  border-right: 0 !important;
}

.hv-booking-icon {
  display: block !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  object-fit: contain !important;
}

.hv-booking-chevron {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  margin-left: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transform: translateY(-5px) !important;
}

.hv-booking-facade[data-booking-facade] > .hv-booking-submit {
  order: 5 !important;
  align-self: center !important;
  width: auto !important;
  flex: 0 1 200px !important;
  margin: 0 0 0 12px !important;
  padding: 10px 12px !important;
  border: 0 !important;
  background: #b59662 !important;
  color: #292624 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.hv-booking-room-menu,
.hv-booking-calendar,
.hv-booking-guests-menu {
  position: absolute !important;
  z-index: 2147483647 !important;
  display: none;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: #f7eddd !important;
  color: #292624 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18) !important;
}
.hv-booking-room-menu.is-open,
.hv-booking-calendar.is-open { display: block !important; }

.hv-booking-room-menu {
  width: 320px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 10px !important;
}
.hv-booking-room-menu button {
  display: block !important;
  width: 100% !important;
  min-height: 45px !important;
  margin: 0 !important;
  padding: 10px 22px !important;
  border: 0 !important;
  background: transparent !important;
  color: #292624 !important;
  font: 400 18px/24px Arial, sans-serif !important;
  text-align: left !important;
}

.hv-booking-guests-menu.is-open {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 350px !important;
  max-width: calc(100vw - 24px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 18px 20px !important;
}
.hv-booking-guests-menu.is-open > div {
  display: grid !important;
  grid-template-columns: 46px 48px 46px !important;
  grid-template-rows: auto 46px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
.hv-booking-guests-menu.is-open > div > span {
  grid-column: 1 / -1 !important;
  margin: 0 0 8px !important;
  font: 400 16px/22px Arial, sans-serif !important;
}
.hv-booking-guests-menu.is-open > div > button,
.hv-booking-guests-menu.is-open > div > b {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #292624 !important;
  border-radius: 0 !important;
}
.hv-booking-guests-menu.is-open > div > button {
  display: grid !important;
  place-items: center !important;
  background: #292624 !important;
  color: #fff !important;
  font: 400 24px/44px Arial, sans-serif !important;
}
.hv-booking-guests-menu.is-open > div > b {
  display: grid !important;
  place-items: center !important;
  background: #f7eddd !important;
  color: #292624 !important;
  font: 400 18px/44px Arial, sans-serif !important;
}

.hv-booking-calendar {
  width: 360px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 18px !important;
}
.hv-booking-calendar__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
}
.hv-booking-calendar__head strong {
  flex: 1 !important;
  font: 400 22px/28px Georgia, serif !important;
  text-align: center !important;
}
.hv-booking-calendar__head button {
  width: 28px !important;
  height: 28px !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 24px !important;
}
.hv-booking-calendar__week,
.hv-booking-calendar__days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 2px !important;
}
.hv-booking-calendar__week {
  margin-bottom: 6px !important;
  font: 700 11px/18px Arial, sans-serif !important;
  text-align: center !important;
}
.hv-booking-calendar__days button,
.hv-booking-calendar__days span {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font: 400 15px/34px Arial, sans-serif !important;
}
.hv-booking-calendar__days button.is-selected,
.hv-booking-calendar__days button.is-range {
  background: #b7d9f0 !important;
  font-weight: 700 !important;
}

@media (max-width: 767px) {
  .amanaki-f,
  .amanaki-f-child {
    margin: 0 !important;
    width: calc(100% - 30px) !important;
    box-sizing: border-box !important;
  }

  .hv-booking-facade[data-booking-facade] {
    flex-wrap: wrap !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }
  .hv-booking-facade[data-booking-facade] > .hv-booking-field,
  .hv-booking-facade[data-booking-facade] > .hv-booking-submit {
    flex-basis: 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkin"],
  .hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkout"] {
    flex: 1 1 calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
  }
  .hv-booking-facade[data-booking-facade] > .hv-booking-submit {
    flex: 0 0 100% !important;
  }

  .hv-booking-facade[data-booking-facade] > .hv-booking-field {
    gap: 7px !important;
    padding: 8px !important;
    font-size: 14px !important;
    line-height: 18px !important;
  }

  .hv-booking-facade[data-booking-facade] .hv-booking-value {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .hv-booking-facade[data-booking-facade] > .hv-booking-submit {
    font-size: 16px !important;
    line-height: 20px !important;
  }

  .hv-booking-calendar {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 12px !important;
  }

  .hv-booking-calendar__head strong {
    font-size: 18px !important;
    line-height: 24px !important;
  }

  .hv-booking-calendar__days button,
  .hv-booking-calendar__days span {
    width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    font-size: 14px !important;
    line-height: 30px !important;
  }
}
@media (max-width: 520px) {
  .hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkin"],
  .hv-booking-facade[data-booking-facade] > [data-booking-proxy="checkout"] {
    flex: 1 1 calc(50% - 8px) !important;
    flex-basis: calc(50% - 8px) !important;
    width: calc(50% - 8px) !important;
  }
}

/* Blog cards — category/date, image, title, excerpt, CTA */
.box-blog-post:has(.hv-blog-card-meta) {
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  box-shadow: none !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-text,
.box-blog-post:has(.hv-blog-card-meta) .blog-post-inner {
  display: contents !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-meta {
  order: 1 !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-image {
  order: 2 !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-image {
  margin-bottom: 26px !important;
  position: relative !important;
  aspect-ratio: auto !important;
  height: auto !important;
  overflow: hidden !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-image .image-cover,
.box-blog-post:has(.hv-blog-card-meta) .box-image .image-none {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  padding-top: 0 !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-image img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-text {
  padding: 0 !important;
  background: transparent !important;
}

.box-blog-post:has(.hv-blog-card-meta) .blog-post-inner {
  padding: 0 !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  order: 1 !important;
  width: 100% !important;
  margin: 0 0 15px !important;
  color: #f7eedf !important;
  font: 400 16px/1.2 'Brandon Text', sans-serif !important;
  letter-spacing: .02em !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-category {
  color: #b59662 !important;
  text-transform: uppercase !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-date {
  white-space: nowrap !important;
}

.box-blog-post:has(.hv-blog-card-meta) .cat-label,
.box-blog-post:has(.hv-blog-card-meta) .post-meta,
.box-blog-post:has(.hv-blog-card-meta) .is-divider,
.box-blog-post:has(.hv-blog-card-meta) > .badge,
.box-blog-post:has(.hv-blog-card-meta) .box-image .badge {
  display: none !important;
}

.box-blog-post:has(.hv-blog-card-meta) .post-title {
  order: 2 !important;
  align-self: flex-start !important;
  margin: 0 0 28px !important;
  color: #f7eedf !important;
  font: 400 24px/1.2 'UTM Times', Georgia, serif !important;
  font-size: 24px !important;
  letter-spacing: -.015em !important;
  text-align: left !important;
  text-transform: none !important;
}

.box-blog-post:has(.hv-blog-card-meta) .post-title a,
.box-blog-post:has(.hv-blog-card-meta) .post-title a:hover {
  color: inherit !important;
}

.box-blog-post:has(.hv-blog-card-meta) .from_the_blog_excerpt {
  order: 3 !important;
  align-self: flex-start !important;
  max-width: 920px !important;
  margin: 0 0 50px !important;
  color: rgba(247, 238, 223, .68) !important;
  font: 400 16px/1.45 'Brandon Text', sans-serif !important;
  font-size: 16px !important;
  text-align: left !important;
}

.box-blog-post:has(.hv-blog-card-meta) .button,
.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-more {
  order: 4 !important;
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #f7eedf !important;
  font: 500 16px/1.2 'Brandon Text', sans-serif !important;
  letter-spacing: .12em !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.box-blog-post:has(.hv-blog-card-meta) .box-text-inner > .button {
  display: none !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-more span {
  display: inline-block !important;
  margin-left: 26px !important;
  font-size: 34px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: .5 !important;
  transform: translateY(4px) !important;
  transition: transform .25s ease !important;
}

.box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-more:hover span {
  transform: translate(8px, 4px) !important;
}

@media (max-width: 549px) {
  .box-blog-post:has(.hv-blog-card-meta) .box-image {
    margin-bottom: 20px !important;
  }

  .box-blog-post:has(.hv-blog-card-meta) .hv-blog-card-meta {
    margin-bottom: 20px !important;
    font-size: 14px !important;
  }

  .box-blog-post:has(.hv-blog-card-meta) .post-title {
    margin-bottom: 20px !important;
    font-size: 24px !important;
  }

  .box-blog-post:has(.hv-blog-card-meta) .from_the_blog_excerpt {
    margin-bottom: 34px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 549px) {
  .hv-single-offer__hero {
    min-height: 405px;
    padding: 34px 28px 60px;
  }

  .hv-single-offer__hero h1 {
    font-size: 32px;
  }

  .hv-single-offer__content {
    width: calc(100% - 56px);
    padding-top: 28px;
  }

  .hv-single-offer__breadcrumbs {
    gap: 9px;
    font-size: 9px;
  }

  .hv-other-offers {
    margin-top: 0;
  }

  .hv-other-offers__heading {
    gap: 14px;
    margin-bottom: 58px;
  }

  .hv-other-offers__heading h2 {
    font-size: 36px;
  }

  .hv-other-offer-card .hv-offer-card__actions {
    justify-content: space-between;
  }

  .hv-single-offer .hv-offer-card__view-all,
  .hv-other-offer-card .hv-offer-card__view-all {
    min-width: 0;
    width: 100%;
    padding: 17px 20px;
  }

}

/* Final single-offer overrides. */
.hv-single-offer .hv-other-offers .hv-single-story__section-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 0 72px !important;
}

.hv-single-offer .hv-other-offers .hv-single-story__section-heading > span {
  display: block !important;
  flex: 1 1 0 !important;
  width: auto !important;
  height: 1px !important;
  min-width: 0 !important;
  background: rgba(24, 19, 14, .16) !important;
}

.hv-single-offer .hv-other-offers .hv-single-story__section-heading > h2 {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  color: #2c2722 !important;
  font-family: 'UTM Times', Georgia, serif !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.hv-single-offer .hv-other-offer-card h2 {
  margin: 28px 0 18px !important;
  color: #18130e !important;
  font-family: 'UTM Times', Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

.hv-single-offer .hv-other-offer-card h2 a,
.hv-single-offer .hv-other-offer-card > p,
.hv-single-offer .hv-other-offer-card .hv-offer-card__actions a {
  color: #18130e !important;
}

.hv-single-offer .hv-other-offer-card > p {
  margin: 0 0 30px !important;
  color: rgba(24, 19, 14, .68) !important;
  font: 400 16px/1.45 'Brandon Text', sans-serif !important;
  text-align: left !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 50px !important;
  margin-top: 0 !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__reserve {
  border-color: #18130e !important;
  background: transparent !important;
  color: #18130e !important;
}

.hv-single-offer .hv-other-offer-card .hv-offer-card__reserve:hover {
  border-color: #18130e !important;
  background: #18130e !important;
  color: #f7eedf !important;
}

.hv-single-offer .Button_hiddenText__Z5fCB,
.hv-single-offer .Button_displayText__wvSPk {
  color: #18130e !important;
}

.hv-single-offer .hv-offer-card__reserve:hover .Button_hiddenText__Z5fCB,
.hv-single-offer .hv-offer-card__reserve:hover .Button_displayText__wvSPk {
  color: #f7eedf !important;
}

@media (max-width: 549px) {
  .hv-stories-latest-heading { gap: 14px; margin-bottom: 52px; }
  .hv-stories-latest-heading h2 { font-size: 30px; }

  .hv-single-offer .hv-other-offers .hv-single-story__section-heading {
    gap: 14px !important;
    margin-bottom: 48px !important;
  }

  .hv-single-offer .hv-other-offers .hv-single-story__section-heading > h2 {
    font-size: 34px !important;
  }

  .hv-single-offer .hv-other-offer-card .hv-offer-card__actions {
    justify-content: space-between !important;
    gap: 18px !important;
  }
}

