/* P51R1: refine /bang-gia cards with brand-color headers and route icons. */
body.taxicailay-price-p51{background:#fff;color:#192d40}
body.taxicailay-price-p51 .tcl51{
  --p51-brand:#b80000;
  --p51-brand-deep:#8e0f10;
  --p51-brand-soft:#fff1f1;
  --p51-ink:#182d40;
  --p51-muted:#62748a;
  --p51-line:#e0e6ee;
  --p51-soft:#f7f9fc;
  font-family:inherit;line-height:1.55
}
.tcl51 *{box-sizing:border-box}.tcl51 a{text-decoration:none}.tcl51-shell{width:min(1240px,calc(100% - 40px));margin:0 auto}
.tcl51-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tcl51-breadcrumb{display:flex;align-items:center;gap:10px;color:#778395;font-size:13px;padding:17px 0}.tcl51-breadcrumb a{color:#57687d}.tcl51-breadcrumb strong{color:#26384a;font-weight:650}
.tcl51-hero{background:linear-gradient(112deg,#fff7f7 0%,#fff 67%);border-top:1px solid #f0eef1;border-bottom:1px solid var(--p51-line);padding:30px 0 38px}
.tcl51-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.75fr);gap:34px;align-items:center}
.tcl51-eyebrow,.tcl51-kicker,.tcl51-guide-kicker{font-size:12px;letter-spacing:.085em;color:var(--p51-brand);font-weight:800}
.tcl51-hero h1{font-size:clamp(32px,3.15vw,46px);line-height:1.16;letter-spacing:-.026em;font-weight:800;margin:12px 0 13px;color:var(--p51-ink)}
.tcl51-hero-copy>p{max-width:730px;color:#53657a;font-size:16px;line-height:1.72;margin:0}
.tcl51-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.tcl51-pills span{border-radius:99px;background:#fff;border:1px solid #f0d2d2;color:#5a4e59;font-size:13px;font-weight:650;padding:7px 11px}
.tcl51-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:23px}.tcl51-btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;padding:0 17px;border-radius:10px;font-size:14px;font-weight:750;transition:.18s}
.tcl51-btn-primary{background:var(--p51-brand);color:#fff!important}.tcl51-btn-primary:hover{background:var(--p51-brand-deep);color:#fff!important}.tcl51-btn-outline{background:#fff;color:var(--p51-ink)!important;border-color:#dfc0c0}.tcl51-btn-outline:hover{border-color:var(--p51-brand);color:var(--p51-brand)!important}
.tcl51-guide{background:#fff;border:1px solid #e8d8d8;border-radius:16px;padding:23px 25px;box-shadow:0 12px 32px rgba(61,38,45,.065)}.tcl51-guide h2{font-size:22px;line-height:1.35;margin:7px 0 14px;color:var(--p51-ink);text-align:left}
.tcl51-guide ul{padding:0;margin:0;list-style:none;display:grid;gap:12px}.tcl51-guide li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.58;color:#4c5f73}.tcl51-guide li strong{color:#26394d}.tcl51-check{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--p51-brand);font-weight:800}.tcl51-guide>p{color:#6d7180;font-size:12px;border-top:1px dashed var(--p51-line);padding-top:12px;margin:14px 0 0;line-height:1.65}
.tcl51-routes{padding:43px 0 40px;background:#f7f9fc}.tcl51-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px}
.tcl51 h2{color:var(--p51-ink);letter-spacing:-.018em;text-align:left}.tcl51-head h2,.tcl51-info-head h2{font-size:clamp(25px,2.7vw,34px);line-height:1.3;margin:7px 0 6px;font-weight:800}.tcl51-head p{color:var(--p51-muted);margin:0;font-size:14px}
.tcl51-search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d7e0e9;border-radius:12px;padding:0 13px;width:min(375px,100%);min-height:48px;color:#8796a5}.tcl51-search:focus-within{border-color:var(--p51-brand);box-shadow:0 0 0 3px rgba(184,0,0,.085)}.tcl51-search input{border:0;background:transparent;min-width:0;width:100%;font:inherit;outline:0;font-size:13px;color:var(--p51-ink)}
.tcl51-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.tcl51-card{min-width:0;background:#fff;border:1px solid #e6dede;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(23,44,66,.05);transition:transform .18s,box-shadow .18s,border-color .18s}
.tcl51-card:hover{transform:translateY(-3px);border-color:#c97f7f;box-shadow:0 12px 30px rgba(35,44,57,.11)}
.tcl51-card[hidden]{display:none!important}
.tcl51-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 17px;background:linear-gradient(135deg,var(--p51-brand) 0%,var(--p51-brand-deep) 100%);border-bottom:1px solid rgba(255,255,255,.12)}
.tcl51-card-head h3{font-size:18px;line-height:1.4;font-weight:800;margin:0;color:#fff}.tcl51-card-head h3 a{color:inherit}.tcl51-card-head h3 a:hover{opacity:.95}
.tcl51-card-arrow{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.18)}
.tcl51-card-main{padding:15px 17px 0}
.tcl51-meta{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:8px;min-height:23px;margin-bottom:15px;background:#faf7f7;border:1px solid #f0e6e6;border-radius:10px;padding:10px 12px}
.tcl51-meta span{display:inline-flex;align-items:center;gap:5px;color:#69788b;font-size:12.5px;font-weight:600}.tcl51-meta svg{width:16px;height:16px;stroke:var(--p51-brand);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tcl51-fares{border:1px solid #eadfdf;border-radius:12px;overflow:hidden;background:#fff}
.tcl51-fare{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:10px 12px;color:#516273;font-size:13px}
.tcl51-fare:nth-child(even){background:#fcfafa}.tcl51-fare+ .tcl51-fare{border-top:1px solid #efe7e7}
.tcl51-fare-label{display:flex;align-items:center;gap:10px;font-weight:700;color:#33495d}
.tcl51-fare-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;flex:0 0 32px}
.tcl51-fare-icon svg{width:18px;height:18px;fill:currentColor}
.tcl51-fare.is-4 .tcl51-fare-icon{background:#fff0f0;color:var(--p51-brand)}
.tcl51-fare.is-7 .tcl51-fare-icon{background:#fff4f4;color:#a4161a}
.tcl51-fare.is-16 .tcl51-fare-icon{background:#fdeaea;color:#8d1012}
.tcl51-fare strong{color:var(--p51-brand);font-size:16px;text-align:right;line-height:1.3;font-weight:800}
.tcl51-card-bottom{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:10px -17px 0;padding:0 17px;border-top:1px solid #f2e8e8;color:var(--p51-brand);font-weight:700;font-size:13px;background:#fffafb}.tcl51-card-bottom:hover{color:var(--p51-brand-deep);background:#fff4f4}
.tcl51-market-note{max-width:1060px;color:#69798a;font-size:13px;line-height:1.7;margin:20px 0 0}.tcl51-empty{background:#fff;border:1px dashed #cdd7df;padding:22px;border-radius:12px;color:#62748a}.tcl51-empty p{margin:5px 0 14px}
.tcl51-info{background:#fff;padding:43px 0}.tcl51-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:21px}.tcl51-info-grid article{border:1px solid #e8dede;padding:20px;border-radius:12px;min-width:0}.tcl51-step{display:inline-flex;border-radius:8px;color:#fff;background:var(--p51-brand);padding:4px 8px;font-weight:850;font-size:12px}.tcl51-info-grid h3{margin:12px 0 7px;font-size:17px;color:var(--p51-ink)}.tcl51-info-grid p{color:#637286;font-size:14px;line-height:1.7;margin:0}
.tcl51-faq{background:#f8fafc;padding:43px 0}.tcl51-faq-list{max-width:960px;margin:20px 0 0;display:grid;gap:10px}.tcl51-faq-list details{background:#fff;border:1px solid #e2e9ee;border-radius:11px;padding:0 16px}.tcl51-faq-list summary{cursor:pointer;padding:15px 26px 15px 0;font-weight:750;position:relative;color:var(--p51-ink);list-style:none;font-size:15px}.tcl51-faq-list summary::-webkit-details-marker{display:none}.tcl51-faq-list summary:after{content:'+';position:absolute;right:0;top:9px;font-size:26px;font-weight:400;color:var(--p51-brand)}.tcl51-faq-list details[open] summary:after{content:'−'}.tcl51-faq-list p{margin:0 0 16px;padding-top:12px;border-top:1px solid #edf0f4;color:#596b7b;font-size:14px;line-height:1.72}
.tcl51-links{padding:35px 0 48px}.tcl51-links h2{font-size:24px;margin:0 0 16px}.tcl51-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tcl51-link-grid a{border:1px solid #e4dada;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:13px 14px;gap:14px;font-size:14px;font-weight:700;color:#3a4d60}.tcl51-link-grid a:hover{border-color:var(--p51-brand);color:var(--p51-brand)}.tcl51-link-grid span{color:var(--p51-brand)}
@media(max-width:1100px){.tcl51-hero-grid{gap:20px;grid-template-columns:minmax(0,1fr) minmax(290px,.78fr)}.tcl51-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.tcl51-hero-grid{grid-template-columns:1fr}.tcl51-guide{max-width:none}.tcl51-head{align-items:stretch;flex-direction:column;gap:16px}.tcl51-search{width:100%}.tcl51-info-grid{grid-template-columns:1fr 1fr}.tcl51-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.tcl51-shell{width:calc(100% - 28px)}.tcl51-hero{padding:18px 0 28px}.tcl51-breadcrumb{padding:13px 0}.tcl51-hero h1{font-size:30px}.tcl51-hero-copy>p{font-size:14.5px;line-height:1.67}.tcl51-pills{gap:6px}.tcl51-pills span{padding:6px 9px;font-size:12px}.tcl51-guide{padding:18px}.tcl51-guide h2{font-size:19px}.tcl51-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tcl51-btn{font-size:12.5px;min-height:44px;padding:0 8px;text-align:center}.tcl51-routes{padding:30px 0}.tcl51-grid{grid-template-columns:1fr;gap:12px}.tcl51-card-head{padding:14px 15px}.tcl51-card-head h3{font-size:17px}.tcl51-card-main{padding:14px 15px 0}.tcl51-card-bottom{margin:9px -15px 0;padding:0 15px}.tcl51-head h2,.tcl51-info-head h2{font-size:26px}.tcl51-info,.tcl51-faq{padding:30px 0}.tcl51-info-grid,.tcl51-link-grid{grid-template-columns:1fr}.tcl51-links{padding:26px 0 40px}.tcl51-fare{min-height:52px;padding:9px 10px}.tcl51-fare strong{font-size:15px}.tcl51-fare-label{gap:8px}.tcl51-fare-icon{width:28px;height:28px;flex-basis:28px}}

/* P51R2: width and height calibrated to the compact route cards (target ~375px).
   Only /bang-gia; brand colors, data and all controls remain as P51R1. */
.tcl51-grid{
  max-width:1155px;
  margin-inline:auto;
  grid-template-columns:repeat(3,minmax(0,375px));
  gap:15px;
}
.tcl51-card{border-radius:13px}
.tcl51-card-head{min-height:47px;padding:10px 13px;gap:8px}
.tcl51-card-head h3{font-size:16px;line-height:1.3}
.tcl51-card-arrow{flex-basis:26px;width:26px;height:26px;border-radius:7px}
.tcl51-card-arrow svg{width:17px;height:17px}
.tcl51-card-main{padding:9px 12px 0}
.tcl51-meta{
  padding:6px 8px;
  gap:6px 10px;
  min-height:31px;
  margin-bottom:8px;
  border-radius:8px;
}
.tcl51-meta span{font-size:11.5px;line-height:1.35;gap:4px}
.tcl51-meta svg{width:14px;height:14px;flex:0 0 14px}
.tcl51-fares{border-radius:9px}
.tcl51-fare{min-height:37px;padding:6px 9px;gap:6px;font-size:12px}
.tcl51-fare-label{gap:7px;font-size:12px;white-space:nowrap}
.tcl51-fare-icon{width:25px;height:25px;flex-basis:25px;border-radius:7px}
.tcl51-fare-icon svg{width:15px;height:15px}
.tcl51-fare strong{font-size:13.5px;line-height:1.25;white-space:nowrap}
.tcl51-card-bottom{min-height:38px;margin:7px -12px 0;padding:0 12px;font-size:12px}
.tcl51-market-note{max-width:1155px;margin:17px auto 0}
@media(max-width:1100px){
  .tcl51-grid{max-width:765px;grid-template-columns:repeat(2,minmax(0,375px))}
}
@media(max-width:740px){
  .tcl51-grid{max-width:375px;grid-template-columns:minmax(0,1fr);gap:12px}
  .tcl51-card-head{padding:11px 12px}
  .tcl51-card-main{padding:9px 11px 0}
  .tcl51-card-bottom{margin:7px -11px 0;padding:0 11px}
  .tcl51-fare{padding:7px 8px}
  .tcl51-fare strong{font-size:13.5px}
}
@media(max-width:355px){
  .tcl51-card-head h3{font-size:15px}
  .tcl51-meta{gap:5px 7px}
  .tcl51-meta span{font-size:11px}
  .tcl51-fare strong{font-size:12.5px}
  .tcl51-fare-label{font-size:11.5px;gap:6px}
}

/* P53: One shared price-card system for Taxi range cards and A–B cards. */
.tcl51-taxi-section{padding:33px 0 36px;background:#fff}
.tcl51-taxi-section .tcl51-head{align-items:center}
.tcl52-tariffs{display:grid;grid-template-columns:repeat(3,minmax(0,375px));justify-content:center;gap:15px;margin:15px auto;max-width:1155px}
.tcl52-tariff{min-width:0;max-width:375px;width:100%;border:1px solid #e6dede;border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 6px 18px rgba(23,44,66,.05);transition:transform .18s,box-shadow .18s,border-color .18s}
.tcl52-tariff:hover{transform:translateY(-3px);border-color:#c97f7f;box-shadow:0 12px 30px rgba(35,44,57,.11)}
.tcl52-tariff .tcl52-tariff-head{min-height:47px;padding:10px 13px;background:linear-gradient(135deg,#b80000 0%,#8e0f10 100%);border-bottom:1px solid rgba(255,255,255,.12)}
.tcl52-tariff .tcl52-tariff-head h3{display:flex;align-items:center;gap:8px;min-width:0;font-size:15px;line-height:1.33;color:#fff;font-weight:800;text-align:left;margin:0}
.tcl52-head-pin{width:25px;height:25px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:7px;flex:0 0 25px}
.tcl52-head-pin svg{width:15px;height:15px}
.tcl52-tariff-body{padding:10px 12px 0}
.tcl52-tariff .tcl51-fares{border-radius:9px;border:1px solid #eadfdf;background:#fff;overflow:hidden}
.tcl52-tariff .tcl51-fare{display:flex;align-items:center;justify-content:space-between;min-height:37px;gap:6px;padding:6px 9px;font-size:12px}
.tcl52-tariff .tcl51-fare+.tcl51-fare{border-top:1px solid #efe7e7}
.tcl52-tariff .tcl51-fare:nth-child(even){background:#fcfafa}
.tcl52-tariff .tcl51-fare-label{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#33495d;font-size:12px;font-weight:700}
.tcl52-tariff .tcl51-fare-icon{display:grid;place-items:center;border-radius:7px;width:25px;height:25px;flex:0 0 25px}
.tcl52-tariff .tcl51-fare-icon svg{width:15px;height:15px;fill:currentColor}
.tcl52-tariff .tcl51-fare.is-4 .tcl51-fare-icon{background:#fff0f0;color:#b80000}
.tcl52-tariff .tcl51-fare.is-7 .tcl51-fare-icon{background:#fff4f4;color:#a4161a}
.tcl52-tariff .tcl51-fare.is-16 .tcl51-fare-icon{background:#fdeaea;color:#8d1012}
.tcl52-tariff .tcl51-fare strong{color:#b80000;font-size:13.5px;line-height:1.25;font-weight:800;text-align:right;white-space:nowrap}
.tcl52-tariff-note{font-size:11.5px;color:#607081;margin:0;padding:7px 12px 0;line-height:1.4}
.tcl52-tariff-foot{min-height:38px;margin-top:9px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f2e8e8;background:#fffafb;font-size:11.5px;color:#7b8998}
.tcl52-tariff-foot a{font-size:12px;color:#b80000!important;font-weight:750;white-space:nowrap;text-decoration:none}
.tcl52-tariff-foot a:hover{color:#8e0f10!important;text-decoration:underline}
.tcl52-tariff-help{font-size:12px;color:#687b8e;line-height:1.65;margin:10px 0 4px}
.tcl52-tariffs--compact{grid-template-columns:repeat(2,minmax(0,375px));max-width:none;justify-content:start;gap:12px}
.tcl52-tariffs--compact .tcl52-tariff{max-width:375px}
.tcl52-tariffs--compact .tcl52-tariff .tcl52-tariff-head h3{font-size:13px}
.tcl52-tariffs--compact .tcl52-tariff .tcl51-fare strong{font-size:12.5px}
.tcl-home-taxi-price{padding:28px 0 22px;background:#fff}
.tcl-home-taxi-price .tcl52-tariffs{max-width:1155px;margin:18px auto 10px}
.tcl-home-taxi-price-link{display:inline-flex;color:#b80000;font-size:14px;font-weight:750;margin:9px 0 0}
@media(max-width:1100px){.tcl52-tariffs{grid-template-columns:repeat(2,minmax(0,375px))}}
@media(max-width:740px){.tcl52-tariffs,.tcl52-tariffs--compact{grid-template-columns:minmax(0,375px);justify-content:center;gap:12px}.tcl52-tariff{max-width:375px}}
@media(max-width:355px){.tcl52-tariff .tcl51-fare strong{font-size:12.3px}.tcl52-tariff .tcl51-fare-label{font-size:11px}.tcl52-tariff .tcl52-tariff-head h3{font-size:13px}}

/* P53R2: match 4/7/16-seat emoji shown in the price-page pills.
   One shared partial feeds Taxi (Home/Money/news/Hub) and route A-B fare rows.
   Preserve card dimensions and prices; only simplify icon appearance. */
.tcl51-fare .tcl51-fare-icon,
.tcl52-tariff .tcl51-fare .tcl51-fare-icon{
  width:23px;height:25px;flex:0 0 23px;
  display:inline-grid;place-items:center;
  border:0;border-radius:0;
  color:inherit;
  background:transparent;
  line-height:1;
}
/* Override seat-dependent backgrounds (defined earlier with higher specificity). */
.tcl51-fare.is-4 .tcl51-fare-icon,.tcl51-fare.is-7 .tcl51-fare-icon,.tcl51-fare.is-16 .tcl51-fare-icon,
.tcl52-tariff .tcl51-fare.is-4 .tcl51-fare-icon,.tcl52-tariff .tcl51-fare.is-7 .tcl51-fare-icon,.tcl52-tariff .tcl51-fare.is-16 .tcl51-fare-icon{
  background:transparent;color:inherit;
}
.tcl53-vehicle-emoji{
  display:inline-block;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
  font-size:18px;font-weight:400;
  line-height:1;
  vertical-align:middle;
  white-space:nowrap;
  font-variant-emoji:emoji;
}
@media(max-width:355px){.tcl53-vehicle-emoji{font-size:17px}}
