:root{--teal:#075e5a;--teal2:#0d7e76;--deep:#063e43;--mint:#e9f7f4;--gold:#d99a43;--ink:#102b36;--muted:#6f7e8c;--line:#d8e8e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:#fff}.container{width:min(1518px,calc(100% - 72px));margin:auto}.header{height:68px;background:#fff;border-bottom:1px solid #edf3f2;position:sticky;top:0;z-index:50}.nav{height:100%;display:flex;align-items:center}.brand{width:220px;margin-right:auto}.brand img{width:170px;height:58px;object-fit:contain}.nav nav{display:flex;gap:34px;align-items:center}.nav a{font-size:13px;font-weight:700;color:#14353d;text-decoration:none;white-space:nowrap}.nav-actions{display:flex;align-items:center;gap:15px;margin-left:42px;font-size:13px}.nav-actions span{display:flex;align-items:center;gap:6px;white-space:nowrap}.nav-actions svg{width:18px;height:18px;fill:none;stroke:var(--teal);stroke-width:1.8}.btn{height:34px;padding:0 18px;border-radius:8px;font-weight:700;font-size:12px}.login{background:#fff;border:1px solid #7baea9;color:var(--deep)}.signup{border:1px solid var(--teal);background:var(--teal);color:#fff}.hero{height:448px;position:relative;overflow:hidden;background:linear-gradient(115deg,#fff 0%,#f6fcfb 53%,#eef8f6 100%)}.blob{position:absolute;border-radius:50%;background:#d7efeb}.blob-a{width:330px;height:330px;left:-225px;bottom:-85px}.blob-b{width:220px;height:220px;right:-120px;top:60px;background:#f4e8d5}.hero-grid{display:grid;grid-template-columns:58% 42%;height:100%;position:relative;z-index:2}.hero-copy{padding-top:51px}.eyebrow{font-size:14px;letter-spacing:.045em;font-weight:800;color:var(--teal);margin-bottom:9px}.hero h1{margin:0;color:var(--deep);font-size:63px;line-height:1;letter-spacing:-2.8px}.hero h1 span{color:var(--gold)}.hero-copy>p{font-size:18px;line-height:1.45;color:var(--muted);margin:17px 0 24px}.searchbox{width:890px;max-width:100%;height:74px;background:#fff;border-radius:18px;padding:9px;display:grid;grid-template-columns:1.25fr 1.16fr .72fr 166px;box-shadow:0 13px 35px rgba(12,78,74,.12)}.search-field{display:flex;align-items:center;gap:13px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;padding:0 17px;color:var(--ink)}.search-field svg{width:27px;height:27px;fill:none;stroke:var(--teal);stroke-width:1.9;flex:none}.search-field span{display:flex;flex-direction:column;gap:5px}.search-field b{font-size:13px}.search-field small{font-size:11px;color:var(--muted);white-space:nowrap}.find{border:0;border-radius:12px;background:linear-gradient(135deg,#0c8379,#075e5a);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:800;font-size:15px;transition:.2s}.find:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(7,94,90,.22)}.find svg{width:22px;height:22px;fill:none;stroke:white;stroke-width:2}.ai-actions{display:flex;gap:15px;margin-top:20px}.ai-btn{height:64px;border-radius:32px;border:1px solid #b9deda;background:rgba(255,255,255,.74);padding:0 27px;display:flex;align-items:center;gap:14px;color:var(--deep);transition:.25s}.ai-btn:hover{background:#fff;transform:translateY(-3px);box-shadow:0 10px 25px rgba(10,90,84,.11)}.ai-btn svg{width:29px;height:29px;fill:none;stroke:var(--teal);stroke-width:1.8}.ai-btn span{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.ai-btn b{font-size:14px}.ai-btn small{font-size:11px;color:#55747a}.hero-art{position:relative;height:100%;display:flex;align-items:flex-start;justify-content:flex-end}.hero-art img{height:100%;width:auto;max-width:none;object-fit:contain;transform:translateX(35px);filter:drop-shadow(0 12px 25px rgba(7,72,68,.07));animation:float 5s ease-in-out infinite}.hero-art .glow{position:absolute;width:280px;height:280px;border-radius:50%;background:#c9eee7;filter:blur(45px);opacity:.26;right:180px;top:95px;z-index:-1}@keyframes float{0%,100%{transform:translate(35px,0)}50%{transform:translate(35px,-8px)}}.popular{padding:18px 0 16px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}.section-title h2{margin:0;font-size:22px;color:var(--deep);display:flex;align-items:center;gap:9px}.section-title h2 svg{width:25px;height:25px;fill:none;stroke:var(--teal);stroke-width:1.9}.section-title p{margin:3px 0 0 36px;font-size:12px;color:var(--muted)}.link{border:0;background:none;color:var(--teal);font-weight:800;font-size:12px}.dest-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.destination{height:145px;border-radius:14px;overflow:hidden;position:relative;background:#ddd;cursor:pointer;transition:.25s}.destination:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(7,68,65,.16)}.destination img{width:100%;height:100%;object-fit:cover;transition:.35s}.destination:hover img{transform:scale(1.045)}.shade{position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(0,53,54,.92))}.dest-copy{position:absolute;left:14px;bottom:11px;color:#fff;z-index:2;display:flex;flex-direction:column}.dest-copy strong{font-size:17px}.dest-copy span{font-size:12px;margin-top:2px}.round{position:absolute;z-index:3;right:10px;bottom:12px;width:31px;height:31px;border-radius:50%;border:0;background:#fff;color:var(--teal);font-size:23px;line-height:1}.why{height:170px;margin:0 0 30px;border-radius:17px;background:linear-gradient(90deg,#f3fbfa,#eaf7f5);display:grid;grid-template-columns:1.42fr repeat(4,1fr);padding:23px 28px}.why-intro h2{margin:0 0 8px;font-size:23px}.why p{font-size:12px;line-height:1.45;color:var(--muted);margin:0}.outline{margin-top:14px;height:34px;padding:0 16px;border-radius:7px;border:1px solid #79aca7;background:#fff;color:var(--deep);font-weight:800}.feature{border-left:1px solid #cde3e0;padding-left:27px;display:flex;flex-direction:column;justify-content:center}.feature i{width:42px;height:42px;border-radius:50%;background:#ddf4ef;display:grid;place-items:center;margin-bottom:7px}.feature svg{width:27px;height:27px;fill:none;stroke:var(--teal);stroke-width:1.9}.feature b{font-size:15px;margin-bottom:7px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);background:var(--deep);color:#fff;padding:10px 17px;border-radius:999px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:99}.toast.show{opacity:1;transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(15px);transition:.65s ease}.reveal.in{opacity:1;transform:none}@media(max-width:1100px){.nav nav{display:none}.container{width:calc(100% - 32px)}.hero{height:auto;min-height:620px}.hero-grid{grid-template-columns:1fr}.hero-art{display:none}.hero-copy{padding-bottom:40px}.searchbox{grid-template-columns:1fr;height:auto}.search-field{height:60px;border-right:0;border-bottom:1px solid var(--line)}.find{height:54px}.dest-grid{grid-template-columns:repeat(3,1fr)}.why{height:auto;grid-template-columns:1fr 1fr;gap:20px}.feature{border-left:0}.nav-actions .lang,.nav-actions .favorite{display:none}}@media(max-width:650px){.header{height:62px}.brand{width:auto}.brand img{width:135px}.nav-actions{margin-left:auto}.signup{display:none}.hero h1{font-size:43px}.hero-copy>p{font-size:16px}.ai-actions{flex-direction:column}.dest-grid{grid-template-columns:1fr 1fr}.why{grid-template-columns:1fr}.feature{border-top:1px solid #cde3e0;padding:16px 0 0}}
/* ===== V4.1 visual refinement ===== */
.header{height:72px}
.brand{width:235px}
.brand img{width:188px;height:64px}
.hero{height:455px}
.hero-grid{grid-template-columns:59% 41%}
.hero-copy{padding-top:49px}
.hero-art{overflow:visible;justify-content:flex-end}
.hero-art img{
  position:absolute;right:-5px;top:0;height:100%;width:auto;
  transform:none;animation:heroFloat 5.5s ease-in-out infinite;
  filter:drop-shadow(0 14px 30px rgba(7,72,68,.08))
}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.searchbox{position:relative;z-index:8;width:900px}
.find{position:relative;z-index:9}
.hero-art:before{
 content:"";position:absolute;left:-95px;top:0;width:190px;height:100%;z-index:2;
 background:linear-gradient(90deg,#f7fcfb 10%,rgba(247,252,251,.82) 45%,rgba(247,252,251,0));
 pointer-events:none
}
.glow{animation:pulseGlow 4.8s ease-in-out infinite}
@keyframes pulseGlow{0%,100%{opacity:.18;transform:scale(.96)}50%{opacity:.32;transform:scale(1.06)}}
.orbit{position:absolute;color:#0d7e76;z-index:4;pointer-events:none;opacity:.38}
.o-one{left:8%;top:18%;font-size:22px;animation:twinkle 3.2s ease-in-out infinite}
.o-two{right:3%;top:15%;font-size:42px;animation:twinkle 4.1s ease-in-out infinite .6s}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.8) rotate(0)}50%{opacity:.65;transform:scale(1.12) rotate(18deg)}}
.destination img{height:100%;object-fit:cover}
.destination .shade{inset:48% 0 0;background:linear-gradient(transparent,rgba(0,52,52,.92))}
.destination:hover .round{transform:translateX(2px)}
.round{transition:.2s}
.why{height:184px;padding:26px 28px}
.why-intro h2{font-size:24px}
.feature i{transition:.25s}
.feature:hover i{transform:translateY(-3px) scale(1.05);background:#d2f0e9}
.feature:hover b{color:var(--teal)}
.nav a{position:relative}
.nav nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--teal);transition:.25s}
.nav nav a:hover:after{right:0}
.btn,.outline,.link{transition:.22s}
.login:hover,.outline:hover{border-color:var(--teal);background:#f0faf8}
.signup:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(7,94,90,.18)}
@media(max-width:1100px){
 .hero-art:before{display:none}.brand img{width:158px}.header{height:66px}
 .hero{height:auto}.hero-grid{grid-template-columns:1fr}
}

/* ===== V4.2 layered hero ===== */
.hero-grid{grid-template-columns:59% 41%}
.hero-art.layered{position:relative;overflow:visible}
.hero-art.layered:before{display:none}
.phone-scene{
 position:absolute!important;right:115px!important;top:3px!important;height:445px!important;width:auto!important;
 object-fit:contain;z-index:3;filter:drop-shadow(0 17px 28px rgba(8,67,64,.12))!important;
 animation:phoneFloat 5.4s ease-in-out infinite!important
}
@keyframes phoneFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-.35deg)}}
.hero-script{position:absolute;z-index:2;left:6px;top:78px;color:#0a706a;font-family:"Segoe Script","Brush Script MT",cursive;font-size:23px;line-height:1.12;font-style:italic;transform:rotate(-7deg);opacity:.86}
.hero-script span{margin-left:17px}
.shape{position:absolute;z-index:0;pointer-events:none}
.shape.arch{width:180px;height:290px;border-radius:90px 90px 0 0;background:#d8efea;right:30px;bottom:0;opacity:.68}
.shape.circle{width:175px;height:175px;border-radius:50%;background:#f4e5cc;right:-110px;top:55px;opacity:.9}
.ai-badges{position:absolute;right:-6px;top:73px;z-index:8;width:188px;display:flex;flex-direction:column;gap:11px}
.ai-badge{min-height:56px;background:rgba(255,255,255,.96);border:1px solid rgba(225,236,234,.9);border-radius:13px;box-shadow:0 9px 24px rgba(8,70,67,.10);display:flex;align-items:center;gap:11px;padding:9px 14px;color:#12383f;font-size:12px;font-weight:800;line-height:1.18;transition:.25s;backdrop-filter:blur(7px)}
.ai-badge i{font-style:normal;width:29px;height:29px;border-radius:8px;background:#e2f4f0;color:#08746d;display:grid;place-items:center;font-size:18px;flex:none}
.ai-badge:hover{transform:translateX(-5px);box-shadow:0 13px 30px rgba(8,70,67,.16)}
.b1{animation:badgeFloat 4.5s ease-in-out infinite}.b2{animation:badgeFloat 4.8s ease-in-out infinite .4s}.b3{animation:badgeFloat 5.1s ease-in-out infinite .8s}.b4{animation:badgeFloat 4.7s ease-in-out infinite 1.1s}
@keyframes badgeFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
.hero-art .glow{right:150px;top:105px;z-index:1}
.popular{padding-top:14px}
.why{box-shadow:inset 0 0 0 1px rgba(200,228,223,.22)}
.feature b{font-weight:800;color:#11343b}
.feature p{color:#657b80}
@media(max-width:1250px){.ai-badges{right:-15px}.phone-scene{right:92px!important}.hero-script{left:-12px}}
@media(max-width:1100px){.hero-art.layered{display:none}}

/* ===== V4.3 public portal ===== */
html{scroll-padding-top:86px}.auth-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.public-section{margin:26px 0;padding:48px 52px;border:1px solid #e0eeeb;border-radius:24px;background:linear-gradient(135deg,#fff,#f1faf8)}
.public-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}.section-kicker{font-size:12px;letter-spacing:.12em;color:var(--teal);font-weight:900;margin-bottom:10px}.public-section h2{font-size:30px;line-height:1.15;color:var(--deep);margin:0 0 14px}.public-section p{font-size:15px;line-height:1.65;color:var(--muted);max-width:760px}.public-actions{display:flex;gap:12px;margin-top:22px}.primary-link,.secondary-link{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:10px;text-decoration:none;font-weight:800;font-size:13px}.primary-link{background:var(--teal);color:white}.secondary-link{border:1px solid #8ebbb6;color:var(--deep);background:white}.info-card{background:#fff;border:1px solid #dbeae7;border-radius:18px;padding:26px 28px;box-shadow:0 12px 35px rgba(9,75,70,.07)}.info-card strong{font-size:18px}.info-card ol{padding-left:21px;color:#48666c;line-height:1.9;font-size:14px}.info-card .note{font-size:12px;margin-bottom:0}.partner-section{background:linear-gradient(135deg,#f8f5ff,#f0faf8)}.store-row{display:flex;gap:12px;margin-top:20px}.store{height:58px;min-width:176px;border:0;border-radius:11px;background:#102b36;color:#fff;display:flex;align-items:center;justify-content:center;gap:11px;text-align:left}.store-icon{font-size:25px}.store span{display:flex;flex-direction:column}.store small{font-size:9px;letter-spacing:.08em}.store b{font-size:17px}.disabled-store{opacity:.88;cursor:default}.store-note{font-size:11px!important;margin-top:8px}.about{text-align:center;background:linear-gradient(135deg,#eaf7f4,#f8f2e7)}.about p{margin:0 auto}.support-modal{position:fixed;inset:0;z-index:1000;display:none}.support-modal.open{display:block}.support-backdrop{position:absolute;inset:0;background:rgba(5,34,38,.42);backdrop-filter:blur(4px)}.support-panel{position:absolute;right:24px;top:24px;bottom:24px;width:min(520px,calc(100% - 32px));background:white;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.24);animation:supportIn .28s ease}.support-panel header{height:68px;padding:0 18px 0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4efed}.support-panel header div{display:flex;flex-direction:column}.support-panel header b{color:var(--teal);font-size:17px}.support-panel header small{color:#71858a;margin-top:3px}.support-close{width:36px;height:36px;border:0;border-radius:50%;background:#eef7f5;color:var(--deep);font-size:26px}.support-frame-wrap{position:absolute;top:68px;bottom:0;left:0;right:0}.support-frame-wrap iframe{width:100%;height:100%;border:0;background:#fff}.support-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#f8fcfb;color:var(--deep);pointer-events:none}.support-loading span{font-size:12px;color:var(--muted)}@keyframes supportIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}body.support-open{overflow:hidden}
@media(max-width:800px){.public-section{padding:32px 22px}.public-grid{grid-template-columns:1fr;gap:24px}.store-row,.public-actions{flex-direction:column;align-items:flex-start}.support-panel{inset:10px;width:auto}.public-section h2{font-size:25px}}


/* ===== V4.4 DESKTOP BALANCED — browser 100% ===== */
@media (min-width:1280px){
 .container{width:min(1510px,calc(100% - 96px))}
 .header{height:66px}.brand{width:218px}.brand img{width:166px;height:57px}
 .nav nav{gap:30px}.nav a{font-size:12px}.nav-actions{gap:13px;margin-left:34px;font-size:12px}
 .btn{height:32px;padding:0 17px;font-size:11.5px}
 .hero{height:408px}.hero-copy{padding-top:43px}.eyebrow{font-size:12.5px;margin-bottom:8px}
 .hero h1{font-size:56px;letter-spacing:-2.4px}.hero-copy>p{font-size:16px;line-height:1.42;margin:15px 0 21px}
 .searchbox{width:820px;height:66px;border-radius:16px;padding:8px;grid-template-columns:1.25fr 1.16fr .72fr 152px}
 .search-field{gap:11px;padding:0 15px}.search-field svg{width:24px;height:24px}
 .search-field b{font-size:12px}.search-field small{font-size:10px}.find{font-size:13.5px}.find svg{width:19px;height:19px}
 .ai-actions{gap:13px;margin-top:17px}.ai-btn{height:56px;padding:0 23px;gap:12px}
 .ai-btn svg{width:25px;height:25px}.ai-btn b{font-size:12.5px}.ai-btn small{font-size:10px}
 .phone-scene{right:112px!important;top:2px!important;height:400px!important}
 .hero-script{left:12px;top:68px;font-size:20px}.ai-badges{right:0;top:62px;width:172px;gap:9px}
 .ai-badge{min-height:50px;border-radius:12px;gap:9px;padding:8px 12px;font-size:11px}
 .ai-badge i{width:26px;height:26px;font-size:16px}.shape.arch{width:165px;height:260px}.shape.circle{width:158px;height:158px}
 .popular{padding:13px 0 14px}.section-title{margin-bottom:11px}.section-title h2{font-size:20px}
 .section-title h2 svg{width:22px;height:22px}.section-title p{font-size:11px;margin-left:32px}
 .destination{height:132px}.dest-copy strong{font-size:15px}.dest-copy span{font-size:10.5px}.round{width:29px;height:29px}
 .why{height:158px;padding:21px 25px;margin-bottom:25px}.why-intro h2{font-size:21px}
 .why p{font-size:11px}.outline{height:31px;margin-top:12px;font-size:11px}.feature{padding-left:24px}
 .feature i{width:38px;height:38px}.feature svg{width:24px;height:24px}.feature b{font-size:13.5px}
 .public-section{margin:23px 0;padding:42px 47px}.public-section h2{font-size:27px}.public-section p{font-size:14px}
}
@media (min-width:1720px){.container{width:min(1540px,calc(100% - 120px))}}

/* V4.4.1: artwork phone đã có chữ viết tay; không render lớp HTML trùng */
.hero-script{display:none!important}


/* =========================================================
   V4.4.4 — COMPACT STAY AI PANEL
   Desktop: trợ lý nhỏ gọn, vẫn giữ nguyên UI bên trong iframe.
   Mobile/tablet nhỏ: trở lại gần full-screen để dễ sử dụng.
   ========================================================= */
@media (min-width: 769px) {
  .ai-panel,
  .support-panel,
  .chat-panel,
  .ai-modal-panel {
    width: 480px !important;
    max-width: calc(100vw - 48px) !important;
    height: min(740px, calc(100vh - 72px)) !important;
    max-height: calc(100vh - 72px) !important;
    top: 36px !important;
    right: 24px !important;
    bottom: auto !important;
    border-radius: 22px !important;
  }
}

/* Exact selectors used by the current MySTAY modal */
@media (min-width: 769px) {
  #aiPanel,
  #supportPanel {
    width: 480px !important;
    max-width: calc(100vw - 48px) !important;
    height: min(740px, calc(100vh - 72px)) !important;
    max-height: calc(100vh - 72px) !important;
    top: 36px !important;
    right: 24px !important;
    bottom: auto !important;
  }
}

@media (max-width: 768px) {
  .ai-panel,
  .support-panel,
  .chat-panel,
  .ai-modal-panel,
  #aiPanel,
  #supportPanel {
    width: calc(100vw - 16px) !important;
    max-width: none !important;
    height: calc(100dvh - 16px) !important;
    max-height: none !important;
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    border-radius: 18px !important;
  }
}


/* =========================================================
   V4.5 — FREE ECOSYSTEM BRAND MESSAGE
   ========================================================= */
.hero-free{color:#0e5e5a;font-weight:800}
.free-ecosystem{
  margin:18px 0 6px;
  padding:20px 24px;
  border:1px solid rgba(14,94,90,.13);
  border-radius:18px;
  background:linear-gradient(100deg,#f4fbfa 0%,#fffaf1 100%);
  display:grid;
  grid-template-columns:72px 1fr auto;
  align-items:center;
  gap:20px;
}
.free-mark{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#0e5e5a;color:#fff;font-size:27px;font-weight:850;
  box-shadow:0 8px 24px rgba(14,94,90,.14)
}
.free-mark span{font-size:15px;margin-left:2px}
.free-copy .section-kicker{margin-bottom:4px}
.free-copy h2{font-size:20px;line-height:1.18;margin:0 0 5px;color:#102d30}
.free-copy p{margin:0;color:#60747a;font-size:11.5px}
.free-points{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:750;color:#0e5e5a;white-space:nowrap}
.ecosystem-why .why-intro h2{max-width:300px}
.free-promise{
  display:flex;flex-wrap:wrap;gap:8px 16px;
  margin:16px 0 4px;padding:12px 15px;border-radius:12px;
  background:#eef9f7;color:#0e5e5a;font-size:13px
}
.free-promise span{color:#516b70}
.final-cta{
  margin:24px 0 54px;padding:30px 34px;border-radius:20px;
  background:linear-gradient(105deg,#0e5e5a 0%,#147a73 72%,#248f85 100%);
  color:white;display:flex;align-items:center;justify-content:space-between;gap:28px
}
.final-cta .section-kicker{color:#bdebe5}
.final-cta h2{font-size:29px;margin:5px 0 6px}
.final-cta p{margin:0;color:rgba(255,255,255,.8);font-size:13px}
.final-actions{display:flex;gap:10px;flex-shrink:0}
.final-cta .primary-link,.final-cta .secondary-link{border-radius:10px;padding:11px 18px;font-weight:800;text-decoration:none;font-size:12px}
.final-cta .primary-link{background:#fff;color:#0e5e5a;border:0;cursor:pointer}
.final-cta .secondary-link{border:1px solid rgba(255,255,255,.55);color:#fff;background:transparent}

@media(max-width:900px){
 .free-ecosystem{grid-template-columns:58px 1fr}
 .free-mark{width:54px;height:54px;font-size:23px}
 .free-points{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;white-space:normal}
 .final-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
 .free-ecosystem{grid-template-columns:1fr;padding:18px}
 .free-mark{width:50px;height:50px}
 .free-points{display:flex}
 .final-actions{width:100%;flex-direction:column}
 .final-cta .primary-link,.final-cta .secondary-link{text-align:center}
}


/* =========================================================
   V4.5.2 — MOBILE UX HARDENING
   Mobile-first override: loại bỏ fixed heights / overlap.
   ========================================================= */
@media (max-width: 650px) {
  html,body{max-width:100%;overflow-x:hidden}
  .container{width:calc(100% - 28px)!important}

  /* Header */
  .header{height:58px!important}
  .nav{min-width:0}
  .brand{width:auto!important;min-width:0;margin-right:auto}
  .brand img{width:122px!important;height:46px!important}
  .nav nav,.nav-actions .lang,.nav-actions .favorite{display:none!important}
  .nav-actions{margin-left:10px!important;gap:0!important;flex:0 0 auto}
  .nav-actions .login{height:32px;padding:0 12px;font-size:11px;border-radius:8px}

  /* Hero: text/search only; artwork hidden on mobile */
  .hero{height:auto!important;min-height:0!important;overflow:hidden;padding:0 0 24px}
  .hero-grid{display:block!important;height:auto!important}
  .hero-copy{padding:28px 0 0!important}
  .hero-art,.hero-art.layered{display:none!important}
  .eyebrow{font-size:10px!important;line-height:1.35;letter-spacing:.07em;margin-bottom:9px}
  .hero h1{font-size:39px!important;line-height:1.02;letter-spacing:-1.7px!important}
  .hero-copy>p{font-size:14px!important;line-height:1.5;margin:12px 0 18px!important}

  .searchbox{
    width:100%!important;height:auto!important;display:flex!important;
    flex-direction:column;padding:7px!important;border-radius:15px!important;
    box-shadow:0 9px 25px rgba(12,78,74,.10)
  }
  .search-field{width:100%;height:54px!important;min-height:54px;padding:0 10px!important;border-right:0!important;border-bottom:1px solid var(--line)}
  .search-field svg{width:22px!important;height:22px!important}
  .search-field span{min-width:0}
  .search-field b{font-size:12px!important}
  .search-field small{font-size:10px!important;white-space:normal!important;overflow:hidden;text-overflow:ellipsis}
  .find{width:100%;height:48px!important;margin-top:6px;border-radius:10px!important;font-size:13px!important}

  .ai-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:12px!important}
  .ai-btn{width:100%;height:52px!important;padding:0 11px!important;border-radius:14px!important;gap:8px!important;min-width:0}
  .ai-btn svg{width:22px!important;height:22px!important;flex:0 0 auto}
  .ai-btn span{min-width:0}
  .ai-btn b{font-size:11px!important;white-space:nowrap}
  .ai-btn small{display:none}

  /* Free ecosystem */
  .free-ecosystem{margin:14px 0 4px!important;padding:16px!important;grid-template-columns:48px 1fr!important;gap:12px!important}
  .free-mark{width:46px!important;height:46px!important;font-size:21px!important}
  .free-copy .section-kicker{font-size:9px;line-height:1.35}
  .free-copy h2{font-size:16px!important;line-height:1.25}
  .free-copy p{font-size:11px!important;line-height:1.5}
  .free-points{grid-column:1/-1!important;display:flex!important;gap:7px!important;font-size:10.5px!important;white-space:normal!important}

  /* Destinations */
  .popular{padding:18px 0 12px!important}
  .section-title{align-items:flex-start;gap:10px}
  .section-title h2{font-size:18px!important}
  .section-title p{margin-left:31px!important;font-size:10.5px!important}
  .section-title .link{font-size:10px;white-space:nowrap;padding-top:4px}
  .dest-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .destination{height:122px!important;border-radius:12px!important}
  .dest-copy{left:11px!important;bottom:9px!important}
  .dest-copy strong{font-size:14px!important}
  .dest-copy span{font-size:9.5px!important}
  .round{width:27px!important;height:27px!important;right:8px!important;bottom:9px!important}

  /* Ecosystem: no fixed height; compact 2-column app cards */
  .why{height:auto!important;margin:8px 0 20px!important;padding:20px 16px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 12px!important;border-radius:15px!important}
  .why-intro{grid-column:1/-1;padding-bottom:14px}
  .why-intro h2{font-size:20px!important;line-height:1.2;max-width:none!important}
  .why-intro p br,.feature p br{display:none}
  .why p{font-size:10.5px!important}
  .outline{height:32px!important;margin-top:10px!important;font-size:10.5px!important}
  .feature{border-left:0!important;border-top:1px solid #cde3e0!important;padding:14px 2px 12px!important;min-width:0}
  .feature i{width:34px!important;height:34px!important;margin-bottom:6px}
  .feature svg{width:21px!important;height:21px!important}
  .feature b{font-size:12px!important;margin-bottom:5px}
  .feature p{font-size:10px!important;line-height:1.4}

  /* Long content sections */
  .public-section{margin:16px 0!important;padding:24px 18px!important;border-radius:18px!important}
  .public-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  .public-section h2{font-size:22px!important;line-height:1.18!important}
  .public-section p{font-size:13px!important;line-height:1.55!important}
  .free-promise{font-size:11.5px!important;margin:13px 0 0!important;padding:10px 12px!important}
  .public-actions,.store-row{width:100%;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important}
  .primary-link,.secondary-link{width:100%;height:42px!important;justify-content:center;text-align:center}
  .info-card{padding:19px 18px!important;border-radius:15px!important}
  .info-card strong{font-size:16px!important}
  .info-card ol{font-size:12px!important;line-height:1.7!important}
  .store{width:100%;min-width:0!important}
  .about{text-align:left!important}

  /* Final CTA */
  .final-cta{margin:16px 0 30px!important;padding:23px 18px!important;border-radius:18px!important;gap:18px!important}
  .final-cta h2{font-size:23px!important;line-height:1.18}
  .final-cta p{font-size:12px!important;line-height:1.5}
  .final-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important}
  .final-cta .primary-link,.final-cta .secondary-link{width:100%;justify-content:center}

  /* STAY AI modal: true mobile viewport, no panel collision */
  .support-modal.open{display:block}
  .support-backdrop{background:rgba(5,34,38,.25)}
  .support-panel{
    position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;
    max-width:none!important;max-height:none!important;border-radius:0!important;
  }
  .support-panel header{height:58px!important;padding:0 12px 0 16px!important}
  .support-panel header b{font-size:15px!important}
  .support-panel header small{font-size:10px!important}
  .support-close{width:34px!important;height:34px!important}
  .support-frame-wrap{top:58px!important}
}

@media (max-width: 380px) {
  .container{width:calc(100% - 22px)!important}
  .brand img{width:112px!important}
  .nav-actions .login{padding:0 10px}
  .hero h1{font-size:35px!important}
  .ai-actions{grid-template-columns:1fr!important}
  .dest-grid{grid-template-columns:1fr!important}
  .destination{height:145px!important}
  .why{grid-template-columns:1fr!important}
  .why-intro,.feature{grid-column:1/-1}
}



/* V4.5.4 — keep accommodation search secondary */
.find-secondary{
  background:#f4f8f7!important;
  color:#446466!important;
  border:1px solid #d8e5e3!important;
  box-shadow:none!important;
  font-weight:700!important;
}
.find-secondary:hover{background:#edf5f3!important;color:#0e5e5a!important}
@media(max-width:650px){
  .find-secondary{
    height:42px!important;
    margin-top:5px!important;
    background:#f7faf9!important;
    font-size:11.5px!important;
  }
}


/* =========================================================
   V4.5.6 — DESTINATION SHOWCASE
   Approved visual direction: clean, photographic, STAY teal.
   ========================================================= */
.destination-showcase{
  position:relative;
  margin:28px 0 30px;
  padding:34px 0 12px;
  overflow:hidden;
}
.destination-heading{text-align:center;padding:0 72px 22px}
.destination-kicker{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 15px;border-radius:999px;
  background:#eaf7f4;color:#315f60;
  font-size:10px;font-weight:800;letter-spacing:.055em
}
.destination-kicker svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.destination-heading h2{
  margin:12px 0 7px;color:#102d30;
  font-size:30px;line-height:1.08;letter-spacing:-.7px
}
.destination-heading p{margin:0;color:#65777d;font-size:12px;line-height:1.55}
.destination-controls{
  position:absolute;right:0;top:118px;
  display:flex;gap:8px;z-index:2
}
.destination-arrow{
  width:34px;height:34px;border-radius:50%;
  border:0;display:grid;place-items:center;cursor:pointer;
  font-size:18px;line-height:1
}
.destination-prev{background:#f1f4f4;color:#65777d}
.destination-next{background:#0e5e5a;color:#fff}
.destination-track{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(168px,1fr);
  grid-template-rows:1fr;
  gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;padding:2px 1px 8px
}
.destination-track::-webkit-scrollbar{display:none}
.destination-card{
  scroll-snap-align:start;background:#fff;
  border:1px solid #e3e9e8;border-radius:14px;
  overflow:hidden;min-width:0;
  box-shadow:0 3px 10px rgba(16,45,48,.035)
}
.destination-card img{
  display:block;width:100%;height:190px;
  object-fit:cover
}
.destination-card-body{padding:10px 10px 11px}
.destination-card h3{margin:0 0 3px;color:#102d30;font-size:14px;line-height:1.15}
.destination-card p{
  margin:0 0 10px;color:#718086;font-size:9.5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.destination-tag{
  display:flex;align-items:center;justify-content:center;
  min-height:32px;border-radius:10px;background:#eaf7f4;
  color:#174e50;font-size:9.5px;font-weight:750
}
.destination-more{text-align:center;padding-top:15px}
.destination-more button{
  height:38px;padding:0 28px;border:1px solid #315f60;
  border-radius:999px;background:#fff;color:#234e50;
  font-size:10.5px;font-weight:700;cursor:pointer
}

@media(min-width:1100px){
  .destination-track{grid-auto-columns:calc((100% - 60px)/7)}
}
@media(max-width:900px){
  .destination-heading{padding-left:50px;padding-right:50px}
  .destination-track{grid-auto-columns:calc((100% - 20px)/3)}
  .destination-card img{height:180px}
}
@media(max-width:650px){
  .destination-showcase{margin:16px 0 22px!important;padding:24px 0 4px!important}
  .destination-heading{padding:0 8px 18px!important}
  .destination-kicker{font-size:8.5px;padding:7px 11px}
  .destination-heading h2{font-size:24px!important;margin-top:10px}
  .destination-heading p{font-size:11px!important}
  .destination-heading p br{display:none}
  .destination-controls{position:static;justify-content:flex-end;margin:0 0 9px}
  .destination-arrow{width:32px;height:32px}
  .destination-track{
    grid-auto-columns:78%;
    gap:10px;padding-right:18px
  }
  .destination-card img{height:205px}
  .destination-card-body{padding:11px}
  .destination-card h3{font-size:15px}
  .destination-card p{font-size:10px}
  .destination-tag{font-size:10px;min-height:34px}
  .destination-more{padding-top:12px}
}
@media(max-width:380px){
  .destination-track{grid-auto-columns:84%}
  .destination-card img{height:190px}
}


/* =========================================================
   V4.5.7 — DESTINATION IMAGE FRAMING FIX
   Preserve card ratio while showing each destination more completely.
   ========================================================= */
.destination-card img.destination-photo{
  width:100%;
  height:190px;
  object-fit:cover;
  object-position:center center;
  background:#eef4f3;
}
/* Existing source images have different crops; tune focal points individually. */
.destination-photo-hue{object-position:center 54%!important}
.destination-photo-danang{object-position:center 48%!important}
.destination-photo-nha-trang{object-position:center 45%!important}
.destination-photo-da-lat{object-position:center 48%!important}
.destination-photo-ha-noi{object-position:center 50%!important}
.destination-photo-phu-quoc{object-position:center 46%!important}
.destination-photo-hcm{object-position:center 50%!important}

@media(max-width:650px){
  .destination-card img.destination-photo{
    height:210px!important;
    object-fit:cover!important;
  }
}


/* =========================================================
   V4.5.9 — DESTINATION FILLED CARDS
   "Full" = ảnh phủ kín vùng ảnh của card, không tạo khoảng trắng.
   ========================================================= */
.destination-card{
  background:#fff!important;
}
.destination-card img.destination-photo{
  display:block!important;
  width:100%!important;
  height:190px!important;
  object-fit:cover!important;
  background:transparent!important;
}
/* Focal point theo từng ảnh để crop tự nhiên hơn */
.destination-photo-hue{object-position:center 54%!important}
.destination-photo-danang{object-position:center 48%!important}
.destination-photo-nha-trang{object-position:center 58%!important}
.destination-photo-da-lat{object-position:center 53%!important}
.destination-photo-ha-noi{object-position:center 54%!important}
.destination-photo-phu-quoc{object-position:center 55%!important}
.destination-photo-hcm{object-position:center 58%!important}

@media(max-width:650px){
  .destination-card img.destination-photo{
    height:205px!important;
    object-fit:cover!important;
  }
}


/* =========================================================
   V4.6 — COMPACT DESTINATION PHOTOS
   Approved: image area = 2/3 of previous 190px height.
   Keep cover so every card stays visually filled.
   ========================================================= */
.destination-card img.destination-photo{
  height:127px!important;
  object-fit:cover!important;
}
@media(max-width:650px){
  .destination-card img.destination-photo{
    height:137px!important;
    object-fit:cover!important;
  }
}
