/* Page: hotels directory | Reuses the approved Dazi booking interaction. */
.dazi-hotels-page{background:var(--paper);color:var(--text-main)}
.dazi-hotels-page .dazi-shell,.dazi-hotels-page main,.dazi-hotels-page .dazi-header{background:var(--paper)}
.dazi-hotels-page .dazi-hotels-directory{padding:28px 0 88px}
.dazi-hotels-page .dazi-hotels-directory__booking-anchor{position:relative;width:100%;margin:0 0 62px}
.dazi-hotels-page .dazi-hotels-directory__booking-sentinel{display:block;width:1px;height:1px;pointer-events:none}
.dazi-hotels-page .dazi-hero__booking{display:grid;grid-template-columns:1fr;gap:10px;width:100%;margin:0;padding:12px;border:1px solid var(--line);border-top:2px solid var(--sand);border-radius:8px;background:var(--paper);box-shadow:0 12px 28px var(--shadow);color:var(--text-main)}
.dazi-hotels-page .dazi-booking__field{position:relative;min-width:0;padding:7px 10px;border:0;background:var(--cream)}
.dazi-hotels-page .dazi-booking__field label,.dazi-hotels-page .dazi-location__label{display:block;margin:0 0 3px;color:var(--sand);font-size:11px;font-weight:600;line-height:1.4}
.dazi-hotels-page .dazi-booking__field input,.dazi-hotels-page .dazi-booking__field select{width:100%;min-width:0;height:32px;padding:0;border:0;background:transparent;color:var(--text-main);font:inherit;font-size:14px;color-scheme:light}
.dazi-hotels-page .dazi-location__native{position:absolute;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;opacity:0;pointer-events:none}
.dazi-hotels-page .dazi-location__toggle{position:relative;display:block;width:100%;min-height:32px;padding:0 24px 0 0;border:0;background:transparent;color:var(--text-main);font:inherit;font-size:14px;font-weight:500;line-height:1.4;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.dazi-hotels-page .dazi-location__toggle.is-suggestion{color:var(--muted)}
.dazi-hotels-page .dazi-location__toggle::after{content:"";position:absolute;top:10px;right:7px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.dazi-hotels-page .dazi-booking__submit{min-height:48px;padding:12px 20px;border:0;border-radius:8px;background:var(--sand);color:var(--paper);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color 180ms ease-out,transform 180ms ease-out}
.dazi-hotels-page .dazi-booking__submit:hover{background:var(--clay);transform:translateY(-1px)}
.dazi-hotels-page .dazi-location-panel{position:absolute;top:calc(100% + 12px);left:0;z-index:65;display:grid;grid-template-columns:1fr;gap:18px;box-sizing:border-box;width:100%;max-height:calc(100dvh - 104px);padding:18px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text-main);box-shadow:var(--shadow-float)}
.dazi-hotels-page .dazi-location-panel[hidden],.dazi-hotels-page .dazi-location-panel__hotel[hidden],.dazi-hotels-page .dazi-location-panel__empty[hidden]{display:none}
/* The branch picker is part of the page flow before the booking bar becomes sticky.
   This prevents an open panel from obscuring the directory heading and branch cards. */
.dazi-hotels-page .dazi-hotels-directory__booking-anchor:not(.is-docked) .dazi-location-panel:not([hidden]){position:relative;top:auto;left:auto;z-index:auto;margin-top:12px;max-height:none}
.dazi-hotels-page .dazi-location-panel__filters{padding:0 0 18px;border-bottom:1px solid var(--line)}
.dazi-hotels-page .dazi-location-panel__heading{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}
.dazi-hotels-page .dazi-location-panel__heading:not(:first-child){margin-top:20px}
.dazi-hotels-page .dazi-location-panel__chips{display:flex;flex-wrap:wrap;gap:8px}
.dazi-hotels-page .dazi-location-panel__chips button{min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--text-main);font:inherit;font-size:12px;cursor:pointer;transition:background-color 180ms ease-out,border-color 180ms ease-out,color 180ms ease-out}
.dazi-hotels-page .dazi-location-panel__chips button:hover,.dazi-hotels-page .dazi-location-panel__chips button[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.dazi-hotels-page .dazi-location-panel__clear{margin-top:18px;padding:4px 0;border:0;background:transparent;color:var(--text-main);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}
.dazi-hotels-page .dazi-location-panel__hotel{display:flex;align-items:center;gap:14px;width:100%;min-height:82px;padding:8px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;transition:background-color 180ms ease-out,border-color 180ms ease-out}
.dazi-hotels-page .dazi-location-panel__hotel:hover,.dazi-hotels-page .dazi-location-panel__hotel:focus-visible,.dazi-hotels-page .dazi-location-panel__hotel.is-selected{border-color:var(--line);background:var(--cream)}
.dazi-hotels-page .dazi-location-panel__hotel-photo{flex:0 0 76px;width:76px;height:62px;aspect-ratio:4/3;border-radius:4px;object-fit:cover}
.dazi-hotels-page .dazi-location-panel__hotel-copy{min-width:0}
.dazi-hotels-page .dazi-location-panel__hotel-name,.dazi-hotels-page .dazi-location-panel__hotel-address{display:block}
.dazi-hotels-page .dazi-location-panel__hotel-name{font-size:14px;font-weight:600;line-height:1.4}
.dazi-hotels-page .dazi-location-panel__hotel-address{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}
.dazi-hotels-page .dazi-hotels-directory__head{display:grid;gap:26px;margin:0 0 36px}
.dazi-hotels-page .dazi-hotels-directory__title{margin:0;font-size:34px;font-weight:500;letter-spacing:-.035em;line-height:1.15}
.dazi-hotels-page .dazi-hotels-directory__filter{position:relative;width:100%;max-width:320px}
.dazi-hotels-page .dazi-hotels-directory__filter-label{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em;line-height:1.4}
.dazi-hotels-page .dazi-hotels-directory__filter-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--text-main);font:inherit;font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:border-color 180ms ease-out,background-color 180ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__filter-toggle:hover,.dazi-hotels-page .dazi-hotels-directory__filter.is-open .dazi-hotels-directory__filter-toggle{border-color:var(--sand);background:var(--cream)}
.dazi-hotels-page .dazi-hotels-directory__filter-caret{width:8px;height:8px;margin-left:16px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform 180ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__filter.is-open .dazi-hotels-directory__filter-caret{transform:translateY(3px) rotate(225deg)}
.dazi-hotels-page .dazi-hotels-directory__filter-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:100%;padding:6px;border:1px solid var(--line);border-radius:4px;background:var(--paper);box-shadow:0 12px 28px var(--shadow);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity 180ms ease-out,transform 180ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__filter.is-open .dazi-hotels-directory__filter-menu{opacity:1;pointer-events:auto;transform:translateY(0)}
.dazi-hotels-page .dazi-hotels-directory__filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:3px;background:transparent;color:var(--text-main);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background-color 180ms ease-out,color 180ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__filter-option:hover,.dazi-hotels-page .dazi-hotels-directory__filter-option.is-selected{background:var(--cream);color:var(--clay)}
.dazi-hotels-page .dazi-hotels-directory__filter-count{color:var(--muted);font-size:12px}
.dazi-hotels-page .dazi-hotels-directory__grid{display:grid;gap:26px}
.dazi-hotels-page .dazi-hotels-directory__branch{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:hidden;transition:border-color 200ms ease-out,box-shadow 200ms ease-out,transform 200ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__branch.is-entering{animation:dazi-directory-enter 240ms ease-out both}
.dazi-hotels-page .dazi-hotels-directory__branch-link{display:grid;height:100%;color:inherit;text-decoration:none}
.dazi-hotels-page .dazi-hotels-directory__branch-media{position:relative;display:block;isolation:isolate;overflow:hidden;background:var(--cream)}
.dazi-hotels-page .dazi-hotels-directory__branch-media::after{position:absolute;z-index:2;inset:-25% -55%;content:"";pointer-events:none;background:linear-gradient(108deg,transparent 39%,rgba(255,255,255,.08) 44%,rgba(255,255,255,.48) 50%,rgba(255,255,255,.1) 56%,transparent 61%);transform:translateX(-115%) skewX(-8deg);opacity:0;animation:dazi-directory-shine 7.2s cubic-bezier(.25,.75,.35,1) var(--shine-delay,0s) infinite}
.dazi-hotels-page .dazi-hotels-directory__branch:nth-child(1){--shine-delay:.2s}.dazi-hotels-page .dazi-hotels-directory__branch:nth-child(2){--shine-delay:1.5s}.dazi-hotels-page .dazi-hotels-directory__branch:nth-child(3){--shine-delay:2.8s}
.dazi-hotels-page .dazi-hotels-directory__branch-photo{display:block;width:100%;height:230px;aspect-ratio:16/10;object-fit:cover;transition:transform 300ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__branch-body{display:grid;gap:9px;align-content:start;min-height:164px;padding:22px 26px 25px}
.dazi-hotels-page .dazi-hotels-directory__branch-city{font-size:13px;color:var(--muted)}
.dazi-hotels-page .dazi-hotels-directory__branch-name{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.28}
.dazi-hotels-page .dazi-hotels-directory__branch-action{position:relative;justify-self:start;margin-top:10px;padding-bottom:4px;color:var(--sand);font-size:15px;font-weight:600;transition:color 180ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__branch-action::after{position:absolute;right:0;bottom:0;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 220ms ease-out}
.dazi-hotels-page .dazi-hotels-directory__branch:hover{border-color:var(--sand);box-shadow:0 12px 24px var(--shadow);transform:translateY(-4px)}
.dazi-hotels-page .dazi-hotels-directory__branch:hover .dazi-hotels-directory__branch-photo{transform:scale(1.045)}
.dazi-hotels-page .dazi-hotels-directory__branch:hover .dazi-hotels-directory__branch-action{color:var(--clay)}
.dazi-hotels-page .dazi-hotels-directory__branch:hover .dazi-hotels-directory__branch-action::after{transform:scaleX(1)}
.dazi-hotels-page.dazi-booking-is-sticky .dazi-header{transform:translateY(-100%);pointer-events:none}
.dazi-hotels-page .dazi-hotels-directory__booking-anchor.is-docked{position:fixed;top:0;right:0;left:0;z-index:50;box-sizing:border-box;width:100%;max-width:none;margin:0;padding:6px max(5%,calc((100% - 1060px)/2));background:rgba(255,255,255,.97);box-shadow:0 8px 24px rgba(10,16,24,.16)}
.dazi-hotels-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-hero__booking{max-width:1060px;margin:0 auto;padding:4px 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.dazi-hotels-page .dazi-header,.dazi-hotels-page .dazi-hotels-directory__booking-anchor.is-docked{transition:transform 280ms ease-out,top 280ms ease-out}
@keyframes dazi-directory-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes dazi-directory-shine{0%,14%{opacity:0;transform:translateX(-115%) skewX(-8deg)}17%{opacity:1}31%{opacity:.9;transform:translateX(115%) skewX(-8deg)}34%,100%{opacity:0;transform:translateX(115%) skewX(-8deg)}}
@media(hover:hover) and (pointer:fine){.dazi-hotels-page .dazi-booking__submit{position:relative;isolation:isolate;overflow:hidden;transition:color .2s ease,transform .2s ease}.dazi-hotels-page .dazi-booking__submit::before{position:absolute;top:0;right:0;bottom:0;left:-16px;z-index:-1;width:100%;height:0;margin:auto;content:"";border-radius:inherit;background-color:var(--forest);pointer-events:none;transform:rotate(-45deg);transition:900ms cubic-bezier(.52,1.64,.37,.66)}.dazi-hotels-page .dazi-booking__submit:hover::before{height:550%}.dazi-hotels-page .dazi-booking__submit:hover{color:var(--paper)}}
@media(min-width:768px){.dazi-hotels-page .dazi-hotels-directory{padding:48px 0 120px}.dazi-hotels-page .dazi-hotels-directory__booking-anchor{max-width:1060px;margin-right:auto;margin-bottom:48px;margin-left:auto}.dazi-hotels-page .dazi-hero__booking{grid-template-columns:1.25fr 1fr 1fr .9fr .82fr;align-items:center;gap:0;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 18px 42px rgba(10,16,24,.2)}.dazi-hotels-page .dazi-booking__field{padding:0 18px;border-left:1px solid var(--line);background:transparent}.dazi-hotels-page .dazi-booking__field:first-child{padding-left:8px;border-left:0}.dazi-hotels-page .dazi-booking__submit{min-height:48px;border-radius:28px}.dazi-hotels-page .dazi-location-panel{grid-template-columns:1fr 1fr;gap:30px;width:calc(100% + 4px);max-height:calc(100dvh - 190px);padding:26px}.dazi-hotels-page .dazi-location-panel__filters{padding:0 24px 0 0;border-right:1px solid var(--line);border-bottom:0}.dazi-hotels-page .dazi-hotels-directory__head{grid-template-columns:minmax(0,1fr) 300px;align-items:end;gap:48px;margin-bottom:48px}.dazi-hotels-page .dazi-hotels-directory__title{font-size:46px}.dazi-hotels-page .dazi-hotels-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.dazi-hotels-page .dazi-hotels-directory__branch-photo{height:270px}}
@media(min-width:992px){.dazi-hotels-page .dazi-hotels-directory__booking-anchor:not(.is-docked){position:relative;left:50%;margin-right:0;margin-left:0;transform:translateX(calc(-50% + 14px))}}
@media(min-width:768px) and (max-width:991px){.dazi-hotels-page .dazi-hero__booking{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border-radius:24px}.dazi-hotels-page .dazi-booking__field,.dazi-hotels-page .dazi-booking__field:first-child{padding:8px 12px;border:0;border-radius:4px;background:var(--cream)}.dazi-hotels-page .dazi-booking__submit{grid-column:1/-1;border-radius:8px}.dazi-hotels-page .dazi-hotels-directory__branch-body{min-height:154px;padding:20px 22px 23px}}
@media(max-width:575px){.dazi-hotels-page .dazi-hotels-directory{padding-bottom:64px}.dazi-hotels-page .dazi-hotels-directory__booking-anchor{margin-bottom:44px}.dazi-hotels-page .dazi-hotels-directory__title{font-size:31px}.dazi-hotels-page .dazi-hotels-directory__filter{max-width:none}.dazi-hotels-page .dazi-hotels-directory__branch-photo{height:220px}.dazi-hotels-page .dazi-hotels-directory__branch-body{min-height:0;padding:20px}.dazi-hotels-page .dazi-hotels-directory__branch-name{font-size:19px}}
@media(min-width:1200px){.dazi-hotels-page .dazi-hotels-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.dazi-hotels-page *{animation:none!important;transition:none!important}}
/* A branch detail page reuses the same picker without directory filters. */
.dazi-hotels-page .dazi-location-panel--simple{grid-template-columns:1fr}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__groups{display:none}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__hotel{min-height:92px;display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text-main);font:inherit;text-align:left;cursor:pointer}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__hotel strong{font-size:14px;line-height:1.35}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__hotel span{color:var(--muted);font-size:12px}
.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__hotel:hover,.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__hotel.is-selected{border-color:var(--sand);background:var(--cream)}
@media(max-width:767px){.dazi-hotels-page .dazi-location-panel--simple .dazi-location-panel__results{grid-template-columns:1fr}}
/* The Bến Thành detail page continues directly into its gallery, so it does not keep
   the directory page's large breathing room beneath the shared booking bar. */
.dazi-ben-page .dazi-ben__shared-booking{padding-bottom:0}
.dazi-ben-page .dazi-ben__shared-booking .dazi-hotels-directory__booking-anchor{margin-bottom:0}
@media(min-width:768px){.dazi-ben-page .dazi-ben__shared-booking{padding-bottom:0}.dazi-ben-page .dazi-ben__shared-booking .dazi-hotels-directory__booking-anchor{margin-bottom:0}.dazi-ben-page .dazi-branch-top{padding-top:16px}}
/* Branch introduction: copy and local map sit side by side on desktop, matching the
   approved hotel-detail composition. Mobile remains a single reading column. */
.dazi-ben-page .dazi-branch-overview__layout{max-width:none}
.dazi-ben-page .dazi-branch-overview{padding-top:32px}
.dazi-ben-page .dazi-branch-overview__copy h1{font-style:italic}
.dazi-ben-page .dazi-branch-overview__copy>p,.dazi-ben-page .dazi-branch-overview__location>p,.dazi-ben-page .dazi-branch-overview__location li{color:var(--text-main)}
.dazi-ben-page .dazi-branch-overview__video{position:relative;display:block;max-width:760px;aspect-ratio:16/9;margin:28px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--ink);color:var(--paper);text-decoration:none}
.dazi-ben-page .dazi-branch-overview__video img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 180ms ease-out}
.dazi-ben-page .dazi-branch-overview__video span{position:absolute;right:18px;bottom:18px;padding:10px 14px;border:1px solid var(--paper);border-radius:8px;background:var(--ink);font-size:14px;font-weight:600}
@media(hover:hover) and (pointer:fine){.dazi-ben-page .dazi-branch-overview__video:hover img{transform:scale(1.025)}}
/* The hotel page now ends with its editorial space so new long-form stories have room to grow. */
.dazi-ben-page .dazi-ben__spaces,
.dazi-ben-page .dazi-branch-news,
.dazi-ben-page .dazi-ben__faq-section,
.dazi-ben-page .dazi-ben__cream,
.dazi-ben-page .dazi-ben__contact-section,
.dazi-ben-page .dazi-ben__mobile-actions{display:none}

/* Keep the Bến Thành journey airy and editorial; only the footer retains its dark finish. */
body.dazi-ben-page,
body.dazi-ben-page .dazi-shell,
body.dazi-ben-page .dazi-ben,
body.dazi-ben-page .dazi-hotels-directory,
body.dazi-ben-page .dazi-branch-top,
body.dazi-ben-page .dazi-branch-overview,
body.dazi-ben-page .dazi-branch-rooms,
body.dazi-ben-page .dazi-ben__article-preview{background:var(--paper)}

/* Room collection: a composed two-column editorial layout, not a catalogue grid. */
.dazi-ben-page .dazi-branch-rooms{padding:48px 0 96px}
.dazi-ben-page .dazi-branch-rooms h2{max-width:none;margin:0;text-align:center;font-style:italic;font-weight:600;letter-spacing:-.045em}
.dazi-ben-page .dazi-branch-rooms__filter-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 18px;margin:28px 0 38px;padding:0;border:0}
.dazi-ben-page .dazi-branch-rooms__filter-row label{grid-column:1;margin:0;color:var(--sand);font-size:11px;font-weight:600;letter-spacing:.11em}
.dazi-ben-page .dazi-branch-rooms__filter-row select{grid-column:2;grid-row:1 / span 2;min-width:210px;border-color:var(--line);border-radius:4px;background:var(--paper);font-weight:500}
.dazi-ben-page .dazi-branch-rooms__filter-row span{grid-column:1;align-self:start;color:var(--muted);font-size:14px}
.dazi-ben-page .dazi-branch-rooms__grid{gap:32px 28px}
.dazi-ben-page .dazi-branch-rooms__card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 30px var(--shadow);transition:border-color 180ms ease-out,box-shadow 180ms ease-out,transform 180ms ease-out}
.dazi-ben-page .dazi-branch-rooms__card-head{display:grid;gap:14px;padding:26px 28px 22px;border-bottom:1px solid var(--line)}
.dazi-ben-page .dazi-branch-rooms__card h3{font-size:26px;font-weight:600;line-height:1.16;letter-spacing:-.035em}
.dazi-ben-page .dazi-branch-rooms__card h3 a{color:var(--text-main);text-decoration:none}
.dazi-ben-page .dazi-branch-rooms__card .dazi-branch-rooms__specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;color:var(--text-main);font-size:14px;line-height:1.5}
.dazi-ben-page .dazi-branch-rooms__specs span{padding-left:12px;border-left:2px solid var(--sand)}
.dazi-ben-page .dazi-branch-rooms__photos{background:var(--ink)}
.dazi-ben-page .dazi-branch-rooms__photos img{aspect-ratio:16/9}
.dazi-ben-page .dazi-branch-rooms__photos .dazi-branch-rooms__arrow{width:50px;height:50px;border:0;border-radius:50%;background:var(--overlay);color:var(--paper);opacity:.96;box-shadow:0 8px 20px var(--shadow);font-size:34px;transition:background-color 180ms ease-out,transform 180ms ease-out}
.dazi-ben-page .dazi-branch-rooms__photos .dazi-branch-rooms__arrow:hover,.dazi-ben-page .dazi-branch-rooms__photos .dazi-branch-rooms__arrow:focus-visible{background:var(--ink);opacity:1;transform:translateY(-50%) scale(1.04)}
.dazi-ben-page .dazi-branch-rooms__photos .dazi-branch-rooms__dots{bottom:14px}
.dazi-ben-page .dazi-branch-rooms__card-foot{min-height:88px;padding:18px 28px 20px;border-top:1px solid var(--line)}
.dazi-ben-page .dazi-branch-rooms__card-foot span{color:var(--text-main);font-size:14px;font-weight:500}
.dazi-ben-page .dazi-branch-rooms__card-foot a{min-height:44px;padding:10px 22px;border-radius:6px;background:var(--sand);color:var(--paper);font-weight:600}
.dazi-ben-page .dazi-branch-rooms__card-foot a:hover{background:var(--clay);transform:translateY(-1px)}
@media (hover:hover) and (pointer:fine){
  .dazi-ben-page .dazi-branch-rooms__card:hover{border-color:var(--sand);box-shadow:0 18px 42px var(--shadow);transform:translateY(-3px)}
}
@media (min-width:768px){
  .dazi-ben-page .dazi-branch-rooms__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1200px){
  .dazi-ben-page .dazi-branch-rooms{padding-top:52px}
  .dazi-ben-page .dazi-branch-rooms__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .dazi-ben-page .dazi-branch-rooms{padding:40px 0 64px}
  .dazi-ben-page .dazi-branch-rooms h2{font-size:34px}
  .dazi-ben-page .dazi-branch-rooms__filter-row{margin:24px 0 30px}
  .dazi-ben-page .dazi-branch-rooms__filter-row select{min-width:168px}
  .dazi-ben-page .dazi-branch-rooms__card-head{padding:20px 20px 18px}
  .dazi-ben-page .dazi-branch-rooms__card h3{font-size:23px}
  .dazi-ben-page .dazi-branch-rooms__specs{grid-template-columns:1fr;gap:7px}
  .dazi-ben-page .dazi-branch-rooms__card-foot{min-height:0;padding:16px 20px}
}

/* Mobile booking remains available while scrolling, without taking over the page. */
@media (max-width:767px){
  .dazi-ben-page .dazi-hotels-directory__booking-anchor{margin-bottom:28px}
  .dazi-ben-page .dazi-hero__booking{grid-template-columns:minmax(0,1.12fr) minmax(0,1.12fr) minmax(0,.9fr) 54px;gap:0;padding:0;overflow:hidden;border-radius:8px;box-shadow:0 12px 28px var(--shadow)}
  .dazi-ben-page .dazi-booking__field{min-height:52px;padding:8px 10px;border:0;border-right:1px solid var(--line);background:var(--paper)}
  .dazi-ben-page .dazi-booking__field:first-child{grid-column:1 / -1;min-height:50px;padding:7px 14px;border-right:0;border-bottom:1px solid var(--line);background:var(--cream)}
  .dazi-ben-page .dazi-booking__field label:not(.dazi-location__label){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .dazi-ben-page .dazi-booking__field input,.dazi-ben-page .dazi-booking__field select{height:36px;font-size:12px;font-weight:500}
  .dazi-ben-page .dazi-location__label{margin-bottom:0;font-size:11px}
  .dazi-ben-page .dazi-location__toggle{min-height:28px;font-size:14px}
  .dazi-ben-page .dazi-booking__submit{width:48px;min-height:48px;padding:0;justify-self:center;align-self:center;border-radius:50%;background-color:var(--sand);background-image:url("../search.svg");background-repeat:no-repeat;background-position:center;background-size:23px;font-size:0;letter-spacing:0}
  .dazi-ben-page.dazi-booking-is-sticky .dazi-header{transform:none;pointer-events:auto}
  .dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked{top:var(--booking-header-height,76px);padding:6px 12px;background:var(--paper);box-shadow:0 8px 24px var(--shadow)}
  .dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-hero__booking{max-width:none;padding:0;border:1px solid var(--line);border-top:2px solid var(--sand);border-radius:8px;background:var(--paper);box-shadow:none}
}
@media(min-width:1100px){
  .dazi-ben-page .dazi-branch-overview__layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.8fr);gap:64px;align-items:start}
  .dazi-ben-page .dazi-branch-overview__location{margin:0}
  .dazi-ben-page .dazi-branch-overview__map-frame{aspect-ratio:4/3}
}

/* The story is an understated editorial introduction, leaving room for the full article later. */
.dazi-ben-page .dazi-ben__article-preview{padding:64px 0 72px}
.dazi-ben-page .dazi-ben__article-preview-copy{max-width:860px;margin:0 auto;padding:0;border:0;text-align:center}
.dazi-ben-page .dazi-ben__article-preview .dazi-ben__eyebrow{margin-bottom:16px;color:var(--sand);font-size:12px;letter-spacing:.12em}
.dazi-ben-page .dazi-ben__article-preview h2{max-width:760px;margin:0 auto 20px;color:var(--text-main);font-size:42px;line-height:1.16;letter-spacing:-.045em}
.dazi-ben-page .dazi-ben__article-preview h2+p{max-width:680px;margin:0 auto;color:var(--text-main);font-size:17px;line-height:1.7}
.dazi-ben-page .dazi-ben__article-preview-note,.dazi-ben-page .dazi-ben__article-preview .dazi-ben__link{display:none}

/* Six real glimpses from the remaining Dazi destinations replace the old generic two-card block. */
.dazi-ben-page .dazi-ben__other-branches{display:block;padding:80px 0 96px;background:var(--cream)}
.dazi-ben-page .dazi-ben__other-branches-heading{max-width:720px;margin:0 0 34px}
.dazi-ben-page .dazi-ben__other-branches-heading .dazi-ben__eyebrow{margin-bottom:12px;color:var(--sand);font-size:12px;letter-spacing:.12em}
.dazi-ben-page .dazi-ben__other-branches-title{margin:0;color:var(--text-main);font-size:38px;font-weight:600;line-height:1.16;letter-spacing:-.04em}
.dazi-ben-page .dazi-ben__other-branches-intro{margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.55}
.dazi-ben-page .dazi-ben__other-branches-grid{display:grid;gap:18px}
.dazi-ben-page .dazi-ben__other-branch{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:0 10px 28px var(--shadow);transition:border-color 180ms ease-out,box-shadow 180ms ease-out,transform 180ms ease-out}
.dazi-ben-page .dazi-ben__other-branch>a{display:block;overflow:hidden}
.dazi-ben-page .dazi-ben__other-branch img{display:block;width:100%;height:240px;aspect-ratio:auto;object-fit:cover;transition:transform 220ms ease-out}
.dazi-ben-page .dazi-ben__other-branch>div{display:grid;gap:7px;padding:18px 18px 20px}
.dazi-ben-page .dazi-ben__other-branch-place{margin:0;color:var(--sand);font-size:12px;font-weight:600;letter-spacing:.08em}
.dazi-ben-page .dazi-ben__other-branch-name{margin:0;color:var(--text-main);font-size:20px;font-weight:600;line-height:1.25}
.dazi-ben-page .dazi-ben__other-branch .dazi-ben__link{justify-self:start;margin-top:6px;color:var(--text-main);font-size:14px}
@media(hover:hover) and (pointer:fine){
  .dazi-ben-page .dazi-ben__other-branch:hover{border-color:var(--sand);box-shadow:0 18px 38px var(--shadow);transform:translateY(-3px)}
  .dazi-ben-page .dazi-ben__other-branch:hover img{transform:scale(1.03)}
}
@media(min-width:768px){
  .dazi-ben-page .dazi-ben__other-branches-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .dazi-ben-page .dazi-ben__other-branch:first-child{grid-column:span 2}
  .dazi-ben-page .dazi-ben__other-branch:first-child img{height:280px;aspect-ratio:auto}
}
@media(min-width:1200px){
  .dazi-ben-page .dazi-ben__other-branches-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
  .dazi-ben-page .dazi-ben__article-preview{padding:48px 0 56px}
  .dazi-ben-page .dazi-ben__article-preview h2{font-size:33px}
  .dazi-ben-page .dazi-ben__article-preview h2+p{font-size:16px;line-height:1.62}
  .dazi-ben-page .dazi-ben__other-branches{padding:56px 0 64px}
  .dazi-ben-page .dazi-ben__other-branches-title{font-size:31px}
  .dazi-ben-page .dazi-ben__other-branch img{height:220px}
}

/* Desktop booking dock: Bến Thành deliberately follows the same pinned
   component geometry as Huế and Long Thành.  Its form has different markup,
   so the shared visual system is mapped to the existing directory fields. */
@media(min-width:1100px){
  body.dazi-ben-page.dazi-booking-is-sticky .dazi-header{transform:translateY(-100%);pointer-events:none}
  body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked{position:fixed;top:0;right:0;left:0;z-index:50;box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0;background:transparent;box-shadow:none}
  body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-hero__booking{display:grid;grid-template-columns:1.3fr repeat(2,minmax(0,1fr)) .9fr 180px;align-items:center;gap:0;width:100%;max-width:none;margin:0;padding:6px 16px;overflow:visible;border:1px solid var(--line);border-top:2px solid var(--sand);border-radius:48px;background:var(--paper);box-shadow:0 18px 36px var(--shadow)}
  body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-booking__field{min-width:0;padding:4px 18px;border:0;border-right:1px solid var(--line);background:transparent}
  body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-booking__field:first-child{padding-left:18px}
  body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked .dazi-booking__submit{align-self:center;min-height:48px;margin-left:14px;border-radius:28px}
  body.dazi-ben-page .dazi-header,body.dazi-ben-page .dazi-hotels-directory__booking-anchor.is-docked{transition:transform 280ms ease-out,top 280ms ease-out}
}
