/* Taxi Châu Đốc – P03F consolidated UI layer, 2026-10-25.
   Does not alter booking JS, forms, pricing tables, or other sites. */
body.tcd-uifix {
  --tcd-ink:#182436; --tcd-muted:#606d7d; --tcd-red:#bd1120;
  --tcd-light:#f6f8fb; --tcd-stroke:#e3e8ef;
  --tcd-shadow:0 7px 24px rgba(20,35,58,.065);
  overflow-x:clip; /* Fallback containment. Main cards set min-width:0 to avoid sideways scroll. */
}
body.tcd-uifix *,body.tcd-uifix *::before,body.tcd-uifix *::after{box-sizing:border-box}
body.tcd-uifix :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #f49a39!important;outline-offset:2px!important;
}
/* Brand: retain editable Admin logo; keep the site name readable if the source
   logo is a tiny silhouette with large transparent margins. */
body.tcd-uifix .gc02k-header .gx-brand{flex:0 0 auto!important;min-width:0!important;margin-right:16px!important}
body.tcd-uifix .gc02k-header .gx-logo-link{display:inline-flex!important;gap:9px!important;align-items:center!important;width:auto!important;height:auto!important;text-decoration:none!important}
body.tcd-uifix .gc02k-header .gx-logo-box{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 72px!important;width:72px!important;height:44px!important}
body.tcd-uifix .gc02k-header :is(.gx-logo-img,.gx-logo-mask,.tcd-logo-fallback){display:block!important;width:72px!important;height:44px!important;max-height:44px!important;object-fit:contain!important}
body.tcd-uifix .tcd-brand-text{display:block;color:#182436;font-size:18px;font-weight:800;letter-spacing:-.35px;line-height:1.1;white-space:nowrap}
body.tcd-uifix .gc02k-header .gx-navbar .kc-container{min-width:0!important}
body.tcd-uifix .gc02k-nav-list{gap:12px!important}
body.tcd-uifix .gc02k-nav-item > a,body.tcd-uifix .gc02k-nav-trigger{font-size:13px!important;font-weight:750!important}
body.tcd-uifix .gc02k-dropdown{border:1px solid var(--tcd-stroke)!important;border-radius:12px!important;box-shadow:0 18px 36px rgba(19,33,54,.12)!important}
body.tcd-uifix .gc02k-dropdown a{font-size:13px!important;padding:10px 14px!important}
body.tcd-uifix .wt2-trending-bar{min-height:34px!important;overflow:hidden!important}
body.tcd-uifix .wt2-trending-bar :is(a,span){font-size:12px!important;line-height:1.35!important}
/* Home hero. Keep original two-column booking and slide semantics. */
@media(min-width:992px){
 body.tcd-uifix .gc-ref-home>.gc-source-booking{padding:22px 0 26px!important}
 body.tcd-uifix .gc-source-booking>.kc-row-container{max-width:1200px!important;padding-left:16px!important;padding-right:16px!important}
 body.tcd-uifix .gc-source-booking .kc-wrap-columns{display:flex!important;align-items:stretch!important;gap:16px!important}
 body.tcd-uifix .gc-source-booking :is(.kc-css-340647,.kc-css-698619){min-width:0!important;flex:1 1 0!important;width:auto!important;padding-left:0!important;padding-right:0!important}
 body.tcd-uifix .gc-source-booking .home_datxe{border-radius:15px!important;height:100%!important;box-shadow:0 12px 26px rgba(54,10,16,.18)!important;overflow:hidden!important}
 body.tcd-uifix .gc-source-booking .gc-home-hero-panel{height:100%!important;overflow:hidden!important;border-radius:15px!important;box-shadow:var(--tcd-shadow)!important;background:#fff!important}
 body.tcd-uifix .gc-source-booking .gc-home-service-summary{padding:16px 20px!important}
 body.tcd-uifix .gc-source-booking .gc-home-service-summary h1{font-size:22px!important;line-height:1.3!important;margin:0 0 12px!important;text-wrap:balance}
 body.tcd-uifix .gc-source-booking .gc-home-service-summary li{font-size:12px!important;line-height:1.5!important;padding:7px 0!important}
}
body.tcd-uifix .gc-source-booking :is(input,select,textarea){font-size:14px!important;min-width:0!important}
body.tcd-uifix .gc-source-booking :is(input,select,textarea):focus{border-color:#f4a9af!important;box-shadow:0 0 0 3px rgba(255,255,255,.22)!important}
body.tcd-uifix .gc-source-booking .btn_datxe{border-radius:9px!important;min-height:44px!important;font-weight:800!important;letter-spacing:.02em}
/* All primary home sections: a consistent, compact rhythm rather than old large gaps. */
body.tcd-uifix .gc-ref-home :is(.tcl-p41-services,.tcl-p41-routes,.tcl-p41-section,.tcl-p41-editorial){padding-top:30px!important;padding-bottom:34px!important}
body.tcd-uifix .gc-ref-home :is(.tcl-p41-services,.tcl-p41-routes,.tcl-p41-section,.tcl-p41-editorial) > .wt2-container{max-width:1180px!important}
body.tcd-uifix .gc-ref-home :is(.tcl-p41-head,.gc-p31b-service-head,.gc-p30b-section-head){margin-bottom:17px!important}
body.tcd-uifix .gc-ref-home :is(.tcl-p41-head,.gc-p31b-service-head,.gc-p30b-section-head) h2{font-size:26px!important;line-height:1.24!important;letter-spacing:-.018em!important}
body.tcd-uifix .gc-ref-home :is(.tcl-p41-head,.gc-p31b-service-head,.gc-p30b-section-head) p{font-size:13px!important;line-height:1.55!important;color:var(--tcd-muted)!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-grid{gap:12px!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card{
 border:1px solid var(--tcd-stroke)!important;border-radius:13px!important;
 box-shadow:var(--tcd-shadow)!important;overflow:hidden!important;
 transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:hover{
 transform:translateY(-3px)!important;border-color:#e4b2b9!important;
 box-shadow:0 13px 30px rgba(25,39,58,.10)!important;
}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-media{aspect-ratio:16/9!important;background:#f0f3f7!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body{padding:19px 13px 13px!important;min-height:152px!important;gap:0!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body h3{font-size:14px!important;line-height:1.34!important;margin:0 0 7px!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body p{font-size:12px!important;line-height:1.5!important;min-height:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-cta{font-size:11.5px!important;padding-top:10px!important;margin-top:auto!important}
body.tcd-uifix .gc-ref-home :is(.tcl-p41-need-card,.tcl-p41-travel-card,.tcl-p41-step,.gc-p33-panel){border-color:var(--tcd-stroke)!important;box-shadow:var(--tcd-shadow)!important}
body.tcd-uifix .gc-ref-home .tcl-p41-step-grid{gap:11px!important}
body.tcd-uifix .gc-ref-home .tcl-p41-step{min-height:108px!important;padding:15px 12px!important}
body.tcd-uifix .gc-ref-home .tcl-p41-editorial .gc-p33-panel{padding:20px!important;border-radius:14px!important}
body.tcd-uifix .gc-ref-home .tcl-p41-editorial .gc-p33-faq-list summary{line-height:1.55!important}
/* No unverified legacy fares: real call-to-quote card uses Home's existing type scale. */
body.tcd-uifix .tcd-price-pending{padding:30px 0!important;background:#f7f9fc}
body.tcd-uifix .tcd-price-pending-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 30px;border:1px solid #e4e9ef;border-left:4px solid var(--tcd-red);border-radius:14px;background:#fff;box-shadow:var(--tcd-shadow)}
body.tcd-uifix .tcd-price-pending-copy{max-width:730px}
body.tcd-uifix .tcd-price-kicker{font-size:11px;letter-spacing:.07em;font-weight:850;color:var(--tcd-red)}
body.tcd-uifix .tcd-price-pending h2{margin:6px 0 8px!important;font-size:24px!important;color:var(--tcd-ink)!important}
body.tcd-uifix .tcd-price-pending p{margin:0!important;font-size:13px!important;line-height:1.65!important;color:var(--tcd-muted)!important}
body.tcd-uifix .tcd-price-pending-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:44px;padding:11px 17px;border-radius:9px;background:var(--tcd-red);color:#fff!important;font-weight:800;text-decoration:none!important}
body.tcd-uifix .tcd-price-pending-cta:hover{background:#9f0c19;color:#fff!important}
/* Pricing hub, CTA readability and responsive grid. */
body.tcd-uifix .tcl51 :is(.tcl51-hero,.tcl51-taxi-section,.tcl51-routes,.tcl51-info,.tcl51-faq){padding-top:30px!important;padding-bottom:34px!important}
body.tcd-uifix .tcl51 .tcl51-card,body.tcd-uifix .tcl51 .tcl52-tariff{border-radius:12px!important;box-shadow:var(--tcd-shadow)!important}
body.tcd-uifix .tcl51 .tcl51-empty{padding:22px!important;border-radius:12px!important}
body.tcd-uifix :is(.gc-ref-home,.tcl51) :is(a,button){touch-action:manipulation}
@media(min-width:769px) and (max-width:1120px){
 body.tcd-uifix .tcd-brand-text{font-size:15px}
 body.tcd-uifix .gc02k-header .gx-brand{margin-right:8px!important}
 body.tcd-uifix .gc02k-header .gx-logo-box{flex-basis:54px!important;width:54px!important}
 body.tcd-uifix .gc02k-header :is(.gx-logo-img,.gx-logo-mask,.tcd-logo-fallback){width:54px!important}
}
@media(max-width:991px){
 body.tcd-uifix .tcd-brand-text{font-size:15px}
 body.tcd-uifix .gc02k-header .gx-brand{margin-right:auto!important}
 body.tcd-uifix .gc02k-header .gx-logo-box{flex:0 0 58px!important;width:58px!important;height:40px!important}
 body.tcd-uifix .gc02k-header :is(.gx-logo-img,.gx-logo-mask,.tcd-logo-fallback){width:58px!important;height:40px!important}
 body.tcd-uifix .gc-ref-home>.gc-source-booking{padding-top:0!important}
 body.tcd-uifix .gc-source-booking .home_datxe{border-radius:12px!important}
 body.tcd-uifix .tcd-price-pending-card{padding:20px;gap:16px}
}
@media(max-width:760px){
 body.tcd-uifix .gc-ref-home :is(.tcl-p41-services,.tcl-p41-routes,.tcl-p41-section,.tcl-p41-editorial){padding:23px 0 27px!important}
 body.tcd-uifix .gc-ref-home :is(.tcl-p41-services,.tcl-p41-routes,.tcl-p41-section,.tcl-p41-editorial) > .wt2-container{width:calc(100% - 28px)!important}
 body.tcd-uifix .gc-ref-home :is(.tcl-p41-head,.gc-p31b-service-head,.gc-p30b-section-head){margin-bottom:14px!important}
 body.tcd-uifix .gc-ref-home :is(.tcl-p41-head,.gc-p31b-service-head,.gc-p30b-section-head) h2{font-size:21px!important;line-height:1.27!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card{border-radius:11px!important;min-height:0!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-media{aspect-ratio:4/3!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-badge{top:6px!important;left:6px!important;padding:4px 6px!important;font-size:9px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body{padding:16px 10px 10px!important;min-height:139px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body h3{font-size:12.6px!important;line-height:1.36!important;margin-bottom:5px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body p{font-size:11px!important;line-height:1.48!important;-webkit-line-clamp:2!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-cta{font-size:11px!important;padding-top:7px!important}
 /* A 9th service card spans the row as a compact horizontal feature, never an awkward half-width orphan. */
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:last-child{grid-column:1/-1!important;width:100%!important;justify-self:stretch!important;flex-direction:row!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:last-child .gc-p31b-service-media{width:37%!important;min-height:155px!important;flex:0 0 37%!important;aspect-ratio:auto!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:last-child .gc-p31b-service-body{flex:1!important;min-width:0!important}
 body.tcd-uifix .gc-source-booking .form_main :is(input,select){font-size:14px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-travel-card{min-height:0!important;padding:9px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-editorial .gc-p33-panel{padding:14px!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-editorial .gc-p33-panel-head h2{font-size:20px!important}
 body.tcd-uifix .tcd-price-pending{padding:20px 0!important}
 body.tcd-uifix .tcd-price-pending-card{display:block;padding:18px!important}
 body.tcd-uifix .tcd-price-pending h2{font-size:21px!important}
 body.tcd-uifix .tcd-price-pending-cta{display:flex;width:100%;margin-top:15px}
}
@media(max-width:350px){
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-grid{grid-template-columns:1fr!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:last-child{grid-column:auto!important;width:100%!important;flex-direction:column!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card:last-child .gc-p31b-service-media{width:100%!important;min-height:0!important;flex:0 0 auto!important;aspect-ratio:16/9!important}
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-body{min-height:0!important}
}
@media(prefers-reduced-motion:reduce){
 body.tcd-uifix .gc-ref-home .tcl-p41-services .gc-p31b-service-card{transition:none!important;transform:none!important}
}
/* The base template hides the entire right hero column on phones, including
   the ONLY H1. Show its text panel before the form; keep heavy slideshow hidden. */
@media(max-width:767px){
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .kc-wrap-columns{
   display:flex!important;flex-direction:column-reverse!important;flex-wrap:nowrap!important;
   width:100%!important;margin:0!important;padding:0!important;gap:0!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .kc-css-698619{
   display:block!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;
   float:none!important;margin:0!important;padding:0!important;align-self:auto!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .kc-css-340647{
   display:block!important;flex:0 0 auto!important;width:100%!important;max-width:100%!important;
   float:none!important;margin:0!important;padding:0!important;align-self:auto!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .home_slider{
   display:block!important;width:100%!important;margin:0!important;padding:0!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-image-slider{display:none!important}
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-hero-panel{
   display:block!important;height:auto!important;min-height:0!important;border-radius:0!important;
   box-shadow:none!important;background:#fff!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-service-summary{
   display:block!important;min-height:0!important;max-height:none!important;
   padding:17px 17px 15px!important;background:#fff!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-service-summary h1{
   margin:0 0 7px!important;font-size:22px!important;line-height:1.23!important;
   letter-spacing:-.02em!important;color:#162237!important;text-align:left!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-service-summary ul{display:none!important}
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .gc-home-service-trust{
   display:block!important;font-size:11.5px!important;line-height:1.5!important;
   margin:0!important;color:#627084!important;
 }
 body.tcd-uifix.gc02h-home-precision .gc-source-booking .home_datxe{border-radius:0!important;box-shadow:none!important}
}
@media(max-width:767px){
 body.tcd-uifix .gc-source-booking form.info_form :is(input.form-control,select.form-control){
   min-height:44px!important;border-radius:7px!important;font-size:16px!important;
 }
 body.tcd-uifix .gc-source-booking form.info_form input[type="datetime-local"]{
   max-width:100%!important;min-width:0!important;font-size:16px!important;
 }
 body.tcd-uifix .gc-source-booking .gc02l-consent label{font-size:11.5px!important;line-height:1.55!important}
 body.tcd-uifix .gc-source-booking .btn_datxe{width:min(100%,260px)!important;min-height:46px!important;border-radius:9px!important}
}
