/* ===== V178 SOURCE: home_tiktok_v167.css ===== */
body.ct160-home .ct160-mediaCard:has(.ct167-heroTiktok){
  aspect-ratio:9/16;max-height:420px;max-width:min(280px,100%);margin-left:auto;margin-right:0;padding:6px;
}
.ct167-heroTiktok{position:absolute;inset:0}
.ct167-heroPlayer{position:absolute;inset:0;overflow:hidden;border-radius:14px;background:#0b1f16}
.ct167-heroPoster,.ct167-heroPh{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ct167-heroPh{background:linear-gradient(180deg,#1a3d2e,#0b1f16)}
.ct167-heroPlay{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  min-height:44px;padding:10px 16px;border:0;border-radius:999px;cursor:pointer;
  background:#fff;color:#0b4f38;font-weight:850;font-size:13px;box-shadow:0 8px 22px rgba(0,0,0,.2);
}
.ct167-heroPlayer iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media(max-width:768px){
  body.ct160-home .ct160-mediaCard:has(.ct167-heroTiktok){max-height:340px;max-width:220px;margin:0 auto}
}
@media(max-width:430px){
  body.ct160-home .ct160-mediaCard:has(.ct167-heroTiktok){max-height:280px;max-width:180px}
}

/* ===== V178 SOURCE: public_home_v170.css ===== */
/* Cỏ Travel Homepage V170 — conversion-first public homepage rebuild.
   Scope: homepage only via body.ct170-home. No pricing/booking/business logic. */
body.ct170-home{
  --ct170-green:#118447;
  --ct170-green-dark:#07683a;
  --ct170-green-soft:#edf8f2;
  --ct170-orange:#ff5a1f;
  --ct170-orange-dark:#eb4911;
  --ct170-orange-soft:#fff4ee;
  --ct170-ink:#10231a;
  --ct170-muted:#607169;
  --ct170-line:#e4ebe7;
  --ct170-surface:#f8faf9;
  --ct170-shadow:0 12px 34px rgba(16,35,26,.07);
  --ct170-shadow-hover:0 20px 48px rgba(16,35,26,.12);
  --ct170-radius:18px;
  background:#fff;
  color:var(--ct170-ink);
}
body.ct170-home .co119-shell{max-width:1300px;padding-left:24px;padding-right:24px}

/* Header — clean brand bar, homepage only */
body.ct170-home .co119-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(221,232,225,.94);
  box-shadow:0 5px 22px rgba(16,35,26,.035);
  backdrop-filter:blur(16px);
}
body.ct170-home .co119-header__row{height:74px;gap:24px}
body.ct170-home .co119-brand{gap:11px;min-width:232px}
body.ct170-home .co119-brand__mark{
  width:44px;height:44px;border-radius:14px;
  background:#fff;border:1px solid var(--ct170-line);box-shadow:0 4px 14px rgba(16,35,26,.06)
}
body.ct170-home .co119-brand__mark img{width:35px;height:35px;object-fit:contain}
body.ct170-home .co119-brand__copy strong{font-size:16.5px;font-weight:900;color:var(--ct170-green-dark);letter-spacing:-.02em}
body.ct170-home .co119-brand__copy small{font-size:10px;color:#718079;letter-spacing:.01em}
body.ct170-home .co119-nav{gap:3px;margin-left:auto}
body.ct170-home .co119-nav a{
  position:relative;padding:9px 10px;border-radius:9px;background:transparent!important;
  color:#33443c;font-size:12.5px;font-weight:760
}
body.ct170-home .co119-nav a:after{
  content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:999px;
  background:var(--ct170-green);transform:scaleX(0);transform-origin:center;transition:transform .18s ease
}
body.ct170-home .co119-nav a:hover,
body.ct170-home .co119-nav a.is-active{color:var(--ct170-green-dark)}
body.ct170-home .co119-nav a.is-active:after{transform:scaleX(1)}
body.ct170-home .co119-header__actions{gap:9px;margin-left:4px}
body.ct170-home .co119-phone{font-size:12.5px;font-weight:850;color:var(--ct170-green-dark);white-space:nowrap}
body.ct170-home .co119-phone:before{content:"☎";margin-right:6px;color:var(--ct170-green)}
body.ct170-home .co119-header__cta{
  min-height:44px;padding:0 18px;border:0;border-radius:11px!important;
  background:var(--ct170-orange)!important;color:#fff!important;font-weight:850!important;
  box-shadow:0 7px 18px rgba(255,90,31,.20)!important
}
body.ct170-home .co119-header__cta:hover{background:var(--ct170-orange-dark)!important;transform:translateY(-1px)}

/* Hero */
body.ct170-home .ct160-hero.ct150-hero{
  padding:26px 0 0;background:
    radial-gradient(540px 320px at 100% 18%,rgba(255,90,31,.08),transparent 70%),
    radial-gradient(520px 360px at 0% 85%,rgba(17,132,71,.08),transparent 72%),
    linear-gradient(180deg,#fff 0%,#fbfdfc 100%);
  overflow:hidden
}
body.ct170-home .ct160-heroGrid{grid-template-columns:minmax(0,.92fr) minmax(0,1.12fr);gap:54px;padding:18px 0 26px;align-items:center}
body.ct170-home .ct160-kicker{
  width:max-content;max-width:100%;min-height:28px;margin-bottom:16px;padding:0 11px;
  background:var(--ct170-green-soft);border:1px solid #d6eadf;border-radius:999px;
  color:var(--ct170-green-dark);font-size:10px;font-weight:900;letter-spacing:.075em
}
body.ct170-home .ct160-hero h1{
  max-width:13.5ch;margin:0;color:#0f1e2d;font-size:clamp(40px,4.7vw,62px);
  line-height:1.06;letter-spacing:-.045em;font-weight:900
}
body.ct170-home .ct160-hero h1 em{color:var(--ct170-green)!important;background:none!important;-webkit-text-fill-color:initial}
body.ct170-home .ct160-hero .ct140-heroSub{
  max-width:48ch;margin-top:18px;color:#4f6258;font-size:15.5px;line-height:1.72;font-weight:550
}
body.ct170-home .ct160-heroActions{margin-top:22px;gap:10px}
body.ct170-home .ct160-heroActions .co119-btn{min-height:48px;padding:0 20px;border-radius:11px;font-size:13px;font-weight:850}
body.ct170-home .ct160-heroActions .ct160-btnOrange{background:var(--ct170-orange)!important;border-color:var(--ct170-orange)!important;color:#fff!important;box-shadow:0 8px 18px rgba(255,90,31,.18)}
body.ct170-home .ct160-heroActions .ct160-btnGhost{background:#fff!important;border:1px solid var(--ct170-green)!important;color:var(--ct170-green-dark)!important;box-shadow:none}
body.ct170-home .ct160-microTrust{margin-top:16px;gap:8px 18px}
body.ct170-home .ct160-microTrust li{font-size:12px;color:#2c4939;font-weight:750}
body.ct170-home .ct160-microTrust li span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--ct170-green);color:#fff;font-size:10px}
body.ct170-home .ct160-heroMediaCol{min-width:0}
body.ct170-home .ct160-blob{display:none}
body.ct170-home .ct160-hero .co119-media.ct160-mediaCard,
body.ct170-home .ct160-mediaCard{
  aspect-ratio:16/9;max-height:none!important;padding:0;border:1px solid rgba(16,35,26,.06);
  border-radius:24px;background:#eaf2ee;box-shadow:0 20px 46px rgba(16,35,26,.10);overflow:hidden
}
body.ct170-home .ct160-mediaCard img,
body.ct170-home .ct160-mediaCard video{border-radius:0;width:100%;height:100%;object-fit:cover}
body.ct170-home .ct167-heroTiktok{height:100%;min-height:0}
body.ct170-home .ct167-heroPlayer{height:100%;border-radius:0!important}
body.ct170-home .ct170-heroProof{
  position:absolute;right:18px;bottom:18px;z-index:5;display:flex;align-items:center;gap:10px;
  min-height:54px;padding:8px 13px;border:1px solid rgba(255,255,255,.8);border-radius:14px;
  background:rgba(255,255,255,.93);backdrop-filter:blur(10px);box-shadow:0 10px 28px rgba(16,35,26,.14)
}
body.ct170-home .ct170-heroProof__avatars{display:flex;padding-left:8px}
body.ct170-home .ct170-heroProof__avatars img{width:27px;height:27px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-left:-8px}
body.ct170-home .ct170-heroProof span:last-child{display:grid;line-height:1.1}
body.ct170-home .ct170-heroProof strong{font-size:13px;color:var(--ct170-ink)}
body.ct170-home .ct170-heroProof small{margin-top:3px;font-size:10px;color:var(--ct170-muted);font-weight:700}

/* Finder */
body.ct170-home .ct170-search{padding:0 0 16px;margin-top:-2px;position:relative;z-index:8}
body.ct170-home .ct170-searchPanel{
  position:relative;display:grid;grid-template-columns:auto minmax(150px,.42fr) minmax(0,1fr);align-items:center;
  gap:14px;padding:14px 16px 14px 14px;border-radius:18px;border:1px solid var(--ct170-line);
  background:#fff;box-shadow:var(--ct170-shadow)
}
body.ct170-home .ct170-searchIcon{
  grid-row:1 / span 2;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:var(--ct170-green-soft);color:var(--ct170-green);font-size:22px;font-weight:900
}
body.ct170-home .ct160-searchIntro{grid-column:2;margin:0;display:grid;gap:2px}
body.ct170-home .ct160-searchIntro span{font-size:9px;letter-spacing:.08em;color:var(--ct170-orange)}
body.ct170-home .ct160-searchIntro strong{font-size:14px;color:var(--ct170-ink)}
body.ct170-home .ct160-searchRow{grid-column:3;grid-row:1 / span 2;grid-template-columns:minmax(0,1fr) auto;gap:10px}
body.ct170-home .ct160-searchRow input{min-height:46px;padding:10px 14px;border-radius:12px;background:#fbfdfc;border-color:#dbe6e0;font-size:14px}
body.ct170-home .ct160-searchRow .co119-btn{min-height:46px;padding:0 20px;border-radius:11px;background:var(--ct170-orange)!important;border-color:var(--ct170-orange)!important;color:#fff!important}
body.ct170-home .ct160-searchChips{grid-column:2 / 4;margin:2px 0 0;display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-start}
body.ct170-home .ct160-searchChips a{padding:6px 10px;border-radius:999px;border:1px solid #d8e5dd;background:#fff;color:#2f5a42;font-size:10.5px;font-weight:800}
body.ct170-home .ct160-searchChips a:first-child{background:var(--ct170-green-soft);border-color:#bfe0cc;color:var(--ct170-green-dark)}

/* Trust strip */
body.ct170-home .ct170-proof{padding:20px 0 34px;background:#fff}
body.ct170-home .ct170-proofHead{text-align:center;margin-bottom:16px}
body.ct170-home .ct170-proofHead>span{display:block;margin-bottom:4px;color:var(--ct170-green);font-size:9px;font-weight:900;letter-spacing:.10em}
body.ct170-home .ct170-proofHead h2{margin:0!important;max-width:none!important;font-size:clamp(20px,2.25vw,29px)!important;letter-spacing:-.025em}
body.ct170-home .ct170-proofGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body.ct170-home .ct170-proofGrid article{
  display:flex;align-items:center;gap:12px;min-height:78px;padding:12px 15px;border:1px solid var(--ct170-line);
  border-radius:14px;background:#fbfdfc;text-align:left;box-shadow:none;transition:border-color .18s ease,transform .18s ease
}
body.ct170-home .ct170-proofGrid article:hover{transform:translateY(-2px);border-color:#c8dfd1;box-shadow:none}
body.ct170-home .ct170-proofGrid i{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:12px;background:var(--ct170-green-soft);color:var(--ct170-green);font-style:normal}
body.ct170-home .ct170-proofGrid i svg{width:22px;height:22px}
body.ct170-home .ct170-proofGrid b{font-size:13px;line-height:1.25;color:var(--ct170-ink)}
body.ct170-home .ct170-proofGrid span{margin-top:2px;font-size:10.5px;line-height:1.35;color:var(--ct170-muted);font-weight:650}

/* Section headings */
body.ct170-home .co119-sectionHead--tourkit{margin-bottom:24px}
body.ct170-home .co119-sectionTag{padding:6px 10px;border-radius:999px;background:var(--ct170-green-soft);border:1px solid #d8eadf;color:var(--ct170-green-dark);font-size:9px;font-weight:900;letter-spacing:.09em}
body.ct170-home .co119-sectionHead--tourkit h2,
body.ct170-home .co119-sectionHead h2{color:#102038;letter-spacing:-.035em}
body.ct170-home .co119-sectionHead--tourkit p{max-width:650px;color:var(--ct170-muted)}

/* Featured tours */
body.ct170-home .ct170-tours{padding:46px 0 44px;background:linear-gradient(180deg,#f7faf8 0%,#fff 100%)}
body.ct170-home .ct170-tourGrid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important}
body.ct170-home .ct170-tourCard{
  display:flex;flex-direction:column;min-width:0;border:1px solid var(--ct170-line)!important;border-radius:18px!important;
  background:#fff;box-shadow:0 7px 22px rgba(16,35,26,.055)!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
body.ct170-home .ct170-tourCard:hover{transform:translateY(-3px)!important;border-color:#bfdccc!important;box-shadow:var(--ct170-shadow-hover)!important}
body.ct170-home .ct170-tourCard .ct170-tourCard__media{
  position:relative;aspect-ratio:16/9!important;margin:0!important;border-radius:0!important;overflow:hidden;background:#edf3f0
}
body.ct170-home .ct170-tourCard__media img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
body.ct170-home .ct170-tourCard:hover .ct170-tourCard__media img{transform:scale(1.025)}
body.ct170-home .ct170-tourCard__badges{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}
body.ct170-home .ct170-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:8.5px;font-weight:900;letter-spacing:.055em;box-shadow:0 5px 14px rgba(16,35,26,.09)}
body.ct170-home .ct170-badge--hot{background:var(--ct170-orange);color:#fff}
body.ct170-home .ct170-badge--private{margin-left:auto;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);color:var(--ct170-green-dark)}
body.ct170-home .ct170-tourCard .ct170-tourCard__body{display:flex;flex-direction:column;gap:9px;flex:1;padding:15px 17px 17px!important}
body.ct170-home .ct170-tourMediaMeta{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}
body.ct170-home .ct170-tourMediaMeta span{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(16,35,26,.10);color:var(--ct170-green-dark);font-size:9px;font-weight:900;letter-spacing:.035em;backdrop-filter:blur(8px)}
body.ct170-home .ct170-tourMediaMeta span:last-child{margin-left:auto;background:rgba(237,248,242,.96);border-color:rgba(202,231,214,.95);letter-spacing:0}
body.ct170-home .ct170-tourCard h3{margin:0!important;min-height:46px!important;font-size:18px!important;line-height:1.30!important;color:#111f2c!important;font-weight:850!important;letter-spacing:-.025em!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.ct170-home .ct170-route{position:relative;margin:0;padding-left:15px;color:#687870;font-size:11.5px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.ct170-home .ct170-route:before{content:"⌖";position:absolute;left:0;top:0;color:var(--ct170-orange);font-weight:900}
body.ct170-home .ct170-highlights{margin:2px 0 4px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
body.ct170-home .ct170-highlights li{display:flex;align-items:flex-start;gap:5px;min-width:0;color:#40564a;font-size:10.5px;line-height:1.35;font-weight:720}
body.ct170-home .ct170-highlights li span{flex:0 0 auto;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--ct170-green-soft);color:var(--ct170-green);font-size:8px;font-weight:900}
body.ct170-home .ct170-tourCard__foot{margin-top:auto!important;padding-top:13px!important;border-top:1px solid #edf2ef!important;align-items:center!important;gap:12px}
body.ct170-home .ct170-tourPrice{gap:1px}
body.ct170-home .ct170-tourPrice>small{margin:0!important;color:#728179!important;font-size:9.5px!important;letter-spacing:.055em!important;font-weight:850!important}
body.ct170-home .ct170-tourPrice strong{font-size:21px!important;line-height:1.14!important;color:var(--ct170-green-dark)!important;font-weight:900!important}
body.ct170-home .ct170-tourPrice strong small{display:inline!important;margin-left:2px!important;color:#61736a!important;font-size:10px!important;font-weight:700!important;letter-spacing:0!important}
body.ct170-home .ct170-tourPrice .co119-fromHint{display:block;margin-top:4px;color:#74827b;font-size:9.5px;font-weight:650}
body.ct170-home .ct170-tourCta{min-height:40px;padding:0 14px;border-radius:999px;background:var(--ct170-green)!important;color:#fff!important;font-size:10.5px!important;font-weight:900!important;box-shadow:0 5px 13px rgba(17,132,71,.12)}
body.ct170-home .ct170-tourCta b{margin-left:2px;color:#fff;font-size:13px}
body.ct170-home .ct150-tourActions{margin-top:25px}
body.ct170-home .ct150-tourActions .ct160-btnGhost{min-height:42px;padding:0 17px;border-radius:11px;border:1px solid #cdded4!important;color:var(--ct170-green-dark)!important;background:#fff!important}

/* Why */
body.ct170-home .ct170-why{padding:42px 0 36px;background:#fff}
body.ct170-home .ct170-why .ct150-whyGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
body.ct170-home .ct170-why .ct150-whyGrid article{min-height:128px;padding:16px;border:1px solid var(--ct170-line);border-radius:14px;box-shadow:none;background:#fbfdfc}
body.ct170-home .ct170-why .ct150-whyGrid em{font-size:18px;color:var(--ct170-green);opacity:.5}
body.ct170-home .ct170-why .ct150-whyGrid strong{font-size:13px;color:var(--ct170-ink)}
body.ct170-home .ct170-why .ct150-whyGrid span{font-size:11px;color:var(--ct170-muted);line-height:1.45}

/* Reviews */
body.ct170-home .ct170-reviews{padding:42px 0 36px;background:linear-gradient(180deg,#fff9f5 0%,#fff 100%)}
body.ct170-home .ct170-reviews .ct161-reviewGrid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}
body.ct170-home .ct170-reviews .ct161-reviewCard{border-radius:15px;border-color:#ebe9e5;box-shadow:0 5px 18px rgba(16,35,26,.045);padding:18px}
body.ct170-home .ct170-reviews .ct161-reviewCard>p{font-size:13px;line-height:1.65;color:#43554c}

/* Guide */
body.ct170-home .ct170-guide{padding:42px 0 38px;background:#fff}
body.ct170-home .ct170-guide .ct161-guideGrid{gap:14px}
body.ct170-home .ct170-guide .ct161-guideCard{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:132px;border:1px solid var(--ct170-line);border-radius:15px;box-shadow:0 5px 18px rgba(16,35,26,.04)}
body.ct170-home .ct170-guide .co119-guideCard__media{aspect-ratio:auto;height:100%;min-height:132px}
body.ct170-home .ct170-guide .co119-guideCard__body{padding:14px!important}
body.ct170-home .ct170-guide .co119-guideCard__body h3{font-size:14px;line-height:1.35}
body.ct170-home .ct170-guide .co119-guideCard__body p{font-size:11.5px;line-height:1.55}

/* Final conversion CTA */
body.ct170-home .ct170-convert{padding:18px 0 48px}
body.ct170-home .ct170-convert .ct140-convertInner{
  max-width:1000px;padding:30px 34px;border-radius:18px;background:linear-gradient(135deg,#075f38 0%,#118447 100%);
  box-shadow:0 15px 36px rgba(17,132,71,.16)
}
body.ct170-home .ct170-convert .ct140-convertInner h2{font-size:clamp(23px,2.5vw,31px)}
body.ct170-home .ct170-convert .ct140-convertInner p{font-size:13px}
body.ct170-home .ct170-convert .ct140-convertActions .ct160-btnOrange{background:var(--ct170-orange)!important;border-color:var(--ct170-orange)!important;color:#fff!important}
body.ct170-home .ct170-convert .ct140-convertActions .co119-btn--secondary{background:#fff;color:var(--ct170-green-dark);border-color:#fff}
body.ct170-home .ct170-convert .ct170-callCta{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.50)!important}

/* Footer */
body.ct170-home .co119-footer{padding:42px 0 18px;background:#0a2418;color:#dbe8e1}
body.ct170-home .co119-footer__grid{gap:34px}
body.ct170-home .co119-footer h3{color:#fff}
body.ct170-home .co119-footer__grid p,
body.ct170-home .co119-footer__grid a,
body.ct170-home .co119-footer__grid span{color:#b9c9c0}
body.ct170-home .co119-footer__grid a:hover{color:#fff}
body.ct170-home .co119-footer__bottom{border-top-color:rgba(255,255,255,.10);color:#8fa49a}


/* V170.1 interaction polish */
body.ct170-home .co119-drawer__panel{background:#fff;border-left:1px solid var(--ct170-line)}
body.ct170-home .co119-drawer__head{padding:16px 18px}
body.ct170-home .co119-drawer__nav{padding:12px;gap:5px}
body.ct170-home .co119-drawer__nav a,
body.ct170-home .co119-drawer__nav button{min-height:46px;padding:0 14px;border-radius:11px;background:#f8fbf9;color:#253b30;font-weight:800}
body.ct170-home .co119-drawer__nav a:hover,
body.ct170-home .co119-drawer__nav button:hover{background:var(--ct170-green-soft);color:var(--ct170-green-dark)}
body.ct170-home .co119-menuBtn{border-color:#d8e4dd;border-radius:11px;background:#fff}
body.ct170-home .co119-menuBtn span{background:#20382c}

/* Accessibility/focus */
body.ct170-home a:focus-visible,
body.ct170-home button:focus-visible,
body.ct170-home input:focus-visible{outline:3px solid rgba(255,90,31,.25);outline-offset:2px}

@media(max-width:1180px){
  body.ct170-home .co119-shell{padding-left:20px;padding-right:20px}
  body.ct170-home .co119-nav a{font-size:11.5px;padding-inline:8px}
  body.ct170-home .co119-brand{min-width:205px}
  body.ct170-home .ct160-heroGrid{gap:32px}
  body.ct170-home .ct170-tourGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ct170-home .ct170-why .ct150-whyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.ct170-home .ct170-guide .ct161-guideGrid{grid-template-columns:1fr!important;max-width:860px;margin:auto}
}

@media(max-width:900px){
  body.ct170-home .co119-header__row{height:66px}
  body.ct170-home .co119-brand{min-width:0}
  body.ct170-home .ct160-heroGrid{grid-template-columns:1fr;gap:22px;padding-top:8px}
  body.ct170-home .ct160-hero h1{max-width:15ch;font-size:clamp(38px,7.5vw,52px)}
  body.ct170-home .ct160-hero .ct140-heroSub{max-width:58ch}
  body.ct170-home .ct170-heroProof{right:12px;bottom:12px}
  body.ct170-home .ct170-searchPanel{grid-template-columns:auto 1fr;gap:10px 12px}
  body.ct170-home .ct170-searchIcon{grid-row:1;grid-column:1}
  body.ct170-home .ct160-searchIntro{grid-row:1;grid-column:2}
  body.ct170-home .ct160-searchRow{grid-row:2;grid-column:1 / 3}
  body.ct170-home .ct160-searchChips{grid-column:1 / 3}
  body.ct170-home .ct170-proofGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  body.ct170-home{padding-bottom:68px}
  body.ct170-home .co119-shell{padding-left:15px;padding-right:15px}
  body.ct170-home .co119-header__row{height:62px}
  body.ct170-home .co119-brand__mark{width:38px;height:38px}
  body.ct170-home .co119-brand__mark img{width:30px;height:30px}
  body.ct170-home .co119-brand__copy strong{font-size:13.5px}
  body.ct170-home .co119-brand__copy small{font-size:8.5px}
  body.ct170-home .ct160-hero.ct150-hero{padding-top:12px}
  body.ct170-home .ct160-heroGrid{gap:16px;padding:8px 0 14px}
  body.ct170-home .ct160-kicker{margin-bottom:11px;font-size:8.5px;min-height:25px}
  body.ct170-home .ct160-hero h1{max-width:none;font-size:36px;line-height:1.07}
  body.ct170-home .ct160-hero .ct140-heroSub{margin-top:12px;font-size:13.5px;line-height:1.62}
  body.ct170-home .ct160-heroActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
  body.ct170-home .ct160-heroActions .co119-btn{min-height:46px;padding:0 10px;font-size:12px}
  body.ct170-home .ct160-microTrust{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  body.ct170-home .ct160-microTrust::-webkit-scrollbar{display:none}
  body.ct170-home .ct160-microTrust li{white-space:nowrap;font-size:10.5px}
  body.ct170-home .ct160-hero .co119-media.ct160-mediaCard{aspect-ratio:16/10!important;border-radius:18px}
  body.ct170-home .ct170-heroProof{display:none}
  body.ct170-home .ct170-search{margin-top:2px;padding-bottom:12px}
  body.ct170-home .ct170-searchPanel{padding:12px;border-radius:15px}
  body.ct170-home .ct170-searchIcon{width:40px;height:40px;font-size:18px}
  body.ct170-home .ct160-searchIntro span{font-size:8px}
  body.ct170-home .ct160-searchIntro strong{font-size:12.5px}
  body.ct170-home .ct160-searchRow{grid-template-columns:1fr auto}
  body.ct170-home .ct160-searchRow input{min-height:44px;font-size:13px;padding-inline:11px}
  body.ct170-home .ct160-searchRow .co119-btn{width:auto;min-height:44px;padding:0 14px;font-size:11px}
  body.ct170-home .ct160-searchChips{flex-wrap:nowrap;overflow-x:auto;padding:0 0 2px;scroll-snap-type:x proximity;scrollbar-width:none}
  body.ct170-home .ct160-searchChips::-webkit-scrollbar{display:none}
  body.ct170-home .ct160-searchChips a{flex:0 0 auto;scroll-snap-align:start}
  body.ct170-home .ct170-proof{padding:18px 0 28px}
  body.ct170-home .ct170-proofHead{margin-bottom:12px}
  body.ct170-home .ct170-proofHead h2{font-size:21px!important}
  body.ct170-home .ct170-proofGrid{grid-template-columns:1fr 1fr;gap:8px}
  body.ct170-home .ct170-proofGrid article{min-height:70px;padding:10px;gap:9px;border-radius:12px}
  body.ct170-home .ct170-proofGrid i{width:34px;height:34px;border-radius:10px;font-size:16px}
  body.ct170-home .ct170-proofGrid b{font-size:11px}
  body.ct170-home .ct170-proofGrid span{font-size:9px}
  body.ct170-home .ct170-tours{padding:32px 0 28px}
  body.ct170-home .co119-sectionHead--tourkit{margin-bottom:18px;text-align:left;align-items:flex-start}
  body.ct170-home .co119-sectionHead--tourkit h2{font-size:26px}
  body.ct170-home .co119-sectionHead--tourkit p{font-size:11.5px;line-height:1.5}
  body.ct170-home .ct170-tourGrid{grid-template-columns:1fr!important;gap:12px!important}
  body.ct170-home .ct170-tourCard{border-radius:16px!important}
  body.ct170-home .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important}
  body.ct170-home .ct170-tourCard .ct170-tourCard__body{padding:14px 15px 16px!important}
  body.ct170-home .ct170-tourCard h3{min-height:0!important;font-size:18px!important}
  body.ct170-home .ct170-highlights{gap:5px}
  body.ct170-home .ct170-highlights li{font-size:10.5px}
  body.ct170-home .ct170-tourPrice strong{font-size:22px!important}
  body.ct170-home .ct170-tourCta{min-height:42px;padding:0 14px}
  body.ct170-home .ct170-why{padding:30px 0 24px}
  body.ct170-home .ct170-why .ct150-whyGrid{grid-template-columns:1fr 1fr!important;gap:8px}
  body.ct170-home .ct170-why .ct150-whyGrid article{min-height:120px;padding:13px}
  body.ct170-home .ct170-reviews{padding:30px 0 24px}
  body.ct170-home .ct170-guide{padding:30px 0 24px}
  body.ct170-home .ct170-guide .ct161-guideCard{grid-template-columns:120px minmax(0,1fr);min-height:118px}
  body.ct170-home .ct170-guide .co119-guideCard__media{min-height:118px}
  body.ct170-home .ct170-guide .co119-guideCard__body{padding:11px!important}
  body.ct170-home .ct170-convert{padding:12px 0 28px}
  body.ct170-home .ct170-convert .ct140-convertInner{padding:24px 16px;border-radius:16px}
  body.ct170-home .ct170-convert .ct140-convertActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  body.ct170-home .ct170-convert .ct140-convertActions .co119-btn:last-child{grid-column:1 / -1}
}

@media(max-width:390px){
  body.ct170-home .ct160-hero h1{font-size:32px}
  body.ct170-home .ct160-heroActions{grid-template-columns:1fr 1fr}
  body.ct170-home .ct170-proofGrid{grid-template-columns:1fr}
  body.ct170-home .ct170-proofGrid article{min-height:62px}
  body.ct170-home .ct170-highlights{grid-template-columns:1fr 1fr}
  body.ct170-home .ct170-highlights li:nth-child(3){grid-column:1 / -1}
  body.ct170-home .ct170-why .ct150-whyGrid{grid-template-columns:1fr!important}
  body.ct170-home .ct170-guide .ct161-guideCard{grid-template-columns:105px minmax(0,1fr)}
}

/* ============================== V170.2 PRODUCTION POLISH ============================== */
body.ct170-home .ct170-proof{padding:18px 0 24px}
body.ct170-home .ct170-proofHead{margin-bottom:13px}
body.ct170-home .ct170-proofGrid article{min-height:76px;padding:12px 14px;gap:11px;border-color:#dbe9e1;background:#fff}
body.ct170-home .ct170-proofGrid i{width:42px;height:42px;border-radius:13px}
body.ct170-home .ct170-proofGrid i svg{width:23px;height:23px}
body.ct170-home .ct170-proofGrid b{font-size:13.5px;font-weight:850}
body.ct170-home .ct170-proofGrid span{font-size:10px;line-height:1.3}
body.ct170-home .ct170-tours{padding:36px 0 42px}
body.ct170-home .ct170-tourGrid{gap:18px}
body.ct170-home .ct170-tourCard{border-color:#dce8e1!important;box-shadow:0 8px 26px rgba(17,55,37,.055)!important}
body.ct170-home .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important;background:#eef5f1}
body.ct170-home .ct170-tourCard .ct170-tourCard__body{padding:16px 17px 17px!important;gap:8px}
body.ct170-home .ct170-tourCard h3{font-size:18.5px!important;line-height:1.26!important;font-weight:900!important;min-height:47px!important}
body.ct170-home .ct170-route{font-size:11.5px;line-height:1.4;color:#5f7168}
body.ct170-home .ct170-highlights{margin-top:3px;gap:7px}
body.ct170-home .ct170-highlights li{font-size:10.5px;font-weight:760;color:#365247}
body.ct170-home .ct170-tourCard__foot{padding-top:12px!important}
body.ct170-home .ct170-tourPrice>small{font-size:9px!important}
body.ct170-home .ct170-tourPrice strong{font-size:22.5px!important;color:#0a7d42!important;letter-spacing:-.025em}
body.ct170-home .ct170-tourCta{min-height:42px;padding:0 16px;background:#087443!important;font-size:11px!important;box-shadow:0 7px 16px rgba(8,116,67,.16)}
body.ct170-home .ct170-tourCta:hover{background:#055f37!important}
/* Desktop: use the single right-side Call/Zalo rail; keep website chat available on mobile. */
@media (min-width:769px){body.ct170-home .ct-wc-bubble{display:none!important}}
@media (max-width:768px){
  body.ct170-home .ct170-proof{padding:16px 0 22px}
  body.ct170-home .ct170-tours{padding:28px 0 30px}
  body.ct170-home .ct170-tourCard h3{min-height:0!important;font-size:18px!important}
  body.ct170-home .ct170-tourPrice strong{font-size:22px!important}
}

/* ===== V178 SOURCE: public_home_v172.css ===== */
/* Cỏ Travel Homepage V172 — cover + finder + wide clip composition
   Layered after public_home_v170.css. No pricing / booking / CMS logic changes. */

body.ct172-home{--ct172-green:#078347;--ct172-green-dark:#075f38;--ct172-orange:#ff5a1f;--ct172-ink:#102038;--ct172-muted:#65766e;--ct172-line:#dce7e1;--ct172-soft:#f4faf6}
body.ct172-home main{overflow:hidden}
body.ct172-home .ct172-seoOnly{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* HERO: full cover photo behind, finder + wide clip on top */
body.ct172-home .ct172-stage{position:relative;min-height:535px;padding:26px 0 28px;isolation:isolate;background:#dceef8}
body.ct172-home .ct172-stageBg{position:absolute;inset:0;z-index:-3;overflow:hidden}
body.ct172-home .ct172-stageBg img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%}
body.ct172-home .ct172-stageShade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.63) 25%,rgba(255,255,255,.12) 48%,rgba(4,52,34,.03) 100%)}
body.ct172-home .ct172-stage:after{content:"";position:absolute;inset:auto 0 0;height:100px;z-index:-1;background:linear-gradient(180deg,transparent,rgba(0,30,18,.08));pointer-events:none}
body.ct172-home .ct172-stageInner{max-width:1420px;min-height:480px;display:grid;grid-template-columns:minmax(320px,.62fr) minmax(0,1.38fr);align-items:center;gap:28px}

body.ct172-home .ct172-finder{position:relative;z-index:2;width:100%;max-width:445px;padding:24px 24px 22px;border:1px solid rgba(255,255,255,.82);border-radius:22px;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(16,35,26,.16)}
body.ct172-home .ct172-finderTitle{display:flex;align-items:center;gap:13px;margin-bottom:17px}
body.ct172-home .ct172-finderIcon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#e9f7ef;color:var(--ct172-green);font-size:23px;font-weight:950}
body.ct172-home .ct172-finderTitle small{display:block;margin-bottom:3px;color:var(--ct172-orange);font-size:9px;font-weight:950;letter-spacing:.09em}
body.ct172-home .ct172-finderTitle h2{margin:0!important;color:#121d28!important;font-size:22px!important;line-height:1.15!important;letter-spacing:-.03em!important}
body.ct172-home .ct172-finderSearch input{width:100%;height:50px;padding:0 15px;border:1px solid #d8e3de;border-radius:13px;background:#fff;color:#1c2d24;font-size:13.5px;box-shadow:none}
body.ct172-home .ct172-finderSearch input:focus{border-color:#9bcdb2;box-shadow:0 0 0 4px rgba(7,131,71,.08);outline:0}
body.ct172-home .ct172-finderChips{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 18px}
body.ct172-home .ct172-finderChips a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #d5e6dc;border-radius:999px;background:#fff;color:#17683f;font-size:10.5px;font-weight:850;transition:.18s ease}
body.ct172-home .ct172-finderChips a:hover{transform:translateY(-1px);background:#eff9f3;border-color:#b7d9c6}
body.ct172-home .ct172-findBtn{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff6728,#ff5318);color:#fff;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px rgba(255,90,31,.22)}
body.ct172-home .ct172-findBtn b{font-size:19px;line-height:1}
body.ct172-home .ct172-findBtn:hover{filter:brightness(.98);transform:translateY(-1px)}

body.ct172-home .ct172-mediaWrap{position:relative;width:100%;min-width:0;justify-self:stretch}
body.ct172-home .ct172-media{position:relative!important;width:100%!important;max-width:none!important;max-height:none!important;aspect-ratio:16/9!important;overflow:hidden!important;border:3px solid rgba(255,255,255,.96)!important;border-radius:24px!important;background:#d8e8df!important;box-shadow:0 24px 54px rgba(16,35,26,.20)!important;padding:0!important;margin:0!important}
body.ct172-home .ct172-media:has(.ct167-heroTiktok){aspect-ratio:16/9!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important}
body.ct172-home .ct172-media>img,body.ct172-home .ct172-media>video,body.ct172-home .ct172-media picture,body.ct172-home .ct172-media picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
body.ct172-home .ct172-media video{background:#0b1f16}
body.ct172-home .ct172-media .ct167-heroTiktok,body.ct172-home .ct172-media .ct167-heroPlayer{position:absolute;inset:0;width:100%;height:100%;border-radius:0!important}
body.ct172-home .ct172-media .ct167-heroPoster{object-fit:cover}
body.ct172-home .ct172-media .ct167-heroPlay{display:grid;place-items:center;width:64px;height:64px;min-height:64px;padding:0;border-radius:50%;font-size:0;background:#fff;color:var(--ct172-green);box-shadow:0 12px 28px rgba(0,0,0,.20)}
body.ct172-home .ct172-media .ct167-heroPlay span{font-size:24px;line-height:1;margin-left:4px}
body.ct172-home .ct172-media .ct167-heroPlay em{display:none}
body.ct172-home .ct172-soundPill{position:absolute;z-index:6;right:16px;top:14px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;color:#1a2b23!important;font-size:11px!important;font-weight:850!important;box-shadow:0 7px 18px rgba(16,35,26,.10)!important}
body.ct172-home .ct172-mediaProof{position:absolute;right:18px;bottom:18px;z-index:7;min-width:148px;padding:12px 16px;border-radius:15px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 10px 24px rgba(16,35,26,.15)}
body.ct172-home .ct172-mediaProof strong{display:block;color:var(--ct172-green-dark);font-size:23px;line-height:1;font-weight:950}
body.ct172-home .ct172-mediaProof span{display:block;margin-top:5px;color:#26372f;font-size:10.5px;font-weight:750}

/* Proof band immediately under hero */
body.ct172-home .ct172-proofBand{padding:15px 0 24px;background:#fff}
body.ct172-home .ct172-proofBand>.co119-shell{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,3.2fr);align-items:center;gap:20px}
body.ct172-home .ct172-proofBand .ct170-proofHead{margin:0;text-align:left}
body.ct172-home .ct172-proofBand .ct170-proofHead>span{margin-bottom:6px}
body.ct172-home .ct172-proofBand .ct170-proofHead h2{max-width:230px!important;font-size:22px!important;line-height:1.28!important}
body.ct172-home .ct172-proofBand .ct170-proofGrid{gap:9px}
body.ct172-home .ct172-proofBand .ct170-proofGrid article{min-height:68px;padding:10px 12px;border-radius:13px;background:#fff}
body.ct172-home .ct172-proofBand .ct170-proofGrid i{width:36px;height:36px;border-radius:12px}
body.ct172-home .ct172-proofBand .ct170-proofGrid i svg{width:19px;height:19px}
body.ct172-home .ct172-proofBand .ct170-proofGrid b{font-size:11.5px}
body.ct172-home .ct172-proofBand .ct170-proofGrid span{font-size:9.5px}

/* Desktop editorial grid: tours + why / reviews + guide */
body.ct172-home .ct172-homeGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.85fr);grid-template-areas:"tours why" "reviews guide";align-items:start;gap:26px 28px;padding-top:22px;padding-bottom:20px}
body.ct172-home .ct172-homeGrid>section{min-width:0;margin:0!important;padding:0!important;background:transparent!important}
body.ct172-home .ct172-homeGrid>section>.co119-shell{max-width:none!important;padding:0!important}
body.ct172-home .ct172-gridTours{grid-area:tours}
body.ct172-home .ct172-gridWhy{grid-area:why}
body.ct172-home .ct172-gridReviews{grid-area:reviews}
body.ct172-home .ct172-gridGuide{grid-area:guide}
body.ct172-home .ct172-homeGrid .co119-sectionHead{align-items:flex-start!important;text-align:left!important;margin:0 0 13px!important}
body.ct172-home .ct172-homeGrid .co119-sectionTag{display:none}
body.ct172-home .ct172-homeGrid .co119-sectionHead h2{font-size:20px!important;line-height:1.25!important;margin:0!important;letter-spacing:-.025em!important}
body.ct172-home .ct172-homeGrid .co119-sectionHead p{display:none}
body.ct172-home .ct172-homeGrid .co119-sectionAction{margin:12px 0 0;text-align:right}
body.ct172-home .ct172-homeGrid .co119-sectionAction .co119-btn{min-height:36px;padding:0 12px;border-radius:10px;font-size:10.5px}

/* Compact tour cards, exactly three */
body.ct172-home .ct172-gridTours .ct170-tourGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
body.ct172-home .ct172-gridTours .ct170-tourCard{border-radius:14px!important;box-shadow:0 5px 16px rgba(16,35,26,.05)!important}
body.ct172-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/8.6!important}
body.ct172-home .ct172-gridTours .ct170-tourCard__badges{left:8px;right:8px;top:8px}
body.ct172-home .ct172-gridTours .ct170-badge{min-height:20px;padding:0 6px;font-size:7.5px}
body.ct172-home .ct172-gridTours .ct170-badge--private{display:none}
body.ct172-home .ct172-gridTours .ct170-tourMediaMeta{left:8px;right:8px;bottom:7px}
body.ct172-home .ct172-gridTours .ct170-tourMediaMeta span{min-height:21px;padding:0 7px;font-size:7.5px}
body.ct172-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__body{gap:6px;padding:10px 11px 11px!important}
body.ct172-home .ct172-gridTours .ct170-tourCard h3{min-height:36px!important;font-size:13.5px!important;line-height:1.28!important}
body.ct172-home .ct172-gridTours .ct170-route,body.ct172-home .ct172-gridTours .ct170-highlights{display:none!important}
body.ct172-home .ct172-gridTours .ct170-tourCard__foot{padding-top:9px!important;gap:6px!important}
body.ct172-home .ct172-gridTours .ct170-tourPrice>small{font-size:7.5px!important}
body.ct172-home .ct172-gridTours .ct170-tourPrice strong{font-size:15px!important;color:var(--ct172-orange)!important}
body.ct172-home .ct172-gridTours .ct170-tourPrice strong small{font-size:7.5px!important}
body.ct172-home .ct172-gridTours .co119-fromHint{display:none!important}
body.ct172-home .ct172-gridTours .ct170-tourCta{min-height:28px;padding:0 7px;border-radius:8px;font-size:8.5px!important;white-space:nowrap}

/* Why choose Cỏ: compact 2x2 */
body.ct172-home .ct172-gridWhy .ct150-whyGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body.ct172-home .ct172-gridWhy .ct150-whyGrid article{position:relative;min-height:96px!important;padding:12px!important;border-radius:13px!important;background:#fff!important}
body.ct172-home .ct172-gridWhy .ct150-whyGrid em{position:absolute;right:9px;top:8px;font-size:12px!important;opacity:.25!important}
body.ct172-home .ct172-gridWhy .ct150-whyGrid strong{padding-right:17px;font-size:11.5px!important;line-height:1.3}
body.ct172-home .ct172-gridWhy .ct150-whyGrid span{font-size:9.5px!important;line-height:1.4!important}

/* Reviews: light, short */
body.ct172-home .ct172-gridReviews .ct161-reviewGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
body.ct172-home .ct172-gridReviews .ct161-reviewCard{min-height:132px;padding:11px!important;border-radius:13px!important}
body.ct172-home .ct172-gridReviews .ct161-reviewCard>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0 11px;font-size:10px!important;line-height:1.48!important}
body.ct172-home .ct172-gridReviews .co119-reviewCard__stars{font-size:10px}
body.ct172-home .ct172-gridReviews .co119-reviewCard__person img,body.ct172-home .ct172-gridReviews .co119-reviewCard__avatar{width:28px!important;height:28px!important}
body.ct172-home .ct172-gridReviews .co119-reviewCard__person strong{font-size:9.5px}
body.ct172-home .ct172-gridReviews .co119-reviewCard__person small{font-size:7.5px}
body.ct172-home .ct172-gridReviews .co119-reviewCard__score{font-size:8px}

/* Guide: three mini cards */
body.ct172-home .ct172-gridGuide .ct161-guideGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;max-width:none!important}
body.ct172-home .ct172-gridGuide .ct161-guideCard{display:block!important;min-height:0!important;border-radius:12px!important;overflow:hidden}
body.ct172-home .ct172-gridGuide .co119-guideCard__media{height:auto!important;min-height:0!important;aspect-ratio:16/9!important}
body.ct172-home .ct172-gridGuide .co119-guideCard__body{padding:8px!important}
body.ct172-home .ct172-gridGuide .co119-guideCard__eyebrow{display:none}
body.ct172-home .ct172-gridGuide .co119-guideCard__body h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0!important;font-size:9px!important;line-height:1.35!important}
body.ct172-home .ct172-gridGuide .co119-guideCard__body p,body.ct172-home .ct172-gridGuide .co119-guideCard__body b{display:none!important}

/* CTA made compact like a work-ready strip */
body.ct172-home .ct172-convert{padding:8px 0 38px!important}
body.ct172-home .ct172-convert .ct140-convertInner{max-width:1300px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 24px;border:1px solid #d9e9df;border-radius:16px;background:linear-gradient(90deg,#f2faf5,#fff9f4);box-shadow:none}
body.ct172-home .ct172-convert .ct140-convertInner h2{margin:0!important;color:#123126!important;font-size:19px!important}
body.ct172-home .ct172-convert .ct140-convertInner p{grid-column:1;margin:4px 0 0!important;color:#607269!important;font-size:10.5px!important}
body.ct172-home .ct172-convert .ct140-convertActions{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:8px;margin:0}
body.ct172-home .ct172-convert .ct140-convertActions .co119-btn{min-height:40px;padding:0 14px;font-size:10.5px;border-radius:10px}

/* Floating call + Zalo */
body.ct172-home .ct172-callFab,body.ct172-home .ct150-zaloFab{position:fixed;right:18px;z-index:60;width:54px;height:54px;display:grid;place-items:center;border-radius:16px;text-decoration:none;font-size:11px;font-weight:900;box-shadow:0 10px 24px rgba(16,35,26,.16)}
body.ct172-home .ct172-callFab{bottom:84px;border:1px solid #0a8a4b;background:#fff;color:#08723f}
body.ct172-home .ct150-zaloFab{bottom:20px!important;background:var(--ct172-orange)!important;color:#fff!important;border:0!important}

@media(max-width:1180px){
  body.ct172-home .ct172-stageInner{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:20px}
  body.ct172-home .ct172-homeGrid{grid-template-columns:minmax(0,1.45fr) minmax(330px,.95fr);gap:22px}
}

@media(max-width:930px){
  body.ct172-home .ct172-stage{min-height:0;padding:20px 0 24px}
  body.ct172-home .ct172-stageShade{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.25) 55%,rgba(4,52,34,.08))}
  body.ct172-home .ct172-stageInner{min-height:0;grid-template-columns:1fr;gap:16px}
  body.ct172-home .ct172-finder{max-width:none;order:1}
  body.ct172-home .ct172-mediaWrap{order:2}
  body.ct172-home .ct172-proofBand>.co119-shell{grid-template-columns:1fr}
  body.ct172-home .ct172-proofBand .ct170-proofHead{text-align:center}
  body.ct172-home .ct172-proofBand .ct170-proofHead h2{max-width:none!important}
  body.ct172-home .ct172-homeGrid{grid-template-columns:1fr;grid-template-areas:"tours" "why" "reviews" "guide";gap:24px}
  body.ct172-home .ct172-gridGuide .ct161-guideGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:620px){
  body.ct172-home .ct172-stage{padding:10px 0 16px}
  body.ct172-home .ct172-stageInner{padding-left:12px;padding-right:12px;gap:11px}
  body.ct172-home .ct172-finder{padding:15px;border-radius:17px;box-shadow:0 14px 32px rgba(16,35,26,.14)}
  body.ct172-home .ct172-finderTitle{gap:10px;margin-bottom:11px}
  body.ct172-home .ct172-finderIcon{width:40px;height:40px;flex-basis:40px;font-size:18px}
  body.ct172-home .ct172-finderTitle small{display:none}
  body.ct172-home .ct172-finderTitle h2{font-size:18px!important}
  body.ct172-home .ct172-finderSearch input{height:46px;font-size:12px}
  body.ct172-home .ct172-finderChips{flex-wrap:nowrap;overflow-x:auto;margin:10px -2px 12px;padding:2px;scrollbar-width:none}
  body.ct172-home .ct172-finderChips::-webkit-scrollbar{display:none}
  body.ct172-home .ct172-finderChips a{flex:0 0 auto;min-height:30px;padding:0 10px;font-size:9px}
  body.ct172-home .ct172-findBtn{height:46px;font-size:12px}
  body.ct172-home .ct172-media{border-width:2px!important;border-radius:17px!important;aspect-ratio:16/10!important}
  body.ct172-home .ct172-media:has(.ct167-heroTiktok){aspect-ratio:16/10!important}
  body.ct172-home .ct172-media .ct167-heroPlay{width:50px;height:50px;min-height:50px}
  body.ct172-home .ct172-media .ct167-heroPlay span{font-size:19px}
  body.ct172-home .ct172-soundPill{right:9px;top:8px;min-height:31px;padding:0 9px!important;font-size:9px!important}
  body.ct172-home .ct172-mediaProof{right:9px;bottom:9px;min-width:116px;padding:9px 11px;border-radius:11px}
  body.ct172-home .ct172-mediaProof strong{font-size:17px}
  body.ct172-home .ct172-mediaProof span{font-size:8px}
  body.ct172-home .ct172-proofBand{padding:13px 0 19px}
  body.ct172-home .ct172-proofBand>.co119-shell{padding-left:12px;padding-right:12px;gap:11px}
  body.ct172-home .ct172-proofBand .ct170-proofHead>span{display:none}
  body.ct172-home .ct172-proofBand .ct170-proofHead h2{font-size:19px!important}
  body.ct172-home .ct172-proofBand .ct170-proofGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.ct172-home .ct172-proofBand .ct170-proofGrid article{min-height:62px;padding:8px;gap:8px}
  body.ct172-home .ct172-proofBand .ct170-proofGrid i{width:31px;height:31px}
  body.ct172-home .ct172-proofBand .ct170-proofGrid b{font-size:9.5px}
  body.ct172-home .ct172-proofBand .ct170-proofGrid span{font-size:8px}
  body.ct172-home .ct172-homeGrid{padding:14px 12px 16px!important;gap:20px}
  body.ct172-home .ct172-homeGrid .co119-sectionHead h2{font-size:18px!important}
  body.ct172-home .ct172-gridTours .ct170-tourGrid{grid-template-columns:1fr!important;gap:10px!important}
  body.ct172-home .ct172-gridTours .ct170-tourCard{display:grid!important;grid-template-columns:42% minmax(0,1fr)!important;min-height:125px}
  body.ct172-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{height:100%;aspect-ratio:auto!important}
  body.ct172-home .ct172-gridTours .ct170-tourCard h3{font-size:13px!important}
  body.ct172-home .ct172-gridWhy .ct150-whyGrid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  body.ct172-home .ct172-gridWhy .ct150-whyGrid article{min-height:90px!important;padding:10px!important}
  body.ct172-home .ct172-gridReviews .ct161-reviewGrid{grid-template-columns:1fr!important;gap:8px!important}
  body.ct172-home .ct172-gridReviews .ct161-reviewCard{min-height:0}
  body.ct172-home .ct172-gridGuide .ct161-guideGrid{grid-template-columns:repeat(3,minmax(140px,1fr))!important;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;scrollbar-width:none}
  body.ct172-home .ct172-gridGuide .ct161-guideGrid::-webkit-scrollbar{display:none}
  body.ct172-home .ct172-gridGuide .ct161-guideCard{scroll-snap-align:start}
  body.ct172-home .ct172-convert{padding:4px 12px 24px!important}
  body.ct172-home .ct172-convert .ct140-convertInner{display:block;padding:16px;border-radius:14px}
  body.ct172-home .ct172-convert .ct140-convertInner h2{font-size:17px!important}
  body.ct172-home .ct172-convert .ct140-convertActions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}
  body.ct172-home .ct172-convert .ct140-convertActions .co119-btn:last-child{display:none}
  body.ct172-home .ct172-callFab,body.ct172-home .ct150-zaloFab{right:12px;width:48px;height:48px;border-radius:14px}
  body.ct172-home .ct172-callFab{bottom:72px}
  body.ct172-home .ct150-zaloFab{bottom:14px!important}
}

/* ===== V178 SOURCE: public_home_v173.css ===== */
/* Cỏ Travel Homepage V173 — hero balance + wider clip + cleaner cover
   Additive layer after V172. Presentation only: no pricing, booking or CMS logic changes. */

body.ct173-home{--ct173-hero-max:1440px;--ct173-orange:#ff5a1f;--ct173-green:#078347;--ct173-ink:#102038}

/* 1) HERO: lower, calmer background. The cover remains visible but no longer competes with the clip. */
body.ct173-home .ct172-stage{
  min-height:458px;
  padding:20px 0 22px;
  background:#dceef8;
}
body.ct173-home .ct172-stageBg{background:#dceef8}
body.ct173-home .ct172-stageBg img{
  opacity:.58;
  filter:saturate(.82) contrast(.94) brightness(1.08) blur(1.5px);
  transform:scale(1.018);
  transform-origin:center;
  object-position:center 50%;
}
body.ct173-home .ct172-stageShade{
  background:
    linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.48) 25%,rgba(255,255,255,.20) 48%,rgba(255,255,255,.10) 100%),
    linear-gradient(180deg,rgba(218,241,251,.10),rgba(6,83,52,.05));
}
body.ct173-home .ct172-stage:after{
  height:72px;
  background:linear-gradient(180deg,transparent,rgba(9,70,47,.07));
}

/* 2) Finder ≈ 28%, clip ≈ 72%. Clip is deliberately the visual focal point. */
body.ct173-home .ct172-stageInner{
  max-width:var(--ct173-hero-max);
  min-height:414px;
  grid-template-columns:minmax(300px,.52fr) minmax(0,1.48fr);
  gap:24px;
}
body.ct173-home .ct172-finder{
  max-width:390px;
  justify-self:start;
  padding:21px 20px 19px;
  border-radius:20px;
  box-shadow:0 18px 44px rgba(16,35,26,.14);
}
body.ct173-home .ct172-finderTitle{margin-bottom:14px}
body.ct173-home .ct172-finderIcon{width:44px;height:44px;flex-basis:44px;font-size:20px}
body.ct173-home .ct172-finderTitle h2{font-size:20px!important}
body.ct173-home .ct172-finderSearch input{height:47px}
body.ct173-home .ct172-finderChips{gap:7px;margin:13px 0 16px}
body.ct173-home .ct172-finderChips a{min-height:32px;padding:0 10px;font-size:10px}
body.ct173-home .ct172-findBtn{height:49px}

body.ct173-home .ct172-mediaWrap{align-self:center}
body.ct173-home .ct172-media,
body.ct173-home .ct172-media:has(.ct167-heroTiktok){
  aspect-ratio:2.02/1!important;
  border-radius:22px!important;
  box-shadow:0 22px 48px rgba(16,35,26,.18)!important;
}
body.ct173-home .ct172-media>img,
body.ct173-home .ct172-media>video,
body.ct173-home .ct172-media picture img,
body.ct173-home .ct172-media .ct167-heroPoster{object-position:center 49%}
body.ct173-home .ct172-mediaProof{right:16px;bottom:15px}

/* 3) Proof strip: slightly stronger so content below does not look miniature beside the hero. */
body.ct173-home .ct172-proofBand{padding:17px 0 22px}
body.ct173-home .ct172-proofBand>.co119-shell{
  max-width:1380px;
  grid-template-columns:minmax(245px,.85fr) minmax(0,3.15fr);
  gap:22px;
}
body.ct173-home .ct172-proofBand .ct170-proofHead h2{max-width:250px!important;font-size:23px!important}
body.ct173-home .ct172-proofBand .ct170-proofGrid{gap:10px}
body.ct173-home .ct172-proofBand .ct170-proofGrid article{min-height:72px;padding:11px 13px}
body.ct173-home .ct172-proofBand .ct170-proofGrid i{width:38px;height:38px}
body.ct173-home .ct172-proofBand .ct170-proofGrid b{font-size:12px}
body.ct173-home .ct172-proofBand .ct170-proofGrid span{font-size:10px}

/* 4) Main editorial area: give tours more room, keep Why Cỏ compact 2×2. */
body.ct173-home .ct172-homeGrid{
  max-width:1380px;
  grid-template-columns:minmax(0,1.82fr) minmax(360px,.78fr);
  gap:28px 30px;
  padding-top:20px;
}
body.ct173-home .ct172-homeGrid .co119-sectionHead h2{font-size:21px!important}

/* Tour cards +8–10% visual weight. */
body.ct173-home .ct172-gridTours .ct170-tourGrid{gap:13px!important}
body.ct173-home .ct172-gridTours .ct170-tourCard{
  border-radius:16px!important;
  box-shadow:0 7px 20px rgba(16,35,26,.065)!important;
}
body.ct173-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important}
body.ct173-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__body{gap:7px;padding:11px 12px 12px!important}
body.ct173-home .ct172-gridTours .ct170-tourCard h3{min-height:39px!important;font-size:14.5px!important;line-height:1.3!important}
body.ct173-home .ct172-gridTours .ct170-tourPrice>small{font-size:8px!important}
body.ct173-home .ct172-gridTours .ct170-tourPrice strong{font-size:16.5px!important}
body.ct173-home .ct172-gridTours .ct170-tourCta{min-height:31px;padding:0 9px;font-size:9px!important}
body.ct173-home .ct172-gridTours .ct170-tourMediaMeta span{min-height:22px;font-size:8px}
body.ct173-home .ct172-gridTours .ct170-badge{min-height:21px;font-size:8px}

/* Why cards remain compact but become easier to scan. */
body.ct173-home .ct172-gridWhy .ct150-whyGrid{gap:10px!important}
body.ct173-home .ct172-gridWhy .ct150-whyGrid article{min-height:104px!important;padding:13px!important}
body.ct173-home .ct172-gridWhy .ct150-whyGrid strong{font-size:12px!important}
body.ct173-home .ct172-gridWhy .ct150-whyGrid span{font-size:10px!important}

/* Reviews / guide receive the same scale-up so the page stays balanced. */
body.ct173-home .ct172-gridReviews .ct161-reviewCard{min-height:138px;padding:12px!important}
body.ct173-home .ct172-gridReviews .ct161-reviewCard>p{font-size:10.5px!important}
body.ct173-home .ct172-gridGuide .co119-guideCard__body h3{font-size:9.5px!important}

@media(max-width:1180px){
  body.ct173-home .ct172-stage{min-height:435px}
  body.ct173-home .ct172-stageInner{min-height:392px;grid-template-columns:minmax(285px,.58fr) minmax(0,1.42fr);gap:19px}
  body.ct173-home .ct172-finder{max-width:365px}
  body.ct173-home .ct172-homeGrid{grid-template-columns:minmax(0,1.58fr) minmax(330px,.82fr);gap:23px}
}

@media(max-width:930px){
  body.ct173-home .ct172-stage{min-height:0;padding:18px 0 22px}
  body.ct173-home .ct172-stageBg img{opacity:.52;filter:saturate(.82) brightness(1.07) blur(1px)}
  body.ct173-home .ct172-stageShade{background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(255,255,255,.25) 58%,rgba(5,63,43,.07))}
  body.ct173-home .ct172-stageInner{min-height:0;grid-template-columns:1fr;gap:15px}
  body.ct173-home .ct172-finder{max-width:none}
  body.ct173-home .ct172-media,body.ct173-home .ct172-media:has(.ct167-heroTiktok){aspect-ratio:16/8.5!important}
  body.ct173-home .ct172-homeGrid{grid-template-columns:1fr;grid-template-areas:"tours" "why" "reviews" "guide"}
}

@media(max-width:620px){
  body.ct173-home .ct172-stage{padding:10px 0 15px}
  body.ct173-home .ct172-stageBg img{opacity:.43;filter:saturate(.78) brightness(1.1) blur(1px)}
  body.ct173-home .ct172-finder{padding:15px;max-width:none}
  body.ct173-home .ct172-media,body.ct173-home .ct172-media:has(.ct167-heroTiktok){aspect-ratio:16/10!important}
  body.ct173-home .ct172-proofBand .ct170-proofHead h2{font-size:19px!important}
  body.ct173-home .ct172-homeGrid{padding-top:14px!important}
  body.ct173-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__body{padding:10px!important}
}

/* ===== V178 SOURCE: public_home_v174_mobile.css ===== */
/* Cỏ Travel Homepage V174 — MOBILE REPAIR
   Purpose: stop desktop V173 sizing from overriding V172 mobile rules.
   Presentation only. No booking/pricing/CMS logic changes. */

body.ct174-home{overflow-x:hidden}

/* Tablet/mobile: always collapse the desktop editorial proportions. */
@media (max-width:930px){
  body.ct174-home .ct172-stage,
  body.ct174-home .ct172-proofBand,
  body.ct174-home .ct172-homeGrid,
  body.ct174-home .ct172-convert{overflow:hidden}

  body.ct174-home .ct172-stageInner,
  body.ct174-home .ct172-proofBand>.co119-shell,
  body.ct174-home .ct172-homeGrid{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }

  /* V173 desktop rule was re-opening this as 245px + 3.15fr on phones. */
  body.ct174-home .ct172-proofBand>.co119-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofHead{
    width:100%;
    min-width:0;
    text-align:center!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofHead h2{
    width:100%;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid article{
    min-width:0!important;
    width:100%!important;
    overflow:hidden;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid article>div{
    min-width:0;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid b,
  body.ct174-home .ct172-proofBand .ct170-proofGrid span{
    white-space:normal!important;
    overflow-wrap:anywhere;
  }

  /* Kill desktop 1.82fr / 360px layout on small screens. */
  body.ct174-home .ct172-homeGrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tours" "why" "reviews" "guide"!important;
    gap:24px!important;
  }
  body.ct174-home .ct172-homeGrid>section,
  body.ct174-home .ct172-homeGrid>section>.co119-shell{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box;
  }
}

/* Phone: cards become true mobile cards instead of narrow desktop/horizontal hybrids. */
@media (max-width:620px){
  body.ct174-home .ct172-stageInner{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.ct174-home .ct172-finder,
  body.ct174-home .ct172-mediaWrap,
  body.ct174-home .ct172-media{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  /* Proof / USP area */
  body.ct174-home .ct172-proofBand{padding:15px 0 18px!important}
  body.ct174-home .ct172-proofBand>.co119-shell{
    padding-left:14px!important;
    padding-right:14px!important;
    gap:12px!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofHead h2{
    max-width:310px!important;
    font-size:20px!important;
    line-height:1.25!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid{
    gap:9px!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid article{
    min-height:78px!important;
    padding:10px!important;
    gap:9px!important;
    border-radius:14px!important;
    align-items:flex-start!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid i{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid b{
    display:block;
    font-size:10.5px!important;
    line-height:1.25!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid span{
    display:block;
    margin-top:3px;
    font-size:8.5px!important;
    line-height:1.3!important;
  }

  /* Main home content gets the whole phone width, with predictable gutters. */
  body.ct174-home .ct172-homeGrid{
    padding:15px 14px 20px!important;
    gap:24px!important;
  }
  body.ct174-home .ct172-homeGrid .co119-sectionHead{
    margin-bottom:11px!important;
  }
  body.ct174-home .ct172-homeGrid .co119-sectionHead h2{
    font-size:20px!important;
    line-height:1.25!important;
  }

  /* Tour cards: image above, content below. No more 42/58 squeeze. */
  body.ct174-home .ct172-gridTours .ct170-tourGrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:13px!important;
    width:100%!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard{
    display:block!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:17px!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__body{
    display:grid!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    padding:12px 13px 13px!important;
    box-sizing:border-box!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard h3{
    min-height:0!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.ct174-home .ct172-gridTours .ct170-route{
    display:-webkit-box!important;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0!important;
    font-size:10px!important;
    line-height:1.4!important;
  }
  body.ct174-home .ct172-gridTours .ct170-highlights{
    display:none!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCard__foot{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:10px!important;
    min-width:0!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourPrice{
    min-width:0!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourPrice strong{
    font-size:18px!important;
    line-height:1.1!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourPrice strong small{
    font-size:9px!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourCta{
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }

  /* Why Cỏ: readable 2 x 2 instead of tiny compressed text. */
  body.ct174-home .ct172-gridWhy .ct150-whyGrid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
  }
  body.ct174-home .ct172-gridWhy .ct150-whyGrid article{
    width:100%!important;
    min-width:0!important;
    min-height:118px!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  body.ct174-home .ct172-gridWhy .ct150-whyGrid strong{
    font-size:11.5px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere;
  }
  body.ct174-home .ct172-gridWhy .ct150-whyGrid span{
    font-size:9px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere;
  }

  /* Reviews: one full-width card per row. */
  body.ct174-home .ct172-gridReviews .ct161-reviewGrid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:10px!important;
  }
  body.ct174-home .ct172-gridReviews .ct161-reviewCard{
    width:100%!important;
    min-width:0!important;
  }

  /* Guide remains swipeable but each card is wide enough to read. */
  body.ct174-home .ct172-gridGuide .ct161-guideGrid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(235px,82vw)!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory!important;
    gap:11px!important;
    padding:1px 1px 7px!important;
  }
  body.ct174-home .ct172-gridGuide .ct161-guideCard{
    min-width:0!important;
    width:100%!important;
    scroll-snap-align:start!important;
  }

  /* CTA uses one clear primary action per row on narrow screens. */
  body.ct174-home .ct172-convert{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.ct174-home .ct172-convert .ct140-convertInner{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.ct174-home .ct172-convert .ct140-convertActions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
  }
}

@media (max-width:390px){
  body.ct174-home .ct172-proofBand .ct170-proofGrid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.ct174-home .ct172-proofBand .ct170-proofGrid article{
    min-height:64px!important;
    align-items:center!important;
  }
  body.ct174-home .ct172-gridWhy .ct150-whyGrid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.ct174-home .ct172-gridWhy .ct150-whyGrid article{
    min-height:94px!important;
  }
  body.ct174-home .ct172-gridTours .ct170-tourPrice strong{
    font-size:17px!important;
  }
}

/* ===== V178 SOURCE: public_home_v175.css ===== */
/* Cỏ Travel Homepage V175 — UX consolidation
   Fixes mobile contact/menu/video issues and replaces Why block with About 70/30.
   Presentation only. No pricing/booking/CRM logic changes. */

body.ct175-home{
  --ct175-green:#087a45;
  --ct175-green-dark:#075b40;
  --ct175-orange:#ff5a1f;
  --ct175-ink:#10243c;
  --ct175-line:#dce7e1;
  overflow-x:hidden;
}

/* ===== Header / hamburger ===== */
body.ct175-home .co119-header{z-index:105}
body.ct175-home .co119-header__actions{margin-left:auto}
body.ct175-home .co119-menuBtn{position:relative;z-index:3;flex:0 0 42px}
body.ct175-home .co119-drawer{z-index:160}

/* ===== Home content composition ===== */
body.ct175-home .ct172-homeGrid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:
    "tours tours"
    "about about"
    "reviews guide"!important;
  gap:28px 30px!important;
  padding-top:26px!important;
  padding-bottom:26px!important;
}
body.ct175-home .ct172-gridTours{grid-area:tours!important}
body.ct175-home .ct172-gridAbout{grid-area:about!important}
body.ct175-home .ct172-gridReviews{grid-area:reviews!important}
body.ct175-home .ct172-gridGuide{grid-area:guide!important}

/* Tour cards: slightly more confident on desktop. */
@media (min-width:931px){
  body.ct175-home .ct172-gridTours .ct170-tourGrid{gap:16px!important}
  body.ct175-home .ct172-gridTours .ct170-tourCard{border-radius:17px!important}
  body.ct175-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important}
  body.ct175-home .ct172-gridTours .ct170-tourCard h3{font-size:15.5px!important;min-height:40px!important}
  body.ct175-home .ct172-gridTours .ct170-tourPrice strong{font-size:18px!important}
  body.ct175-home .ct172-gridTours .ct170-tourCta{min-height:34px!important;font-size:9.5px!important;padding:0 11px!important}
}

/* ===== About Cỏ Travel — 70% copy / 30% image ===== */
body.ct175-home .ct175-about{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,3fr);
  gap:28px;
  align-items:stretch;
  padding:26px;
  border:1px solid var(--ct175-line);
  border-radius:22px;
  background:linear-gradient(135deg,#fff 0%,#fbfefc 64%,#f1faf5 100%);
  box-shadow:0 10px 30px rgba(16,36,60,.055);
}
body.ct175-home .ct175-aboutCopy{min-width:0;padding:2px 2px 2px 0}
body.ct175-home .ct175-aboutKicker{
  display:inline-flex;align-items:center;min-height:26px;padding:0 10px;
  border-radius:999px;background:#eaf8f0;color:var(--ct175-green);
  font-size:9px;font-weight:900;letter-spacing:.08em;
}
body.ct175-home .ct175-about h2{
  margin:10px 0 13px;color:var(--ct175-ink);font-size:clamp(24px,2.2vw,32px);
  line-height:1.12;letter-spacing:-.035em;
}
body.ct175-home .ct175-about p{
  margin:0 0 10px;color:#425466;font-size:13.5px;line-height:1.72;font-weight:520;
}
body.ct175-home .ct175-about p strong{color:#173b2c;font-weight:800}
body.ct175-home .ct175-aboutSign{
  display:block;margin-top:14px;color:var(--ct175-orange);font-size:14px;line-height:1.4;
}
body.ct175-home .ct175-aboutMedia{
  position:relative;min-width:0;margin:0;border-radius:18px;overflow:hidden;background:#dceee6;
  min-height:300px;box-shadow:0 12px 28px rgba(16,36,60,.12)
}
body.ct175-home .ct175-aboutMedia img{width:100%;height:100%;object-fit:cover;object-position:center center}
body.ct175-home .ct175-aboutMedia figcaption{
  position:absolute;left:12px;right:12px;bottom:12px;margin:0;padding:9px 11px;border-radius:11px;
  background:rgba(7,91,64,.82);backdrop-filter:blur(8px);color:#fff;font-size:9.5px;font-weight:750;line-height:1.35
}

/* ===== Contact actions: one clean right rail ===== */
/* Old homepage-only FABs are retired in V175. */
body.ct175-home .ct172-callFab,
body.ct175-home .ct150-zaloFab,
body.ct175-home .co119-mobileNav{display:none!important}
body.ct175-home{padding-bottom:0!important}

/* Keep only Call in the shared rail; chat bubble becomes the message action. */
body.ct175-home .ct-contact-rail{
  display:flex!important;right:16px!important;bottom:18px!important;left:auto!important;
  z-index:72!important;gap:8px!important
}
body.ct175-home .ct-contact-rail__zalo{display:none!important}
body.ct175-home .ct-contact-rail__call{
  min-width:58px!important;min-height:52px!important;padding:0 14px!important;border-radius:15px!important;
  background:#fff!important;color:var(--ct175-green-dark)!important;border:1.5px solid #0a8a4b!important;
  box-shadow:0 10px 25px rgba(16,36,60,.14)!important;font-size:12px!important
}

/* Website chat: right side, above Call, never overlaps. */
body.ct175-home .ct-wc-bubble{
  left:auto!important;right:16px!important;bottom:82px!important;z-index:73!important;
  min-width:92px!important;min-height:52px!important;padding:0 14px!important;border-radius:15px!important;
  background:var(--ct175-orange)!important;color:#fff!important;box-shadow:0 10px 26px rgba(255,90,31,.24)!important;
  font-size:0!important;justify-content:center!important;gap:7px!important
}
body.ct175-home .ct-wc-bubble span{
  width:18px!important;height:18px!important;background:transparent!important;position:relative!important;flex:0 0 18px
}
body.ct175-home .ct-wc-bubble span:before{
  content:"";position:absolute;inset:2px 1px 4px;border:2px solid #fff;border-radius:7px
}
body.ct175-home .ct-wc-bubble span:after{
  content:"";position:absolute;left:4px;bottom:1px;width:6px;height:6px;border-left:2px solid #fff;transform:skew(-24deg)
}
body.ct175-home .ct-wc-bubble:after{content:"Nhắn tin";font-size:12px;font-weight:900;line-height:1}
body.ct175-home .ct-wc-panel{
  left:auto!important;right:16px!important;bottom:18px!important;z-index:100!important
}
body.ct175-home:has(.ct-wc.is-open) .ct-contact-rail{display:none!important}

/* ===== Hero clip interaction ===== */
body.ct175-home .ct172-media .ct167-heroPlayer{pointer-events:auto!important}
body.ct175-home .ct172-media .ct167-heroPlay{
  display:grid!important;place-items:center!important;z-index:15!important;pointer-events:auto!important;
  opacity:1!important;visibility:visible!important
}
body.ct175-home .ct172-media .ct167-heroPoster{z-index:1}
body.ct175-home .ct172-media .ct167-heroPlayer iframe{z-index:20;background:#000}
body.ct175-home .ct172-soundPill{z-index:12}

/* ===== Mobile ===== */
@media (max-width:930px){
  body.ct175-home .ct172-homeGrid{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"tours" "about" "reviews" "guide"!important;
    gap:24px!important;
  }
  body.ct175-home .ct175-about{grid-template-columns:minmax(0,1fr)!important}
  body.ct175-home .ct175-aboutMedia{min-height:360px}
}

@media (max-width:820px){
  /* Ensure the actual site menu is visible, and hamburger lives at the far right. */
  body.ct175-home .co119-header{display:block!important;position:sticky!important;top:0!important;background:rgba(255,255,255,.98)!important}
  body.ct175-home .co119-header__row{height:62px!important;gap:10px!important}
  body.ct175-home .co119-brand--wordmark{margin-right:auto!important}
  body.ct175-home .co119-brand__wordmark{width:148px!important;max-height:48px!important}
  body.ct175-home .co119-nav,
  body.ct175-home .co119-phone,
  body.ct175-home .co119-header__cta{display:none!important}
  body.ct175-home .co119-header__actions{margin-left:auto!important;display:flex!important;justify-content:flex-end!important;flex:0 0 auto!important}
  body.ct175-home .co119-menuBtn{display:flex!important;margin-left:auto!important;width:42px!important;height:42px!important;border-radius:12px!important}
  body.ct175-home .co119-menuBtn span{width:20px!important;height:2px!important;background:#123726!important}
  body.ct175-home .co119-drawer__panel{width:min(340px,88vw)!important}

  /* No bottom navigation; keep two actions on the right edge. */
  body.ct175-home .ct-contact-rail{right:10px!important;bottom:14px!important}
  body.ct175-home .ct-contact-rail__call{min-width:54px!important;width:54px!important;min-height:52px!important;padding:0 7px!important;font-size:11px!important}
  body.ct175-home .ct-wc-bubble{
    right:10px!important;bottom:76px!important;left:auto!important;min-width:88px!important;min-height:52px!important;padding:0 11px!important
  }
  body.ct175-home .ct-wc-bubble:after{font-size:11px!important}
  body.ct175-home .ct-wc-panel{
    left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;
    height:min(660px,calc(var(--wc-vv,100dvh) - 16px))!important;
    max-height:calc(var(--wc-vv,100dvh) - 16px)!important;border-radius:18px!important
  }
}

@media (max-width:620px){
  /* Hero video remains a tappable wide clip on phones. */
  body.ct175-home .ct172-media,
  body.ct175-home .ct172-media:has(.ct167-heroTiktok){aspect-ratio:16/9!important;min-height:0!important}
  body.ct175-home .ct172-media .ct167-heroPlay{width:58px!important;height:58px!important;min-height:58px!important;border-radius:50%!important}
  body.ct175-home .ct172-media .ct167-heroPlay span{font-size:21px!important}
  body.ct175-home .ct172-mediaProof{right:9px!important;bottom:9px!important}

  body.ct175-home .ct172-homeGrid{padding-left:12px!important;padding-right:12px!important}

  /* Featured tours: horizontal cards are easier to scan than a long vertical stack. */
  body.ct175-home .ct172-gridTours .ct170-tourGrid{
    display:flex!important;overflow-x:auto!important;gap:11px!important;scroll-snap-type:x mandatory!important;
    padding:2px 1px 10px!important;scrollbar-width:none!important
  }
  body.ct175-home .ct172-gridTours .ct170-tourGrid::-webkit-scrollbar{display:none}
  body.ct175-home .ct172-gridTours .ct170-tourCard{
    flex:0 0 min(82vw,300px)!important;width:min(82vw,300px)!important;display:block!important;
    scroll-snap-align:start!important;border-radius:17px!important
  }
  body.ct175-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important;height:auto!important}
  body.ct175-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__body{padding:11px 12px 12px!important}
  body.ct175-home .ct172-gridTours .ct170-tourCard h3{font-size:14px!important;min-height:36px!important}
  body.ct175-home .ct172-gridTours .ct170-tourPrice strong{font-size:17px!important}

  /* About: text first, photo after, with comfortable reading size. */
  body.ct175-home .ct175-about{padding:18px 15px!important;border-radius:18px!important;gap:16px!important}
  body.ct175-home .ct175-aboutKicker{font-size:8px!important}
  body.ct175-home .ct175-about h2{font-size:23px!important;margin:9px 0 12px!important}
  body.ct175-home .ct175-about p{font-size:12.5px!important;line-height:1.65!important;margin-bottom:9px!important}
  body.ct175-home .ct175-aboutSign{font-size:12.5px!important;margin-top:12px!important}
  body.ct175-home .ct175-aboutMedia{min-height:0!important;aspect-ratio:16/10!important;border-radius:15px!important}
  body.ct175-home .ct175-aboutMedia figcaption{display:none!important}

  /* Footer is allowed to reach screen edge now that the bottom nav is gone. */
  body.ct175-home .co119-footer{padding-bottom:26px!important}
}

@media (max-width:390px){
  body.ct175-home .co119-brand__wordmark{width:136px!important}
  body.ct175-home .ct175-about p{font-size:12px!important}
  body.ct175-home .ct-wc-bubble{min-width:82px!important;padding:0 9px!important}
}

/* ===== V178 SOURCE: public_home_v176.css ===== */
/* Cỏ Travel Homepage V176 — final UX polish
   Scope: homepage presentation only. No pricing/booking/CRM logic changes. */

:root{
  --ct176-green:#0b7a46;
  --ct176-green-dark:#0b4f38;
  --ct176-ink:#10243b;
  --ct176-muted:#64746d;
  --ct176-line:#d9e8df;
  --ct176-soft:#f4faf6;
  --ct176-orange:#ff5a1f;
  --ct176-orange-2:#ff6b2e;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.ct176-home{overflow-x:hidden!important}

/* ===== Hero clip: auto-player must occupy the whole media frame ===== */
body.ct176-home .ct172-media .ct167-heroPlayer iframe{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  border:0!important;display:block!important;background:#000!important;z-index:30!important
}
body.ct176-home .ct172-media .ct167-heroPlayer.is-playing .ct167-heroPoster,
body.ct176-home .ct172-media .ct167-heroPlayer.is-playing .ct167-heroPlay{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important
}
body.ct176-home #heroVideo{width:100%!important;height:100%!important;object-fit:cover!important}

/* ===== About: cleaner card, more breathing room ===== */
body.ct176-home .ct175-about{
  padding:34px 36px!important;
  gap:34px!important;
  border:1px solid #e1ece5!important;
  background:linear-gradient(135deg,#ffffff 0%,#fbfefc 68%,#f2faf5 100%)!important;
  box-shadow:0 14px 38px rgba(17,48,37,.07)!important;
}
body.ct176-home .ct175-aboutCopy{padding:2px 6px 2px 0!important}
body.ct176-home .ct175-about h2{margin:12px 0 16px!important}
body.ct176-home .ct175-about p{
  margin:0 0 12px!important;
  max-width:72ch!important;
  font-size:14px!important;
  line-height:1.76!important;
  font-weight:500!important;
}
body.ct176-home .ct175-aboutMedia{min-height:330px!important;border-radius:20px!important}

/* ===== Featured tours polish ===== */
body.ct176-home .ct172-gridTours{margin-top:2px!important}
body.ct176-home .ct172-gridTours .ct170-tourGrid{gap:18px!important}
body.ct176-home .ct172-gridTours .ct170-tourCard{
  overflow:hidden!important;
  border-color:#dce9e1!important;
  box-shadow:0 8px 24px rgba(16,36,60,.055)!important
}
body.ct176-home .ct172-gridTours .ct170-tourCard:hover{box-shadow:0 14px 34px rgba(16,36,60,.09)!important}
body.ct176-home .ct172-gridTours .ct170-tourCard__body{padding:13px 14px 14px!important}
body.ct176-home .ct172-gridTours .ct170-tourCard h3{line-height:1.32!important}
body.ct176-home .ct172-gridTours .ct170-route{margin:7px 0 10px!important;color:#617169!important;line-height:1.45!important}

/* Empty Review / Guide blocks should not create a large blank zone. */
body.ct176-home .ct172-gridReviews.ct160-isEmpty,
body.ct176-home .ct172-gridGuide.ct160-isEmpty{
  min-height:0!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
  margin-top:0!important;
  margin-bottom:0!important
}
body.ct176-home .ct172-gridReviews.ct160-isEmpty .co119-shell,
body.ct176-home .ct172-gridGuide.ct160-isEmpty .co119-shell{min-height:0!important}
body.ct176-home .ct172-gridReviews .ct160-emptyCta,
body.ct176-home .ct172-gridGuide .ct160-emptyCta{padding:8px 0!important;margin:0!important;min-height:0!important}

/* ===== Inline Lead Form ===== */
body.ct176-home .ct176-lead{padding:24px 0 38px!important}
body.ct176-home .ct176-leadCard{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(500px,1.48fr);
  gap:30px;
  align-items:stretch;
  padding:30px;
  border:1px solid #d7e8de;
  border-radius:24px;
  background:linear-gradient(130deg,#f2fbf6 0%,#fff 55%,#fff8f3 100%);
  box-shadow:0 14px 40px rgba(16,36,60,.065)
}
body.ct176-home .ct176-leadIntro{padding:5px 4px 5px 2px;display:flex;flex-direction:column;align-items:flex-start}
body.ct176-home .ct176-leadKicker{
  display:inline-flex;align-items:center;min-height:27px;padding:0 10px;border-radius:999px;
  background:#e7f7ee;color:var(--ct176-green);font-size:9px;font-weight:900;letter-spacing:.08em
}
body.ct176-home .ct176-leadIntro h2{
  margin:12px 0 8px;color:var(--ct176-ink);font-size:clamp(24px,2.5vw,34px);line-height:1.12;letter-spacing:-.035em
}
body.ct176-home .ct176-leadIntro p{margin:0;color:#5f7069;font-size:13.5px;line-height:1.65;max-width:44ch}
body.ct176-home .ct176-leadIntro ul{list-style:none;margin:17px 0 0;padding:0;display:grid;gap:8px;color:#355548;font-size:12px;font-weight:650}
body.ct176-home .ct176-leadIntro li{position:relative;padding-left:21px}
body.ct176-home .ct176-leadIntro li:before{
  content:"✓";position:absolute;left:0;top:0;color:var(--ct176-green);font-weight:900
}
body.ct176-home .ct176-leadQuick{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:20px}
body.ct176-home .ct176-zaloBtn,
body.ct176-home .ct176-callBtn{
  min-height:42px;padding:0 15px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;font-size:11.5px;font-weight:850;transition:.18s ease
}
body.ct176-home .ct176-zaloBtn{background:var(--ct176-orange);border:1px solid var(--ct176-orange);color:#fff!important}
body.ct176-home .ct176-callBtn{background:#fff;border:1.5px solid #8fc7aa;color:var(--ct176-green-dark)!important}
body.ct176-home .ct176-zaloBtn:hover,
body.ct176-home .ct176-callBtn:hover{transform:translateY(-1px)}

body.ct176-home .ct176-leadForm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:22px;
  border:1px solid #e0ece5;
  border-radius:19px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 24px rgba(16,36,60,.045)
}
body.ct176-home .ct176-field{display:grid;gap:7px;min-width:0}
body.ct176-home .ct176-field--message{grid-column:1 / -1}
body.ct176-home .ct176-field label{font-size:11px;color:#2d443a;font-weight:800}
body.ct176-home .ct176-field label b{color:var(--ct176-orange)}
body.ct176-home .ct176-field input,
body.ct176-home .ct176-field textarea{
  width:100%;min-width:0;border:1px solid #d6e5dd;border-radius:12px;background:#fff;color:#163027;
  padding:12px 13px;font:inherit;font-size:14px;line-height:1.4;outline:none;box-shadow:none
}
body.ct176-home .ct176-field input{height:46px}
body.ct176-home .ct176-field textarea{min-height:92px;resize:vertical}
body.ct176-home .ct176-field input:focus,
body.ct176-home .ct176-field textarea:focus{border-color:#72bd94;box-shadow:0 0 0 4px rgba(11,122,70,.075)}
body.ct176-home .ct176-submitBtn{
  grid-column:1 / -1;min-height:48px;border:0;border-radius:13px;padding:0 18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(115deg,var(--ct176-orange),var(--ct176-orange-2));color:#fff;font-size:13px;font-weight:900;
  box-shadow:0 9px 22px rgba(255,90,31,.18)
}
body.ct176-home .ct176-submitBtn b{font-size:17px;font-weight:600}
body.ct176-home .ct176-formNote{grid-column:1 / -1;text-align:center;color:#718078;font-size:10px;line-height:1.45}
body.ct176-home .ct176-formNote strong{color:#395548}
body.ct176-home .ct176-formAlert{
  grid-column:1 / -1;padding:10px 12px;border-radius:11px;font-size:11.5px;font-weight:750
}
body.ct176-home .ct176-formAlert.is-ok{background:#e9f8ef;color:#17633f;border:1px solid #ccebd9}
body.ct176-home .ct176-formAlert.is-error{background:#fff2ed;color:#a43a16;border:1px solid #ffd6c7}

/* ===== Contact: one explicit right-side stack; retire shared rails/bubbles on homepage ===== */
body.ct176-home .ct-contact-rail,
body.ct176-home .co119-mobileNav,
body.ct176-home .ct-wc-bubble{display:none!important}
body.ct176-home .ct176-contactStack{
  position:fixed;right:16px;bottom:18px;z-index:90;display:flex;flex-direction:column;gap:8px;align-items:stretch
}
body.ct176-home .ct176-contactStack.is-hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px)!important}
body.ct176-home .ct176-contactStack a,
body.ct176-home .ct176-contactStack button{
  min-width:102px;min-height:50px;padding:0 14px;border-radius:15px;display:flex;align-items:center;justify-content:center;gap:8px;
  text-decoration:none;font:inherit;font-size:12px;font-weight:900;box-shadow:0 11px 28px rgba(16,36,60,.14)
}
body.ct176-home .ct176-contactMsg{
  appearance:none;cursor:pointer;background:var(--ct176-orange);border:1.5px solid var(--ct176-orange);color:#fff!important
}
body.ct176-home .ct176-contactMsg:hover{filter:brightness(.97);transform:translateY(-1px)}
body.ct176-home .ct176-contactMsg:focus-visible{outline:3px solid rgba(255,90,31,.22);outline-offset:3px}
body.ct176-home .ct176-contactMsg .ct176-contactMsgIcon{
  position:relative;width:18px;height:18px;flex:0 0 18px;font-size:0;color:#fff
}
body.ct176-home .ct176-contactMsg .ct176-contactMsgIcon:before{
  content:"";position:absolute;inset:2px 1px 4px;border:2px solid currentColor;border-radius:7px
}
body.ct176-home .ct176-contactMsg .ct176-contactMsgIcon:after{
  content:"";position:absolute;left:4px;bottom:1px;width:6px;height:6px;border-left:2px solid currentColor;transform:skew(-24deg)
}
body.ct176-home .ct176-contactCall{background:#fff;border:1.5px solid #0a8a4b;color:var(--ct176-green-dark)!important}
body.ct176-home .ct176-contactCall span{font-size:15px;color:var(--ct176-green)}

/* ===== Footer: shorter and cleaner ===== */
body.ct176-home .co119-footer{padding:34px 0 14px!important}
body.ct176-home .co119-footer__grid{gap:26px!important}
body.ct176-home .co119-footer__bottom{margin-top:24px!important;padding-top:14px!important}

/* ===== Tablet ===== */
@media (max-width:930px){
  body.ct176-home .ct176-leadCard{grid-template-columns:1fr;gap:20px;padding:24px}
  body.ct176-home .ct176-leadQuick{margin-top:0}
}

/* ===== Mobile final polish ===== */
@media (max-width:620px){
  body.ct176-home{font-size:14px!important}

  /* More controlled section rhythm. */
  body.ct176-home .ct172-proofBand{padding-top:18px!important;padding-bottom:22px!important}
  body.ct176-home .ct172-homeGrid{gap:18px!important;padding-top:18px!important;padding-bottom:10px!important}
  body.ct176-home .ct172-gridTours{padding-top:0!important;padding-bottom:6px!important}
  body.ct176-home .ct172-gridReviews,
  body.ct176-home .ct172-gridGuide{padding-top:4px!important;padding-bottom:4px!important}

  /* Mobile proof typography. */
  body.ct176-home .ct170-proofHead h2{font-size:22px!important;line-height:1.18!important;letter-spacing:-.025em!important}
  body.ct176-home .ct160-proofGrid article{min-height:76px!important;padding:12px!important}
  body.ct176-home .ct160-proofGrid article b{font-size:12px!important;line-height:1.25!important}
  body.ct176-home .ct160-proofGrid article span{font-size:10.5px!important;line-height:1.3!important}

  /* Tour cards: readable, compact, swipeable. */
  body.ct176-home .ct172-gridTours .ct170-tourGrid{gap:10px!important;padding-bottom:8px!important}
  body.ct176-home .ct172-gridTours .ct170-tourCard{
    flex:0 0 min(78vw,292px)!important;width:min(78vw,292px)!important;border-radius:16px!important
  }
  body.ct176-home .ct172-gridTours .ct170-tourCard .ct170-tourCard__media{aspect-ratio:16/9!important}
  body.ct176-home .ct172-gridTours .ct170-tourCard__body{padding:11px 12px 12px!important}
  body.ct176-home .ct172-gridTours .ct170-tourCard h3{font-size:13.5px!important;line-height:1.28!important;min-height:35px!important}
  body.ct176-home .ct172-gridTours .ct170-route{font-size:10.5px!important;line-height:1.38!important;margin:6px 0 9px!important}
  body.ct176-home .ct172-gridTours .ct170-highlights{display:none!important}
  body.ct176-home .ct172-gridTours .ct170-tourPrice small{font-size:8px!important}
  body.ct176-home .ct172-gridTours .ct170-tourPrice strong{font-size:17px!important}
  body.ct176-home .ct172-gridTours .ct170-tourCta{min-height:35px!important;padding:0 11px!important;font-size:9px!important}
  body.ct176-home .ct150-tourActions{margin-top:10px!important}

  /* About reading card: no text touches the border. */
  body.ct176-home .ct175-about{
    margin-top:4px!important;padding:22px 20px 20px!important;gap:18px!important;border-radius:19px!important
  }
  body.ct176-home .ct175-aboutCopy{padding:0!important}
  body.ct176-home .ct175-aboutKicker{font-size:8px!important;min-height:25px!important;padding:0 9px!important}
  body.ct176-home .ct175-about h2{font-size:22px!important;line-height:1.16!important;margin:11px 0 14px!important}
  body.ct176-home .ct175-about p{
    font-size:14px!important;line-height:1.68!important;font-weight:480!important;margin:0 0 12px!important;max-width:none!important
  }
  body.ct176-home .ct175-about p strong{font-weight:800!important}
  body.ct176-home .ct175-aboutSign{font-size:13.5px!important;line-height:1.45!important;margin-top:14px!important}
  body.ct176-home .ct175-aboutMedia{aspect-ratio:4/3!important;min-height:0!important;border-radius:15px!important}

  /* Inline lead form stacks naturally on phone and uses 16px controls to prevent iOS zoom. */
  body.ct176-home .ct176-lead{padding:18px 0 22px!important}
  body.ct176-home .ct176-leadCard{padding:18px 15px!important;gap:16px!important;border-radius:19px!important}
  body.ct176-home .ct176-leadIntro{padding:1px 2px!important;text-align:left!important}
  body.ct176-home .ct176-leadKicker{font-size:8px!important}
  body.ct176-home .ct176-leadIntro h2{font-size:22px!important;line-height:1.18!important;margin:10px 0 7px!important}
  body.ct176-home .ct176-leadIntro p{font-size:12.5px!important;line-height:1.55!important}
  body.ct176-home .ct176-leadIntro ul{display:none!important}
  body.ct176-home .ct176-leadQuick{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;padding-top:13px!important}
  body.ct176-home .ct176-zaloBtn,
  body.ct176-home .ct176-callBtn{min-height:44px!important;padding:0 10px!important;font-size:11px!important}
  body.ct176-home .ct176-leadForm{grid-template-columns:1fr!important;gap:11px!important;padding:15px!important;border-radius:16px!important}
  body.ct176-home .ct176-field--message,
  body.ct176-home .ct176-submitBtn,
  body.ct176-home .ct176-formNote,
  body.ct176-home .ct176-formAlert{grid-column:1!important}
  body.ct176-home .ct176-field label{font-size:10.5px!important}
  body.ct176-home .ct176-field input,
  body.ct176-home .ct176-field textarea{font-size:16px!important;border-radius:11px!important}
  body.ct176-home .ct176-field input{height:46px!important}
  body.ct176-home .ct176-field textarea{min-height:92px!important}
  body.ct176-home .ct176-submitBtn{min-height:48px!important;font-size:12.5px!important}

  /* Right-side actions are compact and never cover the CTA/footer. */
  body.ct176-home .ct176-contactStack{right:9px!important;bottom:12px!important;gap:7px!important}
  body.ct176-home .ct176-contactStack a{min-width:56px!important;width:56px!important;min-height:50px!important;padding:0 5px!important;border-radius:14px!important;flex-direction:column!important;gap:2px!important;font-size:9.5px!important}
  body.ct176-home .ct176-contactStack span{line-height:1!important}

  /* Footer ends quickly on phones: brand + legal essentials only. */
  body.ct176-home .co119-footer{padding:25px 0 13px!important}
  body.ct176-home .co119-footer__grid{grid-template-columns:1fr!important;gap:10px!important}
  body.ct176-home .co119-footer__grid>div:not(.co119-footer__brand){display:none!important}
  body.ct176-home .co119-footer__brand{gap:7px!important}
  body.ct176-home .co119-footerLogoPlate{padding:5px 7px!important;border-radius:10px!important}
  body.ct176-home .co119-brand--footer .co119-brand__wordmark,
  body.ct176-home .co119-footer .co119-brand__wordmark{width:178px!important;height:auto!important}
  body.ct176-home .co119-footer__grid p,
  body.ct176-home .co119-footer__grid span,
  body.ct176-home .co119-footer__grid a{font-size:11px!important;line-height:1.45!important}
  body.ct176-home .co119-footer__bottom{margin-top:18px!important;padding-top:12px!important;gap:3px!important;font-size:10.5px!important}
}

@media (max-width:390px){
  body.ct176-home .ct175-about{padding-left:17px!important;padding-right:17px!important}
  body.ct176-home .ct175-about p{font-size:13.5px!important}
  body.ct176-home .ct176-leadCard{padding-left:12px!important;padding-right:12px!important}
}

/* ===== V178 SOURCE: public_home_v177.css ===== */
/* Cỏ Travel homepage V177 — about block proportion + typography polish */
body.ct176-home .ct175-about{
  grid-template-columns:minmax(0,6fr) minmax(0,4fr)!important;
  align-items:stretch!important;
  padding:34px 40px 34px 48px!important;
  gap:28px!important;
}
body.ct176-home .ct175-aboutCopy{
  padding:4px 10px 20px 20px!important;
}
body.ct176-home .ct175-about h2{
  font-size:30px!important;
  line-height:1.12!important;
  margin:12px 0 16px!important;
}
body.ct176-home .ct175-about p{
  font-size:13px!important;
  line-height:1.7!important;
  margin:0 0 10px!important;
  max-width:62ch!important;
}
body.ct176-home .ct175-aboutSign{
  margin-top:12px!important;
  font-size:15px!important;
  line-height:1.4!important;
}
body.ct176-home .ct175-aboutMedia{
  min-height:380px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
}
body.ct176-home .ct175-aboutMedia img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#edf8f2!important;
}
body.ct176-home .ct175-aboutMedia figcaption{
  left:14px!important;
  right:14px!important;
  bottom:14px!important;
}
@media (max-width: 1024px){
  body.ct176-home .ct175-about{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;
    padding:28px 28px 28px 34px!important;
    gap:22px!important;
  }
  body.ct176-home .ct175-about h2{font-size:28px!important}
  body.ct176-home .ct175-about p{font-size:12.5px!important;max-width:58ch!important}
  body.ct176-home .ct175-aboutMedia{min-height:340px!important}
}
@media (max-width: 767px){
  body.ct176-home .ct175-about{
    grid-template-columns:1fr!important;
    padding:24px 22px!important;
    gap:16px!important;
  }
  body.ct176-home .ct175-aboutCopy{
    padding:0 2px 0 2px!important;
  }
  body.ct176-home .ct175-about h2{
    font-size:20px!important;
    line-height:1.16!important;
    margin:10px 0 12px!important;
  }
  body.ct176-home .ct175-about p{
    font-size:13.5px!important;
    line-height:1.65!important;
    margin:0 0 11px!important;
    max-width:none!important;
  }
  body.ct176-home .ct175-aboutSign{font-size:14px!important}
  body.ct176-home .ct175-aboutMedia{
    min-height:0!important;
    aspect-ratio:4/3!important;
    border-radius:18px!important;
  }
  body.ct176-home .ct175-aboutMedia img{object-fit:cover!important}
}


/* ===== V179 homepage polish: about inset + mobile TikTok autoplay ===== */
body.ct176-home .ct175-about{
  grid-template-columns:minmax(0,6fr) minmax(0,4fr)!important;
  padding:26px 28px!important;
  gap:28px!important;
}
body.ct176-home .ct175-aboutCopy{
  padding:16px 18px 16px 24px!important;
  align-self:center!important;
}
body.ct176-home .ct175-about h2{
  margin-top:10px!important;
}
body.ct176-home .ct175-aboutMedia{
  align-self:stretch!important;
}
body.ct176-home .ct179-tiktokSound{
  appearance:none!important;
  border:0!important;
  cursor:pointer!important;
  z-index:45!important;
}
body.ct176-home .ct172-media .ct167-heroPlayer iframe{
  z-index:30!important;
}
@media (max-width:767px){
  body.ct176-home .ct175-about{
    grid-template-columns:1fr!important;
    padding:18px!important;
    gap:15px!important;
  }
  body.ct176-home .ct175-aboutCopy{
    padding:10px 8px 6px!important;
  }
  body.ct176-home .ct175-about h2{
    font-size:21px!important;
    line-height:1.18!important;
  }
  body.ct176-home .ct175-about p{
    font-size:13px!important;
    line-height:1.62!important;
  }
  body.ct176-home .ct175-aboutMedia{
    aspect-ratio:4/3!important;
  }
  body.ct176-home .ct172-media .ct167-heroPlayer iframe{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    pointer-events:auto!important;
  }
  body.ct176-home .ct179-tiktokSound{
    right:10px!important;
    top:10px!important;
    min-height:34px!important;
    padding:0 11px!important;
    font-size:10px!important;
  }
}


/* ===== V180: restore Website Chat on homepage =====
   The shared website_chat.js still owns the real chat/API. Homepage only provides
   a branded trigger so we do not show a duplicate floating bubble. */
body.ct176-home .ct-wc-bubble{display:none!important}
body.ct176-home.ct-chat-open .ct176-contactStack{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.ct176-home .ct-wc.is-open .ct-wc-panel{
  right:16px!important;left:auto!important;bottom:18px!important;
  width:min(400px,calc(100vw - 32px))!important;
  max-height:min(650px,calc(var(--wc-vv,100dvh) - 36px))!important;
  height:min(620px,calc(var(--wc-vv,100dvh) - 36px))!important;
  z-index:120!important
}
@media(max-width:767px){
  body.ct176-home .ct176-contactStack{right:10px!important;bottom:14px!important;gap:8px!important}
  body.ct176-home .ct176-contactStack a,
  body.ct176-home .ct176-contactStack button{min-width:92px!important;min-height:48px!important;padding:0 11px!important;font-size:11px!important}
  body.ct176-home .ct-wc.is-open .ct-wc-panel{
    left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;
    height:min(660px,calc(var(--wc-vv,100dvh) - 16px))!important;
    max-height:calc(var(--wc-vv,100dvh) - 16px)!important;border-radius:18px!important
  }
}


/* ===== V181: contact actions =====
   Right side is only Zalo + Call. Website Chat returns to its native bubble on
   the left so it cannot collide with the sales actions. */
body.ct176-home .ct176-contactZalo{background:var(--ct176-orange)!important;border-color:var(--ct176-orange)!important;color:#fff!important}
body.ct176-home .ct176-contactZalo .ct176-contactMsgIcon{
  display:grid!important;place-items:center!important;width:18px!important;height:18px!important;
  border:1.5px solid currentColor!important;border-radius:6px!important;font-size:9px!important;font-weight:1000!important
}
body.ct176-home .ct176-contactZalo .ct176-contactMsgIcon:before,
body.ct176-home .ct176-contactZalo .ct176-contactMsgIcon:after{display:none!important}
body.ct176-home .ct-wc-bubble{
  display:inline-flex!important;left:16px!important;right:auto!important;bottom:18px!important;z-index:112!important;
  min-width:auto!important;min-height:48px!important;padding:0 15px 0 12px!important;border-radius:999px!important;
  background:#075b40!important;color:#fff!important;font-size:13px!important;gap:8px!important
}
body.ct176-home .ct-wc-bubble:after{content:none!important}
body.ct176-home .ct-wc-bubble span{width:10px!important;height:10px!important;background:#7ee0a8!important}
body.ct176-home .ct-wc-bubble span:before,
body.ct176-home .ct-wc-bubble span:after{display:none!important}
body.ct176-home .ct-wc-panel{
  left:16px!important;right:auto!important;bottom:18px!important;z-index:130!important;
  width:min(420px,calc(100vw - 32px))!important;
  height:min(620px,calc(var(--wc-vv,100dvh) - 36px))!important;
  max-height:min(620px,calc(var(--wc-vv,100dvh) - 36px))!important
}
body.ct176-home:has(.ct-wc.is-open) .ct176-contactStack{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:767px){
  body.ct176-home .ct-wc-bubble{
    left:10px!important;right:auto!important;bottom:14px!important;z-index:112!important;
    min-height:46px!important;padding:0 13px 0 11px!important;font-size:11px!important
  }
  body.ct176-home .ct-wc-panel{
    left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;z-index:130!important;
    height:min(680px,calc(var(--wc-vv,100dvh) - 16px))!important;
    max-height:calc(var(--wc-vv,100dvh) - 16px)!important;border-radius:18px!important
  }
  body.ct176-home .ct176-contactStack{right:10px!important;bottom:14px!important}
}
