.vnstay-site {
  --color-surface:#fff; --color-soft:#f5f5f7; --color-ink:#343e44; --color-muted:#5f5f5f;
  --color-line:#d2d2d7; --color-primary:#00abb8; --color-navy:#0a2250; --color-link:#21417a;
  --font-brand:Roboto,Arial,sans-serif;
  margin:0; background:var(--color-surface); color:var(--color-ink); font:400 17px/1.5 var(--font-brand);
  -webkit-font-smoothing:antialiased; overflow-wrap:break-word;
}
.vnstay-site *, .vnstay-site *::before, .vnstay-site *::after { box-sizing:border-box; }
.vnstay-site [hidden] { display:none !important; }
.vnstay-site a { color:var(--color-link); text-decoration:none; }
.vnstay-site a:hover { color:var(--color-navy); text-decoration:underline; }
.vnstay-site button, .vnstay-site input, .vnstay-site select, .vnstay-site textarea { font:inherit; }
.vnstay-site button { cursor:pointer; text-transform:none; letter-spacing:0; }
.vnstay-site img { display:block; max-width:100%; height:auto; }
.vnstay-site h1,.vnstay-site h2,.vnstay-site h3,.vnstay-site h4 { color:var(--color-ink); font-family:var(--font-brand); font-weight:700; margin:0; text-transform:none; }
.vnstay-site h1 { font-size:clamp(2rem,3.2vw,2.75rem); line-height:1.2; letter-spacing:-.025em; }
.vnstay-site h2 { font-size:clamp(1.75rem,2.5vw,2.125rem); line-height:1.25; letter-spacing:-.02em; }
.vnstay-site h3 { font-size:22px; line-height:1.35; letter-spacing:-.015em; }
.vnstay-site p { margin:0; }
.vnstay-site :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--color-link); outline-offset:4px; }
.vnstay-site .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.vnstay-container { width:calc(100% - 160px); max-width:1280px; margin-inline:auto; }
.vnstay-main { display:block; min-height:55vh; background:var(--color-surface); }
.vnstay-section { padding-block:68px; }
.vnstay-eyebrow { color:var(--color-muted); font-size:14px; line-height:18px; font-weight:500; }
.vnstay-site .vnstay-button {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 24px;
  margin:0; border:1px solid var(--color-primary); border-radius:28px; background:var(--color-primary);
  color:var(--color-navy); font:700 17px/22px var(--font-brand); text-decoration:none; box-shadow:none; text-align:center;
}
.vnstay-site .vnstay-button:hover { background:#00bdca; border-color:#00bdca; color:var(--color-navy); text-decoration:none; }
.vnstay-site .vnstay-button--secondary { background:transparent; color:var(--color-ink); border-color:var(--color-line); font-weight:500; }
.vnstay-site .vnstay-button--secondary:hover { background:var(--color-soft); border-color:var(--color-ink); }
.vnstay-property-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.vnstay-image-placeholder { display:flex; min-height:220px; align-items:center; justify-content:center; background:#f1f1f3; border-radius:20px; color:var(--color-muted); font-size:15px; padding:24px; text-align:center; }
.vnstay-header { border-bottom:1px solid #e8e8ed; background:var(--color-surface); position:relative; z-index:30; }
.vnstay-header__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:80px; }
.vnstay-logo { flex:0 0 146px; }
.vnstay-logo img { width:146px; height:62px; object-fit:contain; }
.vnstay-navigation { display:flex; align-items:center; gap:36px; }
.vnstay-site .vnstay-navigation a { color:var(--color-ink); font-size:15px; line-height:18px; }
.vnstay-site .vnstay-header__contact { min-height:44px; padding:10px 22px; font-size:15px; line-height:22px; white-space:nowrap; }
.vnstay-menu-toggle { display:none; }
.vnstay-skip-link { position:fixed; left:16px; top:-100px; z-index:100; padding:12px 20px; background:#fff; border:2px solid var(--color-link); }
.vnstay-skip-link:focus { top:16px; }
.vnstay-footer { border-top:1px solid var(--color-line); margin-top:44px; padding-block:52px 24px; background:var(--color-soft); }
.vnstay-footer__inner { display:flex; flex-direction:column; gap:36px; font-size:16px; line-height:20px; color:var(--color-ink); }
.vnstay-footer__columns { display:grid; grid-template-columns:minmax(250px,350px) minmax(150px,1fr) minmax(180px,1fr) minmax(190px,1fr); gap:48px; }
.vnstay-footer__columns > * { min-width:0; }
.vnstay-footer__identity { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.vnstay-site .vnstay-footer a { color:inherit; }
.vnstay-site .vnstay-footer__brand { color:var(--color-link); font-size:30px; font-weight:700; line-height:36px; }
.vnstay-footer__slogan { font-size:18px; font-weight:700; line-height:24px; }
.vnstay-footer address { font-style:normal; margin:0; line-height:24px; }
.vnstay-site .vnstay-footer__directions { color:var(--color-link); }
.vnstay-footer__phone { font-size:22px; font-weight:700; line-height:28px; }
.vnstay-site .vnstay-footer h2 { margin:0 0 24px; font-size:18px; line-height:22px; letter-spacing:0; }
.vnstay-footer ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.vnstay-footer li { margin:0; padding:0; }
.vnstay-footer__bottom { display:flex; justify-content:space-between; gap:24px; border-top:1px solid var(--color-line); padding-top:22px; color:var(--color-muted); font-size:14px; line-height:18px; }
/* The shared GET search retains its combobox while adopting the Paper shell. */
.vnstay-site form.vnstay-property-search { position:relative; }
.vnstay-site .vnstay-search-form { border-radius:24px; }
.vnstay-site .vnstay-rental-filters { font-family:var(--font-brand); }
@media (max-width:1200px) {
  .vnstay-container { width:calc(100% - 80px); }
  .vnstay-navigation { gap:20px; }
  .vnstay-footer__columns { gap:32px; grid-template-columns:minmax(220px,1.4fr) 1fr 1fr; }
  .vnstay-footer__cities { grid-column:2 / -1; }
  .vnstay-header__inner { gap:20px; }
}
@media (max-width:1000px) {
  .vnstay-container { width:calc(100% - 48px); }
  .vnstay-header__inner { min-height:68px; flex-wrap:wrap; gap:0 24px; }
  .vnstay-header__contact { display:none !important; }
  .vnstay-menu-toggle { display:flex; align-items:center; gap:10px; min-height:44px; padding:0; margin:0; background:transparent; border:0; color:var(--color-ink); font-size:15px !important; }
  .vnstay-navigation { width:100%; flex-direction:column; align-items:stretch; gap:0; padding:12px 0 20px; }
  .vnstay-navigation a { display:flex; align-items:center; min-height:48px; }
  .vnstay-property-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .vnstay-footer__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .vnstay-footer__cities { grid-column:auto; }
}
@media (max-width:600px) {
  .vnstay-site h1 { font-size:32px; line-height:1.25; letter-spacing:-.02em; }
  .vnstay-site h2 { font-size:28px; line-height:1.3; }
  .vnstay-site h3 { font-size:22px; }
  .vnstay-section { padding-block:44px; }
  .vnstay-property-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .vnstay-footer { padding-block:32px 24px; margin-top:0; }
  .vnstay-footer__inner { gap:24px; }
  .vnstay-footer__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .vnstay-footer__identity { grid-column:1 / -1; padding-bottom:0; }
  .vnstay-site .vnstay-footer__brand { font-size:28px; line-height:34px; }
  .vnstay-footer__slogan { font-size:16px; line-height:20px; }
  .vnstay-footer__company, .vnstay-footer__rentals, .vnstay-footer__cities { padding-top:24px; border-top:1px solid var(--color-line); }
  .vnstay-site .vnstay-footer h2 { font-size:16px; line-height:20px; margin-bottom:16px; }
  .vnstay-footer ul { gap:8px; }
  .vnstay-footer li a { display:inline-flex; align-items:center; min-height:36px; }
  .vnstay-footer__cities { grid-column:1 / -1; }
  .vnstay-footer__bottom { flex-direction:column; gap:16px; padding-top:24px; }

}
@media (prefers-reduced-motion:reduce) { .vnstay-site *, .vnstay-site *::before, .vnstay-site *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
