/* Cỏ Travel Public Funnel V171 — catalog + detail + booking final polish.
   Presentation only: no pricing/workflow/data logic. */

:root{
  --ct171-green:#087443;
  --ct171-green-deep:#075b37;
  --ct171-green-soft:#eef8f2;
  --ct171-orange:#ff5a1f;
  --ct171-ink:#10231a;
  --ct171-muted:#66766d;
  --ct171-line:#dfe9e3;
  --ct171-surface:#fff;
  --ct171-bg:#f7faf8;
  --ct171-shadow:0 14px 34px rgba(16,35,26,.07);
  --ct171-radius:18px;
}

/* ---------- TOUR CATALOG ---------- */
.ct-v171-public.ct162-list .wrap{max-width:1320px}
.ct-v171-public .ct-tour-catalog-v163{margin-top:8px}
.ct-v171-public .ct163-hero{
  min-height:340px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(16,35,26,.08);
  box-shadow:0 16px 42px rgba(16,35,26,.08);
}
.ct-v171-public .ct163-heroShade{
  background:linear-gradient(90deg,rgba(4,28,17,.82) 0%,rgba(4,28,17,.62) 42%,rgba(4,28,17,.13) 76%,rgba(4,28,17,.04) 100%);
}
.ct-v171-public .ct163-copy{max-width:720px;padding:42px 44px}
.ct-v171-public .ct163-copy h1{font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.035em}
.ct-v171-public .ct163-kicker{font-size:17px}
.ct-v171-public .ct163-lead{max-width:650px;font-size:15px;line-height:1.65}
.ct-v171-public .ct163-usp li{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.2);backdrop-filter:blur(6px)}

.ct-v171-public .ct163-finder{
  margin-top:-25px;
  position:relative;
  z-index:4;
  border:1px solid var(--ct171-line);
  border-radius:18px;
  box-shadow:0 18px 40px rgba(16,35,26,.11);
  background:rgba(255,255,255,.98);
}
.ct-v171-public .ct163-go{background:var(--ct171-orange);border-color:var(--ct171-orange);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(255,90,31,.2)}
.ct-v171-public .ct163-go:hover{filter:brightness(.97);transform:translateY(-1px)}
.ct-v171-public .ct163-chips a.is-on{background:var(--ct171-green);border-color:var(--ct171-green);color:#fff}

.ct-v171-public .ct163-shop{gap:22px}
.ct-v171-public .ct163-side{
  border:1px solid var(--ct171-line);
  border-radius:16px;
  box-shadow:none;
  background:#fff;
}
.ct-v171-public .ct163-resultHead{margin-bottom:12px}
.ct-v171-public .tourSection{margin-bottom:34px}
.ct-v171-public .tourSectionHead{margin-bottom:12px}
.ct-v171-public .tourSectionHead h2{font-size:24px;letter-spacing:-.02em}

.ct-v171-public .ct163-pcard{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ct171-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 9px 26px rgba(16,35,26,.055);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
@media(hover:hover){
  .ct-v171-public .ct163-pcard:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(16,35,26,.11);border-color:#c9ddd2}
}
.ct-v171-public .ct163-pcardMedia{aspect-ratio:16/10;min-height:0;position:relative;overflow:hidden;background:#eef4f0}
.ct-v171-public .ct163-pcardMedia img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
@media(hover:hover){.ct-v171-public .ct163-pcard:hover .ct163-pcardMedia img{transform:scale(1.025)}}
.ct-v171-public .ct163-pcardHot{top:12px;left:12px;background:var(--ct171-orange);color:#fff;border:0;box-shadow:0 6px 16px rgba(255,90,31,.2)}
.ct-v171-public .ct163-pcardPlace{display:none}
.ct-v171-public .ct171-cardCode,
.ct-v171-public .ct171-cardDur{
  position:absolute;
  bottom:11px;
  z-index:3;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:950;
  line-height:1;
  border:1px solid rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
  box-shadow:0 5px 14px rgba(16,35,26,.12);
}
.ct-v171-public .ct171-cardCode{left:11px;background:rgba(255,255,255,.94);color:var(--ct171-green-deep)}
.ct-v171-public .ct171-cardDur{right:11px;background:rgba(238,248,242,.96);color:var(--ct171-green-deep)}
.ct-v171-public .ct163-pcardBody{padding:14px 15px 15px;display:flex;flex-direction:column;min-height:265px}
.ct-v171-public .ct163-pcardTitle{font-size:17px;line-height:1.27;letter-spacing:-.015em;color:var(--ct171-ink);margin:0 0 8px;font-weight:900}
.ct-v171-public .ct163-pcardChips{gap:5px;margin-bottom:8px}
.ct-v171-public .ct163-pcardChips span{background:#f5faf7;border-color:#dfeae4;color:#456255;font-size:10px;padding:5px 7px}
.ct-v171-public .ct163-pcardHl{margin:0 0 11px;padding:0;display:grid;gap:5px}
.ct-v171-public .ct163-pcardHl li{font-size:11.5px;line-height:1.35;color:#53685d;padding-left:17px;position:relative}
.ct-v171-public .ct163-pcardHl li::before{content:'✓';position:absolute;left:0;top:0;color:var(--ct171-green);font-weight:1000}
.ct-v171-public .ct163-pcardPrice{margin-top:auto;padding-top:11px;border-top:1px solid #edf2ef;display:grid;grid-template-columns:1fr auto;column-gap:8px;align-items:end}
.ct-v171-public .ct163-pcardPrice>span{grid-column:1/-1;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#74857c;font-weight:900;margin-bottom:2px}
.ct-v171-public .ct163-pcardPrice strong{font-size:21px;line-height:1;color:var(--ct171-green-deep);font-weight:1000;letter-spacing:-.03em}
.ct-v171-public .ct163-pcardPrice strong small{font-size:10px;letter-spacing:0;color:#5f7469;font-weight:800;margin-left:2px}
.ct-v171-public .ct163-pcardPrice em{font-size:10px;line-height:1.25;color:#6a7b72;font-style:normal;text-align:right;max-width:128px}
.ct-v171-public .ct163-pcardCta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px;align-items:center}
.ct-v171-public .ct163-pcardCta .ct171-cardPrimary{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--ct171-green)!important;
  border:1px solid var(--ct171-green)!important;
  color:#fff!important;
  border-radius:11px!important;
  padding:10px 14px!important;
  font-size:11px!important;
  font-weight:950!important;
  box-shadow:0 8px 16px rgba(8,116,67,.14)!important;
}
.ct-v171-public .ct163-pcardCta .ct171-cardZalo{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff!important;
  border:1px solid #cfe2d7!important;
  color:var(--ct171-green-deep)!important;
  border-radius:11px!important;
  padding:9px 11px!important;
  font-size:10px!important;
  font-weight:900!important;
  box-shadow:none!important;
  white-space:nowrap;
}
.ct-v171-public .tourSectionToggle{border-color:#cfe1d7;background:#fff;color:var(--ct171-green-deep);font-weight:900}

/* ---------- TOUR DETAIL ---------- */
.ct-v171-public.ct162-detail .wrap{max-width:1280px}
.ct-v171-public .ct-tour-detail-v166{--ct166-green:var(--ct171-green);--ct166-ink:var(--ct171-ink)}
.ct-v171-public .ct166-hero{border-radius:20px;gap:20px}
.ct-v171-public .ct166-heroBody{padding:18px 2px 4px}
.ct-v171-public .ct166-heroBody h1{font-size:clamp(30px,3.2vw,45px);letter-spacing:-.035em;line-height:1.05}
.ct-v171-public .ct166-route{font-size:13px;color:#587066}
.ct-v171-public .ct166-lead{font-size:14px;line-height:1.62;color:#4f655b}
.ct-v171-public .ct166-deal{border-radius:18px;border-color:#d7e6de;background:linear-gradient(160deg,#fff 0%,#f7fcf9 100%);box-shadow:0 12px 30px rgba(16,35,26,.06)}
.ct-v171-public .ct166-price{color:var(--ct171-green-deep);font-size:32px;letter-spacing:-.04em}
.ct-v171-public .ct166-pax button.is-on{background:var(--ct171-green);border-color:var(--ct171-green);color:#fff}
.ct-v171-public .ct171-detailActions{display:grid;grid-template-columns:1.1fr 1fr;gap:8px;align-items:center}
.ct-v171-public .ct171-detailActions .ct171-callLink{grid-column:1/-1;text-align:center;color:#526b5e;font-size:11px;font-weight:850;text-decoration:underline;text-underline-offset:3px;padding:2px 0}
.ct-v171-public .ct171-bookNow{background:var(--ct171-orange)!important;border-color:var(--ct171-orange)!important;color:#fff!important;box-shadow:0 9px 18px rgba(255,90,31,.16)!important}
.ct-v171-public .ct171-zaloNow{background:var(--ct171-green)!important;border-color:var(--ct171-green)!important;color:#fff!important}
.ct-v171-public .ct166-facts{border-radius:16px;border-color:var(--ct171-line);box-shadow:none}
.ct-v171-public .ct166-whyBlock,.ct-v171-public .ct166-block{scroll-margin-top:92px}
.ct-v171-public .ct166-why{gap:10px}
.ct-v171-public .ct166-why li{border-radius:14px;box-shadow:none;border-color:var(--ct171-line);background:#fff}
.ct-v171-public .ct166-svcCard,.ct-v171-public .ct166-exc{border-radius:16px;box-shadow:none}
.ct-v171-public .ct166-related{gap:12px}
.ct-v171-public .ct166-rel{border-radius:16px;border-color:var(--ct171-line);box-shadow:0 8px 20px rgba(16,35,26,.045)}
.ct-v171-public .ct166-final{border-radius:20px;background:linear-gradient(135deg,#0a6f43,#075535);color:#fff;border:0;box-shadow:0 18px 38px rgba(8,91,55,.15)}
.ct-v171-public .ct166-final h2,.ct-v171-public .ct166-final p,.ct-v171-public .ct166-finalTrust{color:#fff}
.ct-v171-public .ct171-finalActions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ct-v171-public .ct171-finalActions .ct166-btnGreen{background:#fff!important;color:var(--ct171-green-deep)!important;border-color:#fff!important}
.ct-v171-public .ct171-sticky{gap:8px}
.ct-v171-public .ct171-sticky .ct166-btn{min-height:48px;font-size:13px;font-weight:950}
.ct-v171-public .ct171-sticky .ct166-btnOrange{background:var(--ct171-orange)!important;border-color:var(--ct171-orange)!important;color:#fff!important}
.ct-v171-public .ct171-sticky .ct166-btnGreen{background:var(--ct171-green)!important;border-color:var(--ct171-green)!important;color:#fff!important}

/* ---------- BOOKING / CHECKOUT ---------- */
.ct-v171-checkout{background:#f7faf8!important}
.ct-v171-checkout .sitebar{box-shadow:none;border-bottom:1px solid var(--ct171-line)}
.ct-v171-checkout .sitebarIn{max-width:1240px}
.ct-v171-checkout .brandLogo{width:205px;height:58px;border:0;border-radius:0;box-shadow:none;padding:0;object-fit:contain;background:transparent}
.ct-v171-checkout .page{max-width:1240px;padding-top:20px}
.ct-v171-checkout .steps{max-width:700px;margin-left:auto;margin-right:auto}
.ct-v171-checkout .panel{border-radius:18px;border-color:var(--ct171-line);box-shadow:0 10px 28px rgba(16,35,26,.05)}
.ct-v171-checkout .tourCard{min-height:168px}
.ct-v171-checkout .tourTitle{font-size:25px;letter-spacing:-.025em}
.ct-v171-checkout .tourSub{max-width:630px}
.ct-v171-checkout .summary{top:78px}
.ct-v171-checkout .summaryBrand{background:#f7fcf9;border-color:#dbe9e1;border-radius:14px}
.ct-v171-checkout .summaryBrand img{width:150px;height:48px;border:0;border-radius:0;padding:0;background:transparent}
.ct-v171-checkout .sumMoney{font-size:34px;letter-spacing:-.04em}
.ct-v171-checkout .payBox{border-radius:14px}
.ct-v171-checkout .cta{background:var(--ct171-orange)!important;box-shadow:0 10px 22px rgba(255,90,31,.18)!important;min-height:48px}
.ct-v171-checkout .cta:disabled{background:#94a39b!important;box-shadow:none!important}
.ct-v171-checkout .ct171-confirmGap{margin-top:8px}
.ct-v171-checkout .ct171-confirmOptional{background:#fff}
.ct-v171-checkout .field input,.ct-v171-checkout .field select,.ct-v171-checkout .field textarea{min-height:46px}
.ct-v171-checkout .paxStepper button{min-width:34px}

@media(max-width:1100px){
  .ct-v171-public .ct163-shop{grid-template-columns:210px minmax(0,1fr)}
  .ct-v171-public .ct163-copy{padding:34px}
}

@media(max-width:860px){
  .ct-v171-public.ct162-list .wrap,.ct-v171-public.ct162-detail .wrap{padding-left:12px;padding-right:12px}
  .ct-v171-public .ct163-hero{min-height:300px;border-radius:18px}
  .ct-v171-public .ct163-copy{padding:26px 22px}
  .ct-v171-public .ct163-copy h1{font-size:34px}
  .ct-v171-public .ct163-lead{font-size:13px}
  .ct-v171-public .ct163-finder{margin-top:-16px;border-radius:15px}
  .ct-v171-public .ct163-pcardBody{min-height:0}
  .ct-v171-public .ct163-pcardTitle{font-size:16px}
  .ct-v171-public .ct163-pcardPrice strong{font-size:20px}
  .ct-v171-public .ct166-heroBody h1{font-size:31px}
  .ct-v171-public .ct171-detailActions{grid-template-columns:1fr 1fr}
  .ct-v171-checkout .brandLogo{width:170px;height:48px}
}

@media(max-width:600px){
  .ct-v171-public .ct163-hero{min-height:280px}
  .ct-v171-public .ct163-copy h1{font-size:30px}
  .ct-v171-public .ct163-kicker{font-size:14px}
  .ct-v171-public .ct163-usp{gap:5px}
  .ct-v171-public .ct163-pcard{border-radius:16px}
  .ct-v171-public .ct163-pcardMedia{aspect-ratio:16/9}
  .ct-v171-public .ct163-pcardBody{padding:13px}
  .ct-v171-public .ct163-pcardChips span:nth-child(3){display:none}
  .ct-v171-public .ct163-pcardCta{grid-template-columns:1fr auto}
  .ct-v171-public .ct163-pcardCta .ct171-cardPrimary{min-height:44px}
  .ct-v171-public .ct163-pcardCta .ct171-cardZalo{min-height:44px}
  .ct-v171-public .ct171-detailActions{grid-template-columns:1fr}
  .ct-v171-public .ct171-detailActions .ct171-callLink{grid-column:auto}
  .ct-v171-public .ct171-finalActions{grid-template-columns:1fr}
  .ct-v171-checkout .brandMeta{display:none}
  .ct-v171-checkout .brandLogo{width:150px;max-width:50vw;height:44px}
  .ct-v171-checkout .tourCard{grid-template-columns:104px 1fr}
  .ct-v171-checkout .tourTitle{font-size:18px}
  .ct-v171-checkout .summaryBrand img{width:128px;height:42px}
}

@media(prefers-reduced-motion:reduce){
  .ct-v171-public .ct163-pcard,.ct-v171-public .ct163-pcardMedia img{transition:none!important}
}


/* ===== V181 mobile catalog cards: full-bleed image ===== */
@media(max-width:600px){
  .ct-v171-public .ct163-pcard{width:100%!important;max-width:none!important;overflow:hidden!important}
  .ct-v171-public .ct163-pcardMedia{
    position:relative!important;display:block!important;width:100%!important;max-width:none!important;
    height:auto!important;max-height:none!important;aspect-ratio:16/9!important;overflow:hidden!important
  }
  .ct-v171-public .ct163-pcardMedia img{
    position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:none!important;
    height:100%!important;object-fit:cover!important;object-position:center center!important
  }
  .ct-v171-public .ct163-pcardBody{width:100%!important}
}
