
/* ============================================================
   NAHINEST MODERN BOOKING — visual layer v3.3.6
   Scoped styles only: preserves WooCommerce/booking templates.
   ============================================================ */
:root{
 --nh-ink:#18251f;--nh-muted:#68766e;--nh-green:#174b39;--nh-green-2:#23644b;
 --nh-mint:#eaf2ed;--nh-cream:#f7f8f5;--nh-line:#e4eae5;--nh-gold:#c7a36b;
 --nh-radius:18px;--nh-shadow:0 12px 34px rgba(25,55,39,.08);
}
html{scroll-behavior:smooth}
body{color:var(--nh-ink);-webkit-font-smoothing:antialiased}
.nh-home-section,.nh-home-editorial,.nh-home-faq,.nh-home-cta,.nh-home-filter,.nh-search-band{
 width:100%;
}
.nh-home-section>.row,.nh-home-editorial>.row,.nh-home-cta>.row,
.nh-home-filter>.row,.nh-search-band>.row{max-width:1240px;margin-left:auto;margin-right:auto}
.nh-home-section{padding-left:22px!important;padding-right:22px!important}
.nh-home-section .section-title,.nh-home-section h2,
.nh-home-editorial h2,.nh-home-filter h2{
 color:var(--nh-ink);font-weight:750;letter-spacing:-.035em;line-height:1.18;
}
.nh-home-section h2,.nh-home-editorial h2,.nh-home-filter h2{font-size:clamp(27px,3vw,39px);margin:8px 0 13px}
.nh-home-section p,.nh-home-editorial p,.nh-home-filter p{color:var(--nh-muted);line-height:1.8}
.nh-home-section .ux-text>p:first-child,.nh-home-editorial .ux-text>p:first-child,
.nh-home-filter .ux-text>p:first-child{
 color:var(--nh-green-2);font-size:11px;font-weight:800;letter-spacing:.15em;
 text-transform:uppercase;margin-bottom:10px;
}
/* Hero */
.nh-home-hero{overflow:hidden;background:#173f32!important}
.nh-home-hero>.row{max-width:1440px;margin:0 auto}
.nh-home-hero .ux-text{max-width:600px}
.nh-home-hero .ux-text>p:first-child{font-size:11px;letter-spacing:.17em;font-weight:800;opacity:.8;margin-bottom:20px}
.nh-home-hero h1,.nh-home-hero .ux-text h1{
 color:#fff;font-size:clamp(40px,5.1vw,68px);line-height:1.04;letter-spacing:-.055em;
 font-weight:750;margin:0 0 22px;max-width:620px;
}
.nh-home-hero h1 em,.nh-home-hero h1 i{color:#d8c39c;font-style:normal}
.nh-home-hero .ux-text p{color:rgba(255,255,255,.78);font-size:16px;line-height:1.85;max-width:520px}
.nh-home-hero .button{min-height:50px;padding:0 27px;border-radius:999px!important;font-size:11px;letter-spacing:.08em;font-weight:800}
.nh-home-hero .nh-hero-image,.nh-home-hero .nh-hero-image img{
 display:block;width:100%;height:100%;min-height:520px;max-height:660px;object-fit:cover;
}
.nh-home-hero .nh-hero-image img{border-radius:0 0 0 100px}
.nh-home-hero .col:first-child{padding-top:70px!important;padding-bottom:70px!important}
/* Search band / live filter */
.nh-search-band{padding:36px 22px 8px!important;background:#fff}
.nh-search-band .ux_html{display:flex;align-items:center;justify-content:space-between;gap:18px;
 max-width:1240px;margin:auto;padding:0 0 16px;border-bottom:1px solid var(--nh-line);
 color:var(--nh-green);font-size:11px;font-weight:800;letter-spacing:.13em}
.nh-home-filter{padding:34px 22px 54px!important;background:#fff}
.nh-home-filter>.row>.col{max-width:1240px;margin:0 auto}
.nh-live-filter-wrap{max-width:1240px;margin:0 auto;padding:25px;background:#fff;
 border:1px solid var(--nh-line);border-radius:22px;box-shadow:var(--nh-shadow)}
.nh-live-filter-form{display:block}
.nh-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.nh-filter-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;color:var(--nh-ink)}
.nh-filter-field>span{font-size:11px;font-weight:750;letter-spacing:.025em;color:#536259}
.nh-filter-field input,.nh-filter-field select{
 width:100%;height:48px;min-height:48px;padding:0 13px!important;border:1px solid #dfe6e0!important;
 border-radius:11px!important;background:#fbfcfa!important;color:var(--nh-ink)!important;
 box-shadow:none!important;font-size:13px!important;margin:0!important
}
.nh-filter-field input:focus,.nh-filter-field select:focus{border-color:var(--nh-green-2)!important;box-shadow:0 0 0 3px rgba(35,100,75,.10)!important}
.nh-filter-actions{display:flex;align-items:center;gap:12px;margin-top:20px}
.nh-filter-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;
 padding:0 25px;border:0;border-radius:999px;background:var(--nh-green);color:#fff;
 font-size:11px;font-weight:800;letter-spacing:.08em;transition:.2s ease}
.nh-filter-submit:hover{background:#103a2b;transform:translateY(-1px);color:#fff}
.nh-filter-clear{min-height:44px;padding:0 15px;border:0;background:transparent;color:var(--nh-muted);font-size:12px;font-weight:700}
.nh-filter-note{margin:14px 0 0;color:#849087;font-size:11px;line-height:1.6}
.nh-filter-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 14px}
.nh-filter-results-toolbar strong{font-size:16px;color:var(--nh-ink)}
.nh-filter-results-toolbar .dl-count{font-size:12px;color:var(--nh-muted)}
.nh-filter-empty{grid-column:1/-1;padding:22px;border:1px dashed #d9e3dc;border-radius:12px;text-align:center;color:var(--nh-muted)}
/* Stay type cards */
.nh-stay-types{background:var(--nh-cream)}
.nh-stay-types>.row:first-child{max-width:1240px;margin:auto}
.nh-stay-types>.row:nth-child(2){max-width:1240px;margin:25px auto 0}
.nh-stay-types>.row:nth-child(2)>.col{padding:0 10px 16px}
.nh-stay-types .ux_html{position:relative;min-height:185px;height:100%;padding:28px!important;
 display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid var(--nh-line);
 border-radius:18px;background:linear-gradient(145deg,#fff,#edf3ee);box-shadow:0 6px 22px rgba(26,62,42,.045);
 color:var(--nh-muted);font-size:11px;letter-spacing:.08em;font-weight:750;transition:.25s ease}
.nh-stay-types .ux_html:hover{transform:translateY(-4px);box-shadow:var(--nh-shadow);border-color:#cbd9cf}
.nh-stay-types .ux_html strong{display:block;margin:12px 0 7px;color:var(--nh-ink);font-size:23px;letter-spacing:-.04em}
.nh-stay-types .ux_html a{color:var(--nh-green);font-weight:800}
/* Featured property sections */
.nh-featured{max-width:1284px;margin:0 auto}
.nh-featured>.row:first-child{align-items:end}
.nh-featured .button.is-link{color:var(--nh-green)!important;font-size:11px;font-weight:800;letter-spacing:.08em}
.dl-property-grid,.entry-content .dl-property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.dl-property-card{border:1px solid var(--nh-line)!important;border-radius:17px!important;overflow:hidden;
 background:#fff;box-shadow:0 5px 22px rgba(24,52,35,.055);transition:transform .22s ease,box-shadow .22s ease}
.dl-property-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(24,52,35,.12)}
.dl-card-img-wrap{display:block;position:relative;aspect-ratio:1.38/1;overflow:hidden;background:#edf1ed}
.dl-card-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.dl-card-body{padding:16px 16px 14px}
.dl-card-area{font-size:10px;color:#748078;letter-spacing:.025em}
.dl-card-title{font-size:15px;line-height:1.45;font-weight:750;letter-spacing:-.02em;margin:7px 0 10px;min-height:43px}
.dl-card-title a{color:var(--nh-ink)}
.dl-card-title a:hover{color:var(--nh-green-2)}
.dl-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#69766e;font-size:11px}
.dl-am-chip{background:#f2f6f2;border:1px solid #e7eee8;border-radius:99px;color:#647269;font-size:10px;padding:5px 8px}
.dl-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;margin-top:12px;border-top:1px solid #edf0ed}
.dl-price-main{font-size:17px;font-weight:800;color:var(--nh-green)}
.dl-btn-book-sm{border-radius:999px!important;padding:9px 14px!important;font-size:10px!important;font-weight:800!important}
.dl-cat-badge,.dl-promo-badge,.dl-card-rating{border-radius:99px!important;box-shadow:0 3px 12px rgba(0,0,0,.08)}
/* Editorial panel */
.nh-home-editorial{background:#f2f4ef!important;padding-left:22px!important;padding-right:22px!important}
.nh-home-editorial>.row{max-width:1240px;margin:auto}
.nh-home-editorial .ux_html{min-height:310px;border-radius:22px;background:linear-gradient(145deg,#1b4b39,#102f24);
 display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:40px;color:#fff;
 font-size:11px;font-weight:800;letter-spacing:.16em;overflow:hidden}
.nh-home-editorial .ux_html strong{display:block;color:#fff;font-family:Georgia,serif;font-size:clamp(45px,7vw,82px);
 line-height:1.05;letter-spacing:-.05em;font-weight:500}
.nh-home-editorial .ux_html:after{content:"NAHINEST · ĐÀ LẠT";display:block;margin-top:22px;color:#d6c19a;font-size:10px;letter-spacing:.2em}
.nh-home-editorial .button{border-radius:99px!important;min-height:48px;padding:0 24px;font-size:11px;font-weight:800}
/* SEO text block */
.nh-seo-content{max-width:1240px;margin:0 auto}
.nh-seo-content>.row>.col{max-width:900px}
.nh-seo-content h3{font-size:19px;line-height:1.35;color:var(--nh-ink);font-weight:750;margin:25px 0 8px}
.nh-seo-content p{font-size:14px;line-height:1.9}
/* FAQ and CTA */
.nh-home-faq{padding-left:22px!important;padding-right:22px!important;background:#173f32!important}
.nh-home-faq>.row{max-width:1040px;margin:auto}
.nh-home-faq h2,.nh-home-faq h3{color:#fff}
.nh-home-faq .accordion .accordion-item{border-bottom:1px solid rgba(255,255,255,.18)}
.nh-home-faq .accordion-title{padding:18px 2px;color:#fff;font-size:14px;font-weight:700}
.nh-home-faq .accordion-inner{padding:0 2px 18px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.8}
.nh-home-cta{padding-left:22px!important;padding-right:22px!important;background:#f5f6f2}
.nh-home-cta>.row{max-width:1240px;margin:auto}
.nh-home-cta .ux_html{color:var(--nh-ink)}
.nh-home-cta .ux_html h2{font-size:clamp(27px,3.3vw,42px);line-height:1.15;letter-spacing:-.04em}
.nh-home-cta .button{border-radius:99px!important}
/* Archive / product pages share the same booking visual language */
.dl-archive-layout{gap:24px}
.dl-filter-panel{border:1px solid var(--nh-line);border-radius:16px;box-shadow:0 6px 22px rgba(24,52,35,.05);background:#fff}
.dl-filter-panel__title{font-size:15px;font-weight:800;color:var(--nh-ink)}
.dl-filter-group__label{font-size:11px;font-weight:800;color:#526157;letter-spacing:.05em}
.dl-filter-panel input,.dl-filter-panel select{border-radius:10px!important;border-color:#dfe6e0!important;box-shadow:none!important}
.dl-filter-panel input:focus,.dl-filter-panel select:focus{border-color:var(--nh-green)!important;box-shadow:0 0 0 3px rgba(35,100,75,.1)!important}
.dl-hero{border-radius:0 0 26px 26px;overflow:hidden}
.dl-hero-title{letter-spacing:-.04em;line-height:1.08}
.dl-hero-form{border-radius:16px;box-shadow:0 14px 36px rgba(0,0,0,.16)}
/* Buttons, keyboard focus, motion */
.nh-home-hero a:focus-visible,.nh-home-filter button:focus-visible,.nh-live-filter-wrap a:focus-visible,
.dl-property-card a:focus-visible{outline:3px solid var(--nh-gold);outline-offset:3px}
@media(max-width:900px){
 .nh-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dl-property-grid,.entry-content .dl-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .nh-home-hero .nh-hero-image,.nh-home-hero .nh-hero-image img{min-height:340px;max-height:440px}
 .nh-home-hero .nh-hero-image img{border-radius:0 0 0 55px}
}
@media(max-width:549px){
 .nh-home-section{padding-left:15px!important;padding-right:15px!important}
 .nh-home-hero .col:first-child{padding:42px 22px 30px!important}
 .nh-home-hero h1,.nh-home-hero .ux-text h1{font-size:39px;line-height:1.06}
 .nh-home-hero .ux-text p{font-size:14px}
 .nh-home-hero .nh-hero-image,.nh-home-hero .nh-hero-image img{min-height:270px;max-height:310px}
 .nh-home-hero .nh-hero-image img{border-radius:0 0 0 38px}
 .nh-search-band{padding:27px 16px 0!important}
 .nh-home-filter{padding:24px 15px 35px!important}
 .nh-live-filter-wrap{padding:16px;border-radius:16px}
 .nh-filter-fields{grid-template-columns:1fr 1fr;gap:11px}
 .nh-filter-field>span{font-size:10px}
 .nh-filter-field input,.nh-filter-field select{height:44px;min-height:44px;padding:0 9px!important;font-size:12px!important}
 .nh-filter-actions{align-items:stretch;flex-direction:column}
 .nh-filter-submit{width:100%}
 .nh-filter-clear{width:100%}
 .nh-filter-results-toolbar{align-items:flex-start;flex-direction:column;gap:4px}
 .nh-stay-types>.row:nth-child(2)>.col{padding:0 0 12px}
 .nh-stay-types .ux_html{min-height:145px;padding:21px!important}
 .nh-stay-types .ux_html strong{font-size:21px}
 .dl-property-grid,.entry-content .dl-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dl-property-card{border-radius:13px!important}
 .dl-card-img-wrap{aspect-ratio:1.12/1}
 .dl-card-body{padding:11px 10px}
 .dl-card-title{font-size:12px;line-height:1.4;min-height:34px;margin:6px 0 8px}
 .dl-card-meta{font-size:9px;gap:5px 8px}
 .dl-card-footer{align-items:stretch;flex-direction:column;gap:8px}
 .dl-price-main{font-size:15px}
 .dl-btn-book-sm{width:100%;text-align:center}
 .nh-home-editorial .ux_html{min-height:240px;padding:25px}
 .nh-seo-content h3{font-size:17px}
 .nh-seo-content p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

.nh-filter-amenities{margin:18px 0 0;padding:0;border:0}
.nh-filter-amenities legend{margin-bottom:10px;color:#536259;font-size:11px;font-weight:800}
.nh-filter-amenity-options{display:flex;flex-wrap:wrap;gap:8px}
.nh-filter-amenity{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #e3eae4;border-radius:99px;background:#fbfcfa;color:#5d6a62;font-size:11px}
.nh-filter-amenity input{margin:0;accent-color:#174b39}
@media(max-width:549px){.nh-filter-amenity{font-size:10px;padding:7px 9px}}


/* ============================================================
   NAHINEST v3.3.7 — corrections from real-device screenshots
   ============================================================ */

/* Hero CTA: high contrast against the forest-green hero.
   The link destination is managed in UX Builder, not by CSS. */
.nh-home-hero a.button,
.nh-home-hero .button,
.nh-home-hero a.button.is-outline,
.nh-home-hero a.button.white.is-outline {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 28px!important;
  border:1px solid #d8c39c!important;
  border-radius:999px!important;
  background:#d8c39c!important;
  color:#173f32!important;
  text-shadow:none!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  opacity:1!important;
}
.nh-home-hero a.button:hover,
.nh-home-hero .button:hover {
  background:#f0dfbd!important;
  border-color:#f0dfbd!important;
  color:#173f32!important;
  transform:translateY(-2px);
}

/* The stray brand lockup was a separate UX Builder HTML element,
   not part of the filter shortcode. Hide standalone HTML blocks in
   the filter section while preserving the actual shortcode wrapper. */
.nh-home-filter .ux_html:not(:has(.nh-live-filter-wrap)) {
  display:none!important;
}

/* Modern booking filter: clear hierarchy, balanced spacing and
   consistent fields. This applies to the real [dl_home_filter]. */
.nh-home-filter .nh-live-filter-wrap {
  max-width:1240px!important;
  padding:clamp(20px,3vw,34px)!important;
  border:1px solid #e2e9e3!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(24,55,38,.075)!important;
}
.nh-home-filter .nh-live-filter-form {
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.nh-home-filter .nh-filter-fields {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px 16px!important;
}
.nh-home-filter .nh-filter-field {
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  margin:0!important;
  gap:8px!important;
}
.nh-home-filter .nh-filter-field>span {
  color:#34483c!important;
  font-size:12px!important;
  font-weight:750!important;
  letter-spacing:0!important;
  line-height:1.35!important;
}
.nh-home-filter .nh-filter-field input,
.nh-home-filter .nh-filter-field select {
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #dce5dd!important;
  border-radius:11px!important;
  background:#fbfcfa!important;
  color:#24372c!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:normal!important;
}
.nh-home-filter .nh-filter-field input::placeholder {
  color:#98a39b!important;
  opacity:1!important;
}
.nh-home-filter .nh-filter-field input:focus,
.nh-home-filter .nh-filter-field select:focus {
  border-color:#23644b!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(35,100,75,.10)!important;
  outline:0!important;
}
.nh-home-filter .nh-filter-actions {
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin:24px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.nh-home-filter .nh-filter-submit {
  min-height:50px!important;
  padding:0 26px!important;
  border:1px solid #174b39!important;
  border-radius:999px!important;
  background:#174b39!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  box-shadow:0 7px 18px rgba(23,75,57,.16)!important;
}
.nh-home-filter .nh-filter-submit:hover {
  background:#103a2b!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.nh-home-filter .nh-filter-clear {
  min-height:46px!important;
  padding:0 18px!important;
  border:1px solid #dce5dd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#526157!important;
  font-size:12px!important;
  font-weight:700!important;
}
.nh-home-filter .nh-filter-clear:hover {
  border-color:#174b39!important;
  color:#174b39!important;
  background:#f6faf7!important;
}
.nh-home-filter .nh-filter-note {
  margin:14px 0 0!important;
  color:#7b887f!important;
  font-size:11px!important;
  line-height:1.65!important;
}
.nh-home-filter .nh-filter-results-toolbar {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:25px 0 14px!important;
}
.nh-home-filter .nh-filter-results-toolbar strong {
  color:#20372b!important;
  font-size:16px!important;
  font-weight:800!important;
}
.nh-home-filter .nh-filter-empty {
  margin:0!important;
  padding:18px!important;
  border:1px dashed #d7e2d9!important;
  border-radius:12px!important;
  background:#f8faf8!important;
  color:#718076!important;
  font-size:13px!important;
}
.nh-home-filter .nh-filter-amenities {
  margin:22px 0 0!important;
  padding:0!important;
  border:0!important;
}
.nh-home-filter .nh-filter-amenities legend {
  margin:0 0 11px!important;
  color:#34483c!important;
  font-size:12px!important;
  font-weight:800!important;
}
.nh-home-filter .nh-filter-amenity-options {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.nh-home-filter .nh-filter-amenity {
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:36px!important;
  padding:7px 12px!important;
  border:1px solid #e1e9e2!important;
  border-radius:999px!important;
  background:#f8faf8!important;
  color:#526157!important;
  font-size:11px!important;
}
.nh-home-filter .nh-filter-amenity input {
  margin:0!important;
  accent-color:#174b39!important;
}

/* Property card price and CTA must never occupy the same pixels.
   The CTA sits below the price on narrow cards. */
.dl-property-card .dl-card-body {
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.dl-property-card .dl-card-footer {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding-top:13px!important;
}
.dl-property-card .dl-card-price {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  max-width:100%!important;
  gap:2px!important;
}
.dl-property-card .dl-price-main,
.dl-property-card .dl-price-contact {
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  line-height:1.25!important;
  overflow:visible!important;
}
.dl-property-card .dl-btn-book-sm {
  position:static!important;
  inset:auto!important;
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:108px!important;
  max-width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 13px!important;
  white-space:nowrap!important;
  line-height:1.2!important;
  box-sizing:border-box!important;
}
@media(max-width:900px) {
  .nh-home-filter .nh-filter-fields {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:549px) {
  .nh-home-hero a.button,
  .nh-home-hero .button {
    min-height:48px!important;
    padding:0 22px!important;
    font-size:11px!important;
  }
  .nh-home-filter .nh-live-filter-wrap {
    padding:18px 15px!important;
    border-radius:17px!important;
  }
  .nh-home-filter .nh-filter-fields {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 10px!important;
  }
  .nh-home-filter .nh-filter-field>span {
    font-size:10px!important;
  }
  .nh-home-filter .nh-filter-field input,
  .nh-home-filter .nh-filter-field select {
    height:46px!important;
    min-height:46px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
  .nh-home-filter .nh-filter-actions {
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    margin-top:19px!important;
  }
  .nh-home-filter .nh-filter-submit,
  .nh-home-filter .nh-filter-clear {
    width:100%!important;
  }
  .nh-home-filter .nh-filter-results-toolbar {
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }
  .dl-property-card .dl-card-footer {
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  .dl-property-card .dl-price-main {
    font-size:16px!important;
  }
  .dl-property-card .dl-btn-book-sm {
    width:100%!important;
    min-width:0!important;
    min-height:39px!important;
  }
}
@media(max-width:380px) {
  .nh-home-filter .nh-filter-fields {
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* NAHINEST v3.3.8 — archive layout and card price fix */
@media (max-width: 1024px) {
  .dl-archive-layout {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important; gap:22px!important;
  }
  .dl-archive-layout > #dl-filter-panel,
  .dl-archive-layout > .dl-filter-panel {
    position:relative!important; top:auto!important; width:100%!important;
    max-width:none!important; max-height:none!important; height:auto!important;
    overflow:visible!important; align-self:stretch!important;
  }
  .dl-archive-layout > #dl-filter-panel form,
  .dl-archive-layout > .dl-filter-panel form {overflow:visible!important}
  #dl-property-grid.dl-property-grid {
    width:100%!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
  }
}
.dl-property-card,.dl-property-card * {writing-mode:horizontal-tb}
.dl-property-card .dl-card-footer {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important; justify-content:initial!important;
  gap:10px!important; width:100%!important; min-width:0!important;
}
.dl-property-card .dl-card-price {
  display:flex!important; flex-direction:column!important; align-items:flex-start!important;
  justify-content:center!important; flex:initial!important; width:auto!important;
  min-width:max-content!important; max-width:100%!important; white-space:nowrap!important;
  overflow:visible!important; word-break:normal!important; overflow-wrap:normal!important;
}
.dl-property-card .dl-card-price > span,
.dl-property-card .dl-card-price > small {
  display:block!important; width:auto!important; min-width:max-content!important;
  max-width:none!important; white-space:nowrap!important; word-break:keep-all!important;
  overflow-wrap:normal!important; writing-mode:horizontal-tb!important; line-height:1.3!important;
}
.dl-property-card .dl-price-old {font-size:11px!important;color:#8b958e!important}
.dl-property-card .dl-price-main {
  font-size:clamp(15px,1.2vw,18px)!important; letter-spacing:-.25px!important;color:#174b39!important;
}
.dl-property-card .dl-card-price small {font-size:10px!important;color:#879189!important}
.dl-property-card .dl-btn-book-sm {
  position:static!important; display:inline-flex!important; width:auto!important;
  min-width:104px!important; max-width:none!important; flex-shrink:0!important;
  white-space:nowrap!important; word-break:keep-all!important; writing-mode:horizontal-tb!important;
  margin:0!important;
}
@media (max-width:549px) {
  #dl-property-grid.dl-property-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .dl-property-card .dl-card-footer {
    grid-template-columns:minmax(0,1fr)!important; align-items:stretch!important; gap:8px!important;
  }
  .dl-property-card .dl-card-price {min-width:0!important;width:100%!important}
  .dl-property-card .dl-card-price > span,.dl-property-card .dl-card-price > small {min-width:0!important}
  .dl-property-card .dl-btn-book-sm {width:100%!important;min-width:0!important}
}
@media (max-width:360px) {
  #dl-property-grid.dl-property-grid {grid-template-columns:minmax(0,1fr)!important}
}


/* ============================================================
   NAHINEST v3.3.9 — archive filter moved above results
   Screenshot-driven layout correction.
   ============================================================ */

/* Stack archive sections: filter first, results below, full width. */
body.woocommerce.archive .dl-archive-layout,
body.post-type-archive-product .dl-archive-layout,
body.tax-product_cat .dl-archive-layout,
.dl-archive-layout {
  display:block!important;
  width:100%!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dl-archive-layout > #dl-filter-panel,
.dl-archive-layout > .dl-filter-panel {
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  float:none!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 0 28px!important;
  padding:22px 24px!important;
  box-sizing:border-box!important;
  border:1px solid #e2e9e3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(24,52,35,.065)!important;
}
.dl-filter-panel__title {
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 0 14px!important;
  margin:0 0 17px!important;
  border-bottom:1px solid #e8eee9!important;
  color:#20372b!important;
  font-size:17px!important;
  font-weight:800!important;
}
#dl-filter-form {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:start!important;
  gap:14px 16px!important;
  width:100%!important;
  margin:0!important;
}
#dl-filter-form .dl-filter-group {
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
#dl-filter-form .dl-filter-group:nth-of-type(5) {
  grid-column:span 2!important;
}
#dl-filter-form .dl-filter-group__label {
  margin:0 0 8px!important;
  color:#34483c!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  text-transform:uppercase!important;
}
#dl-filter-form .dl-filter-check {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:29px!important;
  padding:3px 0!important;
  color:#44564a!important;
  font-size:12px!important;
}
#dl-filter-form .dl-filter-check input {
  flex:0 0 auto!important;
  margin:0!important;
}
#dl-filter-form .dl-search-field {
  margin:0 0 8px!important;
}
#dl-filter-form .dl-search-field label {
  display:block!important;
  margin:0 0 5px!important;
  color:#718078!important;
  font-size:11px!important;
  font-weight:600!important;
}
#dl-filter-form input:not([type=radio]):not([type=checkbox]),
#dl-filter-form select {
  width:100%!important;
  min-width:0!important;
  min-height:43px!important;
  height:43px!important;
  margin:0!important;
  padding:8px 11px!important;
  border:1px solid #dce5dd!important;
  border-radius:10px!important;
  background:#fbfcfa!important;
  color:#34483c!important;
  box-shadow:none!important;
  font-size:12px!important;
  box-sizing:border-box!important;
}
#dl-filter-form input:focus,
#dl-filter-form select:focus {
  border-color:#23644b!important;
  background:#fff!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(35,100,75,.10)!important;
}
#dl-filter-form .dl-price-range {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px!important;
}
#dl-filter-form button[type=submit],
#dl-filter-form > a.dl-btn {
  align-self:end!important;
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:145px!important;
  min-height:43px!important;
  margin:0!important;
  padding:0 19px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
#dl-filter-form button[type=submit] {
  border:1px solid #174b39!important;
  background:#174b39!important;
  color:#fff!important;
}
#dl-filter-form > a.dl-btn {
  border:1px solid #dce5dd!important;
  background:#fff!important;
  color:#526157!important;
}
.dl-archive-layout > div:not(#dl-filter-panel) {
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
#dl-results-toolbar {
  width:100%!important;
  margin:0 0 18px!important;
}
#dl-property-grid.dl-property-grid,
.dl-archive-layout #dl-property-grid {
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:20px!important;
}

/* Never put the price and details button on the same line.
   This is deliberately stacked at every width to prevent overlap. */
#dl-property-grid .dl-property-card .dl-card-footer,
.dl-archive-layout .dl-property-card .dl-card-footer {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  margin-top:auto!important;
  padding-top:13px!important;
}
#dl-property-grid .dl-property-card .dl-card-price,
.dl-archive-layout .dl-property-card .dl-card-price {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
}
#dl-property-grid .dl-property-card .dl-card-price > span,
#dl-property-grid .dl-property-card .dl-card-price > small,
.dl-archive-layout .dl-property-card .dl-card-price > span,
.dl-archive-layout .dl-property-card .dl-card-price > small {
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  line-height:1.3!important;
}
#dl-property-grid .dl-property-card .dl-price-main,
.dl-archive-layout .dl-property-card .dl-price-main {
  color:#174b39!important;
  font-size:18px!important;
  font-weight:850!important;
  letter-spacing:-.3px!important;
}
#dl-property-grid .dl-property-card .dl-btn-book-sm,
.dl-archive-layout .dl-property-card .dl-btn-book-sm {
  position:static!important;
  inset:auto!important;
  float:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:41px!important;
  margin:0!important;
  padding:9px 14px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
@media(max-width:1100px) {
  #dl-filter-form {grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #dl-property-grid.dl-property-grid,
  .dl-archive-layout #dl-property-grid {grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:849px) {
  .dl-archive-layout > #dl-filter-panel,
  .dl-archive-layout > .dl-filter-panel {padding:18px!important}
  #dl-filter-form {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
  #dl-filter-form .dl-filter-group:nth-of-type(5) {grid-column:span 1!important}
  #dl-property-grid.dl-property-grid,
  .dl-archive-layout #dl-property-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
}
@media(max-width:549px) {
  .dl-archive-layout > #dl-filter-panel,
  .dl-archive-layout > .dl-filter-panel {padding:15px!important;margin-bottom:20px!important}
  #dl-filter-form {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 9px!important}
  #dl-filter-form .dl-filter-group:nth-of-type(5) {grid-column:1/-1!important}
  #dl-filter-form .dl-filter-group__label {font-size:10px!important}
  #dl-filter-form input:not([type=radio]):not([type=checkbox]),
  #dl-filter-form select {font-size:11px!important;padding:7px 8px!important}
  #dl-filter-form button[type=submit],
  #dl-filter-form > a.dl-btn {width:100%!important;min-width:0!important;padding:0 10px!important}
  #dl-property-grid.dl-property-grid,
  .dl-archive-layout #dl-property-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #dl-property-grid .dl-property-card .dl-card-body {padding:11px 10px!important}
  #dl-property-grid .dl-property-card .dl-price-main {font-size:15px!important}
}
@media(max-width:359px) {
  #dl-property-grid.dl-property-grid,
  .dl-archive-layout #dl-property-grid {grid-template-columns:minmax(0,1fr)!important}
}


/* NAHINEST v3.3.10 — refined filter panel layout */
.dl-archive-layout > #dl-filter-panel,
.dl-archive-layout > .dl-filter-panel {
  padding:22px 26px!important;
  border-radius:20px!important;
  box-shadow:0 12px 34px rgba(25,55,39,.07)!important;
}
.dl-filter-panel__title {
  display:flex!important;
  align-items:center!important;
  font-size:16px!important;
  padding-bottom:13px!important;
  margin-bottom:18px!important;
}
#dl-filter-form {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-areas:
    "type type type type"
    "area date date guests"
    "rooms price price actions"!important;
  gap:16px 18px!important;
  align-items:start!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(1){grid-area:type!important}
#dl-filter-form > .dl-filter-group:nth-of-type(2){grid-area:area!important}
#dl-filter-form > .dl-filter-group:nth-of-type(3){grid-area:date!important}
#dl-filter-form > .dl-filter-group:nth-of-type(4){grid-area:guests!important}
#dl-filter-form > .dl-filter-group:nth-of-type(5){grid-area:price!important}
#dl-filter-form > .dl-filter-group:nth-of-type(6){grid-area:rooms!important}
#dl-filter-form > .dl-filter-group:nth-of-type(1) {
  padding:0 0 14px!important;
  border-bottom:1px solid #edf1ed!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(1) .dl-filter-check {
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0 8px 0 0!important;
  padding:7px 12px!important;
  border:1px solid #e2eae3!important;
  border-radius:999px!important;
  background:#f8faf8!important;
  font-size:12px!important;
  font-weight:650!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(1) .dl-filter-check input {
  accent-color:#174b39!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(3) {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 10px!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(3) > .dl-filter-group__label {
  grid-column:1/-1!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(3) .dl-search-field {
  min-width:0!important;
  margin:0!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(5) > label {
  display:block!important;
  margin:0 0 7px!important;
  font-size:11px!important;
  line-height:1.4!important;
}
#dl-filter-form > .dl-filter-group:nth-of-type(5) > select {
  width:100%!important;
  margin:0 0 8px!important;
}
#dl-filter-form .dl-price-range {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
}
#dl-filter-form > button[type=submit],
#dl-filter-form > a.dl-btn {
  grid-area:auto!important;
  align-self:end!important;
  justify-self:stretch!important;
  min-width:0!important;
  width:100%!important;
  min-height:43px!important;
  margin:0!important;
  border-radius:999px!important;
}
#dl-filter-form > button[type=submit] {grid-column:4!important;grid-row:3!important}
#dl-filter-form > a.dl-btn {grid-column:4!important;grid-row:4!important}
#dl-filter-form > .dl-filter-group:nth-of-type(5) {grid-column:2/4!important}
#dl-filter-form > .dl-filter-group:nth-of-type(6) {grid-column:1!important}
@media(max-width:900px) {
  #dl-filter-form {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-areas:
      "type type"
      "area guests"
      "date date"
      "rooms rooms"
      "price price"!important;
  }
  #dl-filter-form > .dl-filter-group:nth-of-type(5),
  #dl-filter-form > .dl-filter-group:nth-of-type(6) {grid-column:auto!important}
  #dl-filter-form > button[type=submit] {grid-column:1!important;grid-row:auto!important}
  #dl-filter-form > a.dl-btn {grid-column:2!important;grid-row:auto!important}
}
@media(max-width:549px) {
  .dl-archive-layout > #dl-filter-panel,
  .dl-archive-layout > .dl-filter-panel {padding:16px 15px!important}
  #dl-filter-form {gap:13px 10px!important}
  #dl-filter-form > .dl-filter-group:nth-of-type(1) .dl-filter-check {
    min-height:32px!important;
    margin:0 5px 5px 0!important;
    padding:6px 9px!important;
    font-size:11px!important;
  }
  #dl-filter-form > .dl-filter-group:nth-of-type(3) {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #dl-filter-form > button[type=submit],
  #dl-filter-form > a.dl-btn {font-size:11px!important}
}


/* NAHINEST v3.3.11 — functional homepage filter visual system */
.nh-live-filter-wrap {
  max-width:1240px!important;
  margin:0 auto!important;
  padding:clamp(18px,2.5vw,30px)!important;
  border:1px solid #e4ebe5!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(23,63,50,.065)!important;
}
.nh-live-filter-form {display:block!important;margin:0!important}
.nh-live-filter-form .nh-filter-fields {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.nh-live-filter-form .nh-filter-field {
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
}
.nh-live-filter-form .nh-filter-field>span {
  color:#405448!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
}
.nh-live-filter-form .nh-filter-field input,
.nh-live-filter-form .nh-filter-field select {
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #dfe7e0!important;
  border-radius:11px!important;
  background:#fafcf9!important;
  color:#263b30!important;
  box-shadow:none!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
.nh-live-filter-form .nh-filter-field input:focus,
.nh-live-filter-form .nh-filter-field select:focus {
  border-color:#27634b!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(39,99,75,.10)!important;
  outline:0!important;
}
.nh-live-filter-form .nh-filter-amenities {
  margin:20px 0 0!important;
  padding:0!important;
  border:0!important;
}
.nh-live-filter-form .nh-filter-amenities legend {
  margin:0 0 10px!important;
  color:#405448!important;
  font-size:11px!important;
  font-weight:800!important;
}
.nh-live-filter-form .nh-filter-amenity-options {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.nh-live-filter-form .nh-filter-amenity {
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
  margin:0!important;
  padding:6px 11px!important;
  border:1px solid #e2eae3!important;
  border-radius:999px!important;
  background:#f8faf8!important;
  color:#56665b!important;
  font-size:11px!important;
}
.nh-live-filter-form .nh-filter-amenity input {margin:0!important;accent-color:#174b39!important}
.nh-live-filter-form .nh-filter-actions {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:20px 0 0!important;
  padding:0!important;
}
.nh-live-filter-form .nh-filter-submit {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:190px!important;
  min-height:48px!important;
  padding:0 24px!important;
  border:1px solid #174b39!important;
  border-radius:999px!important;
  background:#174b39!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.045em!important;
  box-shadow:0 7px 18px rgba(23,75,57,.14)!important;
}
.nh-live-filter-form .nh-filter-submit:hover {background:#103a2b!important;color:#fff!important}
.nh-live-filter-form .nh-filter-clear {
  min-height:44px!important;
  padding:0 17px!important;
  border:1px solid #dfe7e0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#526157!important;
  font-size:11px!important;
  font-weight:750!important;
}
.nh-live-filter-form .nh-filter-note {
  margin:12px 0 0!important;
  color:#89958c!important;
  font-size:11px!important;
  line-height:1.6!important;
}
.nh-live-filter-wrap .nh-filter-results-toolbar {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:24px 0 14px!important;
  padding-top:18px!important;
  border-top:1px solid #edf1ed!important;
}
.nh-live-filter-wrap .nh-filter-results-toolbar strong {font-size:15px!important;color:#20372b!important}
.nh-live-filter-wrap .nh-filter-empty {
  grid-column:1/-1!important;
  margin:0!important;
  padding:22px!important;
  border:1px dashed #d9e3dc!important;
  border-radius:13px!important;
  background:#fafcf9!important;
  color:#718078!important;
  font-size:13px!important;
  text-align:center!important;
}
.nh-live-filter-wrap .dl-loading {opacity:.55;pointer-events:none}
@media(max-width:900px) {
  .nh-live-filter-form .nh-filter-fields {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
}
@media(max-width:549px) {
  .nh-live-filter-wrap {padding:16px 14px!important;border-radius:16px!important}
  .nh-live-filter-form .nh-filter-fields {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 9px!important}
  .nh-live-filter-form .nh-filter-field>span {font-size:10px!important}
  .nh-live-filter-form .nh-filter-field input,
  .nh-live-filter-form .nh-filter-field select {height:45px!important;min-height:45px!important;padding:0 9px!important;font-size:11px!important}
  .nh-live-filter-form .nh-filter-actions {flex-direction:column!important;align-items:stretch!important}
  .nh-live-filter-form .nh-filter-submit,
  .nh-live-filter-form .nh-filter-clear {width:100%!important}
  .nh-live-filter-wrap .nh-filter-results-toolbar {align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
}


/* NAHINEST v3.3.12 — prevent CTA from covering nightly price on narrow cards */
.dl-property-card .dl-card-footer {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.dl-property-card .dl-card-price {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%!important;
  min-width:0!important;
  gap:2px!important;
}
.dl-property-card .dl-price-old,
.dl-property-card .dl-price-main,
.dl-property-card .dl-price-contact,
.dl-property-card .dl-card-price small {
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.dl-property-card .dl-price-main {
  font-size:clamp(16px,1.4vw,20px)!important;
  line-height:1.25!important;
}
.dl-property-card .dl-btn-book-sm {
  position:static!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:10px 14px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}


/* ============================================================
   NAHINEST v3.3.13 — signature forest retreat booking experience
   Real HTML form + existing WooCommerce AJAX filter.
   ============================================================ */
.nh-booking-experience {
  max-width:1240px!important;
  margin:0 auto!important;
  padding:0 12px!important;
}
.nh-booking-brand {
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:280px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-radius:24px 24px 0 0!important;
  background-color:#e8eee5!important;
  background-image:linear-gradient(90deg,rgba(250,248,239,.98) 0%,rgba(250,248,239,.94) 31%,rgba(250,248,239,.48) 54%,rgba(250,248,239,.02) 100%),var(--nh-brand-image)!important;
  background-size:cover!important;
  background-position:center 52%!important;
}
.nh-booking-brand-copy {
  position:relative!important;
  z-index:2!important;
  width:min(58%,650px)!important;
  padding:38px clamp(24px,5vw,64px)!important;
}
.nh-booking-brand-kicker {
  display:inline-flex!important;
  align-items:center!important;
  gap:15px!important;
  margin:0 0 18px!important;
  color:#174b39!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.22em!important;
}
.nh-booking-brand-kicker i {
  display:block!important;
  width:38px!important;
  height:2px!important;
  background:#bd9650!important;
}
.nh-booking-brand h2 {
  margin:0!important;
  color:#174b39!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(38px,5vw,66px)!important;
  font-weight:500!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
}
.nh-booking-brand h2 em {
  color:#a87922!important;
  font-weight:500!important;
}
.nh-booking-brand-location {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:20px 0 0!important;
  color:#174b39!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.2em!important;
}
.nh-booking-brand-location span {font-size:21px!important}
.nh-live-filter-wrap {
  position:relative!important;
  z-index:3!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(22px,3vw,38px)!important;
  border:1px solid #e5e7dc!important;
  border-top:0!important;
  border-radius:0 0 22px 22px!important;
  background:linear-gradient(180deg,#fff 0%,#fcfbf7 100%)!important;
  box-shadow:0 18px 45px rgba(28,54,39,.09)!important;
}
.nh-booking-intro {
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  margin:0 0 22px!important;
  padding:0 0 19px!important;
  border-bottom:1px solid #edf0e9!important;
}
.nh-booking-leaf {
  display:flex!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#edf4ed!important;
  color:#236348!important;
  font-size:20px!important;
}
.nh-booking-intro p {
  margin:0!important;
  color:#5c6a60!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.nh-booking-intro strong {color:#203d2d!important;font-weight:800!important}
.nh-booking-type-row {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:0 0 23px!important;
}
.nh-booking-type-chip {
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  cursor:pointer!important;
}
.nh-booking-type-chip input {
  position:absolute!important;
  width:1px!important;height:1px!important;
  opacity:0!important;
}
.nh-booking-type-chip span {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 19px!important;
  border:1px solid #e0e7df!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#526257!important;
  font-size:12px!important;
  font-weight:750!important;
  transition:all .18s ease!important;
}
.nh-booking-type-chip input:checked + span {
  border-color:#174b39!important;
  background:#174b39!important;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(23,75,57,.16)!important;
}
.nh-booking-type-chip input:focus-visible + span {
  outline:3px solid rgba(189,150,80,.45)!important;
  outline-offset:2px!important;
}
.nh-live-filter-form .nh-filter-fields {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:17px 15px!important;
}
.nh-live-filter-form .nh-filter-field {
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  gap:8px!important;
  margin:0!important;
}
.nh-live-filter-form .nh-filter-field>span {
  color:#344b3d!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
}
.nh-live-filter-form .nh-filter-field input,
.nh-live-filter-form .nh-filter-field select {
  width:100%!important;
  height:49px!important;
  min-height:49px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #dce5dc!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#293c30!important;
  box-shadow:none!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
.nh-live-filter-form .nh-filter-field input:focus,
.nh-live-filter-form .nh-filter-field select:focus {
  border-color:#27664d!important;
  box-shadow:0 0 0 3px rgba(39,102,77,.10)!important;
  outline:0!important;
}
.nh-live-filter-form .nh-field-area {grid-column:span 1!important}
.nh-live-filter-form .nh-field-price-min,
.nh-live-filter-form .nh-field-price-max {grid-column:span 1!important}
.nh-live-filter-form .nh-filter-amenities {
  margin:23px 0 0!important;
  padding:0!important;
  border:0!important;
}
.nh-live-filter-form .nh-filter-amenities legend {
  margin:0 0 12px!important;
  color:#344b3d!important;
  font-size:12px!important;
  font-weight:850!important;
}
.nh-live-filter-form .nh-filter-amenity-options {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.nh-live-filter-form .nh-filter-amenity {
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 12px!important;
  border:1px solid #e2e9e1!important;
  border-radius:999px!important;
  background:#fbfcfa!important;
  color:#536357!important;
  font-size:11px!important;
  font-weight:650!important;
}
.nh-live-filter-form .nh-filter-amenity input {
  width:15px!important;height:15px!important;
  margin:0!important;
  accent-color:#174b39!important;
}
.nh-live-filter-form .nh-filter-actions {
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:25px 0 0!important;
  padding:0!important;
}
.nh-live-filter-form .nh-filter-submit {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-width:260px!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 26px!important;
  border:1px solid #174b39!important;
  border-radius:999px!important;
  background:linear-gradient(105deg,#236b48,#0e4432)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.055em!important;
  box-shadow:0 9px 22px rgba(23,75,57,.17)!important;
}
.nh-live-filter-form .nh-filter-submit:hover {
  background:#103a2b!important;color:#fff!important;transform:translateY(-1px)
}
.nh-live-filter-form .nh-filter-submit span {font-size:22px!important;line-height:1!important}
.nh-live-filter-form .nh-filter-clear {
  min-height:50px!important;
  margin:0!important;
  padding:0 23px!important;
  border:1px solid #d9e1d8!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#3d5144!important;
  font-size:12px!important;
  font-weight:750!important;
}
.nh-live-filter-form .nh-filter-note {
  margin:13px 0 0!important;
  color:#879187!important;
  font-size:10px!important;
  line-height:1.65!important;
}
.nh-live-filter-wrap .nh-filter-results-toolbar {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:25px 0 14px!important;
  padding-top:20px!important;
  border-top:1px solid #edf0e9!important;
}
.nh-live-filter-wrap .nh-filter-results-toolbar strong {
  color:#203d2d!important;font-size:16px!important;font-weight:850!important
}
.nh-live-filter-wrap .nh-filter-empty {
  grid-column:1/-1!important;
  margin:0!important;
  padding:23px!important;
  border:1px dashed #d8e3d8!important;
  border-radius:14px!important;
  background:#f8faf6!important;
  color:#728075!important;
  text-align:center!important;
  font-size:13px!important;
}
@media(max-width:900px) {
  .nh-booking-brand {min-height:235px!important}
  .nh-booking-brand-copy {width:68%!important;padding:30px 28px!important}
  .nh-live-filter-form .nh-filter-fields {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:549px) {
  .nh-booking-experience {padding:0!important}
  .nh-booking-brand {
    min-height:210px!important;
    border-radius:16px 16px 0 0!important;
    background-image:linear-gradient(90deg,rgba(250,248,239,.97) 0%,rgba(250,248,239,.84) 48%,rgba(250,248,239,.12) 100%),var(--nh-brand-image)!important;
    background-position:58% center!important;
  }
  .nh-booking-brand-copy {width:78%!important;padding:25px 19px!important}
  .nh-booking-brand-kicker {font-size:10px!important;margin-bottom:13px!important}
  .nh-booking-brand h2 {font-size:37px!important}
  .nh-booking-brand-location {font-size:9px!important;margin-top:14px!important}
  .nh-live-filter-wrap {padding:19px 15px!important;border-radius:0 0 16px 16px!important}
  .nh-booking-intro {align-items:flex-start!important;gap:9px!important;margin-bottom:17px!important}
  .nh-booking-intro p {font-size:12px!important}
  .nh-booking-leaf {flex-basis:30px!important;width:30px!important;height:30px!important;font-size:16px!important}
  .nh-booking-type-row {gap:7px!important;margin-bottom:18px!important}
  .nh-booking-type-chip span {min-height:36px!important;padding:0 12px!important;font-size:10px!important}
  .nh-live-filter-form .nh-filter-fields {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px 9px!important}
  .nh-live-filter-form .nh-filter-field>span {font-size:10px!important}
  .nh-live-filter-form .nh-filter-field input,
  .nh-live-filter-form .nh-filter-field select {height:44px!important;min-height:44px!important;padding:0 9px!important;font-size:11px!important}
  .nh-live-filter-form .nh-filter-amenities {margin-top:18px!important}
  .nh-live-filter-form .nh-filter-amenity {min-height:33px!important;padding:6px 9px!important;font-size:10px!important}
  .nh-live-filter-form .nh-filter-actions {flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin-top:19px!important}
  .nh-live-filter-form .nh-filter-submit,
  .nh-live-filter-form .nh-filter-clear {width:100%!important;min-width:0!important;min-height:46px!important}
  .nh-live-filter-wrap .nh-filter-results-toolbar {align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
}


/* NAHINEST v3.3.15 — private staff workspace on property detail pages */
.nh-internal-workspace {
  margin:0 auto 28px!important;
  padding:22px 24px!important;
  border:1px solid #d9e5da!important;
  border-left:4px solid #b9924c!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#f7faf5 0%,#fff 72%)!important;
  box-shadow:0 10px 28px rgba(25,65,46,.07)!important;
  color:#244334!important;
}
.nh-internal-head {
  display:flex!important;align-items:flex-start!important;
  justify-content:space-between!important;gap:16px!important;
  padding-bottom:15px!important;border-bottom:1px solid #e7eee6!important;
}
.nh-internal-eyebrow {
  display:block!important;margin-bottom:6px!important;
  color:#a47a35!important;font-size:10px!important;
  font-weight:850!important;letter-spacing:.16em!important;
}
.nh-internal-head h3 {
  margin:0 0 5px!important;color:#174b39!important;
  font-family:Georgia,serif!important;font-size:24px!important;
}
.nh-internal-head p {
  margin:0!important;color:#718075!important;font-size:12px!important;
}
.nh-internal-lock {
  flex:none!important;padding:7px 11px!important;border-radius:99px!important;
  background:#e9f2e9!important;color:#285a41!important;
  font-size:11px!important;font-weight:800!important;
}
.nh-internal-grid {
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;margin:17px 0!important;
}
.nh-internal-item {
  min-width:0!important;padding:13px!important;
  border:1px solid #e5ece4!important;border-radius:11px!important;
  background:#fff!important;
}
.nh-internal-item>span,.nh-internal-note>span {
  display:block!important;margin-bottom:6px!important;
  color:#839087!important;font-size:10px!important;
  font-weight:750!important;text-transform:uppercase!important;letter-spacing:.04em!important;
}
.nh-internal-item strong {
  display:block!important;color:#294b37!important;
  font-size:13px!important;overflow-wrap:anywhere!important;
}
.nh-internal-calendar a {
  color:#176343!important;font-size:13px!important;font-weight:850!important;
  text-decoration:underline!important;text-underline-offset:3px!important;
}
.nh-internal-note {
  margin-top:12px!important;padding:14px 16px!important;
  border-radius:11px!important;background:#fff!important;
  border:1px solid #e8eee7!important;
}
.nh-internal-note p {
  margin:0!important;color:#435449!important;
  font-size:13px!important;line-height:1.7!important;white-space:normal!important;
}
.nh-internal-empty {
  margin:12px 0!important;color:#7a887d!important;font-size:12px!important;
}
.nh-internal-footer {
  display:flex!important;justify-content:flex-end!important;
  margin-top:14px!important;padding-top:12px!important;
  border-top:1px solid #e7eee6!important;
}
.nh-internal-footer a {
  color:#607468!important;font-size:11px!important;font-weight:750!important;
}
@media(max-width:767px) {
  .nh-internal-workspace {padding:17px 14px!important}
  .nh-internal-head h3 {font-size:21px!important}
  .nh-internal-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .nh-internal-item {padding:11px!important}
}
@media(max-width:420px) {
  .nh-internal-head {flex-direction:column!important}
  .nh-internal-grid {grid-template-columns:1fr 1fr!important}
}


/* NAHINEST v3.3.16 — private call and Zalo contact actions */
.nh-internal-contact a {
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  color:#176343!important;font-size:13px!important;font-weight:850!important;
  text-decoration:none!important;overflow-wrap:anywhere!important;
}
.nh-internal-contact a:hover {color:#a87922!important;text-decoration:underline!important}
.nh-internal-contact:first-of-type a {color:#176343!important}


/* NAHINEST v3.3.17 — compact action button for external booking calendar */
.nh-internal-item .nh-internal-booking-action {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;width:max-content!important;max-width:100%!important;
  padding:9px 13px!important;border-radius:999px!important;
  background:#174b39!important;color:#fff!important;
  font-size:12px!important;font-weight:800!important;line-height:1.2!important;
  text-decoration:none!important;white-space:nowrap!important;
  box-shadow:0 3px 9px rgba(23,75,57,.13)!important;
}
.nh-internal-item .nh-internal-booking-action:hover {
  background:#a47a35!important;color:#fff!important;text-decoration:none!important;
  transform:translateY(-1px)!important;
}
.nh-internal-item .nh-internal-missing {
  color:#89958c!important;font-size:12px!important;font-weight:600!important;
}


/* ============================================================
   NAHINEST v3.3.18 — Hotel room types + consultation / affiliate
   ============================================================ */
.nh-hotel-rooms {
  margin:34px 0 30px!important;padding:26px!important;
  border:1px solid #e4e9df!important;border-radius:18px!important;
  background:#fff!important;box-shadow:0 10px 30px rgba(25,65,46,.055)!important;
}
.nh-hotel-rooms-heading {margin:0 0 20px!important}
.nh-hotel-rooms-heading>span {
  display:block!important;margin-bottom:7px!important;color:#ad8544!important;
  font-size:10px!important;font-weight:850!important;letter-spacing:.16em!important;
}
.nh-hotel-rooms-heading h2 {
  margin:0 0 7px!important;color:#174b39!important;
  font-family:Georgia,"Times New Roman",serif!important;font-size:27px!important;
  line-height:1.2!important;
}
.nh-hotel-rooms-heading p {
  margin:0!important;color:#78847a!important;font-size:12px!important;line-height:1.6!important;
}
.nh-hotel-room-list {display:flex!important;flex-direction:column!important;gap:14px!important}
.nh-hotel-room-card {
  display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;
  gap:18px!important;padding:13px!important;border:1px solid #e6ece5!important;
  border-radius:14px!important;background:#fff!important;
}
.nh-hotel-room-image {
  min-height:170px!important;overflow:hidden!important;border-radius:10px!important;
  background:#edf2ec!important;
}
.nh-hotel-room-image img {
  display:block!important;width:100%!important;height:100%!important;min-height:170px!important;
  object-fit:cover!important;
}
.nh-hotel-room-no-image {
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:#8b9b8d!important;font-family:Georgia,serif!important;font-size:16px!important;
  letter-spacing:.14em!important;
}
.nh-hotel-room-content {min-width:0!important;display:flex!important;flex-direction:column!important}
.nh-hotel-room-content h3 {
  margin:1px 0 6px!important;color:#244735!important;font-size:18px!important;font-weight:850!important;
}
.nh-hotel-room-description {
  margin:0 0 9px!important;color:#718075!important;font-size:12px!important;line-height:1.55!important;
}
.nh-hotel-room-meta {display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:9px!important}
.nh-hotel-room-meta span {color:#53675a!important;font-size:11px!important}
.nh-hotel-room-amenities {display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 12px!important}
.nh-hotel-room-amenities span {
  padding:5px 9px!important;border-radius:99px!important;background:#f0f5ef!important;
  color:#4e6957!important;font-size:10px!important;font-weight:650!important;
}
.nh-hotel-room-prices {
  display:flex!important;flex-wrap:wrap!important;gap:8px 18px!important;
  margin:auto 0 12px!important;padding-top:10px!important;border-top:1px solid #edf1eb!important;
}
.nh-hotel-room-prices div {display:flex!important;flex-direction:column!important;gap:3px!important}
.nh-hotel-room-prices span {color:#859087!important;font-size:10px!important}
.nh-hotel-room-prices strong {color:#174b39!important;font-size:15px!important;font-weight:850!important}
.nh-hotel-room-action {margin-top:2px!important}
.nh-hotel-room-action .nh-room-affiliate-button,
.nh-hotel-room-action .nh-room-lead-details>summary {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;min-height:42px!important;padding:0 17px!important;
  border:0!important;border-radius:999px!important;background:#174b39!important;
  color:#fff!important;font-size:11px!important;font-weight:850!important;
  text-decoration:none!important;cursor:pointer!important;
}
.nh-hotel-room-action .nh-room-affiliate-button:hover,
.nh-hotel-room-action .nh-room-lead-details>summary:hover {
  background:#a47a35!important;color:#fff!important;
}
.nh-room-lead-details {display:block!important}
.nh-room-lead-details>summary {list-style:none!important}
.nh-room-lead-details>summary::-webkit-details-marker {display:none!important}
.nh-room-lead-form {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;margin-top:13px!important;padding:15px!important;
  border:1px solid #e5ece4!important;border-radius:12px!important;background:#f8faf7!important;
}
.nh-room-lead-form label {
  display:flex!important;flex-direction:column!important;gap:5px!important;
  margin:0!important;color:#43594a!important;font-size:11px!important;font-weight:750!important;
}
.nh-room-lead-form label:first-child,
.nh-room-lead-form label:nth-child(2),
.nh-room-lead-form label:nth-last-of-type(1) {grid-column:1/-1!important}
.nh-room-lead-form input,.nh-room-lead-form textarea {
  width:100%!important;min-height:40px!important;margin:0!important;padding:9px 11px!important;
  border:1px solid #dce5dc!important;border-radius:8px!important;background:#fff!important;
  color:#263d2f!important;font-size:12px!important;box-shadow:none!important;
}
.nh-room-lead-form textarea {min-height:65px!important}
.nh-room-lead-two {display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.nh-room-lead-form button {
  grid-column:1/-1!important;min-height:44px!important;margin:0!important;
  border:0!important;border-radius:999px!important;background:#174b39!important;
  color:#fff!important;font-size:12px!important;font-weight:850!important;
}
.nh-room-lead-form small {grid-column:1/-1!important;color:#849087!important;font-size:10px!important}
.nh-room-lead-hp {position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.nh-room-no-route {color:#879187!important;font-size:11px!important}
.nh-hotel-rooms-disclaimer {margin:15px 0 0!important;color:#8a958b!important;font-size:10px!important;line-height:1.5!important}
.nh-room-lead-notice {
  margin:0 0 16px!important;padding:13px 15px!important;border-radius:10px!important;
  font-size:12px!important;font-weight:700!important;line-height:1.5!important;
}
.nh-room-lead-notice-success {background:#edf7ef!important;border:1px solid #cfe5d3!important;color:#245c38!important}
.nh-room-lead-notice-invalid,.nh-room-lead-notice-error {background:#fff5ed!important;border:1px solid #f0d8c5!important;color:#8a4a22!important}
.nh-room-lead-notice-affiliate {background:#f5f2e9!important;border:1px solid #e9dfc7!important;color:#765d2d!important}
@media(max-width:600px) {
  .nh-hotel-rooms {padding:16px!important;margin:25px 0!important}
  .nh-hotel-rooms-heading h2 {font-size:23px!important}
  .nh-hotel-room-card {grid-template-columns:1fr!important;gap:12px!important;padding:10px!important}
  .nh-hotel-room-image,.nh-hotel-room-image img {height:190px!important;min-height:190px!important}
  .nh-hotel-room-content h3 {font-size:17px!important}
  .nh-hotel-room-prices {gap:8px 14px!important}
  .nh-room-lead-form {grid-template-columns:1fr!important;padding:12px!important}
  .nh-room-lead-form label,.nh-room-lead-form label:first-child,.nh-room-lead-form label:nth-child(2),
  .nh-room-lead-form label:nth-last-of-type(1) {grid-column:1!important}
  .nh-room-lead-two {grid-template-columns:1fr!important}
}


/* Hotel room detail, pricing and booking actions — v3.3.22 */
.nh-room-detail-panel{margin:14px 0 12px;border:1px solid #dce8df;border-radius:12px;background:#fbfdfb;overflow:hidden}
.nh-room-detail-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;color:#174b38;font-weight:700;list-style:none}
.nh-room-detail-toggle::-webkit-details-marker{display:none}
.nh-room-detail-panel[open] .nh-room-detail-toggle{border-bottom:1px solid #e2ebe4;background:#f3f8f4}
.nh-room-detail-panel[open] .nh-room-detail-toggle span{transform:rotate(45deg)}
.nh-room-detail-toggle span{font-size:20px;line-height:1;transition:transform .2s}
.nh-room-detail-content{padding:14px}
.nh-room-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.nh-room-detail-gallery a{display:block;overflow:hidden;border-radius:9px;aspect-ratio:4/3}
.nh-room-detail-gallery img{width:100%;height:100%;object-fit:cover}
.nh-room-detail-section{margin:0 0 14px}
.nh-room-detail-section:last-child{margin-bottom:0}
.nh-room-detail-section h4{margin:0 0 7px;color:#174b38;font-size:14px;font-weight:750}
.nh-room-detail-section p{margin:0;color:#53645a;font-size:13px;line-height:1.65}
.nh-room-detail-prices{border:1px solid #e1e9e2;border-radius:10px;overflow:hidden}
.nh-room-detail-prices>div{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid #e8eee9;font-size:13px}
.nh-room-detail-prices>div:last-child{border-bottom:0}
.nh-room-detail-prices span{color:#65736a}
.nh-room-detail-prices strong{color:#174b38;text-align:right}
.nh-room-detail-prices p{padding:10px;margin:0;color:#65736a;font-size:13px}
.nh-room-booking-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nh-room-contact-button,.nh-room-zalo-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:999px;font-size:13px;font-weight:750;text-decoration:none!important}
.nh-room-contact-button{background:#174b38;color:#fff!important}
.nh-room-zalo-button{border:1px solid #c9ded0;background:#f4faf6;color:#174b38!important}
.nh-room-booking-actions .nh-room-lead-details{flex-basis:100%;margin-top:4px}
.nh-room-booking-actions .nh-room-lead-details>summary{display:inline-flex;cursor:pointer;color:#174b38;font-size:13px;font-weight:700}
.nh-room-booking-actions .nh-room-affiliate-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 17px;border-radius:999px;background:#174b38;color:#fff!important;font-size:13px;font-weight:750;text-decoration:none!important}
.nh-room-no-route{display:block;padding:10px 12px;border-radius:9px;background:#fff8e8;color:#8b5a12;font-size:12px;line-height:1.5}
@media(max-width:600px){.nh-room-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.nh-room-booking-actions>*{flex:1 1 100%}.nh-room-booking-actions .nh-room-lead-details{flex-basis:100%}.nh-room-contact-button,.nh-room-zalo-button,.nh-room-affiliate-button{width:100%}}


/* Fallback booking CTA when hotel room details are in the product description — v3.3.23 */
.nh-hotel-booking-fallback{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:24px 0;padding:22px 24px;border:1px solid #dce8df;border-left:4px solid #c59a50;border-radius:15px;background:linear-gradient(135deg,#f7faf7 0%,#fff 100%);box-shadow:0 8px 24px rgba(23,75,56,.06)}
.nh-hotel-booking-fallback-copy>span{display:block;margin-bottom:7px;color:#a47735;font-size:10px;font-weight:800;letter-spacing:1.5px}
.nh-hotel-booking-fallback-copy h3{margin:0 0 6px;color:#174b38;font-size:20px;font-weight:800}
.nh-hotel-booking-fallback-copy p{margin:0;color:#64736a;font-size:13px;line-height:1.6}
.nh-hotel-booking-fallback-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end;min-width:220px}
.nh-hotel-booking-fallback .nh-room-contact-button,.nh-hotel-booking-fallback .nh-room-zalo-button,.nh-hotel-booking-fallback .nh-room-affiliate-button{min-height:44px;padding:11px 17px;border-radius:999px;font-size:12px;font-weight:800;text-align:center;text-decoration:none!important}
.nh-hotel-booking-fallback .nh-room-affiliate-button{background:#174b38;color:#fff!important}
.nh-hotel-booking-fallback .nh-room-no-route{max-width:320px}
@media(max-width:650px){.nh-hotel-booking-fallback{display:block;padding:18px}.nh-hotel-booking-fallback-actions{justify-content:stretch;min-width:0;margin-top:15px}.nh-hotel-booking-fallback-actions>a{width:100%}}


/* Three Affiliate booking CTAs across hotel/resort product pages — v3.3.25 */
.nh-affiliate-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 0;padding:15px 18px;border:1px solid #dce8df;border-left:4px solid #c49a55;border-radius:13px;background:linear-gradient(110deg,#f5faf6 0%,#fff 100%);box-shadow:0 5px 18px rgba(23,75,56,.055)}
.nh-affiliate-cta>span{color:#53675b;font-size:11px;font-weight:800;letter-spacing:.7px;line-height:1.5}
.nh-affiliate-cta>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-width:150px;min-height:44px;padding:10px 20px;border-radius:999px;background:#174b38;color:#fff!important;font-size:13px;font-weight:850;letter-spacing:.25px;text-decoration:none!important;box-shadow:0 5px 13px rgba(23,75,56,.16);transition:transform .18s ease,background .18s ease}
.nh-affiliate-cta>a:hover{background:#103b2c;color:#fff!important;transform:translateY(-1px)}
.nh-affiliate-cta>a span{font-size:16px}
@media(max-width:600px){.nh-affiliate-cta{align-items:stretch;flex-direction:column;gap:10px;padding:14px}.nh-affiliate-cta>a{width:100%}}
