/*
 * Taxi Tải Hà Nội - Global Palette Pro
 * Mục tiêu: đồng bộ toàn frontend về Xanh dương + Vàng + Trắng/Đen.
 * Ngoại lệ duy nhất cho màu xanh lá: CTA gọi điện thật (tel: / phone control).
 * Zalo / Facebook / Messenger / SMS: nền xanh dương, icon trắng.
 * Loaded LAST to neutralize legacy red/green/purple fragments.
 */
:root{
  --tt-blue:#0f6aa8!important;
  --tt-blue-dark:#075d99!important;
  --tt-blue-deep:#083f69!important;
  --tt-blue-soft:#edf6fb!important;
  --tt-yellow:#ffc928!important;
  --tt-yellow-hover:#ffd84b!important;
  --tt-yellow-soft:#fff8e6!important;
  --tt-black:#102236!important;
  --tt-black-2:#111827!important;
  --tt-muted:#607185!important;
  --tt-white:#fff!important;
  --tt-line:#dce6ee!important;
  --tt-call:#16a34a!important;
  --tt-call-dark:#15803d!important;

  --tx:var(--tt-blue)!important;
  --tx-strong:var(--tt-blue-dark)!important;
  --tx-dark:var(--tt-blue-deep)!important;
  --ink:var(--tt-black)!important;
  --taxi-theme-accent:var(--tt-blue)!important;
  --taxi-theme-accent-dark:var(--tt-blue-dark)!important;
  --taxi-ui-primary-button-bg:var(--tt-blue)!important;
  --taxi-ui-primary-button-text-color:var(--tt-white)!important;
  --taxi-ui-link-color:var(--tt-blue)!important;
  --taxi-ui-global-icon-color:var(--tt-blue)!important;
  --taxi-ui-global-icon-bg:var(--tt-blue-soft)!important;
  --taxi-ui-category-icon-bg:var(--tt-blue)!important;
  --taxi-ui-category-icon-color:var(--tt-white)!important;
  --taxi-ui-card-hover-border-color:#9fc1d5!important;
  --taxi-ui-badge-bg:var(--tt-blue-soft)!important;
  --w11-primary:var(--tt-blue)!important;
  --w11-primary-dark:var(--tt-blue-dark)!important;
  --header-wow-top-bg:var(--tt-blue)!important;
  --header-wow-top-text:var(--tt-white)!important;
  --header-wow-sticky-bg:var(--tt-blue)!important;
  --header-wow-sticky-text:var(--tt-white)!important;
  --header-wow-sticky-button-bg:var(--tt-yellow)!important;
  --bs-primary:#0f6aa8!important;
  --bs-primary-rgb:15,106,168!important;
  --bs-success:#0f6aa8!important;
  --bs-success-rgb:15,106,168!important;
  --bs-danger:#ffc928!important;
  --bs-danger-rgb:255,201,40!important;
  --bs-info:#0f6aa8!important;
  --bs-info-rgb:15,106,168!important;
  --bs-warning:#ffc928!important;
  --bs-warning-rgb:255,201,40!important;
}

/* Base copy: black/navy; links: blue. */
body.taxi-service-site,
body.txs-body{color:var(--tt-black)!important}
body.taxi-service-site a:not([href^="tel:"]):hover,
body.txs-body a:not([href^="tel:"]):hover{color:var(--tt-blue)!important}

/* Legacy semantic colors -> blue/yellow; remove red/green/purple from visual language. */
body.taxi-service-site .text-danger,
body.taxi-service-site .text-success,
body.taxi-service-site .text-info,
body.taxi-service-site .text-purple,
body.txs-body .text-danger,
body.txs-body .text-success,
body.txs-body .text-info,
body.txs-body .text-purple{color:var(--tt-blue)!important}

body.taxi-service-site .bg-danger,
body.taxi-service-site .bg-success,
body.taxi-service-site .bg-info,
body.taxi-service-site .bg-purple,
body.txs-body .bg-danger,
body.txs-body .bg-success,
body.txs-body .bg-info,
body.txs-body .bg-purple{background:var(--tt-blue)!important;color:var(--tt-white)!important}
body.taxi-service-site .bg-warning,
body.txs-body .bg-warning{background:var(--tt-yellow)!important;color:var(--tt-black)!important}

body.taxi-service-site .border-danger,
body.taxi-service-site .border-success,
body.taxi-service-site .border-info,
body.txs-body .border-danger,
body.txs-body .border-success,
body.txs-body .border-info{border-color:#9fc1d5!important}

body.taxi-service-site .btn-danger,
body.taxi-service-site .btn-success,
body.taxi-service-site .btn-info,
body.txs-body .btn-danger,
body.txs-body .btn-success,
body.txs-body .btn-info{background:var(--tt-blue)!important;border-color:var(--tt-blue)!important;color:var(--tt-white)!important}
body.taxi-service-site .btn-danger:hover,
body.taxi-service-site .btn-success:hover,
body.taxi-service-site .btn-info:hover,
body.txs-body .btn-danger:hover,
body.txs-body .btn-success:hover,
body.txs-body .btn-info:hover{background:var(--tt-blue-dark)!important;border-color:var(--tt-blue-dark)!important;color:var(--tt-white)!important}
body.taxi-service-site .btn-warning,
body.txs-body .btn-warning{background:var(--tt-yellow)!important;border-color:var(--tt-yellow)!important;color:var(--tt-black)!important}

body.taxi-service-site .badge.bg-danger,
body.taxi-service-site .badge.bg-success,
body.taxi-service-site .badge.bg-info,
body.txs-body .badge.bg-danger,
body.txs-body .badge.bg-success,
body.txs-body .badge.bg-info{background:var(--tt-blue)!important;color:#fff!important}
body.taxi-service-site .badge.bg-warning,
body.txs-body .badge.bg-warning{background:var(--tt-yellow)!important;color:var(--tt-black)!important}

/* Alerts preserve meaning through icon + copy, not red/green. */
body.taxi-service-site .alert-success,
body.taxi-service-site .ua-alert--success,
body.txs-body .alert-success{background:var(--tt-blue-soft)!important;border-color:#bfd9eb!important;color:var(--tt-black)!important}
body.taxi-service-site .alert-danger,
body.taxi-service-site .ua-alert--danger,
body.txs-body .alert-danger{background:var(--tt-yellow-soft)!important;border-color:#eed58a!important;color:var(--tt-black)!important}
body.taxi-service-site .alert-success i,
body.taxi-service-site .alert-danger i,
body.taxi-service-site .ua-alert i,
body.txs-body .alert-success i,
body.txs-body .alert-danger i{color:var(--tt-blue)!important}

/* Form focus / validation. */
body.taxi-service-site input:focus,
body.taxi-service-site select:focus,
body.taxi-service-site textarea:focus,
body.txs-body input:focus,
body.txs-body select:focus,
body.txs-body textarea:focus{border-color:var(--tt-blue)!important;box-shadow:0 0 0 3px rgba(15,106,168,.12)!important}
body.taxi-service-site .is-invalid,
body.txs-body .is-invalid{border-color:#d8b13d!important;box-shadow:none!important}
body.taxi-service-site .invalid-feedback,
body.taxi-service-site .form-error,
body.txs-body .invalid-feedback,
body.txs-body .form-error{color:var(--tt-black)!important}

/* Generic icons on light surfaces: blue. */
body.taxi-service-site .icon:not(.call-icon),
body.taxi-service-site [class*="-icon"]:not(.phone-ring):not(.txs-vf-mobile-call-circle),
body.taxi-service-site .bi:not(.text-white),
body.taxi-service-site .fa:not(.text-white),
body.taxi-service-site .fas:not(.text-white),
body.taxi-service-site .far:not(.text-white),
body.taxi-service-site .fab:not(.text-white),
body.txs-body .icon:not(.call-icon),
body.txs-body [class*="-icon"]:not(.phone-ring):not(.txs-vf-mobile-call-circle),
body.txs-body .bi:not(.text-white),
body.txs-body .fa:not(.text-white),
body.txs-body .fas:not(.text-white),
body.txs-body .far:not(.text-white),
body.txs-body .fab:not(.text-white){color:var(--tt-blue)!important}

/* Icons inside blue/dark CTA are white. */
body.taxi-service-site .btn-primary i,
body.taxi-service-site .btn-primary svg,
body.taxi-service-site .txs-btn-primary i,
body.taxi-service-site .txs-btn-primary svg,
body.txs-body .btn-primary i,
body.txs-body .btn-primary svg,
body.txs-body .txs-btn-primary i,
body.txs-body .txs-btn-primary svg{color:#fff!important;fill:currentColor!important;stroke:currentColor!important}

/* Main button language = blue / yellow only. */
body.taxi-service-site .btn-primary,
body.taxi-service-site .txs-btn-primary,
body.taxi-service-site .lgf-btn-primary,
body.taxi-service-site .txsp-primary,
body.taxi-service-site .ua-post-btn,
body.txs-body .btn-primary,
body.txs-body .txs-btn-primary,
body.txs-body .lgf-btn-primary,
body.txs-body .txsp-primary{background:var(--tt-blue)!important;border-color:var(--tt-blue)!important;color:#fff!important}
body.taxi-service-site .btn-primary:hover,
body.taxi-service-site .txs-btn-primary:hover,
body.taxi-service-site .lgf-btn-primary:hover,
body.taxi-service-site .txsp-primary:hover,
body.txs-body .btn-primary:hover,
body.txs-body .txs-btn-primary:hover,
body.txs-body .lgf-btn-primary:hover,
body.txs-body .txsp-primary:hover{background:var(--tt-blue-dark)!important;border-color:var(--tt-blue-dark)!important;color:#fff!important}

/* Current home yellow accents remain yellow, never red/green. */
.thh-btn-primary,.thh-quote button,.thh-form button,.txf-btn-secondary,
body.taxi-service-site .btn-accent,body.txs-body .btn-accent,
body.taxi-service-site [class*="yellow"],body.txs-body [class*="yellow"]{background:var(--tt-yellow)!important;border-color:var(--tt-yellow)!important;color:var(--tt-black)!important}
.thh-btn-primary:hover,.thh-quote button:hover,.thh-form button:hover,.txf-btn-secondary:hover{background:var(--tt-yellow-hover)!important;color:var(--tt-black)!important}

/* Money/supporting pages. */
.txsp-kicker,.txsp-owner-label{background:var(--tt-blue-soft)!important;color:var(--tt-blue)!important;border-color:#cfe3f1!important}
.txsp-owner-card a,.txsp-parent{color:var(--tt-blue)!important}
.txsp-zalo{background:var(--tt-blue)!important;color:#fff!important}

/* Actual TELEPHONE controls are the only green CTA family. */
body.taxi-service-site a.txs-call[href^="tel:"],
body.taxi-service-site a.txf-btn[href^="tel:"],
body.taxi-service-site a.txsp-call[href^="tel:"],
body.taxi-service-site a.btn[href^="tel:"],
body.taxi-service-site a[class*="btn"][href^="tel:"],
body.taxi-service-site .txs-vf-hotline[href^="tel:"],
body.taxi-service-site button.btn-phone-popup,
body.txs-body a.txs-call[href^="tel:"],
body.txs-body a.txf-btn[href^="tel:"],
body.txs-body a.txsp-call[href^="tel:"],
body.txs-body a.btn[href^="tel:"],
body.txs-body a[class*="btn"][href^="tel:"],
body.txs-body .txs-vf-hotline[href^="tel:"],
body.txs-body button.btn-phone-popup{background:var(--tt-call)!important;border-color:var(--tt-call)!important;color:#fff!important}
body.taxi-service-site a[href^="tel:"]:is(.txs-call,.txf-btn,.txsp-call,.btn,[class*="btn"],.txs-vf-hotline):hover,
body.txs-body a[href^="tel:"]:is(.txs-call,.txf-btn,.txsp-call,.btn,[class*="btn"],.txs-vf-hotline):hover{background:var(--tt-call-dark)!important;border-color:var(--tt-call-dark)!important;color:#fff!important}
body.taxi-service-site a[href^="tel:"] i,
body.taxi-service-site a[href^="tel:"] svg,
body.txs-body a[href^="tel:"] i,
body.txs-body a[href^="tel:"] svg{color:#fff!important;fill:currentColor!important;stroke:currentColor!important}

/* Header/nav: only current blue + white. */
.header-wow-top,.header-wow-sticky,.w11-pro-header{--w11-primary:var(--tt-blue)!important}
.header-wow-top,[class*="header-wow"][class*="top"]{background:var(--tt-blue)!important}
.header-wow-top a,.header-wow-top i,.header-wow-top svg{color:#fff!important}
.txs-quickbar{background:var(--tt-blue)!important;color:#fff!important}
.txs-quickbar a,.txs-quickbar strong{color:#fff!important}

/* Floating contact: social/chat blue + white icon; phone green + white icon. */
.txs-floating-contact .icon-wrap,
.taxi-floating-contact .taxi-float-icon{background:var(--tt-blue)!important;border-color:var(--tt-blue)!important;color:#fff!important}
.txs-floating-contact .btn-phone-popup .icon-wrap,
.txs-floating-contact .phone-ring,
.taxi-floating-contact .taxi-float-phone .taxi-float-icon{background:var(--tt-call)!important;border-color:var(--tt-call)!important;color:#fff!important}
.txs-floating-contact .icon-wrap img,
.txs-floating-contact .btn-phone-popup .icon-wrap img,
.taxi-floating-contact .taxi-float-icon img{filter:brightness(0) invert(1)!important}
.taxi-float-facebook .taxi-float-icon,
.taxi-float-messenger .taxi-float-icon,
.taxi-float-zalo .taxi-float-icon,
.taxi-float-youtube .taxi-float-icon,
.taxi-float-tiktok .taxi-float-icon,
.taxi-float-viber .taxi-float-icon,
.taxi-float-telegram .taxi-float-icon,
.taxi-float-whatsapp .taxi-float-icon,
.taxi-float-website .taxi-float-icon,
.taxi-float-backtop .taxi-float-icon{background:var(--tt-blue)!important;color:#fff!important}

/* Social communication CTA: blue background, white icon/text. */
a[href*="zalo.me"],a[href*="m.me"],a[href*="messenger.com"],
.is-zalo,.is-facebook,.is-messenger{--social-bg:var(--tt-blue)}
body.taxi-service-site a[href*="zalo.me"] i,
body.taxi-service-site a[href*="zalo.me"] svg,
body.txs-body a[href*="zalo.me"] i,
body.txs-body a[href*="zalo.me"] svg,
body.taxi-service-site .is-zalo i,body.txs-body .is-zalo i{color:#fff!important;fill:currentColor!important;stroke:currentColor!important}

/* Mobile contact: SMS/Messenger/Zalo/Contact = blue. Call = green. */
@media(max-width:768px){
  .txs-vf-mobile-contact-icon{background:var(--tt-blue)!important;border-color:var(--tt-blue)!important;color:#fff!important}
  .txs-vf-mobile-contact-icon img{filter:brightness(0) invert(1)!important;padding:6px!important}
  .txs-vf-mobile-call-main .txs-vf-mobile-call-circle{background:var(--tt-call)!important;border-color:#fff!important;color:#fff!important}
  .txs-vf-mobile-call-main .txs-vf-mobile-call-circle img{filter:brightness(0) invert(1)!important;padding:9px!important}
  .txs-vf-mobile-contact-person{background:var(--tt-blue)!important;border-color:var(--tt-blue)!important}
  .txs-vf-mobile-sheet-list a{color:var(--tt-blue)!important;border-color:#d7e6f0!important}
  .txs-vf-mobile-sheet-list a img{background:var(--tt-blue)!important;border-radius:50%!important;padding:7px!important;filter:brightness(0) invert(1)!important}
  .txs-vf-mobile-sheet-list a[href^="tel:"] img{background:var(--tt-call)!important}
  .txs-vf-mobile-phone-pop-card>a[href^="tel:"]{background:var(--tt-call)!important;color:#fff!important}
  .txs-vf-mobile-phone-pop-card>a[href^="tel:"] img{filter:brightness(0) invert(1)!important}
}

/* Legacy bottom bars. */
.w11-mobile-cta-bar a{background:var(--tt-blue)!important;color:#fff!important}
.w11-mobile-cta-bar a[href^="tel:"],.w11-mobile-cta-bar a.is-phone{background:var(--tt-call)!important;color:#fff!important}

/* Share/social widgets: blue + white. */
.share-floating a,.social-share a,[class*="share-"] a{background:var(--tt-blue)!important;color:#fff!important;border-color:var(--tt-blue)!important}
.share-floating a i,.social-share a i,[class*="share-"] a i{color:#fff!important}

/* Footer: phone green; secondary action yellow. */
.txf-btn-primary[href^="tel:"],.txf-btn-secondary[href^="tel:"]{background:var(--tt-call)!important;border-color:var(--tt-call)!important;color:#fff!important}
.txf-btn-primary[href^="tel:"]:hover,.txf-btn-secondary[href^="tel:"]:hover{background:var(--tt-call-dark)!important;border-color:var(--tt-call-dark)!important;color:#fff!important}

/* Account/user customer-facing UI. */
.ua-nav a.is-active,.ua-post-btn{background:var(--tt-blue)!important;color:#fff!important}
.ua-nav a.is-active i,.ua-post-btn i{color:#fff!important}
.ua-logout-form button{background:#fff!important;color:var(--tt-blue)!important;border-color:#bfd9eb!important}
.ua-logout-form button i{color:var(--tt-blue)!important}

/* Hard-stop common inline legacy colors. Actual phone CTA rules above intentionally outrank this by specificity/order. */
body.taxi-service-site [style*="color:#ef4444"],body.taxi-service-site [style*="color: #ef4444"],
body.taxi-service-site [style*="color:#dc2626"],body.taxi-service-site [style*="color: #dc2626"],
body.taxi-service-site [style*="color:#e5193f"],body.taxi-service-site [style*="color: #e5193f"],
body.taxi-service-site [style*="color:#16a34a"],body.taxi-service-site [style*="color: #16a34a"],
body.taxi-service-site [style*="color:#22c55e"],body.taxi-service-site [style*="color: #22c55e"],
body.taxi-service-site [style*="color:#7c3aed"],body.taxi-service-site [style*="color: #7c3aed"],
body.txs-body [style*="color:#ef4444"],body.txs-body [style*="color: #ef4444"],
body.txs-body [style*="color:#dc2626"],body.txs-body [style*="color: #dc2626"],
body.txs-body [style*="color:#16a34a"],body.txs-body [style*="color: #16a34a"],
body.txs-body [style*="color:#22c55e"],body.txs-body [style*="color: #22c55e"],
body.txs-body [style*="color:#7c3aed"],body.txs-body [style*="color: #7c3aed"]{color:var(--tt-blue)!important}

body.taxi-service-site [style*="background:#ef4444"],body.taxi-service-site [style*="background: #ef4444"],
body.taxi-service-site [style*="background:#dc2626"],body.taxi-service-site [style*="background: #dc2626"],
body.taxi-service-site [style*="background:#e5193f"],body.taxi-service-site [style*="background: #e5193f"],
body.taxi-service-site [style*="background:#16a34a"]:not([href^="tel:"]),body.taxi-service-site [style*="background: #16a34a"]:not([href^="tel:"]),
body.taxi-service-site [style*="background:#22c55e"]:not([href^="tel:"]),body.taxi-service-site [style*="background: #22c55e"]:not([href^="tel:"]),
body.taxi-service-site [style*="background:#7c3aed"],body.taxi-service-site [style*="background: #7c3aed"],
body.txs-body [style*="background:#ef4444"],body.txs-body [style*="background: #ef4444"],
body.txs-body [style*="background:#dc2626"],body.txs-body [style*="background: #dc2626"],
body.txs-body [style*="background:#16a34a"]:not([href^="tel:"]),body.txs-body [style*="background: #16a34a"]:not([href^="tel:"]),
body.txs-body [style*="background:#22c55e"]:not([href^="tel:"]),body.txs-body [style*="background: #22c55e"]:not([href^="tel:"]),
body.txs-body [style*="background:#7c3aed"],body.txs-body [style*="background: #7c3aed"]{background:var(--tt-blue)!important;color:#fff!important}

/* Communication-button icon guarantee: white on blue/green backgrounds. */
body.taxi-service-site .mmp .mmp-btn--secondary .bi,
body.taxi-service-site .mmp .mmp-btn--secondary i,
body.taxi-service-site .mmp .mmp-btn--secondary svg,
body.txs-body .mmp .mmp-btn--secondary .bi,
body.txs-body .mmp .mmp-btn--secondary i,
body.txs-body .mmp .mmp-btn--secondary svg{color:#fff!important;fill:currentColor!important;stroke:currentColor!important;opacity:1!important}

/* ========================================================================
 * P3.1 ICON CONTRAST FIX
 * Quy tắc cuối cùng: nền xanh / xanh lá => icon trắng tuyệt đối.
 * Nền trắng => icon xanh. Không để generic icon rule thắng CTA-specific rule.
 * ====================================================================== */

/* Header: Đặt xe = xanh + icon trắng; Hotline tel = xanh lá + icon trắng. */
body.taxi-service-site button.txs-vf-hotline,
body.txs-body button.txs-vf-hotline{
  background:var(--tt-blue)!important;
  border-color:var(--tt-blue)!important;
  color:#fff!important;
}
body.taxi-service-site button.txs-vf-hotline .txs-vf-hotline-icon,
body.taxi-service-site button.txs-vf-hotline .txs-vf-hotline-icon svg,
body.taxi-service-site button.txs-vf-hotline .txs-vf-hotline-icon svg *,
body.txs-body button.txs-vf-hotline .txs-vf-hotline-icon,
body.txs-body button.txs-vf-hotline .txs-vf-hotline-icon svg,
body.txs-body button.txs-vf-hotline .txs-vf-hotline-icon svg *{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}
body.taxi-service-site a.txs-vf-hotline[href^="tel:"],
body.txs-body a.txs-vf-hotline[href^="tel:"]{
  background:var(--tt-call)!important;
  border-color:var(--tt-call)!important;
  color:#fff!important;
}
body.taxi-service-site a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon,
body.taxi-service-site a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon svg,
body.taxi-service-site a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon svg *,
body.txs-body a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon,
body.txs-body a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon svg,
body.txs-body a.txs-vf-hotline[href^="tel:"] .txs-vf-hotline-icon svg *{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}

/* Local service / Money Page: Gọi điện = xanh lá + icon trắng. */
body.taxi-service-site a.lsp-btn--call[href^="tel:"],
body.txs-body a.lsp-btn--call[href^="tel:"],
body.taxi-service-site .lsp-call-inline-actions a[href^="tel:"],
body.txs-body .lsp-call-inline-actions a[href^="tel:"]{
  background:var(--tt-call)!important;
  border-color:var(--tt-call)!important;
  color:#fff!important;
}
body.taxi-service-site a.lsp-btn--call[href^="tel:"] i,
body.taxi-service-site a.lsp-btn--call[href^="tel:"] .bi,
body.taxi-service-site a.lsp-btn--call[href^="tel:"] svg,
body.taxi-service-site a.lsp-btn--call[href^="tel:"] svg *,
body.txs-body a.lsp-btn--call[href^="tel:"] i,
body.txs-body a.lsp-btn--call[href^="tel:"] .bi,
body.txs-body a.lsp-btn--call[href^="tel:"] svg,
body.txs-body a.lsp-btn--call[href^="tel:"] svg *,
body.taxi-service-site .lsp-call-inline-actions a[href^="tel:"] i,
body.txs-body .lsp-call-inline-actions a[href^="tel:"] i{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}

/* Zalo on Money Page: nền xanh + icon/chữ trắng (không còn button trắng + icon xanh). */
body.taxi-service-site .lsp-btn--zalo,
body.txs-body .lsp-btn--zalo,
body.taxi-service-site .txsp-zalo,
body.txs-body .txsp-zalo{
  background:var(--tt-blue)!important;
  border-color:var(--tt-blue)!important;
  color:#fff!important;
}
body.taxi-service-site .lsp-btn--zalo i,
body.taxi-service-site .lsp-btn--zalo .bi,
body.taxi-service-site .lsp-btn--zalo svg,
body.taxi-service-site .lsp-btn--zalo svg *,
body.txs-body .lsp-btn--zalo i,
body.txs-body .lsp-btn--zalo .bi,
body.txs-body .lsp-btn--zalo svg,
body.txs-body .lsp-btn--zalo svg *,
body.taxi-service-site .txsp-zalo i,
body.txs-body .txsp-zalo i{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}

/* Bất kỳ CTA nền xanh chính thức: icon phải trắng. */
body.taxi-service-site :is(.btn-primary,.txs-btn-primary,.lgf-btn-primary,.txsp-primary,.txseo-btn-primary,.industry-btn--primary,.industry-template__button--primary) :is(i,.bi,.fa,.fas,.far,.fab,svg),
body.txs-body :is(.btn-primary,.txs-btn-primary,.lgf-btn-primary,.txsp-primary,.txseo-btn-primary,.industry-btn--primary,.industry-template__button--primary) :is(i,.bi,.fa,.fas,.far,.fab,svg){
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}
body.taxi-service-site :is(.btn-primary,.txs-btn-primary,.lgf-btn-primary,.txsp-primary,.txseo-btn-primary,.industry-btn--primary,.industry-template__button--primary) svg *,
body.txs-body :is(.btn-primary,.txs-btn-primary,.lgf-btn-primary,.txsp-primary,.txseo-btn-primary,.industry-btn--primary,.industry-template__button--primary) svg *{
  fill:#fff!important;
  stroke:#fff!important;
}

/* Bất kỳ nút gọi tel có nền xanh lá: icon luôn trắng, kể cả Bootstrap icon pseudo-element. */
body.taxi-service-site a[href^="tel:"] :is(i,.bi,.fa,.fas,.far,.fab,svg),
body.txs-body a[href^="tel:"] :is(i,.bi,.fa,.fas,.far,.fab,svg){
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}
body.taxi-service-site a[href^="tel:"] svg *,
body.txs-body a[href^="tel:"] svg *{
  fill:#fff!important;
  stroke:#fff!important;
}
body.taxi-service-site a[href^="tel:"] .bi::before,
body.txs-body a[href^="tel:"] .bi::before{
  color:#fff!important;
}

/* Social communication CTA: xanh + icon trắng. */
body.taxi-service-site :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo),
body.txs-body :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo){
  background:var(--tt-blue)!important;
  border-color:var(--tt-blue)!important;
  color:#fff!important;
}
body.taxi-service-site :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo) :is(i,.bi,svg),
body.txs-body :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo) :is(i,.bi,svg){
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
}
body.taxi-service-site :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo) svg *,
body.txs-body :is(.is-zalo,.is-facebook,.is-messenger,.industry-btn--zalo,.industry-template__button--zalo) svg *{
  fill:#fff!important;
  stroke:#fff!important;
}
