/* ==========================================================================
   TULIP ELEGANT — bộ giao diện dùng chung cho mọi cơ sở
   Không sửa file này khi thêm cơ sở mới. Chỉ sửa file trong /properties/
   ========================================================================== */
:root{
  --river:#0C2E2C; --river-2:#1B4F49; --mist:#7FB2A6;
  --dawn:#E29A3C; --dawn-deep:#C97F27;
  --limestone:#E9ECE6; --paper:#FBFBF9;
  --text:#14201E; --muted:#5A6E6A; --line:#D3D9D3;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--text);
  font-family:'Instrument Sans',system-ui,-apple-system,sans-serif;
  font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:400;letter-spacing:-.01em;margin:0}
h2{font-size:clamp(28px,4.4vw,44px);line-height:1.12}
h3{font-size:21px;line-height:1.25}
p{margin:0 0 1em;max-width:64ch}
a{color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
:focus-visible{outline:3px solid var(--dawn);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:64px 0}
@media(max-width:700px){section{padding:44px 0}}

/* ---- ô ảnh: hiện tên file cần bỏ vào cho tới khi có ảnh thật ---- */
.ph{position:relative;background:linear-gradient(160deg,#DDE3DC,#CBD6CF);overflow:hidden}
.ph::after{content:"Photo coming soon";position:absolute;inset:0;display:flex;align-items:center;
  justify-content:center;text-align:center;padding:14px;font-size:12.5px;color:#5E6F6A;
  letter-spacing:.04em;background:rgba(255,255,255,.45)}
.ph.filled::after{display:none}
.ph img{position:absolute;inset:0}

/* ---- header ---- */
header{position:fixed;top:0;left:0;right:0;z-index:60;padding:14px 0;transition:background .25s,box-shadow .25s}
header.solid{background:rgba(251,251,249,.96);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(8px)}
.bar{display:flex;align-items:center;gap:26px}
.logo{font-family:'Fraunces',serif;font-size:19px;line-height:1.05;color:#fff;text-decoration:none}
.logo b{display:block;font-weight:600}
.logo span{font-size:11.5px;font-family:'Instrument Sans',sans-serif;letter-spacing:.16em;opacity:.8}
header.solid .logo{color:var(--river)}
nav{margin-left:auto;display:flex;gap:24px;align-items:center}
nav a{color:#fff;text-decoration:none;font-size:15px}
header.solid nav a{color:var(--text)}
nav a:hover{color:var(--dawn)}
.book-btn{background:var(--dawn);color:#221503;padding:9px 18px;border-radius:2px;font-weight:600;
  text-decoration:none;font-size:15px;border:0;cursor:pointer;display:inline-block}
.book-btn:hover{background:var(--dawn-deep);color:#fff}
header.solid .book-btn{color:#221503}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;margin-left:auto}
header.solid .menu-toggle{color:var(--text)}
@media(max-width:900px){
  nav{position:fixed;inset:0 0 auto;top:0;background:var(--river);flex-direction:column;justify-content:center;
      height:100vh;gap:26px;transform:translateY(-101%);transition:transform .3s;margin:0}
  nav.open{transform:none}
  nav a{color:#fff;font-size:21px;font-family:'Fraunces',serif}
  .menu-toggle{display:block;z-index:70}
  header.solid nav a{color:#fff}
}

/* ---- hero ---- */
.hero{position:relative;min-height:58svh;display:flex;align-items:center;background:var(--river)}
/* Trên điện thoại hero thấp hơn, để hộp tìm phòng lộ ra ngay màn hình đầu */
@media(max-width:760px){.hero{min-height:56svh}}
@media(max-width:760px) and (max-height:700px){.hero{min-height:50svh}}
.hero .bg{position:absolute;inset:0}
.hero .bg::before{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(12,46,44,.42) 0%,rgba(12,46,44,.30) 55%,rgba(12,46,44,.52) 100%)}
.hero .inner{position:relative;z-index:3;width:100%;text-align:center;padding:56px 0 92px}
.hero h1{color:#fff;font-size:clamp(32px,5.4vw,58px);line-height:1.07;max-width:18ch;margin:0 auto;font-weight:300}
.hero p{color:#EAF0EC;font-size:clamp(15.5px,1.8vw,18px);max-width:52ch;margin:16px auto 0}
.hero .where{color:var(--dawn);font-size:14px;letter-spacing:.2em;margin-bottom:20px}
.balloons{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.balloon{position:absolute;width:34px;opacity:0;animation:rise 2.4s cubic-bezier(.22,.7,.3,1) forwards}
.balloon:nth-child(1){left:16%;bottom:44%;animation-delay:.5s}
.balloon:nth-child(2){left:31%;bottom:52%;width:24px;animation-delay:.9s}
.balloon:nth-child(3){left:72%;bottom:48%;width:29px;animation-delay:1.25s}
.balloon:nth-child(4){left:84%;bottom:57%;width:19px;animation-delay:1.6s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:.92;transform:none}}
@media(prefers-reduced-motion:reduce){.balloon{opacity:.92;animation:none}}

/* ---- thẻ tìm phòng nổi đè lên mép dưới ảnh (kiểu C) ---- */
.searchcard-wrap{position:relative;z-index:5;max-width:var(--maxw);margin:-58px auto 0;padding:0 22px}
/* trên trang nhà hàng, thanh tab nằm giữa nên thẻ không đè lên ảnh */
.tabbar + .searchcard-wrap{margin-top:26px}
@media(max-width:860px){.tabbar + .searchcard-wrap{margin-top:18px}}
.searchcard{background:#fff;border:1px solid var(--line);padding:20px 22px 18px;
  box-shadow:0 12px 36px rgba(12,46,44,.15)}
.searchcard form{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:14px;align-items:end}
.searchcard label{display:block;color:var(--muted);font-size:12.5px;margin-bottom:5px}
.searchcard input,.searchcard select{width:100%;padding:11px 12px;border:1px solid var(--line);
  background:#fff;color:var(--text);border-radius:2px;font-family:inherit;font-size:15px}
.searchcard .stepper{border:1px solid var(--line);background:#fff}
.searchcard .stepper button{color:var(--text)}
.searchcard .stepper button:hover{background:#F1F4F5}
.searchcard .stepper span{color:var(--text)}
.searchcard .book-btn{padding:12px 22px;white-space:nowrap}
.searchcard .strip-rating{color:var(--muted);padding:0 0 14px}
.searchcard .strip-rating a{color:var(--river-2)}
.searchcard .child-note{color:var(--muted);padding:14px 0 0;border-top:1px solid var(--line);margin-top:16px}
@media(max-width:860px){
  .searchcard-wrap{margin:-34px auto 0;padding:0 14px}
  .searchcard{padding:16px}
  .searchcard form{grid-template-columns:1fr 1fr;gap:12px}
  .searchcard .book-btn{grid-column:1/-1}
}

/* ---- ảnh chính chạy luân phiên (không dùng nữa, giữ lại phòng khi bật lại) ---- */
.slideshow{position:absolute;inset:0;overflow:hidden}
.slideshow .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.6s ease}
.slideshow .slide.on{opacity:1}
@media(prefers-reduced-motion:reduce){.slideshow .slide{transition:none}}

/* ---- thư viện ảnh ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:9px}}
@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.gal-item{border:0;padding:0;background:none;cursor:pointer;text-align:left;display:block}
.gal-item .ph{aspect-ratio:1/1;transition:transform .2s}
.gal-item:hover .ph{transform:scale(1.02)}
.gal-item span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px;line-height:1.35}

.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,18,17,.94);
  display:flex;align-items:center;justify-content:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:94vw;max-height:82vh;object-fit:contain;width:auto;height:auto}
.lb-close,.lb-nav{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;
  cursor:pointer;border-radius:2px}
.lb-close{top:18px;right:18px;width:42px;height:42px;font-size:24px;line-height:1}
.lb-nav{top:50%;transform:translateY(-50%);width:46px;height:64px;font-size:30px;line-height:1}
.lb-prev{left:12px} .lb-next{right:12px}
.lb-close:hover,.lb-nav:hover{background:var(--dawn);color:#221503}
.lb-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#DCE6E2;font-size:14px}
@media(max-width:600px){.lb-nav{width:38px;height:52px;font-size:24px}}

/* ---- booking strip ---- */
.strip{background:var(--river-2);position:relative;z-index:4}
.strip form{display:grid;grid-template-columns:1fr 1fr auto auto auto;gap:14px;align-items:end;padding:0 0 18px}
.strip label{display:block;color:#BFD6D0;font-size:12.5px;margin-bottom:5px}
.strip input,.strip select{width:100%;padding:11px 12px;border:1px solid #2F6960;background:#0E3A36;
  color:#fff;border-radius:2px;font-family:inherit;font-size:15px}
.strip .book-btn{padding:12px 22px;white-space:nowrap}
.stepper{display:flex;align-items:center;border:1px solid #2F6960;background:#0E3A36;border-radius:2px}
.stepper button{width:38px;height:41px;background:none;border:0;color:#fff;font-size:19px;line-height:1;cursor:pointer}
.stepper button:hover{background:#17544C}
.stepper button:disabled{opacity:.3;cursor:not-allowed}
.stepper span{flex:1;text-align:center;color:#fff;font-size:15px;font-variant-numeric:tabular-nums}
.strip .hint{display:block;color:#8FB3AC;font-size:11px;margin-top:3px}

.stay-total .cut{text-decoration:line-through;color:var(--muted);font-size:14px;margin-right:6px}
.stay-total .save{display:block;color:#1F7A52;font-size:12.5px;margin-top:2px}
.stay-total .kids{display:block;color:var(--muted);font-size:12.5px;margin-top:5px;line-height:1.45}
.child-note{color:#BFD6D0;font-size:13px;line-height:1.5;max-width:70ch;margin:0;padding:0 0 20px}

.strip-rating{display:flex;align-items:center;gap:8px;padding:18px 0 14px;color:#BFD6D0;font-size:14px}
.strip-rating .s{color:var(--dawn);letter-spacing:1px}
.strip-rating a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  .strip form{grid-template-columns:1fr 1fr;gap:12px}
  .strip .book-btn{grid-column:1/-1}
}
/* Trên điện thoại, thanh tìm phòng phải ló lên trước khi khách cuộn */
@media(max-width:600px){
  .hero{min-height:54svh}
  .strip form{padding-bottom:14px}
  .stepper button{width:44px;height:44px}
  .child-note{font-size:12.5px;padding-bottom:16px}
}


/* ---- feature / split ---- */
.tinted{background:var(--limestone)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:30px}}
.split .ph{aspect-ratio:4/3.1}
.lead{font-size:19px;line-height:1.5;margin-bottom:10px}
.facts{margin:20px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.facts li{padding:9px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;font-size:15.5px}
.facts li b{font-weight:600;min-width:104px;color:var(--river-2)}

/* ---- rooms: lưới thẻ 3 cột ---- */
.roomgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px}
@media(max-width:980px){.roomgrid{grid-template-columns:repeat(2,1fr);gap:22px}}
@media(max-width:600px){.roomgrid{grid-template-columns:1fr;gap:26px}}

.rcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line)}
.rcard .shot{position:relative}
.rcard .ph{aspect-ratio:4/3}
.rcard .bed{position:absolute;left:0;bottom:0;background:var(--ink,var(--river));color:#fff;
  font-size:11.5px;letter-spacing:.1em;padding:5px 11px;z-index:3}
.rcard .body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.rcard h3{font-size:19px;margin-bottom:6px}
.rcard .desc{font-size:14px;color:var(--muted);margin:0 0 12px;line-height:1.5}
.rcard .meta{font-size:12.5px;color:var(--muted);margin-bottom:14px;padding-bottom:14px;
  border-bottom:1px solid var(--line)}
.rcard .specs{list-style:none;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.rcard .specs li{display:flex;gap:10px;font-size:13px;padding:3px 0;line-height:1.4}
.rcard .specs li b{font-weight:500;color:var(--muted);flex:0 0 92px}
.rcard .specs li span{color:var(--text)}
.rcard .prices{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.rcard .p-low{font-family:'Fraunces',serif;font-size:26px;color:var(--river-2);line-height:1}
.rcard .p-low small{font-family:'Instrument Sans',sans-serif;font-size:12.5px;color:var(--muted)}
.rcard .p-high{font-size:13px;color:var(--muted)}
.rcard .book-btn{margin-top:auto;text-align:center}

.detail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px;
  padding-top:34px;border-top:1px solid var(--line)}
@media(max-width:820px){.detail-strip{grid-template-columns:repeat(2,1fr);gap:14px}}
.detail-strip figure{margin:0}
.detail-strip .ph{aspect-ratio:4/3;margin-bottom:9px}
.detail-strip figcaption{font-size:13px;color:var(--muted);line-height:1.4}

.result-bar{background:var(--limestone);border-left:3px solid var(--dawn);
  padding:16px 20px;margin-bottom:26px}
.result-bar .rb-top{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.result-bar .rb-text{flex:1;min-width:200px}
.result-bar b{display:block;font-size:16px;line-height:1.3}
.result-bar span{font-size:13.5px;color:var(--muted);line-height:1.4}
.result-bar .rb-top .ghost-btn{white-space:nowrap}

.bill-promo{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.bill-promo > label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:7px}
.promo-row{display:flex;gap:8px;align-items:center}
.promo-row input{width:170px;padding:9px 11px;border:1px solid var(--line);background:#fff;
  border-radius:2px;font-family:inherit;font-size:14px;text-transform:uppercase;letter-spacing:.04em}
.promo-row .ghost-btn{padding:9px 16px}
.promo-msg{font-size:13px;padding:8px 0 0;line-height:1.4}
.promo-msg.ok{color:#1F7A52}
.promo-msg.bad{color:#A8474C}
@media(max-width:600px){
  .result-bar{padding:14px 16px}
  .promo-row input{flex:1;width:auto}
}

.stay-total{background:var(--limestone);padding:9px 12px;margin-bottom:12px;font-size:13.5px;color:var(--muted)}
.stay-total b{font-family:'Fraunces',serif;font-size:19px;color:var(--river-2);font-weight:400}
#enquire.flash{animation:flash 1.2s ease}
@keyframes flash{0%{background:var(--dawn)}100%{background:var(--limestone)}}
@media(prefers-reduced-motion:reduce){#enquire.flash{animation:none}}

/* ---- ba cột quảng cáo, hàng thứ ba của trang chủ ---- */
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:10px}
.promo-grid .prop-card{border:1px solid var(--line);background:var(--paper)}
.promo-grid .prop-card .ph{aspect-ratio:4/3;margin-bottom:0}
.promo-grid .prop-card > *:not(.ph){padding-left:18px;padding-right:18px}
.promo-grid .prop-card .city{padding-top:16px}
.promo-grid .prop-card p:last-of-type{padding-bottom:6px}
.promo-grid .prop-card .go{display:inline-block;margin:0 18px 18px}
@media(max-width:900px){.promo-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:620px){.promo-grid{grid-template-columns:1fr;gap:22px}}

/* ---- hai trụ ngang hàng ở đầu trang chủ ---- */
.pillars{padding:56px 0 10px}
.pillar-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.pillar{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);
  background:var(--paper);transition:border-color .2s,box-shadow .2s}
.pillar:hover{border-color:var(--dawn);box-shadow:0 6px 24px rgba(12,46,44,.10)}
.pillar .ph{aspect-ratio:16/10}
.pillar-body{padding:22px 24px 26px}
.pillar-body .where{color:var(--dawn);font-size:12px;letter-spacing:.2em;font-weight:600;
  margin-bottom:10px}
.pillar-body h2{font-size:clamp(23px,2.7vw,32px);line-height:1.15;margin-bottom:10px}
.pillar-body p{color:var(--muted);font-size:15.5px;margin:0 0 16px;max-width:42ch}
.pillar-body .go{font-size:14.5px;font-weight:600;color:var(--river-2);
  border-bottom:1px solid var(--dawn);padding-bottom:2px}
@media(max-width:820px){
  .pillars{padding:36px 0 4px}
  .pillar-grid{grid-template-columns:1fr;gap:20px}
  .pillar .ph{aspect-ratio:16/9}
  .pillar-body{padding:18px 20px 22px}
}

/* ---- khối nhà hàng nổi bật trên trang chủ ---- */
.venue{background:var(--limestone);padding:0}
.venue-grid{display:grid;grid-template-columns:5fr 7fr;gap:36px;align-items:center;
  max-width:var(--maxw);padding:44px 22px}
.venue-photo{display:block;text-decoration:none}
.venue-photo .ph{aspect-ratio:4/3}
.venue-text{padding:0;display:flex;flex-direction:column;justify-content:center}
.venue-text h2{font-size:clamp(26px,3.2vw,40px);line-height:1.12;margin-bottom:14px}
.venue-text p{color:var(--muted);max-width:46ch;margin-bottom:18px}
.venue-text .where{color:var(--dawn);font-size:12.5px;letter-spacing:.2em;margin-bottom:14px;font-weight:600}
.venue-text .book-btn{align-self:flex-start;margin-top:6px}
.venue-facts{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.venue-facts li{background:var(--paper);border:1px solid var(--line);padding:5px 12px;
  font-size:13px;color:var(--river-2);border-radius:2px}
@media(max-width:860px){
  .venue-grid{grid-template-columns:1fr;gap:22px;padding:32px 22px 38px}
  .venue-photo .ph{aspect-ratio:16/10}
}

/* ---- dark section ---- */
.dark{background:var(--river);color:#EAF0EC}
.dark h2{color:#fff}
.dark p{color:#C6D6D1}
.things{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;margin-top:44px}
.thing .ph{aspect-ratio:3/4;margin-bottom:14px}
.thing h3{color:#fff;font-size:18px;margin-bottom:5px}
.thing p{font-size:14.5px;margin:0}

/* ---- routes ---- */
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:34px;border-top:1px solid var(--line)}
.route{padding:22px 24px 22px 0;border-bottom:1px solid var(--line)}
.route b{display:block;font-family:'Fraunces',serif;font-size:19px;font-weight:400;margin-bottom:5px}
.route span{font-size:14.5px;color:var(--muted)}

.mapbox{margin-top:30px;border:1px solid var(--line);background:var(--limestone)}
.mapbox iframe{display:block;width:100%;height:380px;border:0}
@media(max-width:700px){.mapbox iframe{height:300px}}

/* ---- forms ---- */
.panel-box{padding:30px 28px;border:1px solid var(--line);background:var(--paper)}
.panel-box.on-paper{background:var(--limestone);border:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;max-width:760px}
.form-grid label{display:block;font-size:13.5px;color:var(--muted);margin-bottom:5px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:11px 12px;border:1px solid var(--line);
  background:#fff;border-radius:2px;font-family:inherit;font-size:15.5px;color:var(--text)}
.form-grid .full{grid-column:1/-1}
.form-grid textarea{min-height:96px;resize:vertical}
.checks{display:flex;flex-direction:column;gap:10px;margin-top:2px}
.checks label{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--text);margin:0;cursor:pointer}
.checks input{width:18px;height:18px;margin-top:2px;flex:none}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.wa{background:#1FA855;color:#fff;padding:13px 22px;border:0;border-radius:2px;font-weight:600;
  font-size:15.5px;cursor:pointer;text-decoration:none;display:inline-block}
.wa:hover{background:#178443}
.mailbtn{background:var(--river);color:#fff;padding:13px 22px;border:0;border-radius:2px;font-weight:600;
  font-size:15.5px;cursor:pointer}
.mailbtn:hover{background:var(--river-2)}
.mailbtn:disabled{opacity:.6;cursor:wait}
.mailbtn.sent,.ghost-btn.sent{background:#1F7A52;color:#fff;border-color:#1F7A52}
.actions .ghost-btn{padding:13px 20px;font-size:15.5px}
.note{margin-top:16px;font-size:14px;color:var(--muted)}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}

.mini-rating{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:14px;color:var(--muted);flex-wrap:wrap}
.mini-rating .s{color:var(--dawn);letter-spacing:1px}
.mini-rating b{font-family:'Fraunces',serif;font-size:20px;font-weight:400;color:var(--river-2)}
.mini-rating a{color:var(--river-2);text-underline-offset:3px}

.ota-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:34px}
.ota-card{display:flex;flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--line);
  padding:16px 18px;text-decoration:none;color:inherit}
.ota-card:hover{border-color:var(--dawn)}
.ota-name{font-size:13px;color:var(--muted);letter-spacing:.04em}
.ota-score{font-family:'Fraunces',serif;font-size:30px;font-weight:400;color:var(--river-2);line-height:1}
.ota-score small{font-family:'Instrument Sans',sans-serif;font-size:13px;color:var(--muted);font-weight:400}
.ota-count{font-size:12.5px;color:var(--muted)}

.review-cta{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:30px;
  padding-top:26px;border-top:1px solid var(--line)}
.review-cta b{display:block;font-size:16px;margin-bottom:3px}
.review-cta span{font-size:14px;color:var(--muted);max-width:52ch;display:block}
.review-btns{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto}
@media(max-width:760px){.review-btns{margin-left:0}}

/* ---- chính sách giữ bàn ---- */
.hold-policy{background:#FFF8EC;border-left:3px solid var(--dawn);padding:14px 16px;margin:0 0 20px;max-width:64ch}
.hold-policy b{font-weight:600}
.hold-policy > b{display:block;margin-bottom:6px;font-size:14.5px}
.hold-policy p{font-size:14px;line-height:1.55;margin:0 0 8px;color:#5A4A32}
.hold-policy p:last-child{margin:0}

/* Tab Menu: một cột dọc, không dùng lưới nên không thể lệch */
.menu-block{max-width:640px}
.menu-block h2{margin-bottom:12px}
.menu-block p{margin:0 0 20px}
.menu-block .actions{margin:0 0 28px}

.menu-qr{margin:0;display:inline-block;text-align:center;background:var(--paper);
  border:1px solid var(--line);padding:16px 16px 14px}
.menu-qr a{display:block;text-decoration:none}
.menu-qr img{width:200px;height:200px;display:block;background:#fff;image-rendering:pixelated}
.menu-qr figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;max-width:200px}
.menu-qr .qr-mobile{display:none}
@media(max-width:820px){
  .menu-qr img{width:170px;height:170px}
  .menu-qr figcaption{max-width:170px}
  .menu-qr .qr-desktop{display:none}
  .menu-qr .qr-mobile{display:block}
}

.name-story{margin-top:30px;padding-left:16px;border-left:2px solid var(--dawn);
  font-family:'Fraunces',serif;font-size:18px;line-height:1.55;color:var(--river-2);max-width:56ch}

/* ---- ô thông tin nhanh trên trang nhà hàng ---- */
.quick-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;
  padding-top:4px}
.quick-facts > div{display:flex;flex-direction:column;gap:2px}
.quick-facts b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.quick-facts span{font-size:14.5px;line-height:1.4}

.send-msg{margin-top:14px;padding:12px 14px;font-size:14.5px;line-height:1.5;max-width:64ch;
  border-left:3px solid}
.send-msg[hidden]{display:none}
.send-msg.ok{background:#EAF5EF;border-color:#1F7A52;color:#14563A}
.send-msg.bad{background:#FBEDED;border-color:#A8474C;color:#7A2E33}

/* ---- thẻ bản đồ: không nhúng nên không bị trình duyệt chặn ---- */
.map-card{background:var(--limestone);border:1px solid var(--line);padding:28px 26px;
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:220px;
  justify-content:center}
.map-pin{color:var(--dawn);margin-bottom:4px}
.map-card b{font-family:'Fraunces',serif;font-size:21px;font-weight:400;line-height:1.25}
.map-card span{color:var(--muted);font-size:15px;line-height:1.5;max-width:38ch}
.map-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:600px){.map-card{padding:22px 20px;min-height:0}}

/* ---- thanh tab con của trang nhà hàng ---- */
/* nền chạy hết bề ngang, nhưng các nút thẳng hàng với nội dung bên dưới */
.tabbar{background:var(--river);position:sticky;top:0;z-index:45}
.tabbar-inner{display:flex;gap:6px;overflow-x:auto;
  max-width:var(--maxw);margin:0 auto;padding:10px 22px;
  scrollbar-width:none;-ms-overflow-style:none}
.tabbar-inner::-webkit-scrollbar{display:none}
/* mỗi tab là một khối có viền rõ, không phải chữ trôi nổi */
.tabbar button{border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.06);
  padding:10px 18px;font:inherit;font-size:14.5px;color:#DCE6E2;cursor:pointer;
  white-space:nowrap;border-radius:3px;transition:background .15s,color .15s,border-color .15s}
.tabbar button:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.6);color:#fff}
/* tab đang mở: khối vàng đặc, có bóng để nổi hẳn lên */
.tabbar button.on{background:var(--dawn);color:#221503;font-weight:600;
  border-color:var(--dawn);box-shadow:0 2px 8px rgba(0,0,0,.28)}
@media(max-width:700px){
  .tabbar-inner{padding:8px 14px;gap:5px}
  .tabbar button{padding:9px 14px;font-size:13.5px}
}

/* ---- vì sao chọn nhà hàng này: dải tối, nổi bật trên nền trang sáng ---- */
.why{margin:38px 0 0;background:var(--river);color:#EAF0EC;padding:38px 36px 34px}
.why-head{max-width:60ch;margin-bottom:28px}
.why-eyebrow{display:block;color:var(--dawn);font-size:12px;font-weight:600;
  letter-spacing:.22em;margin-bottom:10px}
.why h3{font-family:'Fraunces',serif;font-size:clamp(24px,3vw,32px);font-weight:300;
  color:#fff;margin:0;line-height:1.15}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 34px}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,1fr);gap:26px 28px}}
@media(max-width:600px){
  .why{padding:26px 22px 24px;margin-top:30px}
  .why-grid{grid-template-columns:1fr;gap:22px}
}

.why-item{padding-top:16px;border-top:1px solid rgba(255,255,255,.22)}
.why-no{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:300;
  color:var(--dawn);line-height:1;margin-bottom:10px;font-variant-numeric:tabular-nums}
.why-item b{display:block;font-size:16px;font-weight:600;color:#fff;
  margin-bottom:6px;line-height:1.3}
.why-item p{font-size:14.5px;line-height:1.6;color:#B9CCC7;margin:0}

/* ---- khối mạng xã hội trong tab Find us ---- */
.social-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);max-width:330px}
.social-block b{display:block;font-size:14.5px;margin-bottom:5px}
.social-block span{display:block;font-size:13.5px;color:var(--muted);line-height:1.5;margin-bottom:12px}
#find-us .social,
#reviews .social{display:flex;gap:10px}
#find-us .social a,
#reviews .social a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);background:var(--paper);color:var(--river-2);border-radius:2px}
#find-us .social a:hover,
#reviews .social a:hover{background:var(--dawn);color:#221503;border-color:var(--dawn)}
#find-us .social svg,
#reviews .social svg{width:18px;height:18px;fill:currentColor}

/* ---- thẻ điểm đánh giá ---- */
.gcard{margin-top:22px;background:var(--paper);border:1px solid var(--line);
  padding:20px 22px;max-width:330px}
.gcard-main{display:flex;align-items:center;gap:16px}
.gcard-score{font-family:'Fraunces',serif;font-size:46px;font-weight:300;line-height:1;
  color:var(--river-2)}
.gcard-stars{display:block;color:var(--dawn);font-size:16px;letter-spacing:3px;
  line-height:1;margin-bottom:6px}
.gcard-count{display:block;font-size:13.5px;color:var(--muted);line-height:1.35}
.gcard-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)}
.gcard-links a{font-size:14px;color:var(--river-2);text-decoration:none;
  border-bottom:1px solid var(--dawn);padding-bottom:1px}
.gcard-links a:hover{color:var(--dawn-deep)}

/* ---- trích đánh giá thật từ Google ---- */
.gquotes{margin-top:20px;max-width:560px}
.gquotes[hidden]{display:none}
.gquotes figure{margin:0 0 16px;padding:14px 16px;background:var(--paper);
  border:1px solid var(--line)}
.gquotes blockquote{margin:0 0 8px;font-size:14.5px;line-height:1.6;color:var(--text)}
.gquotes figcaption{font-size:12.5px;color:var(--muted)}
.gquotes figcaption a{color:var(--river-2)}

/* ---- món bán chạy và gợi ý ---- */
.dish-head{max-width:62ch;margin-bottom:6px}
.dish-head .lead{margin-top:10px}

.food-group{margin-top:40px}
.food-head{padding-bottom:12px;border-bottom:2px solid var(--dawn);margin-bottom:22px;
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.food-head h3{font-family:'Fraunces',serif;font-size:23px;font-weight:400;margin:0}
.food-head p{font-size:14px;color:var(--muted);margin:0}

.food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.food-grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(max-width:760px){.food-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media(max-width:480px){.food-grid{grid-template-columns:1fr}}

.food-card{background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}
.food-card .ph{aspect-ratio:1/1}
.food-body{padding:14px 16px 16px}
.food-body h4{font-family:'Fraunces',serif;font-size:17.5px;font-weight:400;line-height:1.25;
  margin:0 0 6px}
.food-body p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}

/* ---- danh sách có dấu tích ---- */
.tick{list-style:none;margin:0;padding:0}
.tick li{position:relative;padding-left:22px;font-size:15px;line-height:1.6;color:var(--text)}
.tick li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;
  border-left:2px solid var(--dawn);border-bottom:2px solid var(--dawn);
  transform:rotate(-45deg) translateY(-2px)}

/* ---- tiệc riêng ---- */
.occasions{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}
@media(max-width:1000px){.occasions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.occasions{grid-template-columns:1fr;gap:18px}}
.occasion{border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column}
.occasion .ph{aspect-ratio:4/3}
.occasion-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.occasion-body h3{font-size:18px;margin-bottom:7px}
.occasion-body p{font-size:14px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.occasion-detail{margin-top:auto;font-size:13px;color:var(--river-2);background:var(--limestone);
  padding:7px 10px;line-height:1.4}

.event-terms{margin-top:34px;padding:18px 20px;background:var(--limestone);
  border-left:3px solid var(--dawn);max-width:64ch}
.event-terms b{display:block;margin-bottom:8px;font-size:14.5px}
.event-terms ul{margin:0;padding-left:20px}
.event-terms li{font-size:14px;line-height:1.6;color:var(--muted)}

/* ---- quy định giữ bàn theo khung giờ ---- */
.rule-policy{padding:14px 16px;margin:0 0 20px;max-width:64ch;border-left:3px solid}
.rule-policy[hidden]{display:none}
.rule-policy > b{display:block;margin-bottom:6px;font-size:14.5px}
.rule-policy p{font-size:14px;line-height:1.55;margin:0 0 8px}
.rule-policy p:last-child{margin:0}
/* giờ vắng khách — giọng nhẹ nhàng */
.rule-policy.calm{background:#EDF4F1;border-color:var(--river-2)}
.rule-policy.calm > b{color:var(--river-2)}
.rule-policy.calm p{color:#3E5A54}
/* giờ cao điểm — giọng dứt khoát */
.rule-policy.peak{background:#FBEFE6;border-color:#C9662B}
.rule-policy.peak > b{color:#8A3F14}
.rule-policy.peak p{color:#6B4324}

/* ---- nút chuyển đặt bàn / mang về ---- */
.seg{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:2px;overflow:hidden}
.seg button{border:0;background:none;padding:10px 20px;font:inherit;font-size:14.5px;
  color:var(--muted);cursor:pointer;white-space:nowrap}
.seg button.on{background:var(--river);color:#fff;font-weight:500}
.seg button:not(.on):hover{background:var(--limestone)}
@media(max-width:520px){.seg{width:100%}.seg button{flex:1;padding:10px 8px;font-size:13.5px}}

/* ---- đặt phòng thật ---- */
.bk-search{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:12px;align-items:end;
  background:var(--paper);border:1px solid var(--line);padding:18px 20px;margin:26px 0 0}
.bk-search label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.bk-search input,.bk-search select{width:100%;font:inherit;font-size:14.5px;
  border:1px solid var(--line);border-radius:2px;padding:10px 12px;background:#fff}
.bk-search .book-btn{height:42px;white-space:nowrap}
@media(max-width:820px){
  .bk-search{grid-template-columns:1fr 1fr;gap:10px}
  .bk-search .book-btn{grid-column:1/-1;width:100%;text-align:center}
}

.bk-msg{margin-top:14px;padding:12px 14px;font-size:14.5px;line-height:1.5;
  max-width:64ch;border-left:3px solid}
.bk-msg[hidden]{display:none}
.bk-msg.bad{background:#FBEDED;border-color:#A8474C;color:#7A2E33}
.bk-loading{color:var(--muted);font-size:14.5px;margin:20px 0}

.bk-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:26px 0 12px}
.bk-head b{font-size:16px}
.bk-head span{font-size:13.5px;color:var(--muted)}

.bk-list{display:flex;flex-direction:column;gap:10px}
.bk-room{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:var(--paper);border:1px solid var(--line);padding:16px 18px}
.bk-room:hover{border-color:var(--line2,#b9c6c1)}
.bk-room-main{flex:1;min-width:190px}
.bk-room h3{font-family:'Fraunces',serif;font-size:19px;font-weight:400;margin:0 0 7px}
.bk-tags{display:flex;gap:7px;flex-wrap:wrap}
.bk-tags span{font-size:12.5px;color:var(--muted);background:var(--limestone);
  padding:3px 9px;border-radius:2px}
.bk-tags .bk-scarce{background:#FBEFE6;color:#8A3F14;font-weight:600}
.bk-price{text-align:right;min-width:96px}
.bk-price b{display:block;font-family:'Fraunces',serif;font-size:24px;font-weight:400}
.bk-price span{font-size:12.5px;color:var(--muted)}
@media(max-width:600px){
  .bk-room{gap:12px}
  .bk-price{text-align:left}
  .bk-room .book-btn{width:100%;text-align:center}
}

.bk-empty{background:var(--limestone);border-left:3px solid var(--dawn);
  padding:18px 20px;margin-top:24px;max-width:64ch}
.bk-empty b{display:block;margin-bottom:6px}
.bk-empty p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.55}

.bk-panel{background:var(--paper);border:1px solid var(--line);padding:22px 24px;
  margin-top:22px;max-width:680px}
.bk-summary{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}
.bk-summary b{display:block;font-family:'Fraunces',serif;font-size:21px;font-weight:400}
.bk-summary span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px}
.bk-total{margin-top:12px;font-family:'Fraunces',serif;font-size:28px;color:var(--river-2)}
.bk-total small{display:block;font-family:'Instrument Sans',sans-serif;font-size:12.5px;
  color:var(--muted);margin-top:2px}

.bk-done{background:var(--paper);border:1px solid #1F7A52;padding:26px 24px;
  margin-top:22px;max-width:560px}
.bk-tick{width:44px;height:44px;border-radius:50%;background:#1F7A52;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:14px}
.bk-done h3{font-family:'Fraunces',serif;font-size:24px;font-weight:400;margin:0 0 4px}
.bk-code{font-family:ui-monospace,monospace;font-size:17px;letter-spacing:.06em;
  color:var(--river-2);margin:0 0 18px}
.bk-done p{font-size:14.5px;line-height:1.6;color:var(--muted)}

/* ---- hoá đơn tạm tính ---- */
.bill{background:#fff;border:1px solid var(--line);padding:22px 24px;margin:0 0 28px;max-width:620px}
.bill-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.bill-head b{display:block;font-family:'Fraunces',serif;font-size:21px;font-weight:400;line-height:1.25}
.bill-head span{display:block;font-size:13.5px;color:var(--muted);margin-top:4px}
.bill-line{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:14.5px}
.bill-line span{color:var(--muted)}
.bill-line b{font-weight:500;white-space:nowrap}
.bill-line.save b{color:#1F7A52}
.bill-total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  margin-top:16px;padding-top:14px;border-top:2px solid var(--river)}
.bill-total span{font-size:15px}
.bill-total b{font-family:'Fraunces',serif;font-size:27px;font-weight:400;color:var(--river-2)}
.bill-note{font-size:13px;color:var(--muted);margin:12px 0 0;line-height:1.5}
@media(max-width:600px){.bill{padding:18px}}

/* ---- reviews strip ---- */
.reviews-foot{padding:46px 0 40px;background:var(--limestone)}
.rating{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid var(--line)}
.score{display:flex;align-items:center;gap:14px}
.score b{font-family:'Fraunces',serif;font-size:40px;font-weight:400;line-height:1;color:var(--river-2)}
.score .stars{color:var(--dawn);font-size:15px;letter-spacing:2px}
.score span{font-size:14px;color:var(--muted)}
.rating-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.ghost-btn{border:1px solid var(--line);color:var(--river-2);padding:8px 15px;border-radius:2px;
  text-decoration:none;font-weight:500;font-size:14px;display:inline-block;background:var(--paper)}
.ghost-btn:hover{background:var(--river-2);color:#fff;border-color:var(--river-2)}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:26px}
@media(max-width:880px){.quotes{grid-template-columns:1fr;gap:20px}.rating-actions{margin-left:0}}
.quotes figure{margin:0}
.quotes blockquote{margin:0 0 8px;font-size:15px;line-height:1.55}
.quotes blockquote::before{content:"“";color:var(--dawn)}
.quotes blockquote::after{content:"”";color:var(--dawn)}
.quotes figcaption{font-size:13px;color:var(--muted)}

/* ---- cửa sổ thông báo ---- */
.popup-scrim{position:fixed;inset:0;z-index:250;background:rgba(10,20,18,.62);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;transition:opacity .25s}
.popup-scrim.on{opacity:1}
.popup{background:#fff;max-width:820px;width:100%;display:grid;grid-template-columns:1fr 1fr;
  position:relative;box-shadow:0 20px 60px rgba(10,20,18,.35);
  transform:translateY(12px);transition:transform .25s}
.popup-scrim.on .popup{transform:none}
.popup-img{position:relative;min-height:280px}
.popup-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.popup-body{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.popup-eyebrow{color:var(--dawn);font-size:12px;font-weight:600;letter-spacing:.2em;margin-bottom:12px}
.popup h3{font-family:'Fraunces',serif;font-size:26px;font-weight:400;line-height:1.2;margin:0 0 12px}
.popup p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 22px}
.popup .book-btn{align-self:flex-start}
.popup-close{position:absolute;top:10px;right:10px;z-index:3;width:36px;height:36px;
  border:0;background:rgba(255,255,255,.9);color:var(--text);font-size:22px;line-height:1;
  cursor:pointer;border-radius:2px}
.popup-close:hover{background:var(--dawn);color:#221503}
@media(max-width:700px){
  .popup{grid-template-columns:1fr;max-height:88svh;overflow-y:auto}
  .popup-img{min-height:180px}
  .popup-body{padding:24px 22px 28px}
  .popup h3{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.popup-scrim,.popup{transition:none}}

/* ---- cụm nút nổi: nhắn tin và đánh giá ---- */
.fab{position:fixed;right:18px;bottom:74px;z-index:150;display:flex;flex-direction:column;gap:10px;
  align-items:flex-end}
.fab-btn{display:flex;align-items:center;gap:0;height:46px;padding:0 13px;border-radius:23px;
  text-decoration:none;color:#fff;box-shadow:0 4px 16px rgba(12,46,44,.28);
  transition:gap .2s,padding .2s}
.fab-btn span{max-width:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;
  transition:max-width .25s}
.fab-btn:hover span{max-width:170px}
.fab-btn:hover{gap:9px;padding-right:18px}
.fab-chat{background:#25806A}
.fab-chat:hover{background:#1E6A57}
.fab-review{background:var(--dawn);color:#221503}
.fab-review:hover{background:var(--dawn-deep);color:#fff}
@media(max-width:600px){
  .fab{right:14px;bottom:68px;gap:9px}
  .fab-btn{height:44px;padding:0 12px}
  /* trên điện thoại luôn hiện chữ để khách biết nút làm gì */
  .fab-btn span{max-width:none;font-size:13.5px}
  .fab-btn{gap:8px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){.fab-btn,.fab-btn span{transition:none}}

/* ---- nút mũi tên về đầu trang ---- */
.to-top{position:fixed;right:18px;bottom:18px;z-index:150;width:46px;height:46px;
  border:0;border-radius:50%;background:var(--dawn);color:#221503;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(12,46,44,.28);
  opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}
.to-top.on{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--dawn-deep);color:#fff}
@media(max-width:600px){.to-top{right:14px;bottom:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.to-top{transition:none}}

/* ---- khối nhà hàng ở chân trang khách sạn ---- */
.foot-related{display:flex;align-items:center;justify-content:space-between;gap:26px;
  flex-wrap:wrap;padding-bottom:30px;margin-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.14)}
.foot-related .where{display:block;color:var(--dawn);font-size:11.5px;letter-spacing:.2em;
  font-weight:600;margin-bottom:8px}
.foot-related h4{font-family:'Fraunces',serif;font-size:22px;font-weight:400;
  color:#fff;margin:0 0 8px}
.foot-related p{color:#BFD0CB;font-size:14.5px;line-height:1.55;margin:0;max-width:60ch}
.foot-related .book-btn{flex-shrink:0}
@media(max-width:700px){.foot-related{gap:18px}.foot-related .book-btn{width:100%;text-align:center}}

/* ---- giới thiệu ở chân trang ---- */
.foot-about{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid rgba(255,255,255,.14);
  max-width:78ch}
.foot-about h4{margin-bottom:10px}
.foot-about p{color:#BFD0CB;font-size:15px;line-height:1.65;margin:0}

/* ---- footer ---- */
footer{background:var(--river);color:#C6D6D1;padding:60px 0 34px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
@media(max-width:780px){.fgrid{grid-template-columns:1fr;gap:28px}}
footer h4{font-family:'Fraunces',serif;font-weight:400;color:#fff;font-size:18px;margin:0 0 12px}
footer a{color:#C6D6D1;text-decoration:none}
footer a:hover{color:var(--dawn)}
.fbot{border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:22px;font-size:13.5px;
  opacity:.75;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.social{display:flex;gap:16px;margin-top:4px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid rgba(255,255,255,.28);border-radius:2px}
.social a:hover{background:var(--dawn);border-color:var(--dawn);color:#221503}
.social svg{width:19px;height:19px;fill:currentColor}
.sister-list{margin:0;padding:0;list-style:none}
.sister-list li{margin-bottom:7px}
.sister-list small{display:block;opacity:.62;font-size:13px}

/* ---- chain landing page ---- */
.chain-hero{position:relative;background:var(--river);color:#fff;padding:96px 0 64px}
.chain-hero.has-photo{padding:0;min-height:52svh;display:flex;align-items:center}
.chain-hero .ph{position:absolute;inset:0}
.chain-hero .ph::before{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,rgba(12,46,44,.55),rgba(12,46,44,.42) 55%,rgba(12,46,44,.68))}
.chain-hero .inner{position:relative;z-index:3;width:100%;padding:56px 22px}
.chain-hero h1{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,54px);font-weight:300;max-width:16ch;line-height:1.06}
.chain-hero p{color:#DCE7E3;max-width:52ch;margin-top:16px;font-size:17px}
.chain-hero .where{color:var(--dawn);font-size:13px;letter-spacing:.2em;margin-bottom:16px}
.chain-hero .book-btn{margin-top:26px}
@media(max-width:700px){.chain-hero.has-photo{min-height:44svh}.chain-hero .inner{padding:40px 22px}}

/* dải quảng cáo gói bán */
.featured{padding:0;background:var(--limestone)}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;max-width:var(--maxw);padding:0}
.feat-text{padding:56px 44px 56px 22px;display:flex;flex-direction:column;justify-content:center}
.feat-text h2{font-size:clamp(24px,3vw,36px);line-height:1.15;margin-bottom:14px}
.feat-text p{color:var(--muted);max-width:46ch;margin-bottom:24px}
.feat-text .book-btn{align-self:flex-start}
.feat-text .where{color:var(--dawn);font-size:12.5px;letter-spacing:.2em;margin-bottom:14px;font-weight:600}
.featured .ph{min-height:320px}
@media(max-width:820px){
  .feat-grid{grid-template-columns:1fr}
  .feat-text{padding:36px 22px}
  .featured .ph{min-height:230px;order:-1}
}
.showme{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.showme h2{margin:0;font-size:clamp(20px,2.6vw,28px)}
.showme select{border:1px solid var(--line);background:#fff;color:var(--text);
  padding:8px 12px;border-radius:2px;font-family:'Fraunces',serif;font-size:clamp(16px,1.9vw,21px);
  font-weight:400;cursor:pointer;line-height:1.2}
.showme select:hover{border-color:var(--dawn)}
@media(max-width:600px){.showme{gap:8px}.showme h2{font-size:20px}.showme select{font-size:15px;padding:7px 10px}}

.dest-group[hidden]{display:none}
.dest-group{margin-bottom:46px}
.city-group[hidden]{display:none}
.city-group{margin-bottom:30px}
.city-group:last-child{margin-bottom:0}
.city-name{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:400;
  letter-spacing:0;text-transform:none;color:var(--muted);
  margin:0 0 14px;padding-left:2px}
.dest-group:last-child{margin-bottom:0}
.dest-name{font-family:'Fraunces',serif;font-size:28px;font-weight:600;margin:0 0 20px;
  padding-bottom:10px;border-bottom:2px solid var(--dawn);display:inline-block}
.prop-card h4{font-family:'Fraunces',serif;font-weight:400;font-size:20px;margin:0 0 4px;line-height:1.25}
.sister-list .foot-country{color:#fff;font-weight:600;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;margin:14px 0 6px}
.sister-list .foot-country:first-child{margin-top:0}
/* Khách sạn xếp theo cột: mỗi cơ sở một hàng, ảnh trái, chữ phải */
.props{display:flex;flex-direction:column;gap:20px;margin-top:10px}
.props .prop-card{display:grid;grid-template-columns:300px 1fr;gap:24px;align-items:center;
  border:1px solid var(--line);background:var(--paper);padding:0;overflow:hidden}
.props .prop-card:hover{border-color:var(--dawn)}
.props .prop-card .ph{aspect-ratio:4/3;margin:0;height:100%}
.props .prop-card .body{padding:20px 24px 20px 0}
@media(max-width:760px){
  .props .prop-card{grid-template-columns:1fr;gap:0}
  .props .prop-card .ph{aspect-ratio:16/10}
  .props .prop-card .body{padding:18px 20px 22px}
}
.prop-card{text-decoration:none;color:inherit;display:block}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-top:10px}
.card-grid .prop-card .ph{aspect-ratio:4/3;margin-bottom:16px}
.prop-card .ph{aspect-ratio:4/3;margin-bottom:16px}
.prop-card h3{margin-bottom:4px}
.prop-card .city{color:var(--dawn);font-size:13px;letter-spacing:.14em;margin-bottom:9px}
.prop-card p{font-size:15px;color:var(--muted);margin:0 0 12px}
.prop-card .go{font-size:14.5px;font-weight:600;color:var(--river-2);border-bottom:1px solid var(--dawn);padding-bottom:2px}
.prop-card.soon{opacity:.62;pointer-events:none}
.prop-card .soon-tag{display:inline-block;background:var(--limestone);color:var(--muted);
  font-size:12px;padding:3px 10px;border-radius:2px;margin-bottom:9px}

/* ---- demo banner (chỉ dùng cho cơ sở mẫu, xóa khi chạy thật) ---- */
.demo-banner{background:#7A2E2E;color:#fff;text-align:center;padding:9px 16px;font-size:14px;
  position:relative;z-index:80}

/* ---- trang chung: header đứng yên, không phủ lên nội dung ---- */
.chain-header{position:sticky;top:0}
.chain-header nav a{color:var(--text)}
.chain-header .logo{color:var(--river)}
@media(max-width:900px){.chain-header nav a{color:#fff}}
.prop-card article,.prop-card{background:none}

/* ===== ĐẶT PHÒNG TRỰC TIẾP — bố cục kiểu Booking.com ================== */

.bk-search{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.7rem;
  align-items:end;margin:1.2rem 0}
.bk-search label{display:block;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.3rem}
.bk-search input,.bk-search select{width:100%;font:inherit;font-size:.95rem;
  padding:.62rem .7rem;border:1px solid #d6cfc4;border-radius:8px;background:#fff}
@media(max-width:760px){
  .bk-search{grid-template-columns:1fr 1fr}
  .bk-search button{grid-column:1/-1}
}

.bk-msg{padding:.75rem 1rem;border-radius:8px;font-size:.92rem;margin:.8rem 0;
  background:#f4f1ec;border:1px solid #e0d8cc}
.bk-msg.bad{background:#fdf2f3;border-color:#e8c4c8;color:#8a2130}
.bk-loading{color:var(--muted,#6b6357);font-size:.92rem;padding:1.4rem 0}

/* hai cột: bảng bên trái, tóm tắt DÍNH bên phải */
.bk-cols{display:grid;grid-template-columns:1fr 290px;gap:1.2rem;
  align-items:start;margin-top:1rem}
@media(max-width:900px){ .bk-cols{grid-template-columns:1fr} }
.bk-side{position:sticky;top:1rem}
@media(max-width:900px){ .bk-side{position:static} }

/* bảng phòng */
.bk-tbl{width:100%;border-collapse:collapse;background:#fff;
  border:1px solid #d6cfc4;font-size:.9rem}
.bk-tbl th{background:#4a4139;color:#fff;text-align:left;font-weight:600;
  padding:.6rem .7rem;font-size:.8rem;letter-spacing:.03em}
.bk-tbl th.hi{background:#352e28}
.bk-tbl td{border-top:1px solid #f0ece5;padding:.7rem;vertical-align:top}
.bk-tbl tr.bk-gs td{border-top:1px solid #d6cfc4}
.bk-tbl tr.bk-on{background:#fdfaf5}

.bk-rt{width:250px}
.bk-rt h3{margin:0 0 .2rem;font-size:1rem;font-weight:600}
.bk-bed{font-size:.8rem;color:var(--muted,#6b6357);margin-bottom:.4rem}
.bk-desc{font-size:.8rem;line-height:1.5;color:#5c554c;margin:.35rem 0 .5rem}
.bk-chips{display:flex;flex-wrap:wrap;gap:.25rem}
.bk-chips span{font-size:.68rem;border:1px solid #ded6ca;border-radius:3px;
  padding:.12rem .4rem;color:#5c554c;white-space:nowrap}
.bk-cap{font-size:.72rem;color:var(--muted,#6b6357);margin-top:.45rem}
.bk-low{font-size:.75rem;color:#a8641c;font-weight:700;margin-top:.3rem}

.bk-p{width:118px}
.bk-p b{font-size:1.05rem;font-weight:700;display:block}
.bk-p span{font-size:.7rem;color:var(--muted,#6b6357)}
.bk-inc{font-size:.8rem;line-height:1.55}
.bk-inc .y{color:#2f6b46;font-weight:600}
.bk-inc .y::before{content:"✓ "}
.bk-inc .n{color:#5c554c}
.bk-inc .n::before{content:"· ";color:#b3a795}
.bk-q{width:78px}
.bk-q select{width:100%;font:inherit;font-size:.95rem;padding:.4rem;
  border:1px solid #d6cfc4;border-radius:6px;background:#fff}
.bk-on .bk-q select{border-color:var(--accent,#9c3b4a);border-width:2px;font-weight:700}
.bk-none{color:#b3a795}
.bk-note{font-size:.78rem;color:var(--muted,#6b6357);margin:.6rem 0 0;
  line-height:1.5;max-width:62ch}

/* bán thêm dịch vụ */
.bk-add{background:#fff;border:1px solid #d6cfc4;border-radius:8px;
  padding:1rem 1.1rem;margin-top:1rem}
.bk-add h3{margin:0 0 .2rem;font-size:1rem}
.bk-addrow{display:flex;align-items:flex-start;gap:.8rem;padding:.7rem 0;
  border-top:1px solid #f0ece5}
.bk-addrow:first-of-type{border-top:0}
.bk-addrow .t{flex:1;min-width:0}
.bk-addrow .t b{display:block;font-size:.92rem;font-weight:600}
.bk-addrow .t em{font-style:normal;font-size:.75rem;color:#a8641c;font-weight:600}
.bk-addrow .t span{display:block;font-size:.78rem;color:var(--muted,#6b6357);
  line-height:1.5;margin-top:.15rem}
.bk-addrow .p{text-align:right;font-weight:700;white-space:nowrap;font-size:.92rem}
.bk-addrow .p em{display:block;font-style:normal;font-size:.68rem;font-weight:400;
  color:var(--muted,#6b6357)}
.bk-addrow select{width:62px;font:inherit;font-size:.92rem;padding:.35rem;
  border:1px solid #d6cfc4;border-radius:6px;background:#fff}

/* tóm tắt */
.bk-sum{background:#fff;border:1px solid #d6cfc4;border-radius:8px;padding:1rem}
.bk-sum h4{margin:0 0 .15rem;font-size:1rem}
.bk-dates{font-size:.78rem;color:var(--muted,#6b6357);margin-bottom:.8rem}
.bk-none2{font-size:.85rem;color:var(--muted,#6b6357);text-align:center;
  border:1px dashed #ded6ca;border-radius:6px;padding:1rem;line-height:1.6}
.bk-item{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #f0ece5;
  font-size:.85rem}
.bk-item .t{flex:1;min-width:0}
.bk-item .t b{display:block;font-weight:600}
.bk-item .t span{font-size:.72rem;color:var(--muted,#6b6357)}
.bk-item .p{text-align:right;white-space:nowrap}
.bk-brk{padding-top:.6rem;font-size:.82rem;color:#5c554c}
.bk-brk div{display:flex;justify-content:space-between;padding:.12rem 0}
.bk-tot{display:flex;justify-content:space-between;align-items:baseline;
  padding-top:.7rem;margin-top:.5rem;border-top:2px solid #352e28}
.bk-tot span{font-size:.85rem;font-weight:700}
.bk-tot b{font-size:1.45rem;font-weight:700}
.bk-next{width:100%;margin-top:.8rem}
.bk-back{width:100%;margin-top:.5rem}
.bk-fine{font-size:.72rem;color:var(--muted,#6b6357);margin:.6rem 0 0;line-height:1.5}

/* bước nhập tên */
.bk-panel{background:#fff;border:1px solid #d6cfc4;border-radius:8px;padding:1.2rem}
.bk-panel h3{margin:0 0 .9rem;font-size:1.05rem}
.bk-panel .note{font-size:.78rem;color:var(--muted,#6b6357);margin:.9rem 0 0;
  line-height:1.5}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.form-grid .full{grid-column:1/-1}
@media(max-width:620px){ .form-grid{grid-template-columns:1fr} }
.form-grid label{display:block;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.3rem}
.form-grid input,.form-grid select{width:100%;font:inherit;font-size:.95rem;
  padding:.62rem .7rem;border:1px solid #d6cfc4;border-radius:8px;background:#fff}

/* xong */
.bk-empty{background:#fff;border:1px dashed #ded6ca;border-radius:8px;
  padding:1.6rem;text-align:center}
.bk-empty b{display:block;margin-bottom:.4rem}
.bk-empty p{font-size:.88rem;color:var(--muted,#6b6357);margin:0;line-height:1.6}
.bk-done{background:#fff;border:2px solid #2f6b46;border-radius:10px;
  padding:1.6rem;max-width:560px}
.bk-tick{width:44px;height:44px;border-radius:50%;background:#2f6b46;color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
  margin-bottom:.9rem}
.bk-done h3{margin:0 0 .2rem;font-size:1.25rem}
.bk-code{font-family:ui-monospace,Menlo,monospace;font-size:1.1rem;font-weight:700;
  letter-spacing:.04em;margin:0 0 1rem;color:#2f6b46}
.bk-done .facts{list-style:none;padding:0;margin:0 0 1rem}
.bk-done .facts li{display:flex;gap:1rem;padding:.4rem 0;
  border-bottom:1px solid #f0ece5;font-size:.9rem}
.bk-done .facts b{min-width:74px;font-weight:600}
.bk-done .actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.bk-done .wa{background:#25d366;color:#fff;text-decoration:none;font-weight:600;
  padding:.7rem 1.1rem;border-radius:8px;font-size:.92rem}

/* ===== MÃ ĐẠI LÝ ====================================================== */
/* Kín một cách có chủ ý: một dòng chữ nhỏ, không phải nút to. Giá net chỉ
   dành cho ai đã có mã, và để nó nổi bật là mời khách lẻ đi tìm mã. */
.bk-agent{margin:.4rem 0 .9rem}
.bk-agent-open{background:none;border:0;padding:0;font:inherit;font-size:.82rem;
  color:var(--muted,#6b6357);text-decoration:underline;cursor:pointer}
.bk-agent-open:hover{color:var(--accent,#9c3b4a)}
.bk-agent-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.bk-agent-form input{width:190px;font:inherit;font-size:.95rem;padding:.55rem .7rem;
  border:1px solid #d6cfc4;border-radius:8px;background:#fff;
  font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}
.bk-agent-x{background:none;border:0;padding:.3rem .5rem;font:inherit;
  font-size:.82rem;color:var(--muted,#6b6357);cursor:pointer;text-decoration:underline}
.bk-agent-x:hover{color:var(--accent,#9c3b4a)}
.bk-agent-on{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;
  background:#eef6f0;border:1px solid #c3ddca;border-radius:8px;padding:.55rem .8rem;
  font-size:.85rem}
.bk-agent-on .ok{color:#2f6b46;font-weight:600}
.bk-agent-on .pct{color:#5c554c}

/* giá công khai gạch ngang khi có giá net */
.bk-p s{display:block;font-size:.78rem;color:#a8641c;text-decoration:line-through;
  margin-bottom:.05rem}
.bk-fine.bk-ag{background:#eef6f0;border:1px solid #c3ddca;border-radius:6px;
  padding:.5rem .65rem;color:#2f5c44}

.bk-mail{background:#eef6f0;border:1px solid #c3ddca;border-radius:6px;
  padding:.6rem .8rem;font-size:.88rem;color:#2f5c44;line-height:1.55;margin:0 0 .8rem}

.bk-childnote{font-size:.82rem;color:var(--muted,#6b6357);line-height:1.6;
  margin:.6rem 0 .2rem;max-width:70ch}

/* ảnh phòng trong bảng — để khách không phải cuộn xuống phần Rooms xem ảnh
   rồi cuộn ngược lên mới đặt được */
.bk-pic{width:100%;height:132px;object-fit:cover;border-radius:6px;
  display:block;margin-bottom:.5rem;background:#ede8e0}
@media(max-width:760px){ .bk-pic{height:104px} }

/* phần Rooms giờ chỉ để ngắm phòng — không còn giá, không còn nút đặt */
.bk-roomsnote{font-size:.85rem;color:var(--muted,#6b6357);margin:-.6rem 0 1.4rem;
  line-height:1.6}
.bk-seeprice{display:inline-block;text-align:center;text-decoration:none;
  margin-top:.4rem}

/* bảng phòng tĩnh — nội dung Google đọc, JS chỉ điền giá thật vào */
.bk-tblwrap{overflow-x:auto}
.bk-specs{list-style:none;padding:0;margin:.5rem 0 0;columns:2;column-gap:.9rem;
  font-size:.73rem;line-height:1.75;color:#5c554c}
.bk-specs li{break-inside:avoid;display:block}
.bk-specs li::before{content:"✓";color:#2f6b46;margin-right:.25rem;font-weight:700}
.bk-specs li b{font-weight:400}
.bk-specs li b::after{content:" "}
.bk-left{font-size:.75rem;color:#a8641c;font-weight:700;margin-top:.3rem}
.bk-qcol{width:78px}
#bk-done{max-width:560px}
#bk-guest{margin-bottom:1rem}

/* ba lớp còn thiếu sau khi bảng chuyển vào HTML tĩnh */
#bk-home{margin-bottom:1rem}
.bk-left-col{min-width:0}
.bk-tblwrap{overflow-x:auto}
.bk-amen{columns:2;column-gap:.9rem;font-size:.73rem;line-height:1.7;color:#5c554c;
  margin-top:.45rem}
.bk-amen span{display:block;break-inside:avoid}
.bk-amen span::before{content:"\2713";color:#2f6b46;margin-right:.25rem;font-weight:700}
.bk-left{font-size:.75rem;color:#a8641c;font-weight:700;margin-top:.3rem}

/* ===== TINH CHỈNH BẢNG PHÒNG =========================================== */
/* Chữ trong bảng đang nhỏ và chật. Tăng cỡ và giãn dòng — khách đọc trên
   điện thoại là chính, và chữ nhỏ thì họ bỏ qua chứ không nheo mắt. */
.bk-tbl{font-size:.95rem}
.bk-tbl td{padding:1rem .85rem}
.bk-tbl th{font-size:.82rem;padding:.7rem .85rem}

.bk-rt{width:296px}
.bk-pic{height:150px;margin-bottom:.7rem}

/* Tên phòng nổi bật — đó là thứ mắt khách tìm đầu tiên */
.bk-name{font-size:1.12rem;font-weight:700;color:#8a2130;margin:0 0 .25rem}
.bk-bed{font-size:.85rem;margin-bottom:.5rem}
.bk-desc{font-size:.86rem;line-height:1.6;margin:.4rem 0 .6rem}
.bk-chips span{font-size:.73rem;padding:.18rem .5rem}

/* Biểu tượng người: người lớn to, trẻ em nhỏ */
.bk-who{display:inline-flex;align-items:flex-end;gap:.18rem}
.bk-who i{display:inline-block;background:#6b6357;border-radius:50% 50% 30% 30%}
.bk-who i.ad{width:9px;height:15px}
.bk-who i.kid{width:7px;height:11px;opacity:.7}
.bk-who em{font-style:normal;font-size:.8rem;color:var(--muted,#6b6357);
  margin-left:.3rem;align-self:center}
.bk-cap{margin-top:.6rem}

.bk-p{width:132px}
.bk-p b{font-size:1.18rem}
.bk-p span{font-size:.75rem}
.bk-inc{font-size:.85rem;line-height:1.7}
.bk-q select{font-size:1rem;padding:.5rem}

/* Bán thêm dịch vụ — giờ nằm TRÊN bảng nên phải trông như một lời mời,
   không phải một khối phụ lục */
.bk-add{background:#fffdf8;border:1px solid #e8dcc4;border-left:3px solid #c98a2e;
  margin:0 0 1.1rem;padding:1.1rem 1.2rem}
.bk-add h3{font-size:1.05rem;margin:0 0 .15rem}
.bk-addrow{padding:.8rem 0}
.bk-addrow .t b{font-size:.98rem}
.bk-addrow .t span{font-size:.83rem}
.bk-addrow .p{font-size:1rem}
.bk-addrow select{width:68px;font-size:1rem;padding:.42rem}

@media(max-width:760px){
  .bk-tbl{font-size:.9rem}
  .bk-tbl td{padding:.8rem .6rem}
  .bk-rt{width:auto;min-width:190px}
  .bk-pic{height:120px}
  .bk-name{font-size:1.02rem}
}

/* ===== BÁN THÊM TRONG KHUNG TÓM TẮT ==================================== */
/* Nằm ngay dưới tổng tiền — chỗ mắt khách dừng lại sau khi chọn xong phòng.
   Cột chỉ rộng 288px nên mọi thứ phải gọn: một dòng một dịch vụ, ô tick bên
   trái, giá bên phải. Ô chọn số lượng chỉ hiện sau khi tick. */
.bk-adds{margin-top:1rem;padding-top:.9rem;border-top:1px solid #e8dcc4}
.bk-adds h5{margin:0 0 .15rem;font-size:.95rem;font-weight:700}
.bk-adds .hint{font-size:.75rem;color:var(--muted,#6b6357);margin:0 0 .6rem;
  line-height:1.5}

.bk-x{display:flex;align-items:flex-start;gap:.5rem;padding:.55rem .6rem;
  border:1px solid #e8dcc4;border-radius:7px;margin-bottom:.4rem;cursor:pointer;
  background:#fffdf8;transition:border-color .12s}
.bk-x:hover{border-color:#c98a2e}
.bk-x.on{border-color:#c98a2e;border-width:2px;padding:calc(.55rem - 1px) calc(.6rem - 1px)}
.bk-x input{width:16px;height:16px;margin:.1rem 0 0;flex-shrink:0;
  accent-color:#c98a2e;cursor:pointer}
.bk-x .t{flex:1;min-width:0;line-height:1.35}
.bk-x .t b{display:block;font-size:.85rem;font-weight:600}
.bk-x .t em{font-style:normal;font-size:.72rem;color:#a8641c;font-weight:600}
.bk-x .p{text-align:right;white-space:nowrap;font-size:.85rem;font-weight:700;
  line-height:1.35}
.bk-x .p em{display:block;font-style:normal;font-size:.66rem;font-weight:400;
  color:var(--muted,#6b6357)}

.bk-xq{display:flex;align-items:center;gap:.45rem;font-size:.78rem;
  color:var(--muted,#6b6357);margin:-.15rem 0 .6rem .55rem}
.bk-xq select{font:inherit;font-size:.85rem;padding:.25rem .35rem;
  border:1px solid #d6cfc4;border-radius:5px;background:#fff}
.bk-xq .amt{margin-left:auto;font-weight:700;color:#2c2620;font-size:.85rem}

/* ===== SỐ TIỀN TỔNG ==================================================== */
/* Dùng màu đỏ rượu của thương hiệu, không phải đỏ tươi.

   Đỏ tươi trên web mang nghĩa cảnh báo — hết phòng, lỗi, nguy hiểm. Đặt tổng
   tiền màu đó thì khách đọc như một lời cảnh báo về giá. Màu thương hiệu vừa
   nổi bật vừa sang, và khớp với nút đặt phòng. */
.bk-tot b{color:#9c3b4a;font-size:1.6rem}
.bk-tot span{color:#2c2620}

/* Dòng tổng trong danh sách bữa ăn cũng vậy */
.bk-xq .amt{color:#9c3b4a}

/* ===== KHUNG TÓM TẮT KHÔNG ĐƯỢC DÀI QUÁ MÀN HÌNH ====================== */
/* Bảy dịch vụ làm khung dài hơn màn hình, và nút Continue bị đẩy xuống dưới
   — khách không thấy nút thì không bấm được.

   Cuộn RIÊNG phần dịch vụ, không cuộn cả khung. Hoá đơn, tổng tiền và nút
   Continue luôn nằm trong tầm mắt. */
.bk-adds{max-height:230px;overflow-y:auto;padding-right:.35rem}
.bk-adds::-webkit-scrollbar{width:6px}
.bk-adds::-webkit-scrollbar-thumb{background:#d6cfc4;border-radius:3px}
.bk-adds::-webkit-scrollbar-track{background:transparent}

.bk-sum{max-height:calc(100vh - 2rem);overflow-y:auto}
.bk-sum::-webkit-scrollbar{width:6px}
.bk-sum::-webkit-scrollbar-thumb{background:#d6cfc4;border-radius:3px}

@media(max-width:900px){
  .bk-sum{max-height:none;overflow:visible}
  .bk-adds{max-height:none;overflow:visible}
}

/* ===== ĐIỀU KIỆN HUỶ =================================================== */
/* Khách nào cũng hỏi câu này. Hiện ngay trong dòng giá, không giấu ở cuối
   trang — và nội dung lấy từ chính sách thật trong Adenoro, không phải câu
   viết cứng trong website. */
.bk-cxl{font-weight:600}
.bk-nonref{color:#a8641c;font-weight:700}
.bk-nonref::before{content:"· ";color:#b3a795}

/* Đợt lễ có chính sách chặt hơn — nói trước, đừng để khách phát hiện lúc
   muốn huỷ */
.bk-holiday{background:#fffbeb;border:1px solid #f0d9a8;border-left:3px solid #c98a2e;
  border-radius:6px;padding:.7rem .9rem;margin-bottom:.9rem;font-size:.86rem;
  line-height:1.55;color:#6b4d1c}
.bk-holiday b{display:block;font-weight:700;margin-bottom:.15rem}

/* Điều kiện huỷ trong khung tóm tắt */
.bk-cxlsum{margin-top:.7rem;padding-top:.6rem;border-top:1px solid #f0ece5;
  font-size:.75rem;color:#2f6b46;line-height:1.55}
.bk-cxlsum div{margin-bottom:.15rem}
.bk-cxlsum div::before{content:"\2713 ";font-weight:700}

/* ===== QUẢN LÝ ĐƠN — trang khách tự xem và sửa đơn ===================== */
.mg-box{background:#fff;border:1px solid #d6cfc4;border-radius:10px;
  padding:1.6rem 1.7rem;max-width:720px;margin:0 auto}
.mg-box h2{margin:0 0 .2rem;font-size:1.45rem}
.mg-box h3{margin:0 0 .3rem;font-size:1.05rem}
.mg-lead{font-size:.88rem;color:var(--muted,#6b6357);line-height:1.6;margin:0 0 1rem}
.mg-help{font-size:.84rem;color:var(--muted,#6b6357);margin:1.2rem 0 0;line-height:1.6}

.mg-head{display:flex;align-items:flex-start;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.mg-code{font-family:ui-monospace,Menlo,monospace;font-size:1.05rem;font-weight:700;
  letter-spacing:.05em;color:#2f6b46;margin:0}

.mg-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.7rem;align-items:end}
@media(max-width:640px){
  .mg-form{grid-template-columns:1fr}
  .mg-form button{width:100%}
}
.mg-form label{display:block;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.3rem}
.mg-form input{width:100%;font:inherit;font-size:.95rem;padding:.62rem .7rem;
  border:1px solid #d6cfc4;border-radius:8px;background:#fff}
#mg-code{font-family:ui-monospace,Menlo,monospace;text-transform:uppercase}

.mg-msg{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin:.9rem 0;
  line-height:1.55}
.mg-msg.bad{background:#fdf2f3;border:1px solid #e8c4c8;color:#8a2130}
.mg-msg.ok{background:#eef6f0;border:1px solid #c3ddca;color:#2f5c44}

.mg-cancelled{background:#fdf2f3;border:1px solid #e8c4c8;color:#8a2130;
  border-radius:8px;padding:.8rem 1rem;font-weight:600;margin-bottom:1rem}

.mg-facts{width:100%;border-collapse:collapse;font-size:.92rem;margin-bottom:1.2rem}
.mg-facts td{padding:.6rem 0;border-bottom:1px solid #f0ece5;vertical-align:top}
.mg-facts td:first-child{color:var(--muted,#6b6357);width:34%}
.mg-facts td span{display:block;font-size:.78rem;color:var(--muted,#6b6357)}
.mg-rooms{list-style:none;margin:0;padding:0}
.mg-rooms li{margin-bottom:.3rem}
.mg-rooms li b{display:block;font-weight:600}
.mg-rooms li span{font-size:.78rem;color:var(--muted,#6b6357)}

.mg-total{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  padding:.9rem 1rem;background:#faf8f5;border:1px solid #e8dcc4;border-radius:8px;
  margin-bottom:1.2rem}
.mg-total span{font-size:.9rem;font-weight:700}
.mg-total b{font-size:1.5rem;font-weight:700;color:#9c3b4a}
.mg-total em{font-style:normal;font-size:.78rem;color:var(--muted,#6b6357)}
.mg-total.mg-agency{display:block;font-size:.88rem;line-height:1.6;color:#5c554c}

.mg-sec{padding-top:1.1rem;margin-top:1.1rem;border-top:1px solid #f0ece5}
.mg-list{list-style:none;margin:0;padding:0;font-size:.9rem}
.mg-list li{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;
  border-bottom:1px solid #f0ece5}

/* thêm dịch vụ */
.mg-add{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem 0;
  border-bottom:1px solid #f0ece5}
.mg-add:last-child{border-bottom:0}
.mg-add.shut{opacity:.62}
.mg-add .t{flex:1;min-width:0}
.mg-add .t b{display:block;font-size:.95rem;font-weight:600}
.mg-add .t em{font-style:normal;font-size:.76rem;color:#a8641c;font-weight:600}
.mg-add .t span{display:block;font-size:.82rem;color:var(--muted,#6b6357);
  line-height:1.5;margin-top:.15rem}
.mg-add .t .shutnote{color:#a8641c;font-weight:600}
.mg-add .p{font-weight:700;white-space:nowrap;font-size:.95rem}
.mg-add .q{display:flex;gap:.4rem;align-items:center}
.mg-add .q select{width:58px;font:inherit;font-size:.92rem;padding:.35rem;
  border:1px solid #d6cfc4;border-radius:6px;background:#fff}
.mg-add .shutx{font-size:.8rem;color:var(--muted,#6b6357)}

/* huỷ */
.mg-cxl .mg-policy{font-size:.88rem;padding:.6rem .8rem;border-radius:6px;
  margin:0 0 .8rem;line-height:1.55}
.mg-cxl .mg-policy.ok{background:#eef6f0;border:1px solid #c3ddca;color:#2f5c44}
.mg-cxl .mg-policy.warn{background:#fffbeb;border:1px solid #f0d9a8;color:#6b4d1c}
.mg-cxl textarea{width:100%;min-height:82px;font:inherit;font-size:.92rem;
  padding:.6rem .7rem;border:1px solid #d6cfc4;border-radius:8px;background:#fff;
  resize:vertical;margin-bottom:.7rem}
.mg-danger{color:#8a2130;border-color:#e8c4c8}
.mg-danger:hover{background:#8a2130;color:#fff;border-color:#8a2130}

/* Lời xác nhận thay hẳn ô nhập sau khi gửi — để nút đó thì khách bấm lại */
.mg-sent{background:#eef6f0;border:1px solid #c3ddca;border-radius:8px;
  padding:.9rem 1rem;margin-bottom:.8rem}
.mg-sent b{display:block;color:#2f6b46;font-weight:700;margin-bottom:.2rem}
.mg-sent span{display:block;font-size:.88rem;color:#2f5c44;line-height:1.6}

/* Link quản lý đơn trên thanh menu — chữ thường, viền mảnh. Khách đã đặt
   biết tìm nó; khách mới thì mắt vẫn rơi vào nút đặt phòng màu vàng. */
.nav-manage{border:1px solid rgba(255,255,255,.34);padding:7px 13px;
  border-radius:3px;font-size:14px;white-space:nowrap}
.nav-manage:hover{background:rgba(255,255,255,.14);color:#fff}
header.solid .nav-manage{border-color:var(--line)}
header.solid .nav-manage:hover{background:var(--limestone);color:var(--text)}
@media(max-width:900px){
  .nav-manage{border:0;padding:0;font-size:21px;font-family:Fraunces,serif}
  .nav-manage:hover{background:none}
}

/* Nút đặt ngay dưới ô nhập. Trước đây chỉ có ở cột phải — khách vừa gõ xong
   phải nhìn sang chỗ khác, và trên điện thoại cột phải nằm tận cuối trang. */
.bk-godone{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;
  margin-top:1.1rem;padding-top:1rem;border-top:1px solid #f0ece5}
.bk-godone .book-btn{font-size:1rem;padding:.8rem 1.5rem}
@media(max-width:620px){
  .bk-godone{flex-direction:column;align-items:stretch}
  .bk-godone button{width:100%}
}

/* Ẩn bảng và cột tóm tắt sau khi đặt xong.

   JavaScript đặt hidden lên .bk-cols, nhưng quy tắc .bk-cols{display:grid}
   có độ ưu tiên cao hơn [hidden]{display:none} của trình duyệt — nên cột
   tóm tắt vẫn hiện, với nút Confirm còn đó. Khách bấm lần nữa là tạo đơn
   trùng. */
.bk-cols[hidden]{display:none}

/* ===== TRANG TOUR ====================================================== */
.tr-h1{font-family:Fraunces,serif;font-size:clamp(28px,4vw,42px);font-weight:300;
  margin:0 0 .4rem}
.tr-lead{font-size:1rem;line-height:1.75;color:var(--muted,#6b6357);max-width:64ch;
  margin:0 0 1.4rem}
.tr-loading{color:var(--muted,#6b6357);padding:2rem 0}

/* Lọc theo nhóm — bốn mươi bảy mục trong một danh sách dài thì khách cuộn
   mãi không tới cái mình muốn */
.tr-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.1rem}
.tr-tabs button{border:1px solid #d6cfc4;background:#fff;padding:.5rem 1rem;
  font:inherit;font-size:.88rem;border-radius:999px;cursor:pointer;
  color:var(--muted,#6b6357);white-space:nowrap}
.tr-tabs button:hover{border-color:#c98a2e}
.tr-tabs button.on{background:#2c2620;color:#fff;border-color:#2c2620;font-weight:600}

.tr-how{background:#fffdf8;border:1px solid #e8dcc4;border-left:3px solid #c98a2e;
  border-radius:8px;padding:.95rem 1.1rem;font-size:.92rem;line-height:1.7;
  margin-bottom:1.8rem}
.tr-how b{font-weight:700}

.tr-grp{margin-bottom:2.2rem}
.tr-grp h2{font-family:Fraunces,serif;font-size:1.5rem;font-weight:400;margin:0 0 .2rem}
.tr-blurb{font-size:.9rem;color:var(--muted,#6b6357);margin:0 0 1rem;line-height:1.6}

.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));
  gap:1rem}
.tr-card{background:#fff;border:1px solid #e0d8cc;border-radius:10px;
  padding:1.1rem 1.2rem;display:flex;flex-direction:column;position:relative}
.tr-card.pick{border-color:#c98a2e;border-width:2px;padding:calc(1.1rem - 1px) calc(1.2rem - 1px)}
.tr-pick{position:absolute;top:-9px;left:1.1rem;background:#c98a2e;color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.18rem .55rem;border-radius:3px}
.tr-card h3{font-size:1.02rem;font-weight:600;margin:0 0 .35rem;line-height:1.35}
.tr-card p{font-size:.86rem;line-height:1.6;color:var(--muted,#6b6357);
  margin:0 0 .7rem;flex:1}

.tr-meta{list-style:none;margin:0 0 .8rem;padding:0;display:flex;gap:.4rem;
  flex-wrap:wrap}
.tr-meta li{font-size:.73rem;background:#f5f1ea;color:#5c554c;padding:.2rem .55rem;
  border-radius:4px}

.tr-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;
  padding-top:.8rem;border-top:1px solid #f0ece5}
.tr-price b{display:block;font-size:1.3rem;font-weight:700;color:#9c3b4a;
  line-height:1.1}
.tr-price span{font-size:.73rem;color:var(--muted,#6b6357)}
.tr-foot .ghost-btn{white-space:nowrap;font-size:.85rem;padding:.5rem .9rem}

.tr-note{font-size:.85rem;color:var(--muted,#6b6357);line-height:1.7;max-width:70ch;
  margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid #e8dcc4}
.tr-empty{background:#fffbeb;border:1px solid #f0d9a8;border-radius:8px;
  padding:1.3rem 1.4rem;max-width:52ch}
.tr-empty b{display:block;margin-bottom:.3rem}
.tr-empty p{margin:0;font-size:.9rem;line-height:1.65}

@media(max-width:620px){
  .tr-grid{grid-template-columns:1fr}
  .tr-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem;
    -webkit-overflow-scrolling:touch}
}

/* ===== TRANG TOUR ====================================================== */
/* Mũi tên quay lại. Nút Back của trình duyệt có sẵn, nhưng người vào thẳng
   từ Google thì không có gì để bấm — và họ là khách chưa biết khách sạn. */
.tr-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;
  color:var(--muted,#6b6357);text-decoration:none;margin-bottom:1rem}
.tr-back:hover{color:var(--accent,#9c3b4a)}
.tr-back span{font-size:1.1rem;line-height:1}

.tr-h1{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,4vw,42px);
  font-weight:300;line-height:1.1;margin:0 0 .6rem}
.tr-lead{font-size:1rem;line-height:1.7;color:#5c554c;max-width:62ch;margin:0}
.tr-loading{color:var(--muted,#6b6357);padding:2rem 0}

.tr-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}
.tr-tabs button{border:1px solid #d6cfc4;background:#fff;padding:.5rem .9rem;
  font:inherit;font-size:.86rem;border-radius:20px;cursor:pointer;color:#5c554c;
  white-space:nowrap}
.tr-tabs button:hover{border-color:#c98a2e}
.tr-tabs button.on{background:#2c2620;color:#fff;border-color:#2c2620;font-weight:600}

.tr-how{background:#fffbeb;border:1px solid #f0d9a8;border-left:3px solid #c98a2e;
  border-radius:8px;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.65;
  color:#6b4d1c;margin-bottom:1.6rem;max-width:76ch}
.tr-how a{color:#8a5a12;font-weight:600}

.tr-grp{padding:0;margin-bottom:2rem}
.tr-grp h2{font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:400;
  margin:0 0 .2rem}
.tr-blurb{font-size:.88rem;color:var(--muted,#6b6357);margin:0 0 1rem}

.tr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1rem}
.tr-card{background:#fff;border:1px solid #e0d8cc;border-radius:10px;
  padding:1.1rem 1.2rem;display:flex;flex-direction:column;position:relative}
.tr-card.pick{border-color:#c98a2e;border-width:2px;padding:calc(1.1rem - 1px) calc(1.2rem - 1px)}
.tr-pick{position:absolute;top:-9px;left:1rem;background:#c98a2e;color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.15rem .5rem;border-radius:3px}
.tr-card h3{font-size:1.02rem;font-weight:600;margin:0 0 .35rem;line-height:1.3}
.tr-card p{font-size:.86rem;line-height:1.6;color:#5c554c;margin:0 0 .7rem}

.tr-meta{list-style:none;margin:0 0 .9rem;padding:0;display:flex;
  flex-wrap:wrap;gap:.3rem}
.tr-meta li{font-size:.72rem;background:#f4f1ec;border-radius:3px;
  padding:.15rem .45rem;color:#5c554c}

.tr-foot{margin-top:auto;padding-top:.8rem;border-top:1px solid #f0ece5;
  display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.tr-price{flex:1;min-width:88px}
.tr-price b{display:block;font-size:1.25rem;font-weight:700;color:#9c3b4a;
  line-height:1.1}
.tr-price span{font-size:.72rem;color:var(--muted,#6b6357)}
.tr-foot .ghost-btn{font-size:.84rem;padding:.5rem .9rem}

.tr-note{font-size:.84rem;color:var(--muted,#6b6357);line-height:1.7;
  max-width:70ch;margin-top:1.4rem;padding-top:1.2rem;
  border-top:1px solid #f0ece5}
.tr-empty{background:#fff;border:1px dashed #ded6ca;border-radius:8px;
  padding:2rem;text-align:center}
.tr-empty b{display:block;margin-bottom:.4rem}
.tr-empty p{font-size:.9rem;color:var(--muted,#6b6357);margin:0}

@media(max-width:620px){
  .tr-grid{grid-template-columns:1fr}
  .tr-tabs button{font-size:.82rem;padding:.45rem .75rem}
}

/* Chi tiết tour mở ra khi bấm. Bốn mươi sáu thẻ mà thẻ nào cũng dài thì khách
   cuộn mãi không hết — nên giấu đi, ai quan tâm thì mở. */
.tr-det{margin:0 0 .8rem;font-size:.84rem}
.tr-det summary{cursor:pointer;color:#5c554c;font-weight:600;padding:.3rem 0;
  list-style:none;display:flex;align-items:center;gap:.35rem}
.tr-det summary::-webkit-details-marker{display:none}
.tr-det summary::before{content:"+";font-weight:700;color:#c98a2e;width:12px}
.tr-det[open] summary::before{content:"\2212"}
.tr-det summary:hover{color:#c98a2e}
.tr-det > div{padding:.45rem 0 .45rem 1rem;border-left:2px solid #f0d9a8;
  margin-bottom:.3rem}
.tr-det b{display:block;font-size:.74rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.1rem}
.tr-det span{display:block;line-height:1.6;color:#5c554c}

/* Biểu mẫu đặt tour cho khách không ở khách sạn */
.tr-form{margin-bottom:1.5rem}
.tr-fbox{background:#fff;border:2px solid #c98a2e;border-radius:10px;
  padding:1.4rem 1.5rem;position:relative;max-width:640px}
.tr-fx{position:absolute;top:.6rem;right:.7rem;background:none;border:0;
  font-size:1.6rem;line-height:1;color:#b3a795;cursor:pointer;padding:.2rem .4rem}
.tr-fx:hover{color:#8a2130}
.tr-fbox h3{font-size:1.15rem;margin:0 0 .3rem;padding-right:1.5rem}
.tr-flead{font-size:.86rem;color:var(--muted,#6b6357);line-height:1.6;margin:0 0 1rem}
.tr-flead a{color:#9c3b4a;font-weight:600}

.tr-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.tr-fgrid .full{grid-column:1/-1}
.tr-fgrid label{display:block}
.tr-fgrid span{display:block;font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.25rem}
.tr-fgrid input,.tr-fgrid select{width:100%;font:inherit;font-size:.95rem;
  padding:.6rem .7rem;border:1px solid #d6cfc4;border-radius:8px;background:#fff}
@media(max-width:600px){ .tr-fgrid{grid-template-columns:1fr} }

.tr-fnote{font-size:.78rem;color:var(--muted,#6b6357);line-height:1.6;
  margin:.9rem 0 0}
.tr-fmsg{padding:.7rem .9rem;border-radius:8px;font-size:.88rem;margin:.8rem 0 0}
.tr-fmsg[hidden]{display:none}
.tr-fmsg.bad{background:#fdf2f3;border:1px solid #e8c4c8;color:#8a2130}
.tr-fgo{margin-top:1rem;width:100%;font-size:1rem;padding:.8rem}
.tr-sent{background:#eef6f0;border:1px solid #c3ddca;border-radius:8px;
  padding:1rem 1.1rem;margin-bottom:.8rem}
.tr-sent b{display:block;color:#2f6b46;font-weight:700;margin-bottom:.25rem}
.tr-sent span{display:block;font-size:.9rem;color:#2f5c44;line-height:1.6}

/* Ảnh đại diện tour. Thẻ nào chưa có ảnh thì không có gì — onerror trong
   tours.js gỡ ảnh hỏng đi, nên không bao giờ hiện ô vỡ. */
.tr-img{width:calc(100% + 2.4rem);margin:-1.1rem -1.2rem .9rem;
  height:150px;object-fit:cover;display:block;
  border-radius:10px 10px 0 0;background:#ede8e0}
.tr-card.pick .tr-img{width:calc(100% + 2.4rem - 2px);
  margin:calc(-1.1rem + 1px) calc(-1.2rem + 1px) .9rem}
@media(max-width:620px){ .tr-img{height:170px} }

/* Nút hỏi cạnh nút đặt. Chữ thường, nhỏ hơn — hỏi là bước trước khi đặt,
   không phải lựa chọn ngang hàng. */
.tr-ask{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;
  color:#1d7a4f;text-decoration:none;font-weight:600;padding:.5rem .6rem;
  border-radius:7px;white-space:nowrap}
.tr-ask:hover{background:#eef6f0}
.tr-ask svg{flex-shrink:0}

/* Nút nổi, cho người xem cả trang mà chưa chọn được gì */
.tr-fab{position:fixed;right:16px;bottom:16px;z-index:150;
  display:inline-flex;align-items:center;gap:.45rem;
  background:#25806A;color:#fff;text-decoration:none;font-weight:600;
  font-size:.88rem;padding:.7rem 1rem;border-radius:24px;
  box-shadow:0 4px 16px rgba(12,46,44,.28)}
.tr-fab:hover{background:#1E6A57;color:#fff}
@media(max-width:600px){
  .tr-fab{right:12px;bottom:12px;padding:.65rem .9rem;font-size:.84rem}
  .tr-fab span{display:none}
  .tr-fab{border-radius:50%;width:48px;height:48px;justify-content:center}
}
.tr-fnote a{color:#1d7a4f;font-weight:600}

/* ===== ĐỊA ĐIỂM TRONG MÔ TẢ TOUR ====================================== */
/* Tên địa điểm bấm được. Gạch chân nét đứt, không phải nút — nó là thông tin
   thêm, không được cạnh tranh với nút Book this. */
.tr-place{color:#2f6b46;text-decoration:none;font-weight:600;
  border-bottom:1px dotted #8bbfa3;white-space:nowrap}
.tr-place:hover{color:#c98a2e;border-bottom-color:#c98a2e}
.tr-desc{font-size:.86rem;line-height:1.7;color:#5c554c;margin:0 0 .7rem}

/* Bảng địa điểm mở ra trên trang, không chuyển trang. Khách đang so sánh bốn
   mươi sáu tour — rời trang rồi quay lại là mất chỗ đang xem. */
.tr-sheet{position:fixed;inset:0;z-index:200;background:rgba(10,18,17,.55);
  display:none;align-items:flex-end;justify-content:center}
.tr-sheet.on{display:flex}
.tr-sheet-in{background:#fff;width:100%;max-width:600px;
  border-radius:14px 14px 0 0;max-height:86vh;overflow-y:auto;
  padding:1.4rem 1.5rem 1.8rem;position:relative}
@media(min-width:700px){
  .tr-sheet{align-items:center}
  .tr-sheet-in{border-radius:14px;max-height:82vh}
}
.tr-sx{position:absolute;top:.6rem;right:.9rem;background:none;border:0;
  font-size:1.7rem;line-height:1;color:#b3a795;cursor:pointer;padding:.2rem .4rem}
.tr-sx:hover{color:#8a2130}
.tr-sheet-in h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:22px;
  margin:0 0 .15rem;padding-right:1.5rem}
.tr-far{font-size:.76rem;color:#a8641c;font-weight:600;letter-spacing:.04em;
  margin-bottom:.9rem}
.tr-shots{display:grid;grid-template-columns:2fr 1fr;gap:4px;margin-bottom:1rem}
.tr-shots img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;
  background:#ede8e0;display:block}
.tr-shots img:only-child{grid-column:1/-1;aspect-ratio:16/9}
.tr-sheet-in p{font-size:.92rem;line-height:1.7;color:#3E5A54;margin:0 0 .9rem}

.tr-ptags{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}
.tr-ptags span{font-size:.72rem;border-radius:4px;padding:.2rem .5rem;
  background:#f4f1ec;color:#5c554c}
.tr-ptags .good{background:#eef6f0;color:#2f6b46;font-weight:600}
.tr-ptags .warn{background:#fffbeb;color:#8a5a12;font-weight:600}

.tr-also{border-top:1px solid #f0ece5;padding-top:.9rem}
.tr-also b{display:block;font-size:.72rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted,#6b6357);margin-bottom:.5rem}
.tr-also button{font:inherit;font-size:.84rem;background:#fff;
  border:1px solid #d6cfc4;border-radius:20px;padding:.32rem .75rem;
  color:#2f6b46;margin:0 .3rem .3rem 0;cursor:pointer}
.tr-also button:hover{border-color:#c98a2e;color:#a8641c}
.tr-also button em{font-style:normal;color:var(--muted,#6b6357);font-size:.76rem}

/* Thẻ tour nháy lên khi khách bấm từ bảng địa điểm — nếu không thì họ cuộn
   tới nơi mà không biết đang nhìn cái nào. */
.tr-flash{animation:trflash 1.6s ease}
@keyframes trflash{0%,100%{box-shadow:none}
  25%,75%{box-shadow:0 0 0 3px rgba(201,138,46,.55)}}
@media(prefers-reduced-motion:reduce){.tr-flash{animation:none}}

/* Nhãn điểm mạnh và điểm yếu chia hai nhóm có tiêu đề, thay vì một hàng nhãn
   lẫn lộn.

   Màu xanh và vàng phân biệt được, nhưng người mù màu không thấy, và trên
   màn hình sáng ngoài trời hai màu khá giống nhau. Tiêu đề bằng chữ thì ai
   cũng hiểu. */
.tr-ptags{display:grid;gap:.7rem;margin-bottom:1rem}
@media(min-width:560px){ .tr-ptags{grid-template-columns:1fr 1fr} }

.tr-tg{border-radius:8px;padding:.75rem .9rem}
.tr-tg.good{background:#eef6f0;border:1px solid #c3ddca}
.tr-tg.warn{background:#fffbeb;border:1px solid #f0d9a8}
.tr-tg b{display:block;font-size:.74rem;letter-spacing:.03em;
  text-transform:uppercase;margin-bottom:.4rem}
.tr-tg.good b{color:#2f6b46}
.tr-tg.warn b{color:#8a5a12}
.tr-tg ul{list-style:none;margin:0;padding:0}
.tr-tg li{font-size:.86rem;line-height:1.55;padding-left:1.1rem;
  position:relative;margin-bottom:.2rem}
.tr-tg li:last-child{margin-bottom:0}
.tr-tg.good li{color:#2f5c44}
.tr-tg.warn li{color:#6b4d1c}
.tr-tg.good li::before{content:"\2713";position:absolute;left:0;font-weight:700;
  color:#2f6b46}
.tr-tg.warn li::before{content:"\0021";position:absolute;left:.15rem;
  font-weight:700;color:#a8641c}

/* Tên khách sạn, nhà hàng và tour dẫn thẳng tới trang của nó.

   Khách chạm vào tên là mong nó mở ra — bắt họ tìm nút bên dưới là thêm một
   bước không cần thiết, và trên điện thoại thì nút có thể nằm ngoài màn hình. */
.band-link{color:inherit;text-decoration:none}
.band-link:hover{color:var(--dawn-deep)}
.venue.dark .band-link:hover,
.band.dark .band-link:hover{color:var(--dawn)}

/* Logo trên cùng dẫn về trang chủ — đã có sẵn, chỉ làm rõ nó bấm được */
.chain-header .logo:hover,
header .logo:hover{opacity:.75}

/* Tên khách sạn trong danh sách: cả thẻ đã bấm được, nhưng tên nên đổi màu
   khi rê chuột để khách biết */
.props .prop-card:hover h4{color:var(--dawn-deep)}
