/* P03 Taxi Cai Lay — sitewide chrome consistency + contact system */
:root{--tx03-blue:#0d77ad;--tx03-deep:#0b3658;--tx03-ink:#16354d;--tx03-line:#dce7ef;--tx03-soft:#f4f9fc;--tx03-yellow:#ffc21c}
.tr-skip{position:fixed!important;left:12px;top:10px;z-index:20000;transform:translateY(-160%);padding:9px 13px;border-radius:9px;background:#0b3658;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.16);transition:transform .15s ease}.tr-skip:focus{transform:translateY(0)}
body.transport-native{overflow-x:hidden;background:#fff;color:var(--tx03-ink)}
body.transport-native main{min-height:48vh}
/* header */
.tr-header-p47{box-shadow:0 3px 14px rgba(10,54,88,.055)}
.tr-header-p47 .tr-header-row{width:min(100% - 36px,1280px);margin-inline:auto}
.tr-header-p47 .tr-brand-logo-wrap{background:linear-gradient(145deg,#eef8fd,#fff);border:1px solid #d9e9f2;box-shadow:inset 0 0 0 4px #fff,0 5px 16px rgba(13,119,173,.08)}
.tr-header-p47 .tr-brand-mark{display:block;width:32px;height:32px;border:4px solid #0d77ad;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(18deg)}
.tr-header-p47 .tr-brand-copy strong{letter-spacing:-.35px}
.tr-header-p47 .tr-nav-p47>a,.tr-header-p47 .tr-nav-p47 button{position:relative}
.tr-header-p47 .tr-nav-p47>a.is-active:after,.tr-header-p47 .tr-nav-dropdown.is-active>button:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:3px;border-radius:99px;background:#0d77ad}
.tr-header-p47 .tr-book-now{background:linear-gradient(135deg,#ffc21c,#ffb400);color:#17344a;box-shadow:0 8px 18px rgba(255,182,0,.18)}
.tr-header-p47 .tr-book-now:hover{filter:brightness(.98);transform:translateY(-1px)}
.tm49-utility{background:#0d77ad;color:#fff}
.tm49-utility-inner{min-height:34px;display:flex;align-items:center;gap:24px;font-size:12px;font-weight:700}.tm49-utility-inner>span{display:inline-flex;align-items:center;gap:6px}.tm49-social{margin-left:auto;opacity:.82}
.tr-servicebar-p47{box-shadow:inset 0 1px rgba(255,255,255,.08)}
/* child page rhythm */
body.transport-native main>.tr-shell:first-child,body.transport-native main>.container:first-child{scroll-margin-top:126px}
body.transport-native h1,body.transport-native h2,body.transport-native h3{text-wrap:balance}
body.transport-native a,body.transport-native button{-webkit-tap-highlight-color:transparent}
/* footer */
.trf61{margin-top:48px}.trf61-bottom a:hover{color:#ffd21b!important}.trf61-list a:focus-visible,.trf61-bottom a:focus-visible{outline:2px solid #ffd21b;outline-offset:3px}
/* contact rail visual sync */
.txng-contact-pc{right:18px}.txng-contact-pc ul{padding:6px;border-color:#d9e6ee;border-radius:18px}.txng-contact-pc a,.txng-contact-pc button{width:52px;min-height:52px}.txng-contact-pc img{width:36px;height:36px}
/* stop legacy mobile CTA from stacking if cached/embedded by a child */
.tr-mobile-cta{display:none!important}
@media(max-width:1180px){.tm49-utility-inner{gap:14px}.tm49-utility-inner>span:nth-child(4){display:none}}
@media(max-width:980px){
  .tm49-utility{display:none}
  .tr-header-p47{top:0}
  .tr-header-p47 .tr-header-row{width:min(100% - 24px,1280px);min-height:66px}
  .tr-header-p47 [data-tr-nav].is-open{top:66px;max-height:calc(100vh - 110px);overflow:auto;padding:8px 18px 16px}
  .tr-header-p47 [data-tr-nav].is-open>a,.tr-header-p47 [data-tr-nav].is-open button{min-height:46px;padding:12px 2px;text-align:left}
  .tr-header-p47 [data-tr-nav].is-open .tr-nav-dropdown{border-bottom:1px solid #edf2f5}
  .tr-header-p47 [data-tr-nav].is-open .tr-nav-dropdown-menu{padding:2px 0 8px;border:0;background:#f7fbfd;border-radius:10px}
  .tr-header-p47 [data-tr-nav].is-open .tr-nav-dropdown-menu a{padding:10px 12px}
  .tr-servicebar-p47 .tr-servicebar-inner{width:100%;padding-left:12px;padding-right:12px;gap:0;scroll-snap-type:x proximity}
  .tr-servicebar-p47 a{min-width:138px;scroll-snap-align:start}
  .trf61{margin-top:34px}
}
@media(max-width:767px){
 body.transport-native{padding-bottom:76px!important}
 main{padding-bottom:2px}
 .txng-contact-mobile__inner{height:68px}
 .txng-contact-mobile__item{font-size:10px}
 .txng-contact-mobile__call-icon{width:50px;height:50px}.txng-contact-mobile__call-icon img{width:45px;height:45px}
}
@media(max-width:560px){
 .tr-header-p47 .tr-brand-logo-wrap{width:44px;height:44px;flex-basis:44px}
 .tr-header-p47 .tr-brand-copy strong{font-size:17px}
 .tr-header-p47 .tr-book-now{display:none}
 .tr-header-p47 .tr-menu{width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #d8e5ed;border-radius:11px;background:#fff;color:#17415f;font-size:21px}
 .tr-servicebar-p47 a{min-width:124px;font-size:12px;padding-inline:8px}
 .trf61{margin-top:28px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* P03-FIX 2026-09-30 — footer layout repair
   The legacy footer stylesheet defines each link as a 3-column grid intended for
   icon + label + arrow markup. Taxi Cai Lay uses label-only links, so the label
   was forced into the 28px icon column and wrapped vertically. Keep the markup
   simple and make each link a full-width text row. */
.trf61 .trf61-grid{
  grid-template-columns:minmax(340px,1.7fr) minmax(170px,1fr) minmax(170px,.95fr) minmax(180px,1.05fr)!important;
  gap:42px!important;
}
.trf61 .trf61-nav{min-width:0!important;width:100%}
.trf61 .trf61-list{display:flex!important;flex-direction:column!important;width:100%;min-width:0}
.trf61 .trf61-list a{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:8px 0!important;
  gap:0!important;
  line-height:1.35!important;
}
.trf61 .trf61-list a>span{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.trf61 .trf61-nav h3{white-space:nowrap}

@media(max-width:1180px){
 .trf61 .trf61-grid{grid-template-columns:minmax(300px,1.45fr) repeat(3,minmax(150px,1fr))!important;gap:28px!important}
}
@media(max-width:960px){
 .trf61 .trf61-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:30px 34px!important}
 .trf61 .trf61-company{grid-row:span 2}
}
@media(max-width:680px){
 .trf61 .trf61-grid{grid-template-columns:1fr!important;gap:22px!important}
 .trf61 .trf61-company{grid-row:auto}
 .trf61 .trf61-list a{min-height:36px!important;padding:6px 0!important}
 .trf61 .trf61-nav h3{white-space:normal}
}
