.tv-round-toggle{display:none}
@media(max-width:767px){
 :is(#tv-mobile-layout,html) .tv-mobile-search{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif!important;display:flex!important;flex-direction:column!important;gap:0!important;background:#fff!important;padding:8px 16px 16px!important;border-radius:14px!important;box-sizing:border-box;min-width:0}
 :is(#tv-mobile-layout,html) .tv-mobile-search *{box-sizing:border-box}
 :is(#tv-mobile-layout,html) .tv-mobile-search .station-pair,:is(#tv-mobile-layout,html) .tv-mobile-search .date-pair,:is(#tv-mobile-layout,html) .tv-mobile-search .journey-fields{display:flex!important;flex-direction:column!important;gap:0!important;border:0!important;border-radius:0!important;background:transparent!important;position:relative!important;width:100%;min-width:0}
 :is(#tv-mobile-layout,html) .tv-mobile-search label{position:relative!important;display:block!important;border:0!important;border-bottom:1px solid #d6dde3!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:14px 0 10px!important;min-height:76px;color:#707b84!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important;min-width:0;width:100%}
 :is(#tv-mobile-layout,html) .tv-mobile-search label[hidden]{display:none!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search label>span:not(.bus-location-picker):not(.field-icon):not(.station-subtitle){color:inherit}
 :is(#tv-mobile-layout,html) .tv-mobile-search input:not([hidden]),:is(#tv-mobile-layout,html) .tv-mobile-search select:not([hidden]),:is(#tv-mobile-layout,html) .tv-mobile-search .date-trigger{width:100%!important;min-width:0!important;margin:5px 0 0!important;padding:3px 0!important;min-height:30px!important;height:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;color:#172b3a!important;font-family:inherit!important;font-size:16px!important;font-weight:600!important;text-align:left!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .station-pair label{padding-right:56px!important;padding-left:30px!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .field-icon{position:absolute!important;left:0!important;top:41px!important;width:21px!important;height:21px!important;color:#344b5c!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .station-subtitle{display:none!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search #swap,:is(#tv-mobile-layout,html) .tv-mobile-search .bus-route-swap{position:absolute!important;right:0!important;left:auto!important;top:54px!important;transform:none!important;width:46px!important;height:46px!important;min-width:46px!important;padding:12px!important;background:#e2f3ff!important;color:#0785d6!important;border:4px solid #fff!important;border-radius:50%!important;z-index:4;box-shadow:none!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search #swap svg,:is(#tv-mobile-layout,html) .tv-mobile-search .bus-route-swap svg{width:20px;height:20px}
 :is(#tv-mobile-layout,html) .tv-mobile-search .date-pair>label{padding-left:30px!important;padding-right:76px!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search #add-return,:is(#tv-mobile-layout,html) .tv-mobile-search .round-hint,:is(#tv-mobile-layout,html) .tv-mobile-search .passenger-types{display:none!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .tv-round-toggle{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;right:0;top:12px;padding:0;border:0;background:transparent;color:#707b84;font:500 12px system-ui;min-height:54px;min-width:64px;width:64px!important;left:auto!important;right:0!important;top:12px!important;margin:0!important}
 .tv-round-toggle i{display:block;width:38px;height:23px;border-radius:20px;background:#a4a9ad;position:relative}
 .tv-round-toggle i:after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s}
 .tv-round-toggle[aria-checked=true] i{background:#0755e9}.tv-round-toggle[aria-checked=true] i:after{transform:translateX(15px)}
 :is(#tv-mobile-layout,html) .tv-mobile-search .passenger-strip{display:block!important;padding:14px 0 10px!important;margin:0!important;border:0!important;border-bottom:1px solid #d6dde3!important;background:#fff!important;min-height:76px}
 :is(#tv-mobile-layout,html) .tv-mobile-search .passenger-strip:before{content:'Hành khách';display:block;color:#707b84;font-size:13px;margin-bottom:7px}
 :is(#tv-mobile-layout,html) .tv-mobile-search .passenger-total{display:flex!important;gap:10px!important;padding:0!important;font-size:16px!important;font-weight:600!important;color:#172b3a!important;min-height:30px}
 :is(#tv-mobile-layout,html) .tv-mobile-search .passenger-total svg{width:21px;height:21px}
 :is(#tv-mobile-layout,html) .tv-mobile-search>button[type=submit],:is(#tv-mobile-layout,html) .tv-mobile-search>#submit,:is(#tv-mobile-layout,html) .tv-mobile-search>.primary,:is(#tv-mobile-layout,html) .tv-mobile-search>.search-button{position:static!important;width:100%!important;min-height:48px!important;margin:16px 0 0!important;padding:12px 20px!important;border:0!important;border-radius:28px!important;background:#0755e9!important;color:#fff!important;font:700 16px system-ui!important;box-shadow:none!important}
 :is(#tv-mobile-layout,html) #bus-search.tv-mobile-search>label:first-child{padding-right:56px!important}
 :is(#tv-mobile-layout,html) #bus-search.tv-mobile-search .bus-location-picker{display:block!important;width:100%!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .station-menu,:is(#tv-mobile-layout,html) .tv-mobile-search .bus-location-menu{top:100%!important;left:0!important;right:0!important;min-width:0!important;width:100%!important;z-index:50}
 :is(#tv-mobile-layout,html) .tv-mobile-search .esim-field-caption{display:block!important;font-size:13px!important;color:#707b84!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search :is(input,button,select):focus-visible{outline:2px solid #0755e9!important;outline-offset:3px}
 #booking .booking-body{padding:8px!important}#booking #bus-booking-panel{padding:0!important}
}

@media(max-width:767px){html #booking .trip-controls{display:none!important}html #booking .tv-mobile-search label{height:auto!important;min-height:76px!important}html #booking .tv-mobile-search .station-pair,html #booking .tv-mobile-search .date-pair{margin:0!important;box-shadow:none!important}html #booking .tv-mobile-search .field-icon{top:41px!important}html #booking .tv-mobile-search input,html #booking .tv-mobile-search .date-trigger{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif!important}html #booking .tv-mobile-search .passenger-pop{top:100%}}
@media(max-width:767px){html #bus-search.tv-mobile-search>label{padding-left:30px!important}html #bus-search.tv-mobile-search>label:before{top:42px!important;left:0!important}html #bus-search.tv-mobile-search>label:nth-child(3):before{display:none!important}}
@media(max-width:767px){:is(#tv-mobile-layout,html) .esim-search.tv-mobile-search .esim-destination-field{padding-left:30px!important}:is(#tv-mobile-layout,html) .esim-search.tv-mobile-search .esim-destination-field:before{top:42px!important;left:0!important}:is(#tv-mobile-layout,html) .tv-hotel-search{padding-left:0!important;padding-right:0!important}}
@media(max-width:767px){
 html body>.hero{padding-left:10px!important;padding-right:10px!important}
 html body>.hero .hero-inner{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
 html body>.hero #booking,html body>.hero>.booking{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;border-radius:16px!important}
 html body>.hero>.booking{padding:0 16px 16px!important}
 html #booking .booking-body{padding:0!important}
 html #booking .transport-tabs,html .booking #services{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px!important;height:auto!important;padding:18px 6px 10px!important;align-items:start!important;border-bottom:1px solid #edf0f3!important;background:#fff!important}
 html #booking .transport-tabs>button,html .booking #services>a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-width:0!important;width:100%!important;min-height:88px!important;margin:0!important;padding:0 1px 8px!important;color:#172b3a!important;font:500 11px/1.35 system-ui!important;text-align:center!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;white-space:normal!important;text-decoration:none!important}
 html #booking .transport-tabs>button svg,html .booking #services>a svg{box-sizing:border-box!important;width:44px!important;height:44px!important;min-width:44px!important;padding:10px!important;border-radius:50%!important;stroke:#fff!important;color:#fff!important;background:#2361a5!important}
 html #booking .transport-tabs>button:nth-child(2) svg,html .booking #services>a:nth-child(2) svg{background:#22bddd!important}
 html #booking .transport-tabs>button:nth-child(3) svg,html .booking #services>a:nth-child(3) svg{background:#ff9e00!important}
 html #booking .transport-tabs>button:nth-child(4) svg,html .booking #services>a:nth-child(4) svg{background:#ff6370!important}
 html #booking .transport-tabs>button:nth-child(5) svg,html .booking #services>a:nth-child(5) svg{background:#7965d8!important}
 html #booking .transport-tabs>button[aria-selected=true]{color:#0755e9!important;box-shadow:inset 0 -3px #0755e9!important;font-weight:700!important}
 html #tv-mobile-home .mh-services{padding:20px 10px 18px!important;align-items:start!important}
 html #tv-mobile-home .mh-service{font-size:11px!important;line-height:1.35!important;min-height:80px!important;gap:9px!important;font-weight:500!important}
 html #tv-mobile-bottom{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;padding:8px 6px calc(8px + env(safe-area-inset-bottom))!important;min-height:64px!important;background:#fff!important;border-top:1px solid #e7edf2!important;box-shadow:0 -2px 10px #172b4d08!important}
 html #tv-mobile-bottom>a,html #tv-mobile-bottom>button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;margin:0!important;padding:0 2px!important;min-width:0!important;background:transparent!important;border:0!important;font:500 11px/1.35 system-ui!important;color:#344354!important}
 html #tv-mobile-bottom svg{width:25px!important;height:25px!important;flex:none!important}
 html .esim-catalog-hero-content{padding-left:10px!important;padding-right:10px!important;width:100%!important;max-width:none!important}
 html #esim-finder{width:100%!important;max-width:none!important}
 html #esim-finder .esim-search{margin-left:0!important;margin-right:0!important;width:100%!important}
}

@media(max-width:767px){
 :is(#tv-mobile-layout,html) body>header.tv-old-header{display:none!important}
 :is(#tv-mobile-layout,html) .hero>.booking{width:100%!important;margin:0!important;padding:0 16px 16px!important;max-width:none!important}
 :is(#tv-mobile-layout,html) .booking #services{margin:0 -10px 8px!important;width:calc(100% + 20px)!important;min-height:110px!important}
 :is(#tv-mobile-layout,html) .booking #services>a{height:88px!important}
 :is(#tv-mobile-layout,html) #tv-mobile-home .mh-service{height:80px!important}
}

@media(max-width:767px){:is(#tv-mobile-layout,html) .esim-catalog-hero{padding-left:0!important;padding-right:0!important}:is(#tv-mobile-layout,html) .esim-catalog-hero-content{padding-left:10px!important;padding-right:10px!important;width:100%!important;max-width:none!important}:is(#tv-mobile-layout,html) #esim-finder{padding:0!important;margin-left:0!important;margin-right:0!important;width:100%!important}}
/* Trip-inspired mobile service navigation and search fields. */
@media(max-width:767px){
 html #tv-mobile-home{border-top:0!important;padding-top:6px!important}
 html #tv-mobile-home .mh-services{gap:4px!important;padding:16px 10px!important}
 html #tv-mobile-home .mh-icon{background:transparent!important;color:#0755e9!important;border-radius:0!important;width:42px!important;height:42px!important}
 html #tv-mobile-home .mh-icon svg{stroke:#0755e9!important;color:#0755e9!important;width:29px!important;height:29px!important;stroke-width:2!important}
 html #tv-mobile-home .mh-service{font-weight:600!important;color:#25334a!important}
 html body #booking .transport-tabs>button:nth-child(n) svg,html body .booking #services>a:nth-child(n) svg{background:transparent!important;stroke:#0755e9!important;color:#0755e9!important;border-radius:0!important;padding:8px!important;width:44px!important;height:44px!important}
 html body #booking .transport-tabs>button,html body .booking #services>a{font-weight:600!important;color:#25334a!important}
 html body #booking .transport-tabs>button[aria-selected=true]{background:#f3f7ff!important;border-radius:8px 8px 0 0!important;color:#0755e9!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search{padding-top:16px!important;gap:10px!important;border-radius:12px!important}
 :is(#tv-mobile-layout,html) .tv-mobile-search .station-pair,:is(#tv-mobile-layout,html) .tv-mobile-search .date-pair{gap:10px!important}
 html body #booking .tv-mobile-search label,:is(#tv-mobile-layout,html) .tv-mobile-search label{border:1px solid #dfe5ee!important;border-radius:8px!important;background:#f8faff!important;padding:10px 14px!important;min-height:70px!important;font-size:12px!important;color:#69768b!important}
 html body #booking .tv-mobile-search .station-pair label{padding-left:42px!important;padding-right:50px!important}
 html body #booking .tv-mobile-search .date-pair label{padding-left:42px!important;padding-right:76px!important}
 html body #booking .tv-mobile-search .field-icon{left:12px!important;top:34px!important;color:#0755e9!important}
 html body #booking .tv-mobile-search input,html body #booking .tv-mobile-search .date-trigger,:is(#tv-mobile-layout,html) .tv-mobile-search input:not([hidden]),:is(#tv-mobile-layout,html) .tv-mobile-search select:not([hidden]){font-size:16px!important;color:#172b4d!important;margin-top:3px!important}
 html body #booking .tv-mobile-search #swap,html body #booking .tv-mobile-search .bus-route-swap{top:55px!important;right:8px!important;border-radius:50%!important;background:#fff!important;border:1px solid #dfe5ee!important;width:40px!important;height:40px!important;min-width:40px!important;padding:9px!important;color:#0755e9!important}
 html body #booking .tv-mobile-search .passenger-strip{padding:10px 14px!important;min-height:70px!important;border:1px solid #dfe5ee!important;border-radius:8px!important;background:#f8faff!important}
 html body #booking .tv-mobile-search .passenger-strip:before{font-size:12px!important;color:#69768b!important;margin-bottom:4px!important}
 html body #booking .tv-mobile-search .tv-round-toggle{right:7px!important;top:8px!important}
 html body #booking .tv-mobile-search>#submit,:is(#tv-mobile-layout,html) .tv-mobile-search>button[type=submit],:is(#tv-mobile-layout,html) .tv-mobile-search>.primary,:is(#tv-mobile-layout,html) .tv-mobile-search>.search-button{border-radius:8px!important;margin-top:4px!important;min-height:48px!important}
 html body #bus-search.tv-mobile-search>label{padding-left:42px!important}
 html body #bus-search.tv-mobile-search>label:before{left:12px!important;top:35px!important}
 :is(#tv-mobile-layout,html) .esim-search.tv-mobile-search .esim-destination-field{padding-left:42px!important}
 :is(#tv-mobile-layout,html) .esim-search.tv-mobile-search .esim-destination-field:before{left:12px!important;top:35px!important}
 :is(#tv-mobile-layout,html) .tv-hotel-search{gap:10px!important}
}

/* Matched to Trip mobile as displayed on OPPO CPH2557. */
@media(max-width:767px){
 html body #tv-mobile-home .mh-services{grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:8px!important;row-gap:22px!important;padding:22px 14px 24px!important}
 html body #tv-mobile-home .mh-service{height:auto!important;min-height:112px!important;gap:11px!important;font-size:15px!important;line-height:1.45!important;font-weight:600!important;color:#161d2c!important}
 html body #tv-mobile-home .mh-icon{width:62px!important;height:62px!important;border-radius:50%!important;background:radial-gradient(circle at 50% 44%,#2c5fff 48%,#3867ff 70%,#93b1ff 100%)!important;box-shadow:inset 0 0 8px #c6d4ff80!important}
 html body #tv-mobile-home .mh-icon svg{width:32px!important;height:32px!important;stroke:#fff!important;color:#fff!important;stroke-width:2.1!important}
 html body #tv-mobile-home .mh-service:nth-child(n+5) .mh-icon{width:56px!important;height:56px!important;background:radial-gradient(circle,#f7f9ff 45%,#edf3ff 100%)!important;box-shadow:inset 0 0 5px #d9e4ff!important}
 html body #tv-mobile-home .mh-service:nth-child(n+5) .mh-icon svg{stroke:#3063ff!important;color:#3063ff!important}
 html body #booking .transport-tabs>button:nth-child(n) svg,html body .booking #services>a:nth-child(n) svg{background:radial-gradient(circle at 50% 44%,#2c5fff 48%,#3867ff 70%,#93b1ff 100%)!important;border-radius:50%!important;color:#fff!important;stroke:#fff!important;padding:10px!important;width:46px!important;height:46px!important;box-shadow:inset 0 0 5px #c6d4ff80!important}
 html body #booking .transport-tabs>button,html body .booking #services>a{font-size:12px!important;line-height:1.4!important;min-height:90px!important;gap:9px!important}
}

#tv-mobile-discovery{display:none}
@media(max-width:767px){
 html.tv-home-mobile body{background:#f2f4f5!important}
 html body #tv-mobile-home{margin:0!important;background:white!important;padding:0!important}
 html body #tv-mobile-home .mh-services{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;padding:22px 12px 26px!important}
 html body #tv-mobile-home .mh-service{min-height:86px!important;height:auto!important;gap:7px!important;font:600 12px/1.3 system-ui!important;color:#10212c!important}
 html body #tv-mobile-home .mh-service:nth-child(n) .mh-icon{width:48px!important;height:48px!important;border-radius:50%!important;background:var(--icon-color)!important;box-shadow:none!important}
 html body #tv-mobile-home .mh-service:nth-child(n) .mh-icon svg{width:27px!important;height:27px!important;color:white!important;stroke:white!important;stroke-width:2.3!important}
 html.tv-home-mobile #tv-mobile-discovery{display:block;padding:22px 0 24px;background:#f2f4f5;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
 #tv-mobile-discovery h2{margin:0 16px 16px;font-size:20px;line-height:1.4;font-weight:650;color:#43494e;letter-spacing:0}
 #tv-mobile-discovery .mh-banner-track,#tv-mobile-discovery .mh-feature-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 2px;scrollbar-width:none}
 #tv-mobile-discovery .mh-banner-track::-webkit-scrollbar,#tv-mobile-discovery .mh-feature-track::-webkit-scrollbar{display:none}
 #tv-mobile-discovery .mh-banner{position:relative;display:block;flex:0 0 82%;aspect-ratio:2/1;overflow:hidden;border-radius:12px;text-decoration:none;scroll-snap-align:start;background:#0755e9}
 #tv-mobile-discovery img{display:block;width:100%;height:100%;object-fit:cover}
 #tv-mobile-discovery .mh-banner:after,#tv-mobile-discovery .mh-feature-track a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#03234ec9,transparent 90%);pointer-events:none}
 #tv-mobile-discovery .mh-banner>span{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;color:#fff;display:grid;gap:5px}
 #tv-mobile-discovery strong{font-size:20px;line-height:1.25;font-weight:750}
 #tv-mobile-discovery small{font-size:11px;line-height:1.4}
 #tv-mobile-discovery b{font-size:11px;border-radius:16px;padding:5px 12px;background:#fff;color:#0755e9;justify-self:start;margin-top:4px}
 #tv-mobile-discovery .mh-feature-track{margin-top:24px}
 #tv-mobile-discovery .mh-feature-track a{position:relative;display:block;flex:0 0 68%;aspect-ratio:1.12;overflow:hidden;border-radius:12px;scroll-snap-align:start;text-decoration:none;background:#e0ebf5}
 #tv-mobile-discovery .mh-feature-track span{position:absolute;bottom:18px;left:14px;right:14px;z-index:1;color:#fff;display:grid;gap:7px}
 html.tv-home-mobile #rail-discovery{padding:8px 16px 24px!important;margin-top:0!important;background:#f2f4f5!important}
 html.tv-home-mobile #rail-discovery h2{font-size:20px!important;line-height:1.4!important;letter-spacing:0!important;color:#2361a5!important}
 html.tv-home-mobile #rail-discovery .rd-history-card{background:#fff!important;border-radius:12px!important}
 html.tv-home-mobile #popular-routes [role=tablist]{gap:10px!important;overflow-x:auto!important;scrollbar-width:none!important}
 html.tv-home-mobile #popular-routes [role=tab]{border-radius:22px!important;padding:9px 17px!important;white-space:nowrap!important;font:600 13px system-ui!important}
 html body #booking .transport-tabs>button:nth-child(1) svg,html body .booking #services>a:nth-child(1) svg{background:#2361a5!important}
 html body #booking .transport-tabs>button:nth-child(2) svg,html body .booking #services>a:nth-child(2) svg{background:#22bddd!important}
 html body #booking .transport-tabs>button:nth-child(3) svg,html body .booking #services>a:nth-child(3) svg{background:#ff9e00!important}
 html body #booking .transport-tabs>button:nth-child(4) svg,html body .booking #services>a:nth-child(4) svg{background:#ff6370!important}
 html body #booking .transport-tabs>button:nth-child(5) svg,html body .booking #services>a:nth-child(5) svg{background:#7965d8!important}
}

@media(max-width:767px){
 html body #tv-mobile-home .mh-service:nth-child(n) .mh-icon svg{fill:#fff!important;stroke:none!important}
 html body #tv-mobile-discovery .mh-banner-track,html body #tv-mobile-discovery .mh-feature-track{padding-left:16px!important;padding-right:16px!important;gap:12px!important;margin-left:0!important;margin-right:0!important}
 html body #tv-mobile-discovery :is(strong,small){color:#fff!important;text-shadow:0 1px 3px #00234f55!important}
 html body #tv-mobile-discovery strong{font-family:system-ui!important;font-size:20px!important;line-height:1.25!important}
 html body #tv-mobile-discovery small{font-family:system-ui!important;font-size:11px!important;line-height:1.4!important}
 html body #tv-mobile-discovery b{color:#0755e9!important;background:#fff!important;font-family:system-ui!important;font-size:11px!important}
 html body #tv-mobile-discovery .mh-banner{flex:0 0 82%!important;border-radius:12px!important}
 html body #tv-mobile-discovery .mh-feature-track a{flex:0 0 68%!important;border-radius:12px!important}
}

@media(max-width:767px){html body #tv-mobile-discovery .mh-banner-track,html body #tv-mobile-discovery .mh-feature-track{scroll-padding-inline:16px!important}}
/* Original service glyphs captured from Traveloka, same geometry on every viewport. */
html body .transport-tabs .tv-original-icon,html body #services .tv-original-icon{width:44px!important;height:44px!important;box-sizing:border-box!important;padding:10px!important;border-radius:50%!important;background:var(--service-icon-color)!important;stroke:none!important;flex-shrink:0;}
html body .tv-original-icon path{fill:#fff!important;stroke:none!important;}
html body #tv-mobile-home .mh-icon .tv-original-icon{padding:0!important;background:none!important;}

/* Explicit booking selector overrides legacy 30px icon sizing. */
html body #booking .transport-tabs>button svg,html body .booking #services>a svg{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;padding:10px!important;box-sizing:border-box!important;flex-shrink:0!important;border-radius:50%!important;}
html body #booking .transport-tabs>button .tv-original-icon,html body .booking #services>a .tv-original-icon{background:var(--service-icon-color)!important;}
html body #booking #transport-esim svg,html body .booking #services>a[href='/esim/'] svg{background:#7965d8!important;color:#fff!important;stroke:#fff!important;}
@media(max-width:767px){
html body #booking .transport-tabs>button svg,html body .booking #services>a svg{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:8px!important;}
html body #tv-mobile-home .mh-service:nth-child(n) .mh-icon svg{width:32px!important;height:32px!important;}
}


/* Preserve the existing desktop layout; only correct icon color and legibility. */
@media(min-width:768px){
html body #booking .transport-tabs>button svg,html body #booking .transport-tabs>button .tv-original-icon,html body .booking #services>a svg,html body .booking #services>a .tv-original-icon,html body #booking #transport-esim svg{background:transparent!important;color:#5a5d5f!important;border-radius:0!important;}
html body #booking .transport-tabs>button .tv-original-icon path,html body .booking #services>a .tv-original-icon path{fill:#5a5d5f!important;}
html body #booking #transport-esim svg,html body .booking #services>a[href='/esim/'] svg{stroke:#5a5d5f!important;}
html body #booking .transport-tabs>button[aria-selected='true'] .tv-original-icon path{fill:#0755e9!important;}
}

/* User-selected blue glyphs, preserving the current service layout. */
@media(min-width:768px){
html body #booking .transport-tabs>button .tv-original-icon path,html body .booking #services>a .tv-original-icon path,html body #booking .transport-tabs>button[aria-selected='true'] .tv-original-icon path{fill:#3264ff!important;}
html body #booking #transport-esim svg,html body .booking #services>a[href='/esim/'] svg{color:#3264ff!important;stroke:#3264ff!important;}
}

@media(max-width:767px){
html.tv-home-mobile body #rail-discovery #popular-routes{box-sizing:border-box!important;width:calc(100% + 56px)!important;max-width:none!important;margin:28px -28px 32px!important;padding:0 16px!important;}
html.tv-home-mobile body #popular-routes .pr-head{margin-bottom:16px!important;gap:0!important;}
html.tv-home-mobile body #popular-routes .pr-mark{display:none!important;}
html.tv-home-mobile body #popular-routes h2{font:700 20px/1.3 system-ui!important;letter-spacing:-.2px!important;color:#171717!important;}
html.tv-home-mobile body #popular-routes .pr-tabs{gap:8px!important;margin:0 -16px!important;padding:0 16px 14px!important;scroll-padding-inline:16px;}
html.tv-home-mobile body #popular-routes .pr-tab{min-height:38px!important;padding:9px 16px!important;box-shadow:none!important;font:600 13px/1.3 system-ui!important;}
html.tv-home-mobile body #popular-routes .pr-track{display:flex!important;gap:12px!important;margin:0 -16px!important;padding:0 16px 10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
html.tv-home-mobile body #popular-routes .pr-card{flex:0 0 82%!important;border:0!important;border-radius:14px!important;box-shadow:0 2px 8px #1028430a!important;scroll-snap-align:start;}
html.tv-home-mobile body #popular-routes .pr-photo{aspect-ratio:1.8!important;}
html.tv-home-mobile body #popular-routes .pr-copy{padding:13px 14px 15px!important;gap:5px!important;}
html.tv-home-mobile body #popular-routes .pr-route{font:700 15px/1.4 system-ui!important;}
html.tv-home-mobile body #popular-routes .pr-fare{font:400 13px/1.4 system-ui!important;}
html.tv-home-mobile body #popular-routes .pr-arrow{display:none!important;}
}
