body.room-detail-page {
  --detail-green: #0b4638;
  --detail-green-dark: #06382d;
  --detail-cream: #f7f4ee;
  --detail-surface: #fff;
  --detail-text: #102d27;
  --detail-muted: #6d756f;
  --detail-gold: #c5a15a;
  --detail-border: rgba(16, 45, 39, .13);
  margin: 0;
  overflow-x: clip;
  background: var(--detail-cream);
  color: var(--detail-text);
  font-family: "Be Vietnam Pro", Inter, sans-serif;
}

body.room-detail-page .site-header,
body.room-detail-page .site-header.is-scrolled {
  height: 72px;
  min-height: 72px;
  padding: 0 !important;
  border-bottom: 1px solid var(--detail-border) !important;
  background: rgba(251, 249, 244, .98) !important;
  color: var(--detail-text) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.room-detail-page .site-header .zenith-nav { width: min(1320px, calc(100% - 64px)); min-height: 72px; grid-template-columns: 190px minmax(0, 1fr) 150px; gap: 24px; }
body.room-detail-page .site-header .brand img,
body.room-detail-page .site-header.is-scrolled .brand img { width: 124px; max-height: 42px; filter: none; }
body.room-detail-page .site-header .tropical-nav-links { gap: clamp(28px, 2.5vw, 40px); }
body.room-detail-page .site-header .tropical-nav-links a,
body.room-detail-page .site-header .tropical-nav-links summary { color: var(--detail-text); font-size: .88rem; font-weight: 600; }
body.room-detail-page .site-header .tropical-nav-links > a { min-height: 72px; }
body.room-detail-page .site-header .tropical-nav-links > a.is-active::after { background: var(--detail-green); }
body.room-detail-page.theme-light:not(.auth-theme):not(.zenith-home-v2) .site-header .nav-button {
  min-height: 42px; padding: 0 22px; border: 1px solid var(--detail-green) !important; border-radius: 8px;
  background: var(--detail-green) !important; background-image: none !important; color: #fff !important; -webkit-text-fill-color: #fff !important; box-shadow: 0 8px 20px rgba(11, 70, 56, .16) !important;
}
body.room-detail-page.theme-light:not(.auth-theme):not(.zenith-home-v2) .site-header .nav-button:hover,
body.room-detail-page.theme-light:not(.auth-theme):not(.zenith-home-v2) .site-header .nav-button:focus-visible { background: var(--detail-green-dark) !important; }
body.room-detail-page .contact-dock,
body.room-detail-page .chat-widget,
body.room-detail-page [data-chat-widget] { display: none !important; }

.zenith-detail { padding: 104px 0 0; background: var(--detail-cream); }
.zenith-detail__shell { width: min(1320px, calc(100% - 64px)); margin: 0 auto; }
.zenith-detail__breadcrumb { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: var(--detail-muted); font-size: .78rem; }
.zenith-detail__breadcrumb a { color: inherit; text-decoration: none; }
.zenith-detail__breadcrumb a:hover { color: var(--detail-green); }
.zenith-detail__breadcrumb span:last-child { max-width: 54ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zenith-detail__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 20px; }
.zenith-detail__badges { display: flex; gap: 8px; margin-bottom: 8px; }
.zenith-detail__badges span { display: inline-flex; min-height: 27px; align-items: center; padding: 4px 10px; border-radius: 999px; background: rgba(197, 161, 90, .15); color: #8a682a; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.zenith-detail__badges .is-status { background: rgba(11, 70, 56, .09); color: var(--detail-green); }
.zenith-detail__heading h1 { max-width: 900px; margin: 0; color: var(--detail-green-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2.6rem, 4.1vw, 4.35rem); font-weight: 600; line-height: .98; letter-spacing: -.025em; }
.zenith-detail__location { margin: 12px 0 0; color: #52635d; font-size: .9rem; }
.zenith-detail__location span { color: var(--detail-green); }
.zenith-detail__mobile-price { display: none; }
.zenith-detail__heading-actions { display: flex; flex: 0 0 auto; gap: 10px; padding-bottom: 4px; }
.zenith-detail__heading-actions button { min-height: 44px; padding: 0 18px; border: 1px solid var(--detail-border); border-radius: 9px; background: rgba(255,255,255,.72); color: var(--detail-text); font: 700 .8rem/1 "Be Vietnam Pro", sans-serif; }
.zenith-detail__heading-actions button:hover,
.zenith-detail__heading-actions button:focus-visible { border-color: var(--detail-green); color: var(--detail-green); outline: none; }
.room-share-mobile-trigger { display: none; }

.room-gallery { position: relative; display: grid; height: clamp(420px, 35.5vw, 520px); grid-template-columns: minmax(0, 2.2fr) minmax(300px, 1fr); gap: 7px; padding: 7px; border: 1px solid rgba(11,70,56,.18); border-radius: 17px; background: rgba(255,255,255,.58); overflow: hidden; }
.room-gallery button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.room-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.room-gallery__main { position: relative; min-width: 0; overflow: hidden; border-radius: 11px 0 0 11px; }
.room-gallery__counter { position: absolute; bottom: 16px; left: 16px; min-width: 65px; padding: 8px 12px; border-radius: 999px; background: rgba(6,56,45,.9); color: #fff; font-size: .78rem; font-weight: 700; }
.room-gallery__thumbs { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: repeat(3, 1fr); gap: 7px; }
.room-gallery__thumbs button { position: relative; min-height: 0; overflow: hidden; }
.room-gallery__thumbs button:nth-child(2) { border-radius: 0 10px 0 0; }
.room-gallery__thumbs button:last-child { border-radius: 0 0 10px 0; }
.room-gallery__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(6,56,45,.58); color: #fff; font: 700 1.8rem/1 "Be Vietnam Pro", sans-serif; }
.room-gallery--single { display: block; }
.room-gallery--single .room-gallery__main { width: 100%; height: 100%; border-radius: 11px; }
.room-gallery__mobile-track,
.room-gallery__mobile-counter,
.room-gallery__mobile-favorite { display: none; }

.zenith-detail__layout { display: grid; grid-template-columns: minmax(0,1fr) 315px; gap: 24px; align-items: start; margin-top: 10px; padding-bottom: 60px; }
.zenith-detail__content { display: grid; gap: 10px; min-width: 0; }
.room-detail-section { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr); border: 1px solid var(--detail-border); border-radius: 12px; background: rgba(255,255,255,.67); box-shadow: 0 8px 24px rgba(16,45,39,.035); }
.room-detail-section__number { display: grid !important; width: 24px; height: 24px; place-items: center; align-self: start; margin: 18px 0 0 12px; border-radius: 50%; background: var(--detail-green); color: #fff; font-size: .68rem; font-weight: 800; }
.room-detail-section__body { min-width: 0; padding: 16px 20px 18px 4px; }
.room-detail-section h2 { margin: 0 0 12px; color: var(--detail-text); font-family: "Be Vietnam Pro", sans-serif !important; font-size: 1rem; font-weight: 700; line-height: 1.25; }

.room-detail-summary__grid { display: grid; grid-template-columns: minmax(185px,.78fr) minmax(0,2.2fr); gap: 22px; align-items: center; }
.room-detail-summary__price { padding-right: 20px; border-right: 1px solid var(--detail-border); }
.room-detail-summary__price small { display: block; margin-bottom: 2px; color: var(--detail-muted); font-size: .74rem; }
.room-detail-summary__price strong { display: block; color: #b5842e; font-size: 1.45rem; line-height: 1.15; }
.room-detail-summary__price span { color: var(--detail-muted); font-size: .78rem; }
.room-detail-summary dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 0; }
.room-detail-summary dl div { min-width: 0; }
.room-detail-summary dt { margin-bottom: 5px; color: var(--detail-muted); font-size: .69rem; font-weight: 500; }
.room-detail-summary dd { margin: 0; overflow: hidden; color: var(--detail-text); font-size: .82rem; font-weight: 700; text-overflow: ellipsis; }

.room-detail-description { position: relative; max-height: 7.2em; overflow: hidden; color: #3c4e48; font-size: .82rem; line-height: 1.6; }
.room-detail-description::after { position: absolute; right: 0; bottom: 0; left: 0; height: 36px; background: linear-gradient(transparent, rgba(255,255,255,.96)); content: ""; }
.room-detail-description.is-expanded { max-height: none; }
.room-detail-description.is-expanded::after { display: none; }
.room-detail-description p { margin: 0 0 7px; }
.property-description__toggle { min-height: 34px; margin-top: 7px; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--detail-green); font-size: .74rem; font-weight: 700; }
.room-detail-amenities { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px 14px; margin: 0; padding: 0; list-style: none; }
.room-detail-amenities li { display: flex; min-width: 0; align-items: center; gap: 7px; color: #3f514b; font-size: .73rem; }
.room-detail-amenities li span { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(197,161,90,.4); border-radius: 50%; color: #9a742e; font-size: .67rem; }
.room-detail-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; margin: 0; }
.room-detail-facts div { display: grid; grid-template-columns: minmax(110px,.8fr) minmax(0,1.2fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(16,45,39,.08); font-size: .79rem; }
.room-detail-facts dt { color: var(--detail-muted); font-weight: 500; }
.room-detail-facts dd { margin: 0; overflow-wrap: anywhere; color: var(--detail-text); font-weight: 600; }
.room-detail-location__grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(240px,1fr); gap: 20px; align-items: start; }
.room-detail-map { min-height: 250px; overflow: hidden; border: 1px solid var(--detail-border); border-radius: 13px; background: #f2eee3; }
.room-detail-map iframe { display: block; width: 100%; height: 250px; border: 0; }
.room-detail-map__placeholder { display: flex; min-height: 248px; align-items: center; justify-content: center; flex-direction: column; gap: 7px; padding: 28px; background: radial-gradient(circle at 50% 35%,rgba(11,70,56,.1),transparent 34%),#f4f0e5; color: var(--detail-green); text-align: center; }
.room-detail-map__placeholder > span { display: grid; width: 56px; height: 56px; place-items: center; margin-bottom: 4px; border: 1px solid rgba(11,70,56,.22); border-radius: 50%; background: #fff; font-size: 1.55rem; }
.room-detail-map__placeholder strong { font-size: .86rem; }
.room-detail-map__placeholder small { color: var(--detail-muted); font-size: .67rem; }
.room-detail-location__info { position: relative; display: flex; min-width: 0; justify-content: center; flex-direction: column; padding: 22px 20px; border: 1px solid rgba(11,70,56,.1); border-radius: 13px; background: #fbfaf6; }
.room-detail-location__pin { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 12px; border-radius: 50%; background: var(--detail-green); color: #fff; }
.room-detail-location__info > small { color: #9a742e; font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.room-detail-location__info h3 { margin: 5px 0 11px; color: var(--detail-text); font: 700 1.08rem/1.25 "Cormorant Garamond",Georgia,serif; }
.room-detail-location__parts { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.room-detail-location__parts span { padding: 6px 10px; border-radius: 999px; background: rgba(11,70,56,.06); color: var(--detail-green); font-size: .68rem; }
.room-detail-location__note { margin: 0 0 13px; color: var(--detail-muted); font-size: .66rem; line-height: 1.5; }
.room-detail-location a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 1px solid var(--detail-green); border-radius: 8px; color: var(--detail-green); font-size: .72rem; font-weight: 700; text-decoration: none; }
.room-detail-location a:hover { background: var(--detail-green); color: #fff; }
.room-detail-location a:focus-visible { outline: 3px solid rgba(197,161,90,.45); outline-offset: 3px; }

.room-contact { position: sticky; top: 88px; overflow: hidden; border: 1px solid rgba(197,161,90,.55); border-radius: 12px; background: #fff; box-shadow: 0 14px 34px rgba(16,45,39,.08); text-align: center; }
.room-contact > header { padding: 13px 18px; background: var(--detail-green); color: #fff; font-size: .88rem; font-weight: 700; }
.room-contact__profile { padding: 18px 22px 8px; }
.room-contact__mark { display: grid; width: 72px; height: 72px; place-items: center; margin: 0 auto 10px; border: 2px solid rgba(197,161,90,.65); border-radius: 50%; background: var(--detail-green); color: #fff; font-size: 1rem; font-weight: 800; }
.room-contact__profile img { width: 78px; height: 78px; margin-bottom: 10px; border: 2px solid var(--detail-gold); border-radius: 50%; object-fit: cover; }
.room-contact__profile h2 { margin: 0 0 3px; font: 700 1rem/1.3 "Be Vietnam Pro", sans-serif; }
.room-contact__profile p { margin: 0; color: var(--detail-muted); font-size: .74rem; }
.room-contact > p { margin: 0; padding: 4px 22px 12px; color: var(--detail-muted); font-size: .76rem; line-height: 1.5; }
.room-contact__phone { display: block; margin-bottom: 13px; color: var(--detail-green); font-size: 1.16rem; font-weight: 800; text-decoration: none; }
.room-contact__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 20px 16px; }
.room-contact__actions a { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; border: 1px solid var(--detail-green); border-radius: 8px; background: #fff; color: var(--detail-green); font: 700 .75rem/1 "Be Vietnam Pro",sans-serif; text-decoration: none; }
.room-contact__actions .room-contact__consult { grid-column: 1 / -1; }
.room-contact__actions .is-primary { background: var(--detail-green); color: #fff; }
.room-contact__actions .room-contact__consult { order: 2; grid-column: auto; }
.room-contact__actions .room-contact__zalo-inquiry { order: 3; grid-column: 1 / -1; border-color: #0877bd; background: #0877bd; color: #fff; }
.room-contact__actions .room-contact__zalo-inquiry:hover,
.room-contact__actions .room-contact__zalo-inquiry:focus-visible { border-color: #06649f; background: #06649f; }
.room-zalo-label-short { display: none; }
.room-contact__commit { display: flex; align-items: center; gap: 9px; margin: 0 20px 18px; padding: 11px 12px; border-radius: 8px; background: #f8f3e6; color: #4f5f59; text-align: left; }
.room-contact__commit span { display: grid; width: 24px; height: 24px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: var(--detail-green); color: #fff; }
.room-contact__commit p { margin: 0; font-size: .7rem; line-height: 1.4; }
.room-contact-mobile { display: none; }

.room-similar__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.room-similar__heading > a { color: var(--detail-green); font-size: .7rem; font-weight: 700; text-decoration: none; }
.room-similar__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.room-similar-card { display: flex; min-width: 0; height: 100%; overflow: hidden; flex-direction: column; border: 1px solid var(--detail-border); border-radius: 9px; background: #fff; }
.room-similar-card__media { position: relative; display: block; aspect-ratio: 1.62/1; overflow: hidden; }
.room-similar-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.room-similar-card:hover img { transform: scale(1.025); }
.room-similar-card__media > span { position: absolute; top: 8px; left: 8px; padding: 4px 7px; border-radius: 999px; background: var(--detail-green); color: #fff; font-size: .56rem; font-weight: 700; }
.room-similar-card__body { display: flex; flex: 1; flex-direction: column; padding: 11px 12px 12px; }
.room-similar-card__body > p { margin: 0 0 5px; color: #9d7024; font-size: .86rem; font-weight: 800; }
.room-similar-card__body > p small { color: var(--detail-muted); font-size: .58rem; font-weight: 500; }
.room-similar-card h3 { min-height: 2.5em; margin: 0 0 5px; font: 600 .94rem/1.25 "Cormorant Garamond",Georgia,serif; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.room-similar-card h3 a { color: var(--detail-text); text-decoration: none; }
.room-similar-card__body > span { display: block; color: var(--detail-muted); font-size: .68rem; }
.room-similar-card__link { display: inline-flex; margin-top: auto; padding-top: 9px; color: var(--detail-green); font-size: .69rem; font-weight: 700; text-decoration: none; }

@media (min-width: 1200px) {
  .room-similar__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
}

.room-detail-mobile-cta { display: none; }
body.room-detail-page .tropical-site-footer { padding: 64px 0 34px; background: var(--detail-green-dark); }
body.room-detail-page .tropical-site-footer .tropical-home-shell { width: min(1320px, calc(100% - 64px)); }

.property-lightbox { border: 0; background: transparent; }
.property-lightbox::backdrop { background: rgba(2,18,14,.92); }
.property-lightbox figure { margin: 0; }
.property-lightbox img { max-width: min(1100px,82vw); max-height: 82vh; object-fit: contain; }
.property-lightbox figcaption { color: #fff; text-align: center; }

.room-share-dialog,
.room-share-manual { width: min(500px, calc(100vw - 32px)); max-width: none; padding: 0; border: 0; border-radius: 18px; background: transparent; color: var(--detail-text); box-shadow: 0 28px 90px rgba(2,18,14,.28); }
.room-share-dialog::backdrop,
.room-share-manual::backdrop { background: rgba(2,18,14,.58); backdrop-filter: blur(3px); }
.room-share-dialog__surface,
.room-share-manual form { overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: inherit; background: #fbfaf6; }
.room-share-dialog__handle { display: none; }
.room-share-dialog__header,
.room-share-manual header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px 16px; }
.room-share-dialog__header small { display: block; margin-bottom: 3px; color: #9a742e; font-size: .64rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.room-share-dialog__header h2,
.room-share-manual h2 { margin: 0; color: var(--detail-green-dark); font: 600 1.72rem/1.1 "Cormorant Garamond",Georgia,serif; }
.room-share-dialog__header > button,
.room-share-manual header button { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid var(--detail-border); border-radius: 50%; background: #fff; color: var(--detail-text); font-size: 1.35rem; cursor: pointer; }
.room-share-dialog__header > button:hover,
.room-share-dialog__header > button:focus-visible,
.room-share-manual header button:hover,
.room-share-manual header button:focus-visible { border-color: var(--detail-green); outline: 3px solid rgba(11,70,56,.12); }
.room-share-dialog__preview { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 14px; align-items: center; margin: 0 22px 18px; padding: 8px; border: 1px solid var(--detail-border); border-radius: 12px; background: #fff; }
.room-share-dialog__preview img,
.room-share-dialog__placeholder { width: 96px; height: 120px; border-radius: 8px; object-fit: cover; }
.room-share-dialog__placeholder { display: grid; place-items: center; background: var(--detail-green); color: #fff; font-weight: 800; }
.room-share-dialog__preview h3 { display: -webkit-box; margin: 0 0 5px; overflow: hidden; color: var(--detail-text); font: 700 .88rem/1.35 "Be Vietnam Pro",sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.room-share-dialog__preview strong { display: block; margin-bottom: 3px; color: #9a7029; font-size: .84rem; }
.room-share-dialog__preview small { display: block; overflow: hidden; color: var(--detail-muted); font-size: .66rem; text-overflow: ellipsis; white-space: nowrap; }
.room-share-dialog__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; padding: 0 22px 22px; }
.room-share-dialog__actions button { display: grid; min-width: 0; min-height: 74px; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--detail-border); border-radius: 11px; background: rgba(255,255,255,.8); color: var(--detail-text); text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.room-share-dialog__actions button:last-child { grid-column: 1 / -1; }
.room-share-dialog__actions button:hover { border-color: rgba(11,70,56,.4); background: #fff; transform: translateY(-1px); }
.room-share-dialog__actions button:focus-visible { border-color: var(--detail-green); outline: 3px solid rgba(11,70,56,.13); outline-offset: 1px; }
.room-share-dialog__actions button:disabled { opacity: .58; cursor: wait; transform: none; }
.room-share-dialog__actions button > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: rgba(11,70,56,.08); color: var(--detail-green); font-size: 1rem; font-weight: 800; }
.room-share-dialog__actions button > span.is-zalo { background: #0877bd; color: #fff; }
.room-share-dialog__actions strong,
.room-share-dialog__actions small { display: block; }
.room-share-dialog__actions strong { margin-bottom: 4px; font-size: .72rem; line-height: 1.25; }
.room-share-dialog__actions small { color: var(--detail-muted); font-size: .6rem; line-height: 1.35; }
.room-share-manual form { padding-bottom: 22px; }
.room-share-manual p { margin: 0; padding: 0 22px 14px; color: var(--detail-muted); font-size: .76rem; line-height: 1.55; }
.room-share-manual textarea { display: block; width: calc(100% - 44px); min-height: 210px; margin: 0 22px 14px; padding: 14px; resize: vertical; border: 1px solid var(--detail-border); border-radius: 10px; background: #fff; color: var(--detail-text); font: 500 .76rem/1.55 "Be Vietnam Pro",sans-serif; }
.room-share-manual textarea:focus { border-color: var(--detail-green); outline: 3px solid rgba(11,70,56,.12); }
.room-share-manual__select { min-height: 44px; margin: 0 22px; padding: 0 18px; border: 0; border-radius: 9px; background: var(--detail-green); color: #fff; font-weight: 700; cursor: pointer; }
.room-share-toast { position: fixed; right: 24px; bottom: 24px; z-index: 1400; max-width: min(390px,calc(100vw - 32px)); padding: 13px 16px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: var(--detail-green-dark); color: #fff; box-shadow: 0 14px 34px rgba(2,18,14,.25); font-size: .76rem; line-height: 1.5; opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
.room-share-toast.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .zenith-detail__layout { grid-template-columns: minmax(0,1fr) 300px; gap: 18px; }
  .room-detail-summary dl { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .room-detail-amenities { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .room-gallery { height: 440px; grid-template-columns: minmax(0,2fr) minmax(270px,1fr); }
}

@media (max-width: 900px) {
  .zenith-detail__layout { display: block; }
  .room-contact { position: static; max-width: 560px; margin: 18px auto 0; }
  .room-gallery { height: 390px; grid-template-columns: minmax(0,1.8fr) minmax(250px,1fr); }
}

@media (max-width: 767px) {
  body.room-detail-page { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  body.room-detail-page .site-header { height: 72px; }
  body.room-detail-page .site-header .zenith-nav { width: calc(100% - 40px); min-height: 72px; display: flex; justify-content: space-between; }
  body.room-detail-page .site-header .brand img { width: 126px; }
  body.room-detail-page .site-header .tropical-nav-links,
  body.room-detail-page .site-header .nav-actions { display: none; }
  .zenith-detail { padding-top: 0; }
  .zenith-detail__shell { display: flex; width: 100%; flex-direction: column; }
  .zenith-detail__breadcrumb { display: none; }
  .zenith-detail__heading { order: 2; display: block; margin: 0; padding: 18px 20px 20px; }
  .zenith-detail__badges { margin-bottom: 8px; }
  .zenith-detail__badges span { min-height: 25px; font-size: .64rem; }
  .zenith-detail__heading h1 { padding-right: 44px; font-size: clamp(2rem,9vw,2.55rem); line-height: 1.02; }
  .zenith-detail__mobile-price { display: block; margin: 11px 0 0; color: var(--detail-green); font-size: 1.42rem; font-weight: 800; }
  .zenith-detail__mobile-price small { margin-left: 2px; color: var(--detail-muted); font-size: .75rem; font-weight: 500; }
  .zenith-detail__location { margin-top: 8px; font-size: .78rem; line-height: 1.5; }
  .zenith-detail__heading-actions { display: none; }
  .room-share-mobile-trigger { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; margin-top: 14px; padding: 0 15px; border: 1px solid var(--detail-green); border-radius: 9px; background: transparent; color: var(--detail-green); font: 700 .74rem/1 "Be Vietnam Pro",sans-serif; }

  .room-gallery { order: 1; display: block; width: 100%; height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
  .room-gallery__main,
  .room-gallery__thumbs { display: none; }
  .room-gallery__mobile-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; width: 100% !important; margin: 0 !important; padding: 0 !important; gap: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .room-gallery__mobile-track::-webkit-scrollbar { display: none; }
  .room-gallery__mobile-track figure { width: 100%; margin: 0; scroll-snap-align: start; }
  .room-gallery__mobile-track button { display: block; width: 100%; }
  .room-gallery__mobile-track img { width: 100%; aspect-ratio: 1.28/1 !important; object-fit: cover; }
  .room-gallery__mobile-counter { position: absolute; right: 14px; bottom: 13px; display: inline-flex; min-width: 52px; justify-content: center; padding: 7px 10px; border-radius: 999px; background: rgba(6,56,45,.9); color: #fff; font-size: .7rem; font-weight: 700; }
  .room-gallery__mobile-favorite { position: absolute; top: auto; right: 14px; bottom: -67px; z-index: 2; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--detail-border); border-radius: 50%; background: #fff; color: var(--detail-green); font-size: 1.6rem; box-shadow: 0 8px 18px rgba(16,45,39,.08); }

  .zenith-detail__layout { order: 3; display: block; margin: 0; padding: 0 20px 32px; }
  .zenith-detail__content { display: flex !important; min-width: 0; flex-direction: column; gap: 12px; }
  .room-detail-section { display: block; width: auto !important; min-width: 0 !important; max-width: 100% !important; border-radius: 11px; }
  .room-detail-section__number { display: none !important; }
  .room-detail-section__body { padding: 19px 17px 20px; }
  .room-detail-section h2 { margin-bottom: 14px; font-size: 1.08rem; }
  .room-detail-summary__grid { display: block; }
  .room-detail-summary__price { display: none; }
  .room-detail-summary dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
  .room-detail-summary dl div { min-height: 68px; padding: 10px 8px; border-bottom: 1px solid rgba(16,45,39,.08); }
  .room-detail-summary dl div:nth-child(odd) { border-right: 1px solid rgba(16,45,39,.08); }
  .room-detail-summary dt { font-size: .68rem; }
  .room-detail-summary dd { font-size: .8rem; white-space: normal; }
  .room-detail-description { font-size: .86rem; line-height: 1.65; }
  .room-detail-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .room-detail-amenities li { font-size: .76rem; }
  .room-detail-facts { display: block; }
  .room-detail-facts div { grid-template-columns: minmax(100px,.8fr) minmax(0,1.2fr); padding: 10px 0; font-size: .76rem; }
  .room-detail-location a { min-height: 44px; }
  .room-detail-location__grid { width: 100% !important; max-width: 100% !important; grid-template-columns: minmax(0,1fr) !important; gap: 14px; }
  .room-detail-map { width: 100% !important; max-width: 100% !important; min-height: 220px; }
  .room-detail-map iframe { height: 220px; }
  .room-detail-map__placeholder { min-height: 218px; padding: 22px; }
  .room-detail-location__info { width: 100% !important; max-width: 100% !important; padding: 18px 16px; }
  .room-detail-location__info h3 { font-size: 1.12rem; }
  .room-detail-location__info a { width: 100%; }
  .room-contact { display: none; }
  .room-contact-mobile { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; gap: 11px; align-items: center; padding: 15px; border: 1px solid var(--detail-border); border-radius: 11px; background: #fff; }
  .room-contact-mobile .room-contact__mark { width: 50px; height: 50px; margin: 0; font-size: .72rem; }
  .room-contact-mobile small { color: var(--detail-muted); font-size: .62rem; }
  .room-contact-mobile h2 { margin: 1px 0 3px; font: 700 .78rem/1.3 "Be Vietnam Pro",sans-serif; }
  .room-contact-mobile div > a { color: var(--detail-green); font-size: .7rem; font-weight: 700; text-decoration: none; }
  .room-contact-mobile__zalo { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 11px; border: 1px solid #0877bd; border-radius: 8px; background: #0877bd; color: #fff; font-size: .68rem; font-weight: 700; text-decoration: none; }
  .room-contact-mobile .room-zalo-label-full { display: none; }
  .room-contact-mobile .room-zalo-label-short { display: inline; }
  .room-similar { margin-inline: -20px; border-right: 0; border-left: 0; border-radius: 0; background: transparent; }
  .room-similar .room-detail-section__body { padding-inline: 20px; }
  .room-similar__grid { grid-auto-flow: column; grid-auto-columns: minmax(245px,80%); grid-template-columns: none; gap: 12px; margin-inline: -20px; padding: 0 20px 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .room-similar__grid::-webkit-scrollbar { display: none; }
  .room-similar-card { scroll-snap-align: start; }
  .room-similar-card__body { padding: 12px 13px 13px; }
  .room-similar-card__body > p { font-size: .92rem; }
  .room-similar-card h3 { font-size: 1rem; }
  .room-similar-card__body > span,
  .room-similar-card__link { font-size: .7rem; }

  .room-detail-mobile-cta { position: fixed; right: 0; bottom: 0; left: 0; z-index: 400; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 9px 12px calc(9px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.14); background: var(--detail-green-dark); box-shadow: 0 -10px 26px rgba(6,56,45,.18); }
  .room-detail-mobile-cta a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.62); border-radius: 9px; background: var(--detail-green); color: #fff; font: 700 .78rem/1 "Be Vietnam Pro",sans-serif; text-decoration: none; }
  .room-detail-mobile-cta a:last-child { border-color: #fff; background: #fff; color: var(--detail-green); }

  .room-share-dialog { width: 100%; max-height: min(88vh,760px); margin: auto 0 0; border-radius: 20px 20px 0 0; box-shadow: 0 -18px 50px rgba(2,18,14,.25); }
  .room-share-dialog__surface { max-height: min(88vh,760px); padding-bottom: env(safe-area-inset-bottom); overflow-y: auto; border-right: 0; border-bottom: 0; border-left: 0; }
  .room-share-dialog__handle { display: block; width: 42px; height: 4px; margin: 9px auto 0; border-radius: 999px; background: rgba(16,45,39,.2); }
  .room-share-dialog__header { padding-top: 12px; }
  .room-share-dialog__actions button { min-height: 76px; }
  .room-share-manual { width: calc(100% - 24px); }
  .room-share-toast { right: 12px; bottom: calc(78px + env(safe-area-inset-bottom)); left: 12px; max-width: none; }

  body.room-detail-page .tropical-site-footer { margin-bottom: -72px; padding: 58px 0 calc(110px + env(safe-area-inset-bottom)); }
  body.room-detail-page .tropical-site-footer .tropical-home-shell { width: calc(100% - 40px); }
  body.room-detail-page .tropical-site-footer__grid { display: block; }
  body.room-detail-page .tropical-site-footer__brand { margin-bottom: 28px; }
  body.room-detail-page .tropical-site-footer nav,
  body.room-detail-page .tropical-site-footer address { display: block; border-top: 1px solid rgba(255,255,255,.13); }
  body.room-detail-page .tropical-site-footer nav > strong,
  body.room-detail-page .tropical-site-footer address > strong { display: none; }
  body.room-detail-page .zenith-footer-toggle { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: space-between; padding: 0; border: 0; background: transparent; color: #fff; font-size: .78rem; font-weight: 700; text-align: left; text-transform: uppercase; }
  body.room-detail-page .zenith-footer-panel { display: none; gap: 10px; padding: 0 0 18px; }
  body.room-detail-page .zenith-footer-toggle[aria-expanded="true"] + strong + .zenith-footer-panel { display: flex; }
  body.room-detail-page .tropical-site-footer__bottom { display: block; margin-top: 20px; text-align: center; }
  body.room-detail-page .tropical-site-footer__bottom span:last-child { display: none; }
}

@media (max-width: 380px) {
  .zenith-detail__heading,
  .zenith-detail__layout { padding-right: 15px; padding-left: 15px; }
  .room-detail-section__body { padding-right: 14px; padding-left: 14px; }
  .room-contact-mobile { grid-template-columns: 46px minmax(0,1fr); }
  .room-contact-mobile__zalo { grid-column: 1 / -1; justify-content: center; }
  .room-detail-mobile-cta { padding-inline: 8px; }
  .room-detail-mobile-cta .room-zalo-label-full { display: none; }
  .room-detail-mobile-cta .room-zalo-label-short { display: inline; }
  .room-share-dialog__header,
  .room-share-manual header { padding-right: 16px; padding-left: 16px; }
  .room-share-dialog__preview { margin-right: 16px; margin-left: 16px; }
  .room-share-dialog__actions { grid-template-columns: 1fr; padding-right: 16px; padding-left: 16px; }
  .room-share-dialog__actions button:last-child { grid-column: auto; }
}

@media (max-width: 430px) {
  .room-detail-mobile-cta .is-zalo-fallback .room-zalo-label-full { display: none; }
  .room-detail-mobile-cta .is-zalo-fallback .room-zalo-label-short { display: inline; }
}

@media (prefers-reduced-motion: reduce) {
  .room-gallery__mobile-track { scroll-behavior: auto; }
  .room-similar-card__media img { transition: none; }
  .room-share-dialog__actions button,
  .room-share-toast { transition: none; }
}
