/* =========================================================
   Serena Kim Bôi – Kimora Travel · styles.css
   Layout: one-column landing, alternating cream / white / deep-green bands,
   sticky header, floating contact bar on mobile.
   ========================================================= */
:root {
  /* Bảng màu theo logo: ngà trắng, than chì, vàng đồng (tên token giữ nguyên để không phải đổi toàn bộ CSS) */
  --green-900: #121212;
  --green: #1c1c1c;
  --green-600: #333333;
  --green-100: #f0ece3;
  --cream: #f8f6f1;
  --cream-2: #ece8df;
  --white: #ffffff;
  --ink: #1f1f1f;
  --muted: #6d6a63;
  --line: #e4e0d6;
  --brass: #c4a052;
  --brass-600: #9c7c33;
  --brass-100: #f5efe0;
  --danger: #9c3b33;
  --success: #3a6b4f;
  --zalo: #1c1c1c;
  --font-display: 'Cormorant Garamond', 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --radius: 10px;
  --radius-sm: 6px;
  --shadow: 0 12px 32px rgba(21, 42, 31, .08);
  --shadow-sm: 0 1px 2px rgba(21, 42, 31, .05), 0 0 0 1px var(--line);
  --container: 1200px;
  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --header-h: 72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
body {
  margin: 0; font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--ink); background: var(--white);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--green-600); text-decoration: none; }
a:hover { color: var(--green); }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-display); font-weight: 500; line-height: 1.15; color: var(--green-900); text-wrap: balance; letter-spacing: .005em; }
.section__title { font-size: clamp(1.9rem, 3.6vw, 2.8rem); }
.pkg__name, .room__name, .journey__name, .b2bpk__name, .venue__name, .svc__name, .post__title, .itin__label { font-size: 1.45rem; }
.pkg__now, .room__price strong, .quote__head strong, .stat__value, .bankinfo__amt { font-weight: 600; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--brass); outline-offset: 2px; }
[hidden] { display: none !important; }
.hp { position: absolute !important; left: -9999px !important; opacity: 0; height: 0; width: 0; }

.ic { width: 1.1em; height: 1.1em; flex: none; vertical-align: -0.18em; }
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-left: var(--gutter); padding-right: max(16px, env(safe-area-inset-right, 0px)); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .8em 1.4em; border-radius: 999px;
  border: 1.5px solid transparent; font-weight: 600; font-size: .95rem; line-height: 1.2; white-space: nowrap;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease; text-decoration: none;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn--primary { background: var(--green); color: #fff; }
.btn--primary:hover { background: var(--green-900); color: #fff; }
.btn--light { background: #fff; color: var(--green); }
.btn--light:hover { background: var(--cream); color: var(--green-900); }
.btn--outline { border-color: var(--green); color: var(--green); background: transparent; }
.btn--outline:hover { background: var(--green); color: #fff; }
.btn--ghost { background: var(--green-100); color: var(--green); }
.btn--ghost:hover { background: var(--line); color: var(--green-900); }
.btn--ghost-light { background: rgba(255,255,255,.14); color: #fff; }
.btn--ghost-light:hover { background: rgba(255,255,255,.24); color: #fff; }
.btn--sm { padding: .55em 1em; font-size: .85rem; }
.btn--lg { padding: 1em 1.8em; font-size: 1.05rem; }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .7; pointer-events: none; }
.btn__spinner { display: none; width: 1.1em; height: 1.1em; border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite; }
.btn.is-loading .btn__spinner { display: inline-block; }
.btn.is-loading .btn__label { opacity: .75; }
@keyframes spin { to { transform: rotate(360deg); } }

.chip { padding: .45em 1em; border-radius: 999px; border: 1.5px solid var(--line); background: #fff; color: var(--muted); font-weight: 500; font-size: .9rem; transition: all .15s; }
.chip:hover, .chip.is-active { border-color: var(--green); background: var(--green); color: #fff; }

.card { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.section--dark .btn--primary { background: var(--brass); }
.section--dark .btn--primary:hover { background: var(--brass-600); }
.hero .btn--primary { background: var(--brass); }
.hero .btn--primary:hover { background: var(--brass-600); }

/* ---------- Topbar / Header ---------- */
.topbar { background: var(--green-900); color: #f3efe6; font-size: .86rem; font-weight: 500; }
.topbar__inner { display: flex; align-items: center; gap: 1.5rem; min-height: 38px; }
.topbar__item { display: inline-flex; align-items: center; gap: .4em; color: inherit; }
.topbar__item .ic { color: var(--brass); }
.topbar__call { margin-left: auto; color: #fff; }
.topbar__call a { color: var(--brass); }
.topbar__call a:hover { color: #e9d49a; }
.topbar__call strong { font-weight: 700; letter-spacing: .03em; font-size: .95rem; }
.topbar__call small { color: #f3efe6; opacity: 1; font-size: .78rem; }
.topbar__sep { color: #fff; opacity: .5; }
@media (max-width: 760px) { .topbar__item--hide-sm { display: none; } }

.header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); backdrop-filter: saturate(1.2) blur(8px); border-bottom: 1px solid var(--line); }
.header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--header-h); }
.brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--green-900); }
.brand__mark { height: 50px; width: auto; }
.brand__wordimg { height: 30px; width: auto; }
.footer__logo { width: 190px; height: auto; margin-bottom: .6rem; }
.header { background: rgba(255,255,255,.97); }
.section--dark { background: var(--green-900); }
.section--dark .btn--light { color: var(--green-900); }
.footer { background: #0f0f0f; }
.footer__title { color: var(--brass); }
.footer__list .ic { color: var(--brass); }
.hm-band { background: var(--green-900); }
.hm-band .btn--light { color: var(--green-900); }
.venue__item { background: var(--green); }
.amen__icon { background: rgba(196,160,82,.14); color: var(--brass); }
.eyebrow--light { color: var(--brass); }
.steps li::before { background: rgba(196,160,82,.15); color: var(--brass); }
.stat { background: rgba(14,14,14,.55); }
.footer__dot { margin: 0 .4em; opacity: .5; }
/* Bảng liên hệ nhanh */
.csheet { position: fixed; inset: 0; z-index: 65; display: grid; place-items: center; padding: 1rem; }
.csheet__backdrop { position: absolute; inset: 0; background: rgba(14,14,14,.55); }
.csheet__box { position: relative; width: 100%; max-width: 380px; background: #fff; border-radius: var(--radius); padding: 1.3rem; display: flex; flex-direction: column; gap: .5rem; box-shadow: var(--shadow); animation: pop .2s ease; }
.csheet__title { margin: 0 0 .4rem; font-family: var(--font-display); font-size: 1.3rem; color: var(--green-900); text-align: center; }
.csheet__row { display: flex; align-items: center; gap: .9rem; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); }
.csheet__row:hover { border-color: var(--green); background: var(--cream); color: var(--ink); }
.csheet__row .ic { width: 1.4rem; height: 1.4rem; color: var(--green); flex: none; }
.csheet__row span { display: flex; flex-direction: column; line-height: 1.25; }
.csheet__row strong { font-size: 1.02rem; }
.csheet__row small { color: var(--muted); font-size: .78rem; }
.csheet__close { margin-top: .3rem; border: 0; background: var(--cream); padding: .6em; border-radius: var(--radius-sm); font-weight: 600; color: var(--muted); }
.float__m { border: 0; background: none; font-family: inherit; cursor: pointer; }
/* Thanh toán online */
.paysum { margin: 0 0 1.2rem; display: grid; gap: .3rem; }
.paysum div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--line); font-size: .98rem; }
.paysum dt { color: var(--muted); } .paysum dd { margin: 0; font-variant-numeric: tabular-nums; }
.paysum strong { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: var(--green-900); }
.paybox__actions { display: flex; gap: .8rem; flex-wrap: wrap; margin: .4rem 0 1rem; }
.paybox__trust { display: flex; flex-direction: column; gap: .4rem; font-size: .88rem; color: var(--muted); margin-top: .6rem; }
.paybox__trust li { display: flex; gap: .5em; align-items: flex-start; }
.paybox__trust .ic { color: var(--green-600); margin-top: .2em; flex: none; }
.paybox__trust a { font-weight: 600; }
.nav { display: flex; gap: 1.1rem; margin-left: auto; }
.nav a { color: var(--ink); font-weight: 500; font-size: .9rem; padding: .3em 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.nav a:hover, .nav a.is-active { color: var(--green); border-bottom-color: var(--brass); }
.header__actions { display: flex; align-items: center; gap: .6rem; }
.nav-toggle { display: none; width: 44px; height: 44px; border: 1.5px solid var(--line); border-radius: 10px; background: #fff; color: var(--green); align-items: center; justify-content: center; }
.nav-toggle .ic { width: 1.4em; height: 1.4em; }
@media (max-width: 1024px) {
  .nav { position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; gap: 0; background: #fff; border-bottom: 1px solid var(--line); padding: .5rem var(--gutter) 1rem; box-shadow: var(--shadow); display: none; }
  .nav.is-open { display: flex; }
  .nav a { padding: .8em 0; border-bottom: 1px solid var(--line); font-size: 1rem; }
  .nav-toggle { display: inline-flex; }
  .header__phone span { display: none; }
  .header__phone { padding: .55em .7em; }
  .header__actions .btn--primary { display: none; }
}
@media (max-width: 480px) { .brand__sub { display: none; } }

/* ---------- Sections ---------- */
.section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.section--cream { background: var(--cream); }
.section--dark { background: var(--green); color: rgba(255,255,255,.88); }
.section--dark h2, .section--dark h3 { color: #fff; }
.section__head { max-width: 46rem; margin-bottom: clamp(1.4rem, 3vw, 2.2rem); }
.section__head--light .section__lead { color: rgba(255,255,255,.78); }
.section__title { font-size: clamp(1.7rem, 3.4vw, 2.5rem); margin-bottom: .5em; }
.section__lead { font-size: 1.05rem; color: var(--muted); max-width: 42rem; }
.section__foot { margin-top: 2rem; color: var(--muted); font-size: .95rem; }
.section__foot a { font-weight: 600; }
.eyebrow { display: inline-flex; align-items: center; gap: .4em; font-size: .78rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-600); margin-bottom: .8rem; }
.eyebrow--light { color: #d9b765; }

/* ---------- Hero ---------- */
.hero { position: relative; color: #fff; isolation: isolate; padding-top: clamp(2.5rem, 6vw, 5rem); }
.hero__bg { position: absolute; inset: 0; z-index: -2; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(14,14,14,.86) 0%, rgba(14,14,14,.62) 45%, rgba(14,14,14,.30) 100%); }
.hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, 440px); gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-bottom: clamp(2.5rem, 6vw, 5rem); }
.hero__title { font-size: clamp(2.3rem, 5.2vw, 4.2rem); color: #fff; margin: .2em 0 .25em; }
.hero__tagline { font-family: var(--font-display); font-style: italic; font-size: clamp(1.15rem, 2vw, 1.5rem); color: #d9b765; margin-bottom: .8em; }
.hero__sub { font-size: 1.05rem; color: rgba(255,255,255,.86); max-width: 38rem; }
.hero__badges { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin: 1.2rem 0 1.8rem; font-size: .92rem; }
.hero__badges li { display: inline-flex; align-items: center; gap: .4em; }
.hero__badges .ic { color: #d9b765; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; max-width: var(--container); }
.stat { background: rgba(14,14,14,.55); padding: 1rem 1.2rem; display: flex; flex-direction: column; }
.stat__value { font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; color: #fff; }
.stat__label { font-size: .82rem; color: rgba(255,255,255,.75); }
@media (max-width: 900px) { .hero__inner { grid-template-columns: minmax(0, 1fr); } .hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.quick { padding: 1.4rem; color: var(--ink); min-width: 0; }
.quick__title { font-size: 1.25rem; margin-bottom: 1rem; }
.quick__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .8rem; }
.quick .field { margin-bottom: .8rem; }
.quick__note { margin: .8rem 0 0; font-size: .82rem; color: var(--muted); display: flex; gap: .4em; align-items: flex-start; }
.quick__note .ic { color: var(--success); margin-top: .15em; }

/* ---------- Fields ---------- */
.field { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.field__label { font-size: .82rem; font-weight: 600; color: var(--muted); letter-spacing: .01em; }
.field__label i { color: var(--danger); font-style: normal; }
.field__label small { font-weight: 400; }
.field input, .field select, .field textarea {
  width: 100%; min-width: 0; max-width: 100%; padding: .7em .85em; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink); min-height: 46px;
  transition: border-color .15s, box-shadow .15s;
}
.field textarea { min-height: auto; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(28,28,28,.15); }
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea { border-color: var(--danger); }
.field__err { display: none; font-size: .8rem; color: var(--danger); }
.field.is-invalid .field__err:not(:empty) { display: block; }
.check { display: flex; gap: .6rem; align-items: flex-start; font-size: .9rem; color: var(--muted); margin: .4rem 0 1rem; }
.check input { margin-top: .25em; width: 1.1em; height: 1.1em; accent-color: var(--green); }
.form__msg { font-size: .92rem; margin: .8rem 0 0; min-height: 1.4em; }
.form__msg.is-error { color: var(--danger); }
.form__msg.is-ok { color: var(--success); }

/* ---------- Promo banner ---------- */
.promo { background: var(--cream-2); color: var(--ink); border-bottom: 1px solid var(--line); }
.promo__inner { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem 1.4rem; padding-block: .7rem; }
.promo__icon { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: var(--brass-600); }
.promo__text { margin: 0; font-weight: 500; flex: 1 1 260px; min-width: 0; font-size: .95rem; }
.promo .btn--light { border-color: var(--green); color: var(--green); }
.countdown { display: inline-flex; align-items: center; gap: .4rem; }
.countdown__label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-right: .3rem; }
.countdown__box { display: inline-flex; flex-direction: column; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: .25rem .5rem; min-width: 46px; line-height: 1.1; }
.countdown__box b { font-size: 1.05rem; font-variant-numeric: tabular-nums; color: var(--green-900); font-weight: 600; }
.countdown__box small { font-size: .6rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }

/* ---------- Packages ---------- */
.packages { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1.4rem; }
.pkg { position: relative; display: flex; flex-direction: column; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.pkg:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.pkg--featured { box-shadow: 0 0 0 1px var(--brass), var(--shadow); }
.pkg__badge { position: absolute; top: 14px; left: 14px; z-index: 1; background: rgba(255,255,255,.94); color: var(--green-900); font-size: .72rem; font-weight: 600; padding: .35em .8em; border-radius: 999px; letter-spacing: .06em; text-transform: uppercase; }
.pkg__img { display: block; aspect-ratio: 16/10; overflow: hidden; }
.pkg__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pkg:hover .pkg__img img { transform: scale(1.04); }
.pkg__img--biz { display: grid; place-items: center; background: linear-gradient(135deg, var(--green) 0%, var(--green-600) 100%); color: #d9b765; }
.pkg__img--biz .ic { width: 3.5rem; height: 3.5rem; }
.pkg__body { display: flex; flex-direction: column; gap: .7rem; padding: 1.2rem 1.3rem 1.4rem; flex: 1; }
.pkg__name { font-size: 1.3rem; }
.pkg__meta { margin: 0; color: var(--muted); font-size: .9rem; display: flex; gap: .4em; align-items: center; flex-wrap: wrap; }
.pkg__inc { display: flex; flex-direction: column; gap: .35rem; font-size: .93rem; }
.pkg__inc li { display: flex; gap: .5em; align-items: flex-start; }
.pkg__inc .ic { color: var(--success); margin-top: .2em; }
.pkg__applies { margin: 0; font-size: .82rem; color: var(--muted); padding: .6em .8em; background: var(--cream); border-radius: var(--radius-sm); }
.pkg__price { margin-top: auto; display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem .6rem; padding-top: .4rem; }
.pkg__old { color: var(--muted); font-size: .9rem; }
.pkg__now { font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; color: var(--brass-600); }
.pkg__now--text { font-size: 1.2rem; }
.pkg__unit { font-size: .85rem; color: var(--muted); }
.pkg__off { font-size: .75rem; font-weight: 600; color: var(--brass-600); border: 1px solid var(--brass); padding: .15em .5em; border-radius: 4px; }

/* ---------- About ---------- */
.about { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.about__media { position: relative; padding-bottom: 3rem; padding-right: 2.5rem; }
.about__img { border-radius: var(--radius); box-shadow: var(--shadow); }
.about__img--main { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.about__img--small { position: absolute; right: 0; bottom: 0; width: 46%; aspect-ratio: 1; object-fit: cover; border: 6px solid #fff; }
.about__chip { position: absolute; left: 1rem; bottom: 1.5rem; display: flex; align-items: center; gap: .6rem; background: var(--green); color: #fff; padding: .7rem 1rem; border-radius: 12px; font-weight: 600; font-size: .9rem; line-height: 1.2; box-shadow: var(--shadow); }
.about__chip .ic { width: 1.8rem; height: 1.8rem; color: #d9b765; }
.about__chip small { font-weight: 400; opacity: .85; }
.usp { display: grid; gap: 1.2rem; margin: 1.6rem 0 2rem; }
.usp__item { display: flex; gap: 1rem; }
.usp__icon { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--brass-100); color: var(--brass-600); }
.usp__icon .ic { width: 1.5rem; height: 1.5rem; }
.usp__title { font-family: var(--font-body); font-size: 1.05rem; font-weight: 700; margin-bottom: .2em; }
.usp__text { margin: 0; color: var(--muted); font-size: .95rem; }
@media (max-width: 900px) { .about { grid-template-columns: 1fr; } .about__media { max-width: 560px; } }

/* ---------- Rooms ---------- */
.rooms { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 1.5rem; }
.packages, .itin, .policy, .amen { grid-template-columns: repeat(auto-fit, minmax(min(var(--col, 270px), 100%), 1fr)); }
.itin { --col: 300px; } .policy { --col: 240px; } .amen { --col: 210px; }
.pkg, .room, .itin__day, .policy__item, .amen__item { min-width: 0; }
.room { overflow: hidden; display: flex; flex-direction: column; }
.room__slider { position: relative; aspect-ratio: 16/11; overflow: hidden; background: var(--cream-2); }
.room__track { display: flex; height: 100%; transition: transform .4s ease; }
.room__slide { flex: 0 0 100%; height: 100%; }
.room__slide img { width: 100%; height: 100%; object-fit: cover; }
.room__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); color: var(--green); display: grid; place-items: center; box-shadow: var(--shadow-sm); opacity: 0; transition: opacity .2s; }
.room__slider:hover .room__nav, .room__nav:focus-visible { opacity: 1; }
@media (hover: none) { .room__nav { opacity: 1; } }
.room__nav--prev { left: 10px; } .room__nav--next { right: 10px; }
.room__dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 6px; }
.room__dots span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.55); }
.room__dots span.is-active { background: #fff; width: 18px; border-radius: 4px; }
.room__tag { position: absolute; top: 12px; left: 12px; background: var(--green); color: #fff; font-size: .75rem; font-weight: 600; padding: .3em .7em; border-radius: 999px; }
.room__body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; gap: .9rem; flex: 1; }
.room__head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.room__name { font-size: 1.3rem; }
.room__short { margin: .2em 0 0; color: var(--muted); font-size: .9rem; }
.room__price { text-align: right; flex: none; line-height: 1.15; }
.room__price small { display: block; font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.room__price strong { font-family: var(--font-display); font-size: 1.3rem; color: var(--brass-600); }
.room__specs { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem .8rem; font-size: .88rem; color: var(--muted); }
.room__specs li { display: flex; gap: .4em; align-items: center; min-width: 0; }
.room__specs .ic { color: var(--green-600); }
.room__more { border-top: 1px dashed var(--line); padding-top: .6rem; font-size: .92rem; }
.room__more summary { cursor: pointer; font-weight: 600; color: var(--green); list-style: none; display: flex; justify-content: space-between; }
.room__more summary::-webkit-details-marker { display: none; }
.room__more summary::after { content: '+'; font-size: 1.2em; line-height: 1; }
.room__more[open] summary::after { content: '−'; }
.room__more p { margin: .8em 0; color: var(--ink); }
.room__amen { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem .8rem; margin-bottom: .8rem; }
.room__amen li { display: flex; gap: .4em; align-items: center; }
.room__amen .ic { color: var(--success); }
.room__ptable { width: 100%; border-collapse: collapse; font-size: .85rem; }
.room__ptable th { font-weight: 600; color: var(--muted); text-align: left; padding: .3em .4em; border-bottom: 1px solid var(--line); }
.room__ptable td { padding: .4em; font-weight: 600; font-variant-numeric: tabular-nums; }
.room__actions { display: flex; gap: .6rem; margin-top: auto; flex-wrap: wrap; }
.room__actions .btn { flex: 1; }

/* ---------- Amenities ---------- */
.amen { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1.2rem; }
.amen__item { padding: 1.4rem 1.3rem; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.04); transition: background .2s, transform .2s; }
.amen__item:hover { background: rgba(255,255,255,.09); transform: translateY(-3px); }
.amen__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(196,160,82,.14); color: #d9b765; margin-bottom: .9rem; }
.amen__icon .ic { width: 1.7rem; height: 1.7rem; }
.amen__name { font-family: var(--font-body); font-size: 1.05rem; font-weight: 700; margin-bottom: .3em; }
.amen__text { margin: 0; font-size: .92rem; color: rgba(255,255,255,.75); }

/* ---------- Gallery ---------- */
.gallery__tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 200px; grid-auto-flow: dense; gap: .8rem; }
.gallery__item { position: relative; display: block; overflow: hidden; border-radius: var(--radius-sm); background: var(--cream-2); }
.gallery__item--wide { grid-column: span 2; }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.gallery__item:hover img { transform: scale(1.05); }
.gallery__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.6rem .8rem .7rem; font-size: .82rem; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.65)); opacity: 0; transition: opacity .2s; }
.gallery__item:hover .gallery__cap { opacity: 1; }
.gallery__item.is-hidden { display: none; }
@media (max-width: 900px) { .gallery { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 170px; } }
@media (max-width: 600px) { .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 140px; } .gallery__cap { opacity: 1; padding: 1.2rem .6rem .5rem; font-size: .74rem; } }

/* ---------- Itinerary ---------- */
.itin { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.4rem; }
.itin__day { padding: 1.5rem; }
.itin__label { font-size: 1.3rem; margin-bottom: 1rem; color: var(--brass-600); }
.itin__list { display: flex; flex-direction: column; }
.itin__list li { display: grid; grid-template-columns: 56px 1fr; gap: .8rem; padding: .55rem 0; border-left: 2px solid var(--line); padding-left: 1rem; position: relative; font-size: .95rem; }
.itin__list li::before { content: ''; position: absolute; left: -6px; top: 1rem; width: 10px; height: 10px; border-radius: 50%; background: var(--brass); border: 2px solid #fff; }
.itin__list time { font-weight: 700; color: var(--green); font-variant-numeric: tabular-nums; }

/* ---------- Reviews ---------- */
.reviews__summary { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; color: var(--muted); }
.stars { display: inline-flex; color: var(--brass); }
.stars .ic { width: 1.2em; height: 1.2em; }
.stars--sm .ic { width: 1em; height: 1em; }
.reviews { position: relative; }
.reviews__track { display: flex; gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: .4rem .2rem 1rem; }
.reviews__track::-webkit-scrollbar { display: none; }
.review { flex: 0 0 min(360px, 85vw); scroll-snap-align: start; margin: 0; padding: 1.5rem; display: flex; flex-direction: column; gap: .7rem; position: relative; }
.review__q { position: absolute; top: 1rem; right: 1.2rem; width: 2rem; height: 2rem; color: var(--cream-2); }
.review__text { margin: 0; font-size: .97rem; flex: 1; }
.review__foot { display: flex; align-items: center; gap: .7rem; }
.review__foot div { display: flex; flex-direction: column; line-height: 1.3; }
.review__foot small { color: var(--muted); font-size: .8rem; }
.review__avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--green); color: #fff; font-weight: 700; }
.reviews__nav { display: flex; gap: .5rem; justify-content: flex-end; }
.reviews__nav button { width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--line); background: #fff; color: var(--green); display: grid; place-items: center; }
.reviews__nav button:hover { background: var(--green); color: #fff; }

/* ---------- Pricing table & policy ---------- */
.table-wrap { overflow-x: auto; padding: .4rem; }
.ptable { width: 100%; border-collapse: collapse; min-width: 720px; font-size: .93rem; }
.ptable th, .ptable td { padding: .85rem .9rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
.ptable th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 600; }
.ptable tbody tr:last-child td { border-bottom: 0; }
.ptable td.num { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ptable small { color: var(--muted); }
.policy { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.2rem; margin-top: 1.6rem; }
.policy__item { padding: 1.3rem; }
.policy__item .ic { width: 1.8rem; height: 1.8rem; color: var(--brass); margin-bottom: .6rem; }
.policy__item h3 { font-family: var(--font-body); font-size: 1.02rem; font-weight: 700; margin-bottom: .4em; }
.policy__item p { margin: 0; font-size: .92rem; color: var(--muted); }

/* ---------- FAQ ---------- */
.faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.faq__intro { position: sticky; top: calc(var(--header-h) + 1rem); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.1rem 0; font-weight: 600; font-size: 1.02rem; color: var(--green-900); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary .ic { flex: none; transition: transform .2s; color: var(--brass); }
.faq__item[open] summary .ic { transform: rotate(180deg); }
.faq__a { padding: 0 0 1.1rem; color: var(--muted); }
.faq__a p { margin: 0; }
@media (max-width: 900px) { .faq { grid-template-columns: 1fr; } .faq__intro { position: static; } }

/* ---------- Booking ---------- */
.booking__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.booking__side { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.booking .section__lead { color: rgba(255,255,255,.8); }
.steps { counter-reset: s; display: flex; flex-direction: column; gap: 1rem; margin: 1.8rem 0; }
.steps li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; gap: .9rem; align-items: start; }
.steps li::before { content: counter(s); grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(196,160,82,.15); color: #d9b765; font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; }
.steps strong { grid-column: 2; display: block; color: #fff; }
.steps span { grid-column: 2; font-size: .92rem; color: rgba(255,255,255,.75); }
.booking__contact { display: flex; gap: .7rem; flex-wrap: wrap; }
.bform { padding: clamp(1.2rem, 3vw, 2rem); color: var(--ink); display: flex; flex-direction: column; gap: .9rem; }
.bform { min-width: 0; }
.bform__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .9rem; }
.bform__row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ages { display: flex; flex-wrap: wrap; gap: .5rem; }
.ages label { display: flex; align-items: center; gap: .4em; font-size: .85rem; color: var(--muted); }
.ages select { padding: .4em .5em; border: 1.5px solid var(--line); border-radius: 6px; background: #fff; }
.quote { background: var(--cream); border-radius: var(--radius-sm); padding: 1rem 1.1rem; }
.quote__head { display: flex; justify-content: space-between; align-items: baseline; font-weight: 600; }
.quote__head strong { font-family: var(--font-display); font-size: 1.5rem; color: var(--brass-600); font-variant-numeric: tabular-nums; }
.quote__lines { margin-top: .5rem; font-size: .88rem; color: var(--muted); display: flex; flex-direction: column; gap: .2rem; }
.quote__lines li { display: flex; justify-content: space-between; gap: 1rem; }
.quote__lines li span:last-child { font-variant-numeric: tabular-nums; white-space: nowrap; }
.quote__lines li.is-discount { color: var(--success); }
.quote__note { margin: .6rem 0 0; font-size: .8rem; color: var(--muted); }
.quote.is-error .quote__note { color: var(--danger); }
.turnstile { min-height: 65px; }
.bform__legal { margin: 0; font-size: .78rem; color: var(--muted); text-align: center; }
@media (max-width: 900px) { .booking__grid { grid-template-columns: 1fr; } .booking__side { position: static; } }
@media (max-width: 520px) { .bform__row, .bform__row--3 { grid-template-columns: minmax(0, 1fr); } .quick__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Map ---------- */
.mapsec { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.route { display: flex; flex-direction: column; gap: .7rem; margin: 1.2rem 0 1.6rem; font-size: .95rem; color: var(--muted); }
.route strong { color: var(--ink); }
.mapsec__actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.mapsec__map { aspect-ratio: 4/3; overflow: hidden; display: grid; place-items: center; background: var(--cream-2) url('/img/map-placeholder.svg') center/cover; }
.mapsec__map iframe { width: 100%; height: 100%; border: 0; }
.mapsec__load { display: inline-flex; align-items: center; gap: .5em; padding: .9em 1.4em; border-radius: 999px; border: 0; background: var(--green); color: #fff; font-weight: 600; box-shadow: var(--shadow); }
@media (max-width: 900px) { .mapsec { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.footer { background: var(--green-900); color: rgba(255,255,255,.8); padding-top: 2.75rem; padding-bottom: calc(1.5rem + 64px); font-size: .93rem; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr .8fr; gap: 2rem; }
.footer__title { font-family: var(--font-body); font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #d9b765; margin-bottom: 1rem; }
.footer__desc { margin: 1rem 0; font-size: .85rem; color: rgba(255,255,255,.6); }
.footer__list { display: flex; flex-direction: column; gap: .6rem; }
.footer__list li { display: flex; gap: .6em; align-items: flex-start; }
.footer__list .ic { color: #d9b765; margin-top: .2em; }
.footer__list a { color: #fff; }
.footer__list a:hover { color: #d9b765; }
.footer__list--links a { color: rgba(255,255,255,.85); }
.footer__bottom { margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .8rem; color: rgba(255,255,255,.55); }
.footer__bottom p { margin: 0 0 .4em; }
@media (max-width: 900px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer__grid { grid-template-columns: 1fr; } }
@media (min-width: 901px) { .footer { padding-bottom: 1.5rem; } }

/* ---------- Floating ---------- */
.float--desktop { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: max(20px, env(safe-area-inset-bottom, 0px)); z-index: 40; display: flex; flex-direction: column; gap: .6rem; }
.float__btn { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; border: 0; color: #fff; box-shadow: var(--shadow); transition: transform .15s; }
.float__btn:hover { transform: scale(1.06); color: #fff; }
.float__btn .ic { width: 1.5rem; height: 1.5rem; }
.float__btn--call { background: var(--brass); }
.float__btn--zalo { background: var(--green); }
.float__btn--msg { background: var(--green); }
.float__btn--top { background: #fff; color: var(--green); box-shadow: var(--shadow-sm); opacity: 0; pointer-events: none; transition: opacity .2s; }
.float__btn--top:hover { color: var(--green); }
.float__btn--top.is-visible { opacity: 1; pointer-events: auto; }
.float__tip { position: absolute; right: calc(100% + 10px); top: 50%; transform: translateY(-50%); background: var(--green-900); color: #fff; font-size: .8rem; font-weight: 600; padding: .35em .7em; border-radius: 6px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s; }
.float__btn:hover .float__tip { opacity: 1; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(192,138,46,.55); } 70% { box-shadow: 0 0 0 14px rgba(192,138,46,0); } 100% { box-shadow: 0 0 0 0 rgba(192,138,46,0); } }
.float--mobile { display: none; }
@media (max-width: 900px) {
  .float--desktop { display: none; }
  .float--mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr 1fr 1.3fr; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -4px 20px rgba(0,0,0,.08); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .float__m { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; padding: .6rem .3rem; font-size: .78rem; font-weight: 600; color: var(--green); }
  .float__m .ic { width: 1.4rem; height: 1.4rem; }
  .float__m--primary { background: var(--green); color: #fff; }
  body { padding-bottom: 0; }
}

/* ---------- Modal / popup ---------- */
.modal { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 1rem; }
.modal__backdrop { position: absolute; inset: 0; background: rgba(14,14,14,.6); backdrop-filter: blur(2px); }
.modal__box { position: relative; width: 100%; max-width: 420px; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); animation: pop .25s ease; }
@keyframes pop { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }
.modal__close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--cream); color: var(--ink); display: grid; place-items: center; }
.popup { padding: 2rem 1.6rem 1.6rem; text-align: center; }
.popup__art { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; background: var(--brass-100); color: var(--brass-600); }
.popup__art .ic { width: 2rem; height: 2rem; }
.popup__title { font-size: 1.3rem; margin-bottom: .5em; }
.popup__text { color: var(--muted); font-size: .93rem; }
.popup__form { display: flex; flex-direction: column; gap: .6rem; }
.popup__form input { padding: .75em .9em; border: 1.5px solid var(--line); border-radius: var(--radius-sm); min-height: 46px; }
.popup__form .form__msg { margin: 0; }

/* ---------- Lightbox ---------- */
.lightbox { position: fixed; inset: 0; z-index: 70; background: rgba(10,20,14,.94); display: grid; place-items: center; padding: 1rem; }
.lightbox__fig { margin: 0; max-width: min(1200px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.lightbox__fig img { max-height: 82vh; max-width: 100%; object-fit: contain; border-radius: 6px; }
.lightbox__fig figcaption { color: rgba(255,255,255,.8); font-size: .9rem; text-align: center; }
.lightbox__close, .lightbox__nav { position: absolute; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; }
.lightbox__close { top: max(14px, env(safe-area-inset-top, 0px)); right: max(14px, env(safe-area-inset-right, 0px)); }
.lightbox__nav { top: 50%; transform: translateY(-50%); }
.lightbox__nav--prev { left: max(10px, env(safe-area-inset-left, 0px)); }
.lightbox__nav--next { right: max(10px, env(safe-area-inset-right, 0px)); }
.lightbox__close .ic, .lightbox__nav .ic { width: 1.4rem; height: 1.4rem; }

/* ---------- Thank you ---------- */
.thanks__inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.thanks__card { padding: clamp(1.5rem, 4vw, 2.5rem); }
.thanks__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--green-100); color: var(--success); margin-bottom: 1rem; }
.thanks__icon .ic { width: 2rem; height: 2rem; }
.thanks__title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: .4em; }
.thanks__code { font-size: 1.05rem; }
.thanks__code strong { font-family: var(--font-display); font-size: 1.4rem; color: var(--brass-600); letter-spacing: .04em; }
.thanks__text { color: var(--muted); }
.thanks__summary { margin: 1.4rem 0; display: grid; gap: .5rem; }
.thanks__summary div { display: grid; grid-template-columns: 110px 1fr; gap: .8rem; padding: .5rem 0; border-bottom: 1px dashed var(--line); font-size: .95rem; }
.thanks__summary dt { color: var(--muted); }
.thanks__summary dd { margin: 0; }
.thanks__actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.thanks__back { margin: 1.4rem 0 0; font-size: .9rem; }
.thanks__aside { padding: 1.5rem; background: #fff; border-radius: var(--radius); border: 1px dashed var(--line); }
.thanks__aside h2 { font-size: 1.15rem; margin-bottom: .8rem; }
.thanks__aside ul { display: flex; flex-direction: column; gap: .6rem; font-size: .93rem; color: var(--muted); padding-left: 1.1rem; list-style: disc; }
@media (max-width: 800px) { .thanks__inner { grid-template-columns: 1fr; } }

/* ---------- Prose (policy) ---------- */
.prose { max-width: 48rem; }
.prose h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .6em; }
.prose h2 { font-size: 1.4rem; margin: 1.8em 0 .5em; }
.prose h3 { font-size: 1.1rem; font-family: var(--font-body); font-weight: 700; margin: 1.2em 0 .4em; }
.prose ul, .prose ol { padding-left: 1.3rem; margin-bottom: 1em; display: flex; flex-direction: column; gap: .4rem; }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }
.prose__note { padding: .8rem 1rem; background: var(--cream); border-radius: var(--radius-sm); font-size: .9rem; color: var(--muted); }

/* ---------- Bổ sung v2 ---------- */
.topbar__sep { opacity: .6; margin: 0 .2em; }
.topbar__call small { font-size: .75rem; opacity: .75; margin-left: .3em; }
.section__head--row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; flex-wrap: wrap; max-width: none; }
.room__price--contact { font-size: 1.1rem !important; }
.ptable__room td { background: rgba(246,242,234,.5); }

/* Dịch vụ */
.svc { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 1.2rem; }
.svc__group { padding: 1.3rem; min-width: 0; }
.svc__head { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: .8rem; }
.svc__icon { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--brass-100); color: var(--brass-600); }
.svc__icon .ic { width: 1.4rem; height: 1.4rem; }
.svc__name { font-size: 1.15rem; }
.svc__note { margin: .2em 0 0; font-size: .85rem; color: var(--muted); }
.svc__table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.svc__table td { padding: .5rem .3rem; border-bottom: 1px dashed var(--line); vertical-align: top; }
.svc__table tr:last-child td { border-bottom: 0; }
.svc__table .svc__unit { color: var(--muted); font-size: .82rem; white-space: nowrap; }
.svc__table .num { text-align: right; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Bài viết */
.posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 1.4rem; }
.post { overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.post__img { display: block; aspect-ratio: 16/10; overflow: hidden; }
.post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post:hover .post__img img { transform: scale(1.04); }
.post__body { padding: 1.1rem 1.3rem 1.3rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.post__meta { margin: 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--brass-600); font-weight: 600; }
.post__title { font-size: 1.2rem; }
.post__title a { color: var(--green-900); }
.post__excerpt { margin: 0; color: var(--muted); font-size: .93rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.post__more { margin-top: auto; font-weight: 600; display: inline-flex; align-items: center; gap: .3em; }
.pager { display: flex; gap: .4rem; justify-content: center; margin-top: 2rem; flex-wrap: wrap; }
.pager a { padding: .4em .9em; border-radius: 8px; border: 1px solid var(--line); background: #fff; }
.pager a.is-active { background: var(--green); color: #fff; border-color: var(--green); }
.article { max-width: 1100px; }
.article__head { max-width: 48rem; margin-bottom: 1.5rem; }
.article__title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .4em; }
.article__meta { color: var(--muted); font-size: .9rem; }
.article__lead { font-size: 1.1rem; color: var(--muted); }
.article__cover { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: var(--radius); margin-bottom: 2rem; box-shadow: var(--shadow); }
.article__layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 3rem; align-items: start; }
.article__aside { position: sticky; top: calc(var(--header-h) + 1rem); display: flex; flex-direction: column; gap: 1.2rem; }
.article__cta { padding: 1.3rem; display: flex; flex-direction: column; gap: .6rem; background: var(--cream); }
.article__cta h3 { font-size: 1.1rem; }
.article__cta p { margin: 0 0 .4rem; font-size: .92rem; color: var(--muted); }
.article__related h3 { font-size: 1rem; margin-bottom: .6rem; }
.article__related ul { display: flex; flex-direction: column; gap: .5rem; font-size: .93rem; }
.prose table { width: 100%; border-collapse: collapse; margin: 1em 0; font-size: .93rem; }
.prose th, .prose td { border: 1px solid var(--line); padding: .55rem .7rem; text-align: left; vertical-align: top; }
.prose th { background: var(--cream); font-weight: 600; }
.prose img { border-radius: var(--radius-sm); margin: 1em 0; }
.prose blockquote { margin: 1em 0; padding: .6em 1em; border-left: 3px solid var(--brass); background: var(--cream); color: var(--muted); }
.prose p { line-height: 1.75; }
.policy--inline { margin: 1.5rem 0 2rem; }
@media (max-width: 900px) { .article__layout { grid-template-columns: 1fr; } .article__aside { position: static; } }

/* Thanh toán */
.paypage__inner { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 2rem; align-items: start; }
.paypage__summary { padding: 1.6rem; }
.paypage__code { font-size: 1.8rem; color: var(--brass-600); letter-spacing: .04em; margin-bottom: .6rem; }
.paypage__policy { margin: 1rem 0 0; font-size: .85rem; color: var(--muted); }
.paypage__msg { padding: 2rem; max-width: 36rem; margin: 0 auto; grid-column: 1 / -1; }
.paypage__phone { display: flex; gap: .8rem; align-items: flex-end; flex-wrap: wrap; margin-top: 1rem; }
.paypage__phone .field { flex: 1 1 220px; }
@media (max-width: 900px) { .paypage__inner { grid-template-columns: 1fr; } }
.paybox { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--brass); }
.paybox__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.paybox__title { font-size: clamp(1.3rem, 2.5vw, 1.7rem); }
.paystatus { font-size: .8rem; font-weight: 700; padding: .4em .9em; border-radius: 999px; white-space: nowrap; }
.paystatus--unpaid { background: var(--brass-100); color: var(--brass-600); }
.paystatus--reported { background: #dceafb; color: #1f4f8f; }
.paystatus--paid { background: #dcf2e3; color: #1f6b3d; }
.paystatus--refunded { background: var(--cream-2); color: var(--muted); }
.paybox__ok { display: flex; gap: .5em; align-items: center; background: #dcf2e3; color: #1f6b3d; padding: .8em 1em; border-radius: var(--radius-sm); font-weight: 500; }
.paybox__wait { background: var(--brass-100); color: var(--brass-600); padding: .8em 1em; border-radius: var(--radius-sm); font-size: .93rem; }
.paybox__grid { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 2rem; align-items: start; }
.paybox__qr { text-align: center; }
.paybox__qr img { width: 100%; max-width: 320px; margin: 0 auto; border-radius: var(--radius-sm); border: 1px solid var(--line); background: #fff; }
.paybox__qrnote { font-size: .82rem; color: var(--muted); margin: .6rem 0; }
.paybox__toggle { display: flex; gap: .5rem; justify-content: center; flex-wrap: wrap; }
.bankinfo { margin: 0; display: grid; gap: .4rem; }
.bankinfo div { display: grid; grid-template-columns: 120px 1fr; gap: .6rem; padding: .45rem 0; border-bottom: 1px dashed var(--line); font-size: .95rem; align-items: center; }
.bankinfo dt { color: var(--muted); }
.bankinfo dd { margin: 0; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; min-width: 0; }
.bankinfo__amt { font-family: var(--font-display); font-size: 1.4rem; color: var(--brass-600); }
.copy { border: 1px solid var(--line); background: #fff; color: var(--green); font-size: .72rem; font-weight: 600; padding: .25em .6em; border-radius: 6px; cursor: pointer; }
.copy:hover { background: var(--green); color: #fff; }
.paybox__hint { font-size: .82rem; color: var(--muted); margin: .8rem 0; }
.payreport { background: var(--cream); border-radius: var(--radius-sm); padding: 1rem; display: flex; flex-direction: column; gap: .8rem; margin-top: .6rem; }
.payreport__title { font-size: 1.05rem; font-family: var(--font-body); font-weight: 700; }
.payreport__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .8rem; }
.paybox__alt { font-size: .85rem; color: var(--muted); margin: .8rem 0 0; }
@media (max-width: 760px) { .paybox__grid { grid-template-columns: 1fr; } .payreport__row { grid-template-columns: 1fr; } .bankinfo div { grid-template-columns: 1fr; gap: .1rem; } }

/* ---------- Doanh nghiệp / MICE ---------- */
.ptable--plain { min-width: 600px; }
.ptable--plain td { color: var(--muted); } .ptable--plain td strong { color: var(--ink); }
.checks { display: flex; flex-wrap: wrap; gap: .4rem .6rem; }
.check--inline { margin: 0; padding: .45em .8em; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; align-items: center; cursor: pointer; }
.check--inline input { margin: 0; }
.check--inline:has(input:checked) { border-color: var(--green); background: var(--green-100); color: var(--green-900); }
.b2bhero { padding-block: clamp(3rem, 7vw, 5.5rem) clamp(2rem, 5vw, 4rem); background: var(--cream); }
.b2bhero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.b2bhero__title { font-size: clamp(2rem, 4.2vw, 3.3rem); margin-bottom: .5em; }
.b2bhero__lead { font-size: 1.1rem; color: var(--muted); max-width: 36rem; margin-bottom: 1.6rem; }
.b2bhero__promises { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1.4rem; margin-top: 2rem; font-size: .93rem; }
.b2bhero__promises li { display: flex; gap: .7rem; align-items: flex-start; padding-top: .7rem; border-top: 1px solid var(--line); }
.b2bhero__num { font-family: var(--font-display); color: var(--brass-600); font-size: 1rem; flex: none; }
.b2bhero__media { position: relative; padding-bottom: 3rem; padding-left: 2.5rem; }
.b2bhero__media img { border-radius: var(--radius); width: 100%; aspect-ratio: 4/3; object-fit: cover; box-shadow: var(--shadow); }
.b2bhero__media--small { position: absolute; left: 0; bottom: 0; width: 42% !important; aspect-ratio: 1 !important; border: 6px solid var(--cream); }
@media (max-width: 900px) { .b2bhero__inner { grid-template-columns: 1fr; } .b2bhero__promises { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .b2bhero__media { padding-left: 0; } .b2bhero__media--small { display: none; } }
.b2bpain { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.b2bpain__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.b2bpain__col { padding: 1.4rem; }
.b2bpain__col h3 { font-family: var(--font-body); font-size: .95rem; font-weight: 600; margin-bottom: .9rem; color: var(--muted); }
.b2bpain__col--after h3 { color: var(--green-900); }
.b2bpain__col--after { background: var(--green-100); box-shadow: none; }
.b2bpain__col ul { display: flex; flex-direction: column; gap: .6rem; font-size: .93rem; }
.b2bpain__col li { display: flex; gap: .5em; align-items: flex-start; }
.b2bpain__col .ic { flex: none; margin-top: .2em; color: var(--muted); }
.b2bpain__col--after .ic { color: var(--green-600); }
@media (max-width: 900px) { .b2bpain, .b2bpain__cols { grid-template-columns: 1fr; } }
.venue { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); overflow: hidden; }
.venue__item { background: var(--green); padding: 1.5rem 1.4rem; }
.venue__name { font-size: 1.15rem; margin-bottom: .6rem; }
.venue__spec { display: flex; gap: 1rem; font-family: var(--font-display); font-size: 1.05rem; color: #e4cc8e; margin-bottom: .5rem; flex-wrap: wrap; }
.venue__note { margin: 0; font-size: .88rem; color: rgba(255,255,255,.72); }
.venue__disclaimer { margin: 1.2rem 0 0; font-size: .85rem; color: rgba(255,255,255,.65); max-width: 60rem; }
.journeys { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.journey { padding: 1.4rem; position: relative; }
.journey__letter { font-family: var(--font-display); font-style: italic; font-size: 2rem; color: var(--brass); line-height: 1; display: block; margin-bottom: .6rem; }
.journey__name { font-size: 1.1rem; margin-bottom: .3rem; }
.journey__for { margin: 0 0 .6rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.journey__flow { margin: 0; font-size: .92rem; color: var(--ink); }
.b2btimeline { padding: 1.5rem; }
.b2btimeline__title { font-size: 1.2rem; margin-bottom: 1rem; }
.b2btimeline__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
@media (max-width: 760px) { .b2btimeline__list { grid-template-columns: 1fr; } }
.b2bpk { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 1rem; }
.b2bpk__item { padding: 1.4rem; display: flex; flex-direction: column; gap: .7rem; }
.b2bpk__head { display: flex; gap: .9rem; align-items: center; margin-bottom: .3rem; }
.b2bpk__code { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--brass); color: var(--brass-600); display: grid; place-items: center; font-family: var(--font-display); font-size: 1.3rem; }
.b2bpk__name { font-size: 1.1rem; }
.b2bpk__for { margin: 0; font-size: .82rem; color: var(--muted); }
.b2bpk__item h4 { font-family: var(--font-body); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin-top: .4rem; }
.b2bpk__opt { display: flex; flex-direction: column; gap: .3rem; font-size: .9rem; color: var(--muted); padding-left: 1rem; list-style: disc; flex: 1; }
.process { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 1rem; counter-reset: none; }
.process__step { padding: 1.3rem; position: relative; }
.process__num { font-family: var(--font-display); font-size: 1.6rem; color: var(--brass); line-height: 1; display: block; margin-bottom: .5rem; }
.process__step h3 { font-family: var(--font-body); font-size: 1rem; font-weight: 600; margin-bottom: .3rem; }
.process__step p { margin: 0; font-size: .9rem; color: var(--muted); }
.process__docs { margin-top: 1.5rem; padding: 1.3rem 1.5rem; border: 1px dashed var(--brass); border-radius: var(--radius); display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
.process__docs h3 { font-family: var(--font-body); font-size: .95rem; font-weight: 600; }
.process__docs ul { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .9rem; }
.process__docs li { display: inline-flex; gap: .4em; align-items: center; }
.process__docs .ic { color: var(--brass-600); }
.b2bform__sub { font-size: 1.3rem; color: #fff; margin: 1.8rem 0 .5rem; }
.b2bteaser { background: var(--cream); }
.b2bteaser__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.b2bteaser__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.5rem; margin: 1.5rem 0 1.8rem; }
.b2bteaser__facts li { display: flex; flex-direction: column; gap: .15rem; padding-top: .7rem; border-top: 1px solid var(--line); font-size: .92rem; }
.b2bteaser__facts strong { color: var(--green-900); }
.b2bteaser__facts span { color: var(--muted); font-size: .85rem; }
.b2bteaser__media img { border-radius: var(--radius); aspect-ratio: 4/3; object-fit: cover; width: 100%; box-shadow: var(--shadow); }
@media (max-width: 900px) { .b2bteaser__inner { grid-template-columns: 1fr; } .b2bteaser__facts { grid-template-columns: 1fr; } }

/* ---------- Trang chủ tối giản ---------- */
.hm-hero { position: relative; isolation: isolate; color: #fff; min-height: min(88vh, 820px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: var(--green-900); }
.hm-hero__bg { position: absolute; inset: 0; z-index: -3; }
.hm-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hm-hero__video { position: absolute; inset: 0; z-index: -2; overflow: hidden; opacity: 0; transition: opacity 1.2s ease; pointer-events: none; }
.hm-hero__video.is-ready { opacity: 1; }
.hm-hero__video video, .hm-hero__video iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; min-width: 177.78vh; min-height: 56.25vw; transform: translate(-50%, -50%); object-fit: cover; border: 0; }
.hm-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(14,14,14,.35) 0%, rgba(14,14,14,.10) 45%, rgba(14,14,14,.72) 100%); }
.hm-hero__inner { flex: 1; display: flex; align-items: center; justify-content: center; text-align: center; padding-top: clamp(4rem, 10vw, 7rem); padding-bottom: 2rem; }
.hm-hero__title { display: flex; flex-direction: column; align-items: center; gap: .1em; color: #fff; font-weight: 500; text-shadow: 0 2px 24px rgba(0,0,0,.25); animation: heroIn 1.4s cubic-bezier(.2,.7,.2,1) both; }
.hm-hero__line { font-size: clamp(3.2rem, 9vw, 7rem); letter-spacing: .12em; text-transform: uppercase; line-height: 1; }
.hm-hero__line--sub { font-size: clamp(1rem, 2.2vw, 1.5rem); letter-spacing: .5em; font-family: var(--font-body); font-weight: 400; color: rgba(255,255,255,.88); margin-top: .9em; padding-left: .5em; }
.hm-hero__line--sub::before, .hm-hero__line--sub::after { content: ''; display: inline-block; width: 2.5em; height: 1px; background: rgba(255,255,255,.6); vertical-align: middle; margin: 0 1em; }
@keyframes heroIn { from { opacity: 0; transform: translateY(14px); letter-spacing: .2em; } to { opacity: 1; transform: none; } }
@media (max-width: 640px) { .hm-hero__line--sub::before, .hm-hero__line--sub::after { width: 1.2em; margin: 0 .5em; } .hm-hero__line--sub { letter-spacing: .3em; } }
.hm-book { padding-bottom: 0; transform: translateY(50%); position: relative; z-index: 2; }
.hm-book__bar { display: grid; grid-template-columns: 2fr 1.1fr 1.1fr .7fr .7fr auto; gap: 0; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); color: var(--ink); overflow: hidden; }
.hm-book__field { display: flex; flex-direction: column; gap: .15rem; padding: .9rem 1.1rem; border-right: 1px solid var(--line); min-width: 0; }
.hm-book__field span { font-size: .68rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); font-weight: 600; }
.hm-book__field select, .hm-book__field input { border: 0; padding: 0; background: transparent; font: inherit; font-size: .95rem; color: var(--ink); min-height: 28px; width: 100%; min-width: 0; outline: none; }
.hm-book__btn { border-radius: 0; padding-inline: 1.8rem; font-size: 1rem; }
@media (max-width: 1024px) {
  .hm-hero { min-height: auto; }
  .hm-book { transform: none; padding-bottom: 2rem; }
  .hm-book__bar { grid-template-columns: 1fr 1fr; }
  .hm-book__field--wide { grid-column: 1 / -1; }
  .hm-book__field { border-bottom: 1px solid var(--line); }
  .hm-book__btn { grid-column: 1 / -1; padding-block: 1em; }
}
.hm-facts { padding-top: clamp(3.5rem, 6vw, 4.5rem); padding-bottom: .5rem; }
.hm-facts__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; text-align: center; }
.hm-facts__list li { display: flex; flex-direction: column; gap: .2rem; padding: .5rem 0; border-left: 1px solid var(--line); }
.hm-facts__list li:first-child { border-left: 0; }
.hm-facts__list strong { font-family: var(--font-display); font-size: 2rem; font-weight: 600; color: var(--green-900); line-height: 1; }
.hm-facts__list span { font-size: .8rem; color: var(--muted); letter-spacing: .04em; }
@media (max-width: 1024px) { .hm-facts { padding-top: 1rem; } }
@media (max-width: 640px) { .hm-facts__list { grid-template-columns: 1fr 1fr; gap: 1.2rem .5rem; } .hm-facts__list li:nth-child(3) { border-left: 0; } }
.hm-section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.hm-section--cream { background: var(--cream); }
.hm-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: clamp(1.2rem, 2.5vw, 1.8rem); flex-wrap: wrap; }
.hm-head--center { justify-content: center; text-align: center; flex-direction: column; align-items: center; gap: 0; }
.hm-head .eyebrow { margin-bottom: .5rem; }
.hm-head .section__title { margin: 0; }
.hm-link { font-weight: 600; display: inline-flex; align-items: center; gap: .4em; border-bottom: 1px solid currentColor; padding-bottom: .1em; }
.hm-note { margin: 1.8rem 0 0; font-size: .9rem; color: var(--muted); text-align: center; }
.hm-combos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1.5rem; }
.hm-combo { display: flex; flex-direction: column; min-width: 0; }
.hm-combo__img { display: block; aspect-ratio: 4/3; overflow: hidden; border-radius: var(--radius); }
.hm-combo__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.hm-combo:hover .hm-combo__img img { transform: scale(1.03); }
.hm-combo__body { padding: 1.1rem .2rem 0; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.hm-combo__name { font-size: 1.5rem; }
.hm-combo__inc { margin: 0; font-size: .9rem; color: var(--muted); }
.hm-combo__foot { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: auto; padding-top: .8rem; border-top: 1px solid var(--line); }
.hm-combo__price { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; color: var(--green-900); }
.hm-combo__price small { font-family: var(--font-body); font-size: .8rem; color: var(--muted); margin-left: .3em; font-weight: 400; }
.hm-exp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.hm-exp__tile { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; border-radius: var(--radius); color: #fff; }
.hm-exp__tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.hm-exp__tile:hover img { transform: scale(1.04); }
.hm-exp__cap { position: absolute; inset: auto 0 0 0; padding: 4rem 1.4rem 1.4rem; background: linear-gradient(transparent, rgba(14,14,14,.85)); display: flex; flex-direction: column; gap: .3rem; }
.hm-exp__cap strong { font-family: var(--font-display); font-size: 1.6rem; font-weight: 500; }
.hm-exp__cap span { font-size: .88rem; color: rgba(255,255,255,.85); }
@media (max-width: 760px) { .hm-exp { grid-template-columns: 1fr; } .hm-exp__tile { aspect-ratio: 16/10; } }
.hm-rooms { overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; scroll-padding-inline-start: max(16px, calc((100% - var(--container)) / 2 + 16px)); }
.hm-rooms::-webkit-scrollbar { display: none; }
.hm-rooms__track { display: flex; gap: 1.2rem; padding-bottom: .5rem; }
.hm-room { flex: 0 0 clamp(240px, 26vw, 320px); scroll-snap-align: start; color: var(--ink); }
.hm-room img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius); }
.hm-room__body { display: flex; flex-direction: column; gap: .15rem; padding: .8rem .2rem 0; }
.hm-room__body strong { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; color: var(--green-900); }
.hm-room__body span { font-size: .85rem; color: var(--muted); }
.hm-reviews { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 2rem; }
.hm-review { margin: 0; text-align: center; padding: 0 1rem; }
.hm-review p { font-family: var(--font-display); font-size: 1.3rem; font-style: italic; line-height: 1.45; color: var(--green-900); margin-bottom: .8rem; }
.hm-review footer { font-size: .82rem; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.hm-band { background: var(--green); color: rgba(255,255,255,.88); padding-block: clamp(1.8rem, 3.5vw, 2.5rem); }
.hm-band__inner { display: flex; justify-content: space-between; align-items: center; gap: 2rem; flex-wrap: wrap; }
.hm-band__title { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem); margin: .2em 0 .3em; max-width: 34rem; }
.hm-band__text { margin: 0; color: rgba(255,255,255,.75); font-size: .95rem; }
.hm-faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.hm-faq__more { font-size: .9rem; color: var(--muted); }
@media (max-width: 900px) { .hm-faq { grid-template-columns: 1fr; } }
/* Trang con */
.pintro { background: var(--cream); padding-block: clamp(2rem, 4.5vw, 3.25rem); border-bottom: 1px solid var(--line); }
.pintro__inner { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.pintro__title { font-size: clamp(2rem, 4.2vw, 3.2rem); margin-bottom: .4em; }
.pintro__lead { color: var(--muted); font-size: 1.05rem; max-width: 36rem; margin-bottom: 1.4rem; }
.pintro__img { width: 100%; aspect-ratio: 3/2; object-fit: cover; border-radius: var(--radius); }
@media (max-width: 860px) { .pintro__inner { grid-template-columns: 1fr; } .pintro__img { order: -1; aspect-ratio: 16/9; } }
/* Giảm chữ ở các section dùng lại trên trang con */
.booking .steps { display: none; }
.booking .section__lead { margin-bottom: 1.6rem; }

/* ---------- Reveal ---------- */
[data-reveal] { opacity: 1; transform: none; }
.js [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.js [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js [data-reveal] { opacity: 1; transform: none; } }

/* =========================================================
   THEME: tối giản quốc tế – nền trắng, chữ đen, kẻ mảnh, vàng chỉ ở logo
   (ghi đè lên các quy tắc phía trên)
   ========================================================= */
body { background: #fff; }
.topbar { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line); font-weight: 500; }
.topbar__item .ic { color: var(--ink); }
.topbar__call a { color: var(--ink); } .topbar__call a:hover { color: var(--muted); }
.topbar__call small { color: var(--muted); } .topbar__sep { color: var(--muted); }
.header { background: #fff; }
.section--cream, .hm-section--cream, .b2bhero, .b2bteaser, .pintro, .thanks, .paypage { background: #fff; }
.hm-section--cream, .section--cream { border-top: 1px solid var(--line); }
.pintro { border-bottom: 1px solid var(--line); }
.section--dark { background: #fff; color: var(--ink); border-top: 1px solid var(--line); }
.section--dark h2, .section--dark h3, .booking .section__title { color: var(--green-900); }
.section--dark .section__lead, .section__head--light .section__lead, .booking .section__lead, .steps span, .amen__text, .venue__note, .venue__disclaimer { color: var(--muted); }
.eyebrow, .eyebrow--light { color: var(--muted); }
.card { box-shadow: none; border: 1px solid var(--line); }
.pkg--featured { box-shadow: none; border-color: var(--green-900); }
.hm-exp__tile, .hm-combo__img, .hm-room img, .pintro__img, .about__img, .b2bhero__media img, .b2bteaser__media img, .article__cover, .hm-book__bar { box-shadow: none; }
.hm-book__bar { border: 1px solid var(--line); }
.hm-book__btn { align-self: stretch; display: flex; align-items: center; justify-content: center; }
.btn--primary, .section--dark .btn--primary, .hero .btn--primary, .float__btn--call, .float__m--primary { background: var(--green-900); color: #fff; }
.btn--primary:hover { background: #000; }
.booking .btn--light, .hm-band .btn--light { background: var(--green-900); color: #fff; }
.booking .btn--ghost-light { background: var(--cream); color: var(--ink); }
.steps strong { color: var(--ink); } .steps li::before { background: var(--cream); color: var(--ink); }
.bform { border: 1px solid var(--line); }
.hm-band { background: #fff; color: var(--ink); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hm-band__title { color: var(--green-900); } .hm-band__text { color: var(--muted); }
.amen__item { border: 1px solid var(--line); background: #fff; }
.amen__icon, .usp__icon, .svc__icon, .popup__art, .thanks__icon { background: var(--cream); color: var(--ink); }
.policy__item .ic, .paybox__trust .ic, .faq__item summary .ic, .b2bpain__col--after .ic, .process__docs .ic, .hero__badges .ic, .quick__note .ic, .pkg__inc .ic, .room__amen .ic { color: var(--ink); }
.venue { background: var(--line); border-color: var(--line); } .venue__item { background: #fff; }
.venue__name { color: var(--green-900); } .venue__spec { color: var(--ink); }
.journey__letter, .process__num, .b2bhero__num, .b2bpk__code { color: var(--ink); border-color: var(--line); }
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .bankinfo__amt, .hm-facts__list strong, .stat__value, .itin__label, .paypage__code, .thanks__code strong { color: var(--green-900); }
.pkg__off { color: var(--muted); border-color: var(--line); }
.pkg__badge, .room__tag { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.promo { background: #fff; border-bottom: 1px solid var(--line); }
.promo__icon { background: var(--cream); color: var(--ink); }
.countdown__box b { color: var(--ink); }
.hm-review p { color: var(--ink); }
.b2bpain__col--after { background: var(--cream); border: 1px solid var(--line); }
.process__docs { border-color: var(--line); }
.paybox { border-color: var(--line); }
.paystatus--unpaid { background: var(--cream); color: var(--ink); }
.footer { background: #fff; color: var(--ink); border-top: 1px solid var(--line); }
.footer__title { color: var(--ink); }
.footer__list a, .footer__list--links a { color: var(--ink); } .footer__list a:hover { color: var(--muted); }
.footer__desc, .footer__bottom, .footer__list .ic { color: var(--muted); }
.footer__bottom { border-top-color: var(--line); }
.float__btn--top { border: 1px solid var(--line); }
.float--mobile { border-top-color: var(--line); }
.chip:hover, .chip.is-active { border-color: var(--green-900); background: var(--green-900); }
.hm-hero__line--sub { color: rgba(255,255,255,.92); }
a { color: var(--ink); text-decoration-color: var(--line); } a:hover { color: var(--muted); }
.hm-link { border-bottom-color: var(--ink); }

/* ---------- Hệ chữ & tiêu đề mục (sang, rõ, gọn) ---------- */
:root { --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif; }
body { font-size: 15.5px; line-height: 1.65; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; letter-spacing: 0; line-height: 1.2; }
.section__title { font-size: clamp(1.65rem, 2.6vw, 2.25rem); margin-bottom: .45em; }
.section__lead { font-size: 1rem; }
.eyebrow, .eyebrow--light { display: inline-flex; align-items: center; gap: .7em; font-size: .7rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--brass-600); margin-bottom: .75rem; }
.eyebrow::before { content: ''; display: inline-block; width: 26px; height: 1px; background: var(--brass); }
.hm-head--center .eyebrow::after { content: ''; display: inline-block; width: 26px; height: 1px; background: var(--brass); }
.hm-head--center .eyebrow { justify-content: center; }
.hm-hero__line { font-family: var(--font-display); font-weight: 500; font-size: clamp(2.6rem, 7vw, 5.2rem); letter-spacing: .16em; }
.hm-hero__line--sub { font-family: var(--font-body); font-size: clamp(.85rem, 1.6vw, 1.05rem); letter-spacing: .5em; font-weight: 500; }
.pkg__name, .room__name, .journey__name, .b2bpk__name, .venue__name, .svc__name, .post__title, .itin__label, .hm-combo__name { font-size: 1.25rem; }
.hm-room__body strong, .hm-exp__cap strong { font-size: 1.2rem; font-weight: 500; }
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .hm-facts__list strong, .paypage__code, .thanks__code strong { font-family: var(--font-display); font-weight: 600; }
.hm-facts__list strong { font-size: 1.6rem; }
.hm-review p { font-family: var(--font-display); font-style: italic; font-weight: 400; font-size: 1.1rem; }
.b2bhero__title, .pintro__title, .article__title { font-size: clamp(1.9rem, 3.6vw, 2.9rem); }
.nav a { font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.nav a:hover, .nav a.is-active { border-bottom-color: var(--brass); color: var(--ink); }
.btn { letter-spacing: .02em; }
.hm-link, .section__foot a { font-weight: 600; }
.hm-book__field span { letter-spacing: .14em; }
.footer__title { font-size: .72rem; letter-spacing: .2em; }
.hm-facts__list span, .hm-room__body span, .post__meta, .journey__for, .b2bpk__item h4, .ptable th, .svc__table .svc__unit { letter-spacing: .06em; }
.hm-exp__cap span { font-size: .85rem; }
.topbar { font-size: .82rem; }
.topbar__call strong { font-size: .9rem; }
.hm-head { align-items: flex-end; }
.hm-head--center { align-items: center; text-align: center; }
.hm-head > div > .eyebrow { margin-bottom: .55rem; }
.room__price small:last-child { display: none; }
.room__price--contact { font-size: 1rem !important; }
.faq__item summary { font-size: .98rem; font-weight: 600; }
.steps strong, .policy__item h3, .amen__name, .usp__title, .process__step h3 { font-family: var(--font-display); font-weight: 500; font-size: 1.1rem; }

/* ---------- Đồng bộ font toàn site: tiêu đề & số tiền = Playfair 500/600; nhãn, nút, nội dung = Be Vietnam Pro ---------- */
.csheet__title, .prose h3, .payreport__title, .b2bpain__col h3, .process__docs h3, .popup__title, .thanks__title, .thanks__aside h2, .article__related h3, .article__cta h3, .b2btimeline__title, .paybox__title, .quick__title { font-family: var(--font-display); font-weight: 500; }
.footer__title, .b2bpk__item h4, .eyebrow, .eyebrow--light, .field__label, .hm-book__field span, .ptable th, .adm-table th { font-family: var(--font-body); }
.stat__value, .pkg__now, .steps li::before, .adm-brand, .adm-tile strong { font-weight: 600; }
.steps li::before, .journey__letter, .process__num, .b2bhero__num, .b2bpk__code, .venue__spec { font-weight: 500; }
.hero__tagline { font-weight: 400; }
.adm-card h2, .adm-title-row h1 { font-family: var(--font-display); font-weight: 500; }
.adm-title-row h1 { font-size: 1.55rem; }
.adm-card h2 { font-size: 1.15rem; }
body.is-admin { font-family: var(--font-body); }
strong, b { font-weight: 600; }
button, input, select, textarea { font-family: var(--font-body); }

/* Đánh giá khách: ảnh + chữ nhỏ hài hòa */
.hm-reviews { gap: 1.5rem; align-items: start; }
.hm-review { margin: 0; padding: 1.6rem 1.4rem; display: flex; flex-direction: column; align-items: center; gap: .6rem; text-align: center; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.hm-review__avatar { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 1px solid var(--line); }
.hm-review__avatar--initial { display: grid; place-items: center; background: var(--cream); color: var(--green-900); font-family: var(--font-display); font-size: 1.5rem; font-weight: 500; }
.hm-review .stars { color: var(--brass); }
.hm-review__text { margin: 0; }
.hm-review__text p, .hm-review p { font-family: var(--font-body); font-style: normal; font-size: .9rem; line-height: 1.6; color: var(--ink); margin: 0; }
.hm-review figcaption { display: flex; flex-direction: column; gap: .1rem; margin-top: .2rem; }
.hm-review figcaption strong { font-family: var(--font-display); font-weight: 500; font-size: 1rem; color: var(--green-900); }
.hm-review figcaption span { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.hm-review footer { display: none; }

/* Trang con: phần giới thiệu đầu trang đã có tiêu đề, ẩn tiêu đề lặp của khối ngay sau */
main > .pintro + .section > .container > .section__head { display: none; }

/* Khoảng cách chặt */
.section { padding-block: clamp(2rem, 4vw, 3rem); }
.hm-section { padding-block: clamp(2rem, 3.5vw, 2.75rem); }
.hm-facts { padding-top: 2.75rem; padding-bottom: 0; }
.hm-facts__list li { padding: .25rem 0; }
.hm-facts__list strong { font-size: 1.7rem; }
.hm-head { margin-bottom: 1.1rem; }
.section__head { margin-bottom: 1.2rem; }
.hm-note { margin-top: 1.2rem; }
.hm-band { padding-block: 1.6rem; }
.footer { padding-top: 2.25rem; }
.footer__bottom { margin-top: 1.4rem; }
.hm-hero { overflow: visible; }
.hm-hero__bg, .hm-hero__video, .hm-hero::before { overflow: hidden; }
.hm-book { transform: none; margin-top: auto; padding-bottom: 0; margin-bottom: -2rem; }
.hm-book__bar { background: #fff; }
.hm-facts { padding-top: 3.5rem; }
@media (max-width: 1024px) { .hm-book { margin-bottom: 0; padding-bottom: 1.5rem; } .hm-facts { padding-top: 1rem; } }

/* =========================================================
   THEME v3 (24/10/2026): header tối làm điểm nhấn + kẻ vàng, tiêu đề mục CHỮ HOA,
   Lora cho đoạn văn/bài viết, Be Vietnam Pro cho menu/nút/nhãn, footer gọn,
   banner trang con, form đặt phòng 3 bước + 2 nút Thanh toán / Gửi thông tin, hộp QR.
   ========================================================= */
:root {
  --font-text: 'Lora', Georgia, 'Times New Roman', serif;
  --font-ui: 'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --dark: #121212; --dark-2: #1a1a1a;
  --gold: #c4a052; --gold-2: #d9b765; --gold-soft: rgba(196,160,82,.16);
}
/* --- Hệ chữ: đoạn văn Lora, giao diện Be Vietnam Pro --- */
body { font-family: var(--font-text); font-size: 16px; line-height: 1.7; }
body.is-admin { font-family: var(--font-ui); font-size: 15px; line-height: 1.5; }
.btn, .nav, .topbar, .header, .footer, .field, .field__label, input, select, textarea, button, .hm-book__bar, .quote, .ptable, .svc__table, .room__ptable, .room__specs, .room__amen,
.chip, .pkg__badge, .room__tag, .paystatus, .csheet, .float, .modal, .pager, .bankinfo, .paysum, .thanks__summary, .crumbs, .eyebrow, .eyebrow--light,
.hm-facts__list span, .post__meta, .hm-room__body span, .hm-combo__foot, .adm-table, .copy, .countdown, .promo, .gallery__tabs, .check, .form__msg, .bform__legal,
.paybox__trust, .hm-faq__more, .faq__item summary, .room__actions, .journey__for, .b2bpk__item h4, .process__docs, .venue__spec, .pkg__meta, .pkg__applies, .room__price small,
.article__meta, .quote__lines, .quote__note, .paybox__hint, .paybox__qrnote, .paybox__alt, .bchoice__cta, .bchoice__summary, .hm-book__field, .footer__list, .footer__bottom,
.b2bhero__promises, .b2bteaser__facts, .hm-review figcaption, .stars, .reviews__summary, .thanks__sub, .bform__legend, .ages, .hm-exp__cap span, .hm-gal__cap, .gallery__cap, .steps span, .mapsec__actions, .route, .table-wrap { font-family: var(--font-ui); }
.section__lead, .pintro__lead, .hm-combo__inc, .hm-usp__text, .faq__a, .hm-review__text p, .hm-review p, .pkg__inc, .thanks__text, .post__excerpt, .article__lead, .usp__text, .amen__text,
.room__short, .room__more p, .hm-band__text, .svc__note, .process__step p, .journey__flow, .b2bhero__lead, .prose p, .prose li, .policy__item p, .b2bpain__col ul, .bchoice__desc, .popup__text, .csheet__row small, .itin__list li { font-family: var(--font-text); }
.prose p, .prose li { font-size: 1.02rem; line-height: 1.8; }
.section__lead { font-size: 1.02rem; line-height: 1.7; }

/* --- Tiêu đề mục: chữ hoa, giãn chữ, kích thước vừa phải --- */
.section__title, .pintro__title, .hm-band__title, .thanks__title, .paybox__title, .b2bhero__title, .bchoice__title, .csheet__title, .popup__title, .prose h2, .b2bform__sub { text-transform: uppercase; letter-spacing: .07em; font-weight: 500; line-height: 1.3; }
.section__title { font-size: clamp(1.25rem, 2vw, 1.75rem); margin-bottom: .4em; }
.pintro__title { font-size: clamp(1.45rem, 2.8vw, 2.3rem); }
.b2bhero__title { font-size: clamp(1.4rem, 2.6vw, 2.1rem); }
.hm-band__title { font-size: clamp(1.1rem, 1.8vw, 1.45rem); }
.thanks__title { font-size: clamp(1.25rem, 2.3vw, 1.8rem); }
.paybox__title, .bchoice__title { font-size: 1.05rem; }
.csheet__title, .popup__title { font-size: 1rem; }
.prose h2 { font-size: 1.05rem; margin: 2em 0 .6em; }
.prose h1, .article__title { text-transform: none; letter-spacing: 0; font-size: clamp(1.6rem, 3vw, 2.3rem); }
.hm-head--center .section__title::after { content: ''; display: block; width: 44px; height: 1px; background: var(--gold); margin: .9rem auto 0; }
.hm-head--center .eyebrow::before, .hm-head--center .eyebrow::after { display: none; }
.eyebrow, .eyebrow--light { color: var(--brass-600); font-size: .68rem; letter-spacing: .24em; }
.hm-head { margin-bottom: 1.3rem; }
.hm-head--center { margin-bottom: 1.6rem; }

/* --- Topbar + Header tối: điểm nhấn đầu trang --- */
.topbar { background: #0a0a0a; color: rgba(255,255,255,.72); border-bottom: 1px solid rgba(255,255,255,.06); font-size: .78rem; font-weight: 500; }
.topbar__inner { min-height: 34px; gap: 1.4rem; }
.topbar__item { color: rgba(255,255,255,.72); }
.topbar__item .ic, .topbar__call .ic { color: var(--gold); }
.topbar__call { margin-left: 0; color: #fff; }
.topbar__call a { color: #fff; } .topbar__call a:hover { color: var(--gold-2); }
.topbar__call strong { font-weight: 600; letter-spacing: .04em; font-size: .84rem; }
.topbar__call small { color: rgba(255,255,255,.5); font-size: .72rem; margin-left: .4em; }
.topbar__sep { color: rgba(255,255,255,.35); }
.topbar__item--right { margin-left: auto; }
@media (max-width: 1024px) { .topbar__item--hide-md { display: none; } }
@media (max-width: 760px) { .topbar__inner { justify-content: center; } }

.header { position: sticky; top: 0; z-index: 50; background: var(--dark); border-bottom: 0; backdrop-filter: none; box-shadow: 0 8px 30px rgba(0,0,0,.18); }
.header::after { content: ''; display: block; height: 1px; background: linear-gradient(90deg, transparent 0%, var(--gold) 18%, var(--gold-2) 50%, var(--gold) 82%, transparent 100%); }
.header__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; min-height: 74px; }
.brand { gap: .55rem; }
.brand__mark { height: 44px; width: auto; }
.brand__wordimg { height: 23px; width: auto; }
.nav { justify-content: center; margin-left: 0; gap: 1.7rem; }
.nav a { color: rgba(255,255,255,.8); font-size: .7rem; font-weight: 500; letter-spacing: .18em; padding: .5em 0; border-bottom: 1px solid transparent; }
.nav a:hover, .nav a.is-active { color: #fff; border-bottom-color: var(--gold); }
.nav__home { display: none; }
.header__actions { gap: .5rem; }
.btn--hdr-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.3); }
.btn--hdr-ghost:hover { border-color: var(--gold); color: var(--gold-2); background: transparent; }
.btn--gold { background: var(--gold); color: var(--dark); border-color: var(--gold); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: .74rem; }
.btn--gold:hover { background: var(--gold-2); border-color: var(--gold-2); color: var(--dark); }
.header .btn--sm { padding: .65em 1.15em; }
.nav-toggle { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.3); border-radius: 8px; }
@media (max-width: 1024px) {
  .header__inner { min-height: 66px; gap: 1rem; }
  .brand__mark { height: 38px; } .brand__wordimg { height: 20px; }
  .nav { position: absolute; top: calc(100% + 1px); left: 0; right: 0; background: var(--dark); border-bottom: 1px solid rgba(255,255,255,.08); padding: .4rem var(--gutter) 1rem; flex-direction: column; gap: 0; display: none; box-shadow: 0 24px 40px rgba(0,0,0,.35); }
  .nav.is-open { display: flex; }
  .nav a { padding: .95em 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .78rem; }
  .nav__home { display: block; }
  .header__phone span { display: none; }
  .header__phone { padding: .6em .7em; }
  .header__actions .btn--gold { display: none; }
}

/* --- Hero: nút Xem giá vàng để nối mạch với header --- */
.hm-book .btn.hm-book__btn { background: var(--gold); color: var(--dark); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; font-size: .8rem; }
.hm-book .btn.hm-book__btn:hover { background: var(--gold-2); color: var(--dark); }
.hm-hero::before { background: linear-gradient(180deg, rgba(10,10,10,.5) 0%, rgba(10,10,10,.12) 40%, rgba(10,10,10,.7) 100%); }

/* --- Con số nổi bật --- */
.hm-facts__list li { border-left-color: var(--line); }
.hm-facts__list strong { font-size: 1.6rem; }
.hm-facts__list span { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }

/* --- Combo nổi bật: thẻ có viền, giá rõ --- */
.hm-combo { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; transition: box-shadow .2s, transform .2s; }
.hm-combo:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.hm-combo__img { border-radius: 0; aspect-ratio: 16/11; }
.hm-combo__body { padding: 1rem 1.2rem 1.15rem; gap: .35rem; }
.hm-combo__name { font-size: 1.2rem; }
.hm-combo__inc { font-size: .9rem; }
.hm-combo__foot { padding-top: .75rem; margin-top: .6rem; }
.hm-combo__price { font-size: 1.45rem; }
.hm-combo .btn--sm { text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; padding: .7em 1.2em; }

/* --- Vì sao chọn Kimora --- */
.hm-usp { border-top: 1px solid var(--line); }
.hm-usp__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 1.2rem; }
.hm-usp__item { text-align: center; padding: 0 .4rem; min-width: 0; }
.hm-usp__icon { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto .9rem; border: 1px solid var(--gold); border-radius: 50%; color: var(--dark); background: #fff; }
.hm-usp__icon .ic { width: 1.45rem; height: 1.45rem; }
.hm-usp__title { font-family: var(--font-display); font-size: 1.02rem; font-weight: 500; margin-bottom: .35rem; text-wrap: balance; }
.hm-usp__text { margin: 0; font-size: .9rem; color: var(--muted); }
@media (max-width: 900px) { .hm-usp__list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .hm-usp__list { grid-template-columns: 1fr; } }

/* --- Thư viện ảnh rút gọn --- */
.hm-gal { border-top: 1px solid var(--line); }
.hm-gal__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 180px; gap: .8rem; }
.hm-gal__item { position: relative; overflow: hidden; border-radius: var(--radius); display: block; background: var(--cream-2); }
.hm-gal__item--big { grid-column: span 2; grid-row: span 2; }
.hm-gal__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.hm-gal__item:hover img { transform: scale(1.04); }
.hm-gal__cap { position: absolute; inset: auto 0 0 0; padding: 1.6rem .9rem .7rem; font-size: .76rem; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.65)); opacity: 0; transition: opacity .2s; }
.hm-gal__item:hover .hm-gal__cap { opacity: 1; }
@media (max-width: 900px) { .hm-gal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; } .hm-gal__item--big { grid-column: span 2; grid-row: span 1; } .hm-gal__cap { opacity: 1; } }

/* --- Dải doanh nghiệp: nền tối nhẹ nối với footer --- */
.hm-band { background: var(--dark); color: rgba(255,255,255,.8); border: 0; }
.hm-band__title { color: #fff; } .hm-band__text { color: rgba(255,255,255,.7); }
.hm-band .eyebrow { color: var(--gold-2); }
.hm-band .btn--light { background: var(--gold); color: var(--dark); border-color: var(--gold); text-transform: uppercase; letter-spacing: .1em; font-size: .76rem; }
.hm-band .btn--light:hover { background: var(--gold-2); }

/* --- Form đặt phòng 3 bước --- */
.booking { border-top: 1px solid var(--line); background: var(--cream); }
.booking .section__title { text-align: left; }
.home .booking .steps { display: flex; gap: .9rem; margin: 1.4rem 0; }
.steps li { grid-template-columns: 34px 1fr; gap: .7rem; }
.steps li::before { width: 34px; height: 34px; border: 1px solid var(--gold); background: #fff; color: var(--dark); font-family: var(--font-display); font-size: 1rem; font-weight: 500; }
.steps strong { font-family: var(--font-display); font-weight: 500; font-size: 1rem; color: var(--dark); }
.steps span { font-size: .86rem; color: var(--muted); }
.booking__contact .btn { font-size: .82rem; }
.bform { gap: 1.1rem; background: #fff; border: 1px solid var(--line); }
.bform__group { border: 0; padding: 0; margin: 0; min-width: 0; display: flex; flex-direction: column; gap: .8rem; }
.bform__group + .bform__group { border-top: 1px solid var(--line); padding-top: 1.1rem; }
.bform__legend { display: flex; align-items: center; gap: .6rem; font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--dark); padding: 0; margin-bottom: .1rem; float: left; width: 100%; }
.bform__legend + * { clear: both; }
.bform__num { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--gold); color: var(--dark); font-family: var(--font-display); font-size: .82rem; letter-spacing: 0; flex: none; }
.field__label { font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.field__label small { text-transform: none; letter-spacing: 0; }
.quote { border: 1px solid var(--line); background: var(--cream); }
.quote__head span { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
#bookingNext { text-transform: uppercase; letter-spacing: .12em; font-size: .9rem; }
.bchoice { border: 1px solid var(--dark); border-radius: var(--radius); padding: 1.2rem; display: flex; flex-direction: column; gap: 1rem; background: #fff; }
.bchoice__head .eyebrow { margin-bottom: .3rem; }
.bchoice__title { margin-bottom: .7rem; }
.bchoice__summary { display: grid; gap: .3rem; font-size: .86rem; color: var(--muted); border-top: 1px dashed var(--line); padding-top: .7rem; }
.bchoice__summary li { display: flex; justify-content: space-between; gap: 1rem; }
.bchoice__summary li span:last-child { color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.bchoice__summary li.is-total span:last-child { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; color: var(--dark); }
.bchoice__options { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.bchoice__opt { display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; text-align: left; padding: 1.1rem 1.1rem 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; color: var(--ink); cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; font-family: var(--font-ui); min-width: 0; }
.bchoice__opt:hover { border-color: var(--dark); transform: translateY(-2px); box-shadow: var(--shadow); }
.bchoice__opt--pay { border-color: var(--gold); background: linear-gradient(180deg, #fff 0%, var(--brass-100) 100%); }
.bchoice__icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--dark); color: #fff; }
.bchoice__icon .ic { width: 1.2rem; height: 1.2rem; }
.bchoice__opt--pay .bchoice__icon { background: var(--gold); color: var(--dark); }
.bchoice__label { font-family: var(--font-display); font-size: 1.05rem; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--dark); }
.bchoice__desc { font-size: .86rem; color: var(--muted); line-height: 1.55; }
.bchoice__cta { margin-top: auto; display: inline-flex; align-items: center; gap: .3em; font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; border-bottom: 1px solid currentColor; padding-top: .3rem; color: var(--dark); }
.bchoice__opt[disabled] { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.bchoice__opt.is-loading { opacity: .7; }
.bchoice__note { margin: 0; font-size: .85rem; color: var(--danger); }
.bchoice__edit { align-self: flex-start; background: none; border: 0; color: var(--muted); font-size: .84rem; padding: 0; text-decoration: underline; cursor: pointer; font-family: var(--font-ui); }
@media (max-width: 560px) { .bchoice__options { grid-template-columns: 1fr; } }

/* --- Hộp thanh toán QR --- */
.paybox { border: 1px solid var(--line); padding: clamp(1.2rem, 3vw, 1.8rem); }
.paybox__head { align-items: center; }
.paybox__grid { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 1.6rem; align-items: start; }
.paybox__qrimg { width: 100%; max-width: 280px; margin: 0 auto; padding: .6rem; border: 1px solid var(--gold); border-radius: var(--radius-sm); background: #fff; }
.paybox__qrimg svg { display: block; width: 100%; height: auto; }
.paybox__qrnote { font-size: .82rem; color: var(--muted); margin: .7rem 0 0; }
.bankinfo div { grid-template-columns: 130px 1fr; font-size: .92rem; padding: .5rem 0; }
.bankinfo dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.bankinfo__acc { font-family: var(--font-display); font-size: 1.3rem; letter-spacing: .06em; color: var(--dark); }
.bankinfo__amt { font-size: 1.35rem; color: var(--dark); }
.bankinfo__note { letter-spacing: .08em; font-family: var(--font-display); font-size: 1.1rem; }
.copy { border: 1px solid var(--line); color: var(--dark); background: #fff; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.copy:hover { background: var(--dark); color: #fff; border-color: var(--dark); }
.paybox__hint { font-size: .84rem; color: var(--muted); margin: .8rem 0 0; }
.payreport { background: var(--cream); border: 1px solid var(--line); padding: 1rem; border-radius: var(--radius-sm); gap: .7rem; margin-top: .9rem; }
.payreport .btn { text-transform: uppercase; letter-spacing: .12em; font-size: .86rem; }
.paybox__actions--alt { margin: .8rem 0 0; }
.paybox__wait { display: flex; gap: .5em; align-items: flex-start; border: 1px solid var(--line); background: var(--cream); color: var(--ink); }
.paybox__wait .ic { margin-top: .2em; flex: none; }
.paybox__ok { border: 1px solid #bfe3cc; }
.paybox__trust { margin-top: 1.2rem; padding-top: .9rem; border-top: 1px dashed var(--line); }
@media (max-width: 760px) { .paybox__grid { grid-template-columns: 1fr; } .bankinfo div { grid-template-columns: 1fr; gap: .1rem; } }

/* --- Trang cảm ơn / thanh toán --- */
.thanks, .paypage { background: #fff; }
.thanks__top { max-width: 54rem; margin-bottom: 1.6rem; }
.thanks__top .eyebrow { margin-bottom: .5rem; }
.thanks__top .thanks__text { font-size: 1rem; color: var(--muted); margin: 0; }
.thanks__inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.thanks__main { display: flex; flex-direction: column; gap: 1.2rem; min-width: 0; }
.thanks__card { padding: 1.5rem; display: flex; flex-direction: column; gap: .6rem; align-items: flex-start; }
.thanks__card .thanks__text { margin: 0 0 .4rem; }
.thanks__sub { font-size: .72rem; text-transform: uppercase; letter-spacing: .18em; font-weight: 600; color: var(--dark); margin: 0 0 .8rem; }
.thanks__aside { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.4rem; background: #fff; }
.thanks__aside h2 + .thanks__summary { margin-top: 0; }
.thanks__summary { margin: 0 0 1.4rem; gap: .2rem; }
.thanks__summary div { grid-template-columns: 110px 1fr; font-size: .9rem; padding: .45rem 0; }
.thanks__summary dt { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.thanks__summary small { color: var(--muted); }
.thanks__tips { display: flex; flex-direction: column; gap: .5rem; font-size: .9rem; color: var(--muted); padding-left: 1.1rem; list-style: disc; font-family: var(--font-text); }
.thanks__actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.paypage__msg { padding: 2rem; max-width: 36rem; margin: 0 auto; }
@media (max-width: 800px) { .thanks__inner { grid-template-columns: 1fr; } }

/* --- Trang con: banner tối, tiêu đề chữ hoa, breadcrumb --- */
.pintro { position: relative; isolation: isolate; background: var(--dark); color: #fff; border-bottom: 0; padding-block: clamp(2.6rem, 6vw, 4.5rem) clamp(2rem, 4.5vw, 3rem); overflow: hidden; }
.pintro__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.pintro--img::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,.82) 100%); }
.pintro__inner { display: block; max-width: 54rem; margin-inline: auto; text-align: center; }
.pintro__title { color: #fff; margin-bottom: .5em; text-wrap: balance; }
.pintro__lead { color: rgba(255,255,255,.82); margin: 0 auto 1.3rem; max-width: 40rem; font-size: 1rem; }
.crumbs { display: flex; justify-content: center; gap: .6em; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 1rem; }
.crumbs a { color: var(--gold-2); } .crumbs a:hover { color: #fff; } .crumbs span:last-child { color: #fff; }
.b2bhero { background: #fff; border-bottom: 1px solid var(--line); }
.b2bhero .btn--primary { background: var(--gold); color: var(--dark); }

/* --- Footer tối, gọn, logo nhỏ --- */
.footer { background: var(--dark); color: rgba(255,255,255,.72); border-top: 1px solid rgba(196,160,82,.55); padding-top: 2.4rem; font-size: .9rem; }
.footer__grid { grid-template-columns: 1.3fr 1fr 1fr .9fr; gap: 2rem; }
.footer__brandlink { display: inline-flex; align-items: center; gap: .6rem; margin-bottom: .7rem; }
.footer__logo { width: auto; height: 42px; margin: 0; }
.footer__logoword { height: 21px; width: auto; }
.footer__desc { color: rgba(255,255,255,.55); font-size: .82rem; margin: .4rem 0; line-height: 1.6; }
.footer__title { color: var(--gold); font-size: .7rem; letter-spacing: .22em; margin-bottom: .9rem; }
.footer__list { gap: .55rem; }
.footer__list a, .footer__list--links a { color: rgba(255,255,255,.88); }
.footer__list a:hover, .footer__list--links a:hover { color: var(--gold-2); }
.footer__list .ic { color: var(--gold); }
.footer__dot { color: rgba(255,255,255,.4); }
.footer__bottom { border-top-color: rgba(255,255,255,.1); color: rgba(255,255,255,.45); font-size: .78rem; margin-top: 1.6rem; }
.footer__disclaimer { color: rgba(255,255,255,.45); }

/* --- Nút nổi, bảng liên hệ nhanh đồng bộ màu --- */
.float__btn--call { background: var(--gold); color: var(--dark); }
.float__btn--call:hover { color: var(--dark); }
.float__m--primary { background: var(--dark); }
.csheet__row .ic { color: var(--dark); }
.chip.is-active, .chip:hover { background: var(--dark); border-color: var(--dark); }

/* --- Bài viết: thẻ và nội dung dễ đọc --- */
.post { border: 1px solid var(--line); }
.post__title { font-size: 1.15rem; line-height: 1.35; }
.article__body { max-width: 46rem; }
.prose h3 { font-family: var(--font-display); font-size: 1.1rem; font-weight: 500; }
.article__cta { background: var(--cream); border: 1px solid var(--line); }

/* --- Chi tiết nhỏ --- */
.btn--primary, .section--dark .btn--primary, .hero .btn--primary { background: var(--dark); }
.btn--outline { border-color: var(--dark); color: var(--dark); }
.btn--outline:hover { background: var(--dark); color: #fff; }
.pkg--featured { border-color: var(--gold); }
.pkg__badge { border-color: var(--gold); color: var(--dark); background: #fff; }
.room__tag { background: var(--dark); color: #fff; border: 0; }
.faq__item summary .ic { color: var(--gold); }
.stars, .hm-review .stars { color: var(--gold); }
.hm-review { background: #fff; }
.hm-review__avatar { border-color: var(--gold); }
.hm-link { border-bottom-color: var(--gold); }
.hm-link:hover { color: var(--brass-600); }
.pkg__now, .room__price strong { color: var(--dark); }
.itin__list li::before { background: var(--gold); }
.journey__letter, .process__num { color: var(--gold); }
.room__price small:last-child { display: block; }
.room__price--contact { font-size: .95rem !important; }

/* =========================================================
   THEME v4 (24/10/2026): tông VÀNG HANH (champagne) chủ đạo, nhấn GOLD ĐẬM;
   bỏ Lora – toàn bộ chữ Be Vietnam Pro rõ nét, tiêu đề Playfair 600;
   nút "Đặt" nổi màu gold, thẳng hàng. (ghi đè lên v3)
   ========================================================= */
:root {
  --font-text: 'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --champagne: #f3e9d2;      /* nền thanh menu */
  --champagne-2: #faf5ea;    /* dải nền nhẹ */
  --champagne-3: #ebdcb8;    /* viền/đường kẻ vàng nhạt */
  --gold-deep: #9a7628;      /* gold đậm: nút, điểm nhấn */
  --gold-dark: #7b5d1d;      /* hover */
  --gold: #c4a052; --gold-2: #d9b765;
  --dark: #241c12;           /* nâu đen ấm: footer, dải doanh nghiệp */
  --ink: #1e1810; --muted: #5f574a;
  --line: #e6dcc6; --cream: #faf6ec; --cream-2: #f1e8d6;
  --green-900: #1e1810; --green: #2a2217; --green-600: #4a3f2e; --brass: #9a7628; --brass-600: #7b5d1d; --brass-100: #f6efdd;
}
/* --- Chữ rõ nét: sans toàn bộ, đậm vừa, màu mực đậm --- */
body, .section__lead, .pintro__lead, .hm-combo__inc, .hm-usp__text, .faq__a, .hm-review__text p, .hm-review p, .pkg__inc, .thanks__text, .post__excerpt, .article__lead, .usp__text, .amen__text,
.room__short, .room__more p, .hm-band__text, .svc__note, .process__step p, .journey__flow, .b2bhero__lead, .prose p, .prose li, .policy__item p, .b2bpain__col ul, .bchoice__desc, .popup__text, .csheet__row small, .itin__list li, .thanks__tips { font-family: var(--font-text); }
body { font-size: 15.5px; line-height: 1.65; color: var(--ink); -webkit-font-smoothing: auto; }
.prose p, .prose li { font-size: 1rem; line-height: 1.75; }
.section__lead, .pintro__lead { font-size: .98rem; line-height: 1.65; }
.hm-combo__inc, .hm-usp__text, .faq__a, .pkg__inc, .post__excerpt { font-weight: 400; color: var(--muted); }
h1, h2, h3, h4, .section__title, .pintro__title, .hm-band__title, .thanks__title, .paybox__title, .b2bhero__title, .bchoice__title, .hm-combo__name, .pkg__name, .room__name, .post__title, .hm-usp__title, .hm-room__body strong, .hm-exp__cap strong { font-family: var(--font-display); font-weight: 600; color: var(--ink); }
.section__title, .pintro__title, .hm-band__title, .thanks__title, .b2bhero__title { letter-spacing: .06em; }
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .hm-facts__list strong, .paypage__code, .thanks__code strong, .bankinfo__acc, .bankinfo__amt, .bankinfo__note, .bchoice__summary li.is-total span:last-child, .bchoice__label { font-weight: 700; color: var(--ink); }
.eyebrow, .eyebrow--light { color: var(--gold-deep); font-weight: 600; }
.eyebrow::before, .hm-head--center .section__title::after { background: var(--gold-deep); }
.field__label, .thanks__sub, .bform__legend, .footer__title, .hm-book__field span, .quote__head span, .bankinfo dt, .thanks__summary dt { font-weight: 600; }
.field__label { color: var(--muted); }
.field input, .field select, .field textarea { border-color: var(--line); color: var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(154,118,40,.18); }

/* --- Nút: gold đậm là màu chính --- */
.btn--primary, .section--dark .btn--primary, .hero .btn--primary, .btn--gold, .hm-book .btn.hm-book__btn, .float__m--primary, .hm-band .btn--light, .b2bhero .btn--primary, .mapsec__load, .booking .btn--light { background: var(--gold-deep); color: #fff; border-color: var(--gold-deep); }
.btn--primary:hover, .btn--gold:hover, .hm-book .btn.hm-book__btn:hover, .hm-band .btn--light:hover, .booking .btn--light:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }
.btn--outline { border-color: var(--gold-deep); color: var(--gold-deep); background: #fff; }
.btn--outline:hover { background: var(--gold-deep); color: #fff; }
.btn--ghost { background: var(--champagne-2); color: var(--ink); border-color: var(--line); }
.btn--ghost:hover { background: var(--cream-2); color: var(--ink); }
.btn--gold { letter-spacing: .1em; text-transform: uppercase; font-size: .74rem; font-weight: 600; }
.btn { font-weight: 600; }
.btn__spinner { border-color: rgba(255,255,255,.5); border-top-color: #fff; }
.chip.is-active, .chip:hover { background: var(--gold-deep); border-color: var(--gold-deep); color: #fff; }
.float__btn--call { background: var(--gold-deep); color: #fff; } .float__btn--call:hover { color: #fff; }
.float__btn--top { color: var(--gold-deep); }
.float--mobile .float__m { color: var(--gold-deep); }
.float__m--primary { color: #fff; }
.csheet__row .ic { color: var(--gold-deep); }
.csheet__row:hover { border-color: var(--gold-deep); background: var(--champagne-2); }
a { color: var(--ink); } a:hover { color: var(--gold-deep); }
.hm-link { border-bottom-color: var(--gold-deep); color: var(--ink); } .hm-link:hover { color: var(--gold-deep); }
:focus-visible { outline-color: var(--gold-deep); }

/* --- Topbar gold đậm + Header vàng hanh --- */
.topbar { background: var(--gold-deep); color: rgba(255,255,255,.9); border-bottom: 0; }
.topbar__item { color: rgba(255,255,255,.9); }
.topbar__item .ic, .topbar__call .ic { color: #fff; }
.topbar__call { color: #fff; } .topbar__call a { color: #fff; } .topbar__call a:hover { color: var(--champagne); }
.topbar__call small { color: rgba(255,255,255,.7); } .topbar__sep { color: rgba(255,255,255,.5); }
.header { background: var(--champagne); box-shadow: 0 6px 24px rgba(90,65,20,.10); }
.header::after { height: 2px; background: linear-gradient(90deg, var(--champagne-3) 0%, var(--gold-deep) 25%, var(--gold) 50%, var(--gold-deep) 75%, var(--champagne-3) 100%); }
.brand__mark { height: 46px; } .brand__wordimg { height: 24px; }
.nav a { color: var(--ink); font-weight: 600; font-size: .7rem; letter-spacing: .18em; }
.nav a:hover, .nav a.is-active { color: var(--gold-deep); border-bottom-color: var(--gold-deep); }
.btn--hdr-ghost { background: transparent; color: var(--ink); border: 1px solid var(--gold-deep); }
.btn--hdr-ghost:hover { background: var(--gold-deep); color: #fff; }
.btn--hdr-ghost .ic { color: var(--gold-deep); } .btn--hdr-ghost:hover .ic { color: #fff; }
.nav-toggle { background: transparent; color: var(--ink); border: 1px solid var(--gold-deep); }
@media (max-width: 1024px) {
  .nav { background: var(--champagne); border-bottom: 1px solid var(--champagne-3); box-shadow: 0 20px 40px rgba(90,65,20,.15); }
  .nav a { border-bottom: 1px solid var(--champagne-3); color: var(--ink); }
}

/* --- Hero & dải nền --- */
.hm-hero::before { background: linear-gradient(180deg, rgba(36,28,18,.45) 0%, rgba(36,28,18,.08) 40%, rgba(36,28,18,.68) 100%); }
.hm-book__bar { border: 1px solid var(--champagne-3); box-shadow: 0 18px 50px rgba(60,40,10,.18); }
.hm-section--cream, .section--cream, .booking { background: var(--champagne-2); border-top: 1px solid var(--line); }
.hm-usp, .hm-gal { background: #fff; }
.hm-usp__icon { border-color: var(--gold-deep); color: var(--gold-deep); }
.hm-facts__list strong { color: var(--ink); }
.hm-facts__list li { border-left-color: var(--champagne-3); }
.hm-facts { border-bottom: 1px solid var(--line); padding-bottom: 1.4rem; }

/* --- Combo: nút ĐẶT gold nổi, thẳng hàng --- */
.hm-combos { align-items: stretch; }
.hm-combo { height: 100%; border-color: var(--line); }
.hm-combo:hover { border-color: var(--gold); box-shadow: 0 16px 40px rgba(90,65,20,.12); }
.hm-combo__body { display: flex; flex-direction: column; flex: 1; }
.hm-combo__inc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(1.6em * 3); line-height: 1.6; font-size: .88rem; }
.hm-combo__foot { margin-top: auto; padding-top: .85rem; border-top: 1px solid var(--line); align-items: center; }
.hm-combo__price { font-size: 1.4rem; }
.hm-combo__price small { color: var(--muted); font-weight: 500; }
.hm-combo .btn--sm { background: var(--gold-deep); color: #fff; border-color: var(--gold-deep); padding: .75em 1.5em; font-size: .74rem; letter-spacing: .14em; border-radius: 999px; box-shadow: 0 6px 16px rgba(154,118,40,.28); }
.hm-combo .btn--sm:hover { background: var(--gold-dark); border-color: var(--gold-dark); transform: translateY(-1px); }
.pkg--featured { border-color: var(--gold); }
.pkg__badge { border-color: var(--gold-deep); color: var(--gold-deep); background: #fff; font-weight: 600; }
.pkg__now { color: var(--ink); }
.pkg__off { color: var(--gold-deep); border-color: var(--gold); }
.packages .pkg { height: 100%; }
.pkg__body .btn--primary { margin-top: .4rem; }

/* --- Phòng, trải nghiệm, đánh giá --- */
.room__tag { background: var(--gold-deep); color: #fff; }
.hm-review { border-color: var(--line); }
.hm-review__avatar { border-color: var(--gold); }
.hm-review__avatar--initial { background: var(--champagne-2); color: var(--gold-deep); }
.stars, .hm-review .stars { color: var(--gold-deep); }
.faq__item summary .ic { color: var(--gold-deep); }
.faq__item summary { font-weight: 600; color: var(--ink); }

/* --- Dải doanh nghiệp & footer: nâu đen ấm, chữ vàng --- */
.hm-band { background: var(--dark); }
.hm-band .eyebrow { color: var(--gold-2); }
.footer { background: var(--dark); border-top: 2px solid var(--gold-deep); }
.footer__title { color: var(--gold-2); }
.footer__list .ic { color: var(--gold-2); }
.footer__list a:hover, .footer__list--links a:hover { color: var(--gold-2); }

/* --- Banner trang con --- */
.pintro { background: var(--dark); }
.pintro--img::before { background: linear-gradient(180deg, rgba(36,28,18,.5) 0%, rgba(36,28,18,.82) 100%); }
.crumbs a { color: var(--gold-2); }
.pintro .btn--gold { background: var(--gold-deep); color: #fff; }

/* --- Form đặt phòng & bước 2 --- */
.bform { border-color: var(--line); }
.bform__legend { color: var(--ink); }
.bform__num { border-color: var(--gold-deep); color: var(--gold-deep); font-weight: 700; }
.steps li::before { border-color: var(--gold-deep); color: var(--gold-deep); font-weight: 700; }
.quote { background: var(--champagne-2); border-color: var(--line); }
.bchoice { border-color: var(--gold-deep); }
.bchoice__opt:hover { border-color: var(--gold-deep); box-shadow: 0 14px 34px rgba(90,65,20,.14); }
.bchoice__opt--pay { border-color: var(--gold-deep); background: linear-gradient(180deg, #fff 0%, var(--champagne-2) 100%); }
.bchoice__icon { background: var(--ink); color: #fff; }
.bchoice__opt--pay .bchoice__icon { background: var(--gold-deep); color: #fff; }
.bchoice__label { color: var(--ink); }
.bchoice__cta { color: var(--gold-deep); }

/* --- Hộp thanh toán QR --- */
.paybox__qrimg { border-color: var(--gold-deep); }
.copy { color: var(--gold-deep); border-color: var(--gold); }
.copy:hover { background: var(--gold-deep); border-color: var(--gold-deep); color: #fff; }
.payreport { background: var(--champagne-2); border-color: var(--line); }
.paystatus--unpaid { background: var(--champagne-2); color: var(--gold-deep); }
.paybox__wait { background: var(--champagne-2); border-color: var(--line); }
.thanks__aside { border-color: var(--line); }

/* --- Admin giữ chữ rõ --- */
body.is-admin { font-family: var(--font-ui); }

/* =========================================================
   THEME v5 (24/10/2026): tông BE / VÀNG NHẠT dịu (bỏ vàng đồng đậm), nhấn than chì ấm;
   một họ chữ MONTSERRAT – đậm, rõ, khỏe khoắn; khung ảnh khách chờ ảnh thật, thẻ đánh giá bằng nhau.
   ========================================================= */
:root {
  --font-display: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-body: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-text: var(--font-body); --font-ui: var(--font-body);
  --beige: #efe9dd;        /* thanh menu */
  --beige-2: #f7f3eb;      /* dải nền nhẹ */
  --beige-3: #e3dac8;      /* viền, kẻ */
  --sand: #b9a780;         /* vàng nhạt dịu: kẻ trang trí, sao, icon */
  --sand-2: #d6c9a8;
  --ink: #221f1b; --muted: #5a554c;
  --dark: #2b2622;         /* than chì ấm: nút chính, footer, dải doanh nghiệp */
  --dark-2: #3a342e;
  --line: #e3dac8; --cream: #f7f3eb; --cream-2: #ece5d7;
  --champagne: var(--beige); --champagne-2: var(--beige-2); --champagne-3: var(--beige-3);
  --gold-deep: var(--dark); --gold-dark: #14110f; --gold: var(--sand); --gold-2: var(--sand-2);
  --brass: var(--sand); --brass-600: #8d7b55; --brass-100: var(--beige-2);
  --green-900: var(--ink); --green: var(--dark); --green-600: var(--dark-2);
}
/* --- Chữ: Montserrat, nặng hơn, mực đậm --- */
body, button, input, select, textarea, h1, h2, h3, h4, .section__title, .pintro__title, .hm-band__title, .thanks__title, .paybox__title, .b2bhero__title, .bchoice__title,
.hm-combo__name, .pkg__name, .room__name, .post__title, .hm-usp__title, .hm-room__body strong, .hm-exp__cap strong, .steps strong, .policy__item h3, .amen__name, .usp__title, .process__step h3,
.csheet__title, .prose h3, .payreport__title, .b2bpain__col h3, .process__docs h3, .popup__title, .thanks__aside h2, .article__related h3, .article__cta h3, .b2btimeline__title, .quick__title, .svc__name, .journey__name, .b2bpk__name, .venue__name, .itin__label, .hm-review figcaption strong, .hm-review__avatar--initial,
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .hm-facts__list strong, .paypage__code, .thanks__code strong, .bankinfo__acc, .bankinfo__amt, .bankinfo__note, .bchoice__label, .bchoice__summary li.is-total span:last-child, .stat__value, .steps li::before, .bform__num, .journey__letter, .process__num, .b2bhero__num, .b2bpk__code, .venue__spec, .hm-hero__line, .hm-hero__line--sub, .adm-card h2, .adm-title-row h1 { font-family: var(--font-body); }
body { font-size: 15px; line-height: 1.65; color: var(--ink); font-weight: 500; }
p, li, dd, .section__lead, .pintro__lead, .hm-combo__inc, .hm-usp__text, .faq__a, .pkg__inc, .thanks__text, .post__excerpt, .article__lead, .prose p, .prose li { font-weight: 500; }
.section__lead, .pintro__lead { font-size: .95rem; color: var(--muted); }
.hm-combo__inc, .hm-usp__text, .faq__a, .pkg__inc, .post__excerpt, .hm-review__text p, .quote__lines, .quote__note, .paybox__hint, .paybox__qrnote, .thanks__tips, .steps span, .footer__desc { color: var(--muted); font-weight: 500; }
.prose p, .prose li { font-size: .98rem; line-height: 1.75; }
strong, b { font-weight: 700; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: 0; color: var(--ink); }
.section__title, .pintro__title, .hm-band__title, .thanks__title, .paybox__title, .b2bhero__title, .bchoice__title, .csheet__title, .popup__title, .prose h2, .b2bform__sub { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.section__title { font-size: clamp(1.15rem, 1.8vw, 1.5rem); }
.pintro__title { font-size: clamp(1.3rem, 2.4vw, 2rem); }
.b2bhero__title { font-size: clamp(1.25rem, 2.2vw, 1.8rem); }
.hm-band__title { font-size: clamp(1rem, 1.6vw, 1.3rem); }
.thanks__title { font-size: clamp(1.15rem, 2vw, 1.55rem); }
.paybox__title, .bchoice__title { font-size: .95rem; }
.prose h1, .article__title { font-size: clamp(1.4rem, 2.6vw, 2rem); text-transform: none; letter-spacing: -.01em; font-weight: 800; }
.prose h2 { font-size: .95rem; } .prose h3 { font-weight: 700; font-size: 1rem; }
.hm-combo__name, .pkg__name, .room__name, .post__title, .svc__name, .journey__name, .b2bpk__name, .venue__name, .itin__label { font-size: 1.05rem; font-weight: 700; line-height: 1.35; }
.hm-usp__title, .hm-room__body strong, .hm-exp__cap strong, .steps strong, .policy__item h3, .amen__name, .usp__title, .process__step h3 { font-size: .95rem; font-weight: 700; }
.hm-hero__line { font-weight: 700; letter-spacing: .2em; font-size: clamp(2.4rem, 6.5vw, 4.8rem); }
.hm-hero__line--sub { font-weight: 500; letter-spacing: .5em; }
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .paypage__code, .thanks__code strong, .bankinfo__acc, .bankinfo__amt, .bankinfo__note, .bchoice__summary li.is-total span:last-child { font-weight: 800; letter-spacing: -.01em; }
.hm-combo__price { font-size: 1.25rem; } .pkg__now { font-size: 1.45rem; } .bankinfo__acc, .bankinfo__amt { font-size: 1.2rem; } .bankinfo__note { font-size: 1rem; letter-spacing: .06em; }
.hm-facts__list strong { font-weight: 800; font-size: 1.45rem; }
.eyebrow, .eyebrow--light { color: var(--brass-600); font-weight: 700; font-size: .66rem; letter-spacing: .24em; }
.eyebrow::before, .hm-head--center .eyebrow::after, .hm-head--center .section__title::after { background: var(--sand); }
.field__label, .thanks__sub, .bform__legend, .footer__title, .hm-book__field span, .quote__head span, .bankinfo dt, .thanks__summary dt, .hm-facts__list span { font-weight: 700; color: var(--muted); }
.field__label { color: var(--ink); font-size: .72rem; letter-spacing: .06em; }
.field input, .field select, .field textarea { font-weight: 500; border-color: var(--beige-3); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--dark); box-shadow: 0 0 0 3px rgba(43,38,34,.12); }
.btn { font-weight: 700; letter-spacing: .04em; }
.nav a { font-weight: 700; }
.hm-review figcaption strong { font-weight: 700; font-size: .95rem; }
.hm-review figcaption span { font-weight: 600; color: var(--muted); }
.footer__list a, .footer__list--links a { font-weight: 600; }
.hm-link, .section__foot a, .post__more { font-weight: 700; }
.steps li::before, .bform__num { font-weight: 800; }

/* --- Màu: be dịu, than chì ấm, vàng nhạt chỉ để trang trí --- */
.topbar { background: var(--beige-3); color: var(--ink); }
.topbar__item, .topbar__call, .topbar__call a { color: var(--ink); }
.topbar__item .ic, .topbar__call .ic { color: var(--brass-600); }
.topbar__call a:hover { color: var(--brass-600); }
.topbar__call small { color: var(--muted); } .topbar__sep { color: var(--sand); }
.header { background: var(--beige); box-shadow: 0 6px 24px rgba(60,50,30,.08); }
.header::after { height: 1px; background: linear-gradient(90deg, transparent 0%, var(--sand) 20%, var(--sand) 80%, transparent 100%); }
.nav a { color: var(--ink); }
.nav a:hover, .nav a.is-active { color: var(--brass-600); border-bottom-color: var(--sand); }
.btn--hdr-ghost { color: var(--ink); border-color: var(--sand); background: #fff; }
.btn--hdr-ghost:hover { background: var(--dark); border-color: var(--dark); color: #fff; }
.btn--hdr-ghost .ic { color: var(--brass-600); } .btn--hdr-ghost:hover .ic { color: #fff; }
.nav-toggle { color: var(--ink); border-color: var(--sand); background: #fff; }
@media (max-width: 1024px) { .nav { background: var(--beige); border-bottom-color: var(--beige-3); } .nav a { border-bottom-color: var(--beige-3); } }

.btn--primary, .section--dark .btn--primary, .hero .btn--primary, .btn--gold, .hm-book .btn.hm-book__btn, .float__m--primary, .hm-band .btn--light, .b2bhero .btn--primary, .mapsec__load, .booking .btn--light, .hm-combo .btn--sm, .pintro .btn--gold, .float__btn--call { background: var(--dark); color: #fff; border-color: var(--dark); box-shadow: none; }
.btn--primary:hover, .btn--gold:hover, .hm-book .btn.hm-book__btn:hover, .hm-band .btn--light:hover, .booking .btn--light:hover, .hm-combo .btn--sm:hover, .float__btn--call:hover { background: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }
.hm-band .btn--light, .hm-band .btn--light:hover { background: var(--beige); color: var(--ink); border-color: var(--beige); }
.btn--outline { border-color: var(--dark); color: var(--dark); background: #fff; }
.btn--outline:hover { background: var(--dark); color: #fff; }
.btn--ghost { background: var(--beige-2); color: var(--ink); border-color: var(--beige-3); }
.chip.is-active, .chip:hover { background: var(--dark); border-color: var(--dark); color: #fff; }
.float--mobile .float__m { color: var(--ink); } .float__m--primary { color: #fff; }
.float__btn--top { color: var(--ink); }
.csheet__row .ic { color: var(--brass-600); } .csheet__row:hover { border-color: var(--dark); background: var(--beige-2); }
a:hover { color: var(--brass-600); }
.hm-link { border-bottom-color: var(--sand); } .hm-link:hover { color: var(--brass-600); }
:focus-visible { outline-color: var(--dark); }
.copy { color: var(--ink); border-color: var(--sand); } .copy:hover { background: var(--dark); border-color: var(--dark); color: #fff; }

.hm-section--cream, .section--cream, .booking { background: var(--beige-2); border-top: 1px solid var(--beige-3); }
.hm-book__bar { border-color: var(--beige-3); box-shadow: 0 18px 50px rgba(50,40,20,.16); }
.hm-facts { border-bottom-color: var(--beige-3); }
.hm-facts__list li { border-left-color: var(--beige-3); }
.hm-usp__icon { border-color: var(--sand); color: var(--brass-600); }
.hm-combo:hover { border-color: var(--sand); box-shadow: 0 16px 40px rgba(60,50,30,.10); }
.pkg--featured, .pkg__badge, .pkg__off { border-color: var(--sand); color: var(--ink); }
.room__tag { background: var(--dark); }
.faq__item summary .ic { color: var(--brass-600); }
.steps li::before, .bform__num { border-color: var(--sand); color: var(--ink); }
.quote { background: var(--beige-2); border-color: var(--beige-3); }
.bchoice { border-color: var(--dark); }
.bchoice__opt:hover { border-color: var(--dark); box-shadow: 0 14px 34px rgba(60,50,30,.12); }
.bchoice__opt--pay { border-color: var(--sand); background: linear-gradient(180deg, #fff 0%, var(--beige-2) 100%); }
.bchoice__opt--pay .bchoice__icon { background: var(--dark); color: #fff; }
.bchoice__cta { color: var(--ink); border-bottom-color: var(--sand); }
.paybox__qrimg { border-color: var(--sand); }
.payreport, .paybox__wait { background: var(--beige-2); border-color: var(--beige-3); }
.paystatus--unpaid { background: var(--beige-2); color: var(--ink); }
.hm-band, .footer, .pintro { background: var(--dark); }
.footer { border-top: 1px solid var(--sand); }
.footer__title, .footer__list .ic, .hm-band .eyebrow, .crumbs a { color: var(--sand-2); }
.footer__list a:hover, .footer__list--links a:hover { color: var(--sand-2); }
.pintro--img::before { background: linear-gradient(180deg, rgba(43,38,34,.5) 0%, rgba(43,38,34,.82) 100%); }
.itin__list li::before, .journey__letter, .process__num { background: var(--sand); color: var(--brass-600); }

/* --- Đánh giá: thẻ bằng nhau, khung ảnh khách chờ ảnh thật --- */
.hm-reviews { align-items: stretch; }
.hm-review { height: 100%; padding: 1.5rem 1.4rem 1.4rem; gap: .7rem; border-color: var(--beige-3); }
.hm-review__frame { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; overflow: hidden; border: 1px solid var(--sand); background: #fff; flex: none; }
.hm-review__frame--empty { border: 1.5px dashed var(--sand); background: var(--beige-2); }
.hm-review__avatar { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 50%; }
.hm-review__ph { width: 2.1rem; height: 2.1rem; color: var(--sand); }
.hm-review .stars, .stars { color: var(--sand); }
.hm-review__text { flex: 1; display: flex; align-items: flex-start; }
.hm-review__text p { font-size: .9rem; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink); }
.hm-review figcaption { margin-top: auto; padding-top: .7rem; border-top: 1px solid var(--beige-3); width: 100%; }

/* --- Chỉnh sau khi đổi sang Montserrat (chữ rộng hơn) --- */
.hm-hero__line { font-size: clamp(2.2rem, 6vw, 4.4rem); letter-spacing: .18em; padding-left: .18em; }
.hm-hero__line--sub { font-size: clamp(.72rem, 1.3vw, .95rem); letter-spacing: .34em; padding-left: .34em; white-space: nowrap; margin-top: 1em; }
.hm-hero__line--sub::before, .hm-hero__line--sub::after { width: 2em; margin: 0 .8em; }
@media (max-width: 640px) { .hm-hero__line--sub { letter-spacing: .22em; padding-left: .22em; font-size: .7rem; } .hm-hero__line--sub::before, .hm-hero__line--sub::after { width: 1em; margin: 0 .5em; } }
.header__inner { gap: 2rem; }
.nav { gap: 1.4rem; padding-inline: 1rem; }
.nav a { font-size: .66rem; letter-spacing: .14em; }
@media (min-width: 1025px) and (max-width: 1240px) { .nav { gap: 1rem; } .nav a { font-size: .62rem; letter-spacing: .1em; } .header .btn--sm { padding: .6em .9em; } .brand__wordimg { height: 20px; } }
.footer .footer__desc, .footer__bottom, .footer__disclaimer { color: rgba(255,255,255,.62); }
.footer__list a, .footer__list--links a { color: rgba(255,255,255,.9); }
.hm-band__text { color: rgba(255,255,255,.75); }
.hm-combo__inc, .hm-usp__text { font-size: .86rem; }
.topbar { font-size: .76rem; }
.hm-band__title, .pintro__title, .hm-hero__title, .hm-hero__line, .section--dark h2, .section--dark h3, .hm-exp__cap strong, .hm-gal__cap, .b2bform__sub, .venue__name { color: #fff; }

/* --- Khoảng cách gọn hơn giữa các mục + dòng kẻ gold làm điểm nhấn cho mỗi mục --- */
.hm-section, .section { padding-block: clamp(1.6rem, 3vw, 2.4rem); }
.hm-facts { padding-top: 2.6rem; padding-bottom: 1.2rem; }
.hm-head, .section__head { position: relative; padding-bottom: .9rem; margin-bottom: 1.3rem; }
.hm-head::after, .section__head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px;
  background: linear-gradient(90deg, #8d6f2e 0%, #c9a75a 18%, #efd99a 36%, #c9a75a 54%, #e6cf8c 70%, rgba(201,167,90,.25) 100%); }
.hm-head--center::after { background: linear-gradient(90deg, rgba(201,167,90,0) 0%, #c9a75a 25%, #efd99a 50%, #c9a75a 75%, rgba(201,167,90,0) 100%); }
.hm-head--center .section__title::after { display: none; }
.hm-head--center { padding-bottom: 1rem; }
.section__head--row { padding-bottom: .9rem; }
main > .pintro + .section > .container > .section__head { display: none; }
.hm-head .hm-link { margin-bottom: .1rem; }

/* --- Footer theo bố cục trang tham chiếu: thông tin resort · điều khoản · form ý kiến · sự kiện --- */
.footer__grid { grid-template-columns: 1.5fr 1fr 1.15fr 1fr; gap: 2.2rem; }
.footer__title--big { font-size: .9rem; letter-spacing: .14em; color: #fff; }
.footer__resort .footer__desc { margin: 0 0 .9rem; }
.footer__list span a { color: #fff; font-weight: 700; }
.footer__social { display: flex; gap: .6rem; margin-top: 1rem; flex-wrap: wrap; }
.footer__social a { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--sand-2); border: 1px solid rgba(214,201,168,.45); border-radius: 999px; padding: .4em .9em; }
.footer__social a:hover { background: var(--sand-2); color: var(--dark); border-color: var(--sand-2); }
.fform { display: flex; flex-direction: column; gap: .55rem; }
.fform__row { display: flex; gap: .5rem; }
.fform__row input { flex: 1; min-width: 0; }
.fform input, .fform textarea { width: 100%; padding: .65em .85em; border: 1px solid rgba(255,255,255,.18); border-radius: var(--radius-sm); background: rgba(255,255,255,.06); color: #fff; font-size: .86rem; font-weight: 500; }
.fform input::placeholder, .fform textarea::placeholder { color: rgba(255,255,255,.55); }
.fform input:focus, .fform textarea:focus { outline: none; border-color: var(--sand-2); background: rgba(255,255,255,.1); }
.fform textarea { resize: vertical; min-height: 60px; }
.fform .btn--gold { background: var(--sand-2); color: var(--dark); border-color: var(--sand-2); padding: .6em 1.1em; }
.fform .btn--gold:hover { background: #fff; border-color: #fff; }
.fform .form__msg { margin: 0; font-size: .82rem; }
.fform .form__msg.is-ok { color: var(--sand-2); }
.fform .form__msg.is-error { color: #f0b7a8; }
@media (max-width: 900px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer__grid { grid-template-columns: 1fr; } }

/* =========================================================
   THEME v6 (24/10/2026): font INTER đơn giản, rõ nét (thay Montserrat bị "dẹt");
   banner trang con nền be sạch (bỏ ảnh nền làm mờ chữ); bố cục mobile gọn.
   ========================================================= */
:root {
  --font-display: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-text: var(--font-body); --font-ui: var(--font-body);
}
body { font-size: 15.5px; line-height: 1.6; font-weight: 400; color: var(--ink); }
p, li, dd, .section__lead, .pintro__lead, .hm-combo__inc, .hm-usp__text, .faq__a, .pkg__inc, .thanks__text, .post__excerpt, .article__lead, .prose p, .prose li,
.hm-review__text p, .quote__lines, .quote__note, .paybox__hint, .paybox__qrnote, .thanks__tips, .steps span, .footer__desc { font-weight: 400; }
.hm-combo__inc, .hm-usp__text, .faq__a, .pkg__inc, .post__excerpt { color: var(--muted); }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -.005em; }
.section__title, .pintro__title, .hm-band__title, .thanks__title, .paybox__title, .b2bhero__title, .bchoice__title, .csheet__title, .popup__title, .prose h2, .b2bform__sub { letter-spacing: .05em; font-weight: 700; }
.section__title { font-size: clamp(1.1rem, 1.7vw, 1.4rem); }
.pintro__title { font-size: clamp(1.35rem, 2.4vw, 1.9rem); }
.hm-hero__line { font-weight: 700; letter-spacing: .16em; }
.hm-hero__line--sub { font-weight: 500; }
.nav a { font-weight: 600; letter-spacing: .12em; font-size: .68rem; }
.btn { font-weight: 600; letter-spacing: .02em; }
.btn--gold, .hm-book .btn.hm-book__btn, #bookingNext, .hm-combo .btn--sm, .payreport .btn { letter-spacing: .08em; }
.eyebrow, .eyebrow--light { font-weight: 600; letter-spacing: .2em; }
.field__label, .thanks__sub, .bform__legend, .footer__title, .hm-book__field span, .quote__head span, .bankinfo dt, .thanks__summary dt, .hm-facts__list span { font-weight: 600; }
.hm-combo__name, .pkg__name, .room__name, .post__title, .svc__name, .journey__name, .b2bpk__name, .venue__name, .itin__label, .hm-usp__title, .hm-room__body strong, .hm-exp__cap strong, .steps strong { font-weight: 600; }
.hm-combo__price, .pkg__now, .room__price strong, .quote__head strong, .paysum strong, .paypage__code, .thanks__code strong, .bankinfo__acc, .bankinfo__amt, .bankinfo__note, .bchoice__summary li.is-total span:last-child, .hm-facts__list strong { font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
strong, b { font-weight: 600; }
.footer__list a, .footer__list--links a { font-weight: 500; }
.footer__list span a { font-weight: 600; }

/* --- Banner trang con: nền be sạch, chữ tối, kẻ gold --- */
.pintro { background: var(--beige-2); color: var(--ink); border-bottom: 1px solid var(--beige-3); padding-block: clamp(1.8rem, 4vw, 3rem) clamp(1.6rem, 3.5vw, 2.4rem); overflow: visible; }
.pintro::before, .pintro__bg { display: none; }
.pintro__inner { max-width: 50rem; text-align: center; }
.pintro__title { color: var(--ink); margin-bottom: .6rem; }
.pintro__rule { display: block; width: 64px; height: 2px; margin: 0 auto 1rem; border-radius: 2px; background: linear-gradient(90deg, rgba(201,167,90,0), #c9a75a 30%, #efd99a 50%, #c9a75a 70%, rgba(201,167,90,0)); }
.pintro__lead { color: var(--muted); font-size: .95rem; margin: 0 auto 1.1rem; max-width: 42rem; }
.crumbs { color: var(--muted); margin-bottom: .8rem; letter-spacing: .14em; }
.crumbs a { color: var(--brass-600); } .crumbs span:last-child { color: var(--ink); }
.pintro .btn--primary { background: var(--dark); color: #fff; }

/* --- Banner trang con có khung ảnh động (chuyển mờ + phóng chậm) --- */
.pintro--split .pintro__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; max-width: var(--container); text-align: left; }
.pintro--split .pintro__text { max-width: 36rem; }
.pintro--split .crumbs { justify-content: flex-start; }
.pintro--split .pintro__rule { margin-left: 0; background: linear-gradient(90deg, #c9a75a, #efd99a 60%, rgba(201,167,90,0)); }
.pintro--split .pintro__lead { margin-left: 0; }
.pintro__media { position: relative; aspect-ratio: 3/2; border-radius: var(--radius); overflow: hidden; background: var(--beige-3); box-shadow: 0 24px 60px rgba(60,50,30,.18); }
.pintro__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.02); will-change: opacity, transform; animation: pintroKb 24s ease-in-out infinite; }
.pintro__media--n1 img { opacity: 1; animation: pintroZoom 24s ease-in-out infinite alternate; }
.pintro__media--n2 img { animation-duration: 12s; animation-name: pintroKb2; }
.pintro__media--n3 img { animation-duration: 18s; animation-name: pintroKb3; }
.pintro__media--n4 img { animation-duration: 24s; animation-name: pintroKb; }
.pintro__frame { position: absolute; inset: 10px; border: 1px solid rgba(239,217,154,.75); border-radius: calc(var(--radius) - 4px); pointer-events: none; }
.pintro__media::after { content: ''; position: absolute; inset: auto 0 0 0; height: 40%; background: linear-gradient(180deg, rgba(43,38,34,0), rgba(43,38,34,.28)); pointer-events: none; }
@keyframes pintroKb  { 0% { opacity: 0; transform: scale(1.02); } 4% { opacity: 1; } 25% { opacity: 1; transform: scale(1.1); } 30% { opacity: 0; transform: scale(1.11); } 100% { opacity: 0; } }
@keyframes pintroKb3 { 0% { opacity: 0; transform: scale(1.02); } 5% { opacity: 1; } 33% { opacity: 1; transform: scale(1.1); } 39% { opacity: 0; transform: scale(1.11); } 100% { opacity: 0; } }
@keyframes pintroKb2 { 0% { opacity: 0; transform: scale(1.02); } 8% { opacity: 1; } 50% { opacity: 1; transform: scale(1.1); } 58% { opacity: 0; transform: scale(1.11); } 100% { opacity: 0; } }
@keyframes pintroZoom { from { transform: scale(1); } to { transform: scale(1.1); } }
@media (prefers-reduced-motion: reduce) { .pintro__media img { animation: none !important; opacity: 0; } .pintro__media img:first-child { opacity: 1; transform: none; } }
@media (max-width: 860px) {
  .pintro--split .pintro__inner { grid-template-columns: 1fr; gap: 1.1rem; }
  .pintro__media { order: -1; aspect-ratio: 16/9; box-shadow: 0 12px 30px rgba(60,50,30,.14); }
  .pintro--split .pintro__text { max-width: none; }
}

/* --- Mobile gọn --- */
@media (max-width: 760px) {
  body { font-size: 15px; }
  .hm-section, .section { padding-block: 1.5rem; }
  .hm-head, .section__head { margin-bottom: 1rem; padding-bottom: .7rem; }
  .section__title { font-size: 1.05rem; }
  .eyebrow { margin-bottom: .4rem; }
  .hm-hero { min-height: 0; }
  .hm-hero__inner { padding-top: 3rem; padding-bottom: 1.2rem; }
  .hm-hero__line { font-size: 2.2rem; }
  .hm-hero__line--sub { font-size: .68rem; letter-spacing: .22em; margin-top: .8em; }
  .hm-book { padding-bottom: 1rem; }
  .hm-book__field { padding: .6rem .9rem; }
  .hm-book__field span { font-size: .62rem; }
  .hm-book__field select, .hm-book__field input { font-size: .9rem; min-height: 24px; }
  .hm-book__btn { padding-block: .85em; }
  .hm-facts { padding-top: 1rem; padding-bottom: .6rem; }
  .hm-facts__list { gap: .6rem .4rem; }
  .hm-facts__list strong { font-size: 1.2rem; }
  .hm-facts__list span { font-size: .64rem; letter-spacing: .06em; }
  .hm-combos { gap: .9rem; }
  .hm-combo__img { aspect-ratio: 16/9; }
  .hm-combo__body { padding: .8rem .9rem .9rem; }
  .hm-combo__inc { -webkit-line-clamp: 2; min-height: 0; font-size: .84rem; }
  .hm-combo__price { font-size: 1.1rem; }
  .hm-usp__list { gap: 1rem .8rem; grid-template-columns: 1fr 1fr; }
  .hm-usp__icon { width: 44px; height: 44px; margin-bottom: .5rem; } .hm-usp__icon .ic { width: 1.1rem; height: 1.1rem; }
  .hm-usp__title { font-size: .86rem; } .hm-usp__text { font-size: .8rem; }
  .hm-room { flex-basis: 220px; }
  .hm-exp { gap: .7rem; } .hm-exp__tile { aspect-ratio: 16/9; }
  .hm-exp__cap { padding: 2.2rem .9rem .9rem; } .hm-exp__cap strong { font-size: 1rem; } .hm-exp__cap span { font-size: .78rem; }
  .hm-gal__grid { grid-auto-rows: 120px; gap: .5rem; }
  .hm-reviews { gap: .9rem; }
  .hm-review { padding: 1.1rem 1rem 1rem; gap: .5rem; }
  .hm-review__frame { width: 64px; height: 64px; }
  .hm-review__text p { font-size: .86rem; -webkit-line-clamp: 4; }
  .hm-band { padding-block: 1.3rem; }
  .hm-band__inner { gap: 1rem; }
  .booking__grid { gap: 1.2rem; }
  .home .booking .steps { display: none; }
  .booking .section__lead { margin-bottom: .8rem; }
  .bform { padding: 1rem; gap: .8rem; }
  .bform__group { gap: .6rem; }
  .bform__group + .bform__group { padding-top: .8rem; }
  .field input, .field select, .field textarea { min-height: 42px; padding: .55em .75em; }
  .bchoice { padding: .9rem; }
  .bchoice__opt { padding: .9rem; }
  .pintro { padding-block: 1.4rem 1.2rem; }
  .pintro__title { font-size: 1.2rem; }
  .pintro__lead { font-size: .88rem; }
  .footer { padding-top: 1.6rem; font-size: .86rem; }
  .footer__grid { gap: 1.3rem; }
  .footer__title { margin-bottom: .6rem; }
  .footer__list { gap: .4rem; }
  .footer__bottom { margin-top: 1.1rem; font-size: .72rem; }
  .thanks__top { margin-bottom: 1rem; }
  .paybox { padding: 1rem; }
  .paybox__qrimg { max-width: 240px; }
  .topbar__inner { min-height: 30px; }
  .topbar__call strong { font-size: .78rem; }
}

/* --- Admin --- */
body.is-admin { font-family: var(--font-body); font-weight: 400; }
